switch ($product_from) {
    case 'product':
        if (!empty($products)) {
            $args['post__in'] = $products;
        }
        break;
    case 'category':
        if (!empty($category)) {
            $args['tax_query'] = array(array('taxonomy' => 'product_cat', 'field' => 'term_id', 'terms' => $category, 'operator' => 'IN'));
        }
        break;
    case 'onsale':
        $args['post__in'] = wc_get_product_ids_on_sale();
        break;
    case 'featured':
        $args['post__in'] = wc_get_featured_product_ids();
        break;
    default:
}
$products = get_posts($args);
if (empty($products)) {
    return;
}
$product_id = 0;
foreach ($products as $product) {
    $product_id = $product->ID;
}
$product = wc_get_product($product_id);
$product_type = $product->product_type;
if ($product_type == "simple") {
    $yit_addtocart_url = add_query_arg('add-to-cart', $product->id, home_url());
/**
 * @deprecated
 */
function woocommerce_get_featured_product_ids()
{
    return wc_get_featured_product_ids();
}
Beispiel #3
0
 function storefront_promoted_products($per_page = '2', $columns = '2', $recent_fallback = true)
 {
     if (is_woocommerce_activated()) {
         if (wc_get_featured_product_ids()) {
             echo '<h2>' . esc_html__('Featured Products', 'storefront') . '</h2>';
             echo storefront_do_shortcode('featured_products', array('per_page' => $per_page, 'columns' => $columns));
         } elseif (wc_get_product_ids_on_sale()) {
             echo '<h2>' . esc_html__('On Sale Now', 'storefront') . '</h2>';
             echo storefront_do_shortcode('sale_products', array('per_page' => $per_page, 'columns' => $columns));
         } elseif ($recent_fallback) {
             echo '<h2>' . esc_html__('New In Store', 'storefront') . '</h2>';
             echo storefront_do_shortcode('recent_products', array('per_page' => $per_page, 'columns' => $columns));
         }
     }
 }
 public function add_featured_args_query($args = array())
 {
     $woocommerce_db_version = get_option('woocommerce_db_version', null);
     // Delete featured cached
     delete_transient('wc_featured_products');
     // Get featured products
     $product_ids_featured = version_compare($woocommerce_db_version, '2.1', '<') ? woocommerce_get_featured_product_ids() : wc_get_featured_product_ids();
     $meta_query = array();
     if (version_compare($woocommerce_db_version, '2.1', '<')) {
         global $woocommerce;
         $meta_query[] = $woocommerce->query->visibility_meta_query();
         $meta_query[] = $woocommerce->query->stock_status_meta_query();
     } else {
         $meta_query[] = WC()->query->visibility_meta_query();
         $meta_query[] = WC()->query->stock_status_meta_query();
     }
     $args['meta_query'] = $meta_query;
     $args['post__in'] = $product_ids_featured;
     return $args;
 }
function pbo_featured_products($tag_class, $max_rows, $max_colums, $caption = '')
{
    if (wc_get_featured_product_ids()) {
        pbo_run_woocommerce_products_shortcode('featured_products', esc_html($caption === '' ? __('Featured products', 'pbo-tools') : $caption), $tag_class, $max_rows, $max_colums);
    }
}
Beispiel #6
0
 /**
  * Test wc_get_featured_product_ids()
  *
  * @since 2.4
  */
 public function test_wc_get_featured_product_ids()
 {
     $this->assertEquals(array(), wc_get_featured_product_ids());
     delete_transient('wc_featured_products');
     // Create product
     $product = \WC_Helper_Product::create_simple_product();
     update_post_meta($product->id, '_featured', 'yes');
     $this->assertEquals(array($product->id), wc_get_featured_product_ids());
     // Delete Product
     \WC_Helper_Product::delete_product($product->id);
 }
Beispiel #7
0
 /**
  * Test wc_get_featured_product_ids().
  *
  * @since 2.4
  */
 public function test_wc_get_featured_product_ids()
 {
     $this->assertEquals(array(), wc_get_featured_product_ids());
     delete_transient('wc_featured_products');
     // Create product
     $product = WC_Helper_Product::create_simple_product();
     $product->set_featured(true);
     $product->save();
     $this->assertEquals(array($product->get_id()), wc_get_featured_product_ids());
     // Delete Product
     WC_Helper_Product::delete_product($product->get_id());
 }