我正在使用woocommerce,我想知道如何过滤设置为后端特殊/特色的产品。我将发布我在下面的代码中包含的内容:
<li class="filter_amenities <?php echo 'special' == $cuisine_type?'selected':'' ?>" id="amenities_special" >
<a href="<?php echo $store_url.'?cuisine_type=special&'.$selected_cat ?>" style="display:block" >
<img width="15px" src="<?php echo get_template_directory_uri(); ?>/img/star.png" />
Special Item
</a>
</li>
以上代码显示特色产品的列表项,这样当您单击列表项时,它将仅显示特色产品。 我将在下面发布其他代码:
var special = ($('#amenities_special').hasClass('selected'))?true:false;
这是我提供的用于获取精选项目的代码。我不确定上面的代码是否正确。任何帮助都感激不尽。感谢
答案 0 :(得分:0)
不再有效,截至WooCommerce版本3 +
/**
* Output featured products.
*
* @param array $atts
* @return string
*/
public static function featured_products( $atts ) {
$atts = shortcode_atts( array(
'per_page' => '12',
'columns' => '4',
'orderby' => 'date',
'order' => 'desc',
'category' => '', // Slugs
'operator' => 'IN' // Possible values are 'IN', 'NOT IN', 'AND'.
), $atts );
$meta_query = WC()->query->get_meta_query();
$meta_query[] = array(
'key' => '_featured',
'value' => 'yes'
);
$query_args = array(
'post_type' => 'product',
'post_status' => 'publish',
'ignore_sticky_posts' => 1,
'posts_per_page' => $atts['per_page'],
'orderby' => $atts['orderby'],
'order' => $atts['order'],
'meta_query' => $meta_query
);
$query_args = self::_maybe_add_category_args( $query_args, $atts['category'], $atts['operator'] );
return self::product_loop( $query_args, $atts, 'featured_products' );
}
兴趣点是meta_query和query_args。产品是否具有特色存储在postmeta数据库表中。不确定WooCommerce是否有代码可以直接获得您想要的内容,但如果您愿意,您可以修改获取特色产品的短代码以检查类别等。