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(); }
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); } }
/** * 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); }
/** * 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()); }