Skip to content

Instantly share code, notes, and snippets.

@pierre-dargham
Forked from corsonr/gist:6367944
Last active August 29, 2015 14:26
Show Gist options
  • Save pierre-dargham/77602c53c8e50ac32c7b to your computer and use it in GitHub Desktop.
Save pierre-dargham/77602c53c8e50ac32c7b to your computer and use it in GitHub Desktop.
WooCommerce - Get featured products IDs
/**
* Function that returns an array containing the IDs of the featured products.
*
* @since 2.0
* @access public
* @return array
*/
function woo_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 array_diff( $featured_product_ids, array( 0 ) );
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment