繁体   English   中英

WordPress:如何在Woocommerce中过滤特色产品

[英]Wordpress: How to filter featured products in Woocommerce

我正在使用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;

这是我包含的用于提取特色商品的代码。 我不确定上面的代码是否正确。 任何帮助都感激不尽。 谢谢

从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' );
}

WooCommerce API文档

兴趣点是meta_query和query_args。 产品是否具有特色存储在postmeta数据库表中。 不确定WooCommerce是否具有直接获取所需内容的代码,但是您可以选择修改获取特色产品的短代码以检查类别等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM