Added woocommerce_get_featured_product_ids() to retrieve featured products IDs within an array
This commit is contained in:
parent
5e51ef1fce
commit
3499e6fd73
|
@ -172,6 +172,49 @@ function woocommerce_get_product_ids_on_sale() {
|
||||||
return $product_ids_on_sale;
|
return $product_ids_on_sale;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function that returns an array containing the IDs of the featured products.
|
||||||
|
*
|
||||||
|
* @since 2.1
|
||||||
|
* @access public
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
function woocommerce_get_featured_product_ids() {
|
||||||
|
|
||||||
|
// Load from cache
|
||||||
|
$featured_product_ids = get_transient( 'wc_featured_products' );
|
||||||
|
|
||||||
|
// Valid cache found
|
||||||
|
if ( false !== $featured_product_ids )
|
||||||
|
return $featured_product_ids;
|
||||||
|
|
||||||
|
$featured = get_posts( array(
|
||||||
|
'post_type' => array( 'product', 'product_variation' ),
|
||||||
|
'posts_per_page' => -1,
|
||||||
|
'post_status' => 'publish',
|
||||||
|
'meta_query' => array(
|
||||||
|
array(
|
||||||
|
'key' => '_visibility',
|
||||||
|
'value' => array('catalog', 'visible'),
|
||||||
|
'compare' => 'IN'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'key' => '_featured',
|
||||||
|
'value' => 'yes'
|
||||||
|
)
|
||||||
|
),
|
||||||
|
'fields' => 'id=>parent'
|
||||||
|
) );
|
||||||
|
|
||||||
|
$product_ids = array_keys( $featured );
|
||||||
|
$parent_ids = array_values( $featured );
|
||||||
|
$featured_product_ids = array_unique( array_merge( $product_ids, $parent_ids ) );
|
||||||
|
|
||||||
|
set_transient( 'wc_featured_products', $featured_product_ids );
|
||||||
|
|
||||||
|
return $featured_product_ids;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* woocommerce_get_product_terms function.
|
* woocommerce_get_product_terms function.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue