WooCommerce comes with a number of useful shortcodes to allow quick insertion of WooCommerce related content within posts and pages. One of these shortcodes can be used to display featured products like so:
[featured_products per_page="12" columns="4"]
So wonderful! However, what if we want go one step further and have more control over the products shown, or if we’re already using the shortcode elsewhere on our site?
You can build a custom widget, a custom shortcode or a custom template, and display “featured products” from WooCommerce. Let’s using WP_Query class like so:
$posts_per_page = 10; $atts = array( 'orderby' => 'title', 'order' => 'asc'); $meta_query = WC()->query->get_meta_query(); $meta_query = array( 'key' => '_featured', 'value' => 'yes' ); $args = array( 'post_type' => 'product', 'post_status' => 'publish', 'ignore_sticky_posts' => 1, 'posts_per_page' => $posts_per_page, 'orderby' => $atts['orderby'], 'order' => $atts['order'], 'meta_query' => $meta_query ); $products = new WP_Query( apply_filters( 'woocommerce_shortcode_products_query', $args, $atts ) );
How to make a product to featured ?
On Admin Dashboard, go to Products, on product data grid, find and click star icon.