允许按WooCommerce存档页面上的功能对产品进行排序

维克多·索科留克(Victor Sokoliuk)

我正在尝试使用户能够按功能对商店页面上的产品进行排序。为此,我使用以下代码:

add_filter( 'woocommerce_get_catalog_ordering_args', 'victor_get_catalog_ordering_args' );
function victor_get_catalog_ordering_args( $args ) {

 $orderby_value = isset( $_GET['orderby'] ) ? woocommerce_clean( $_GET['orderby'] ) :  apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) );

if ( 'featured' == $orderby_value ) {
    $args['orderby']  = '_featured';
    $args['order']    = 'DESC';
    $args['meta_key'] = '_featured';
}

   return $args;
}

   add_filter( 'woocommerce_default_catalog_orderby_options', 'victor_catalog_orderby' );
   add_filter( 'woocommerce_catalog_orderby', 'victor_catalog_orderby' );
   
function victor_catalog_orderby( $sortby ) {

   $sortby['featured'] = 'Featured';
   return $sortby;
}

但这是行不通的。我正在尝试使用以下功能按功能对产品进行排序:/?orderby = feature d但是未显示任何内容,但有一条消息,即未找到用于请求的产品。但是我知道在管理面板中有10多种产品被标记为精选产品。请解决此问题。我需要确保了解我做错了什么。

LoicTheAztec

自Woocommerce 3以来,您的代码已经过时和过时了,在Woocommerce 3中,现在将特色产品设置为product_visibility术语name的分类法featured,因此需要按以下不同方式处理:

add_filter( 'woocommerce_catalog_orderby', 'hugo_boss_catalog_orderby' );
function hugo_boss_catalog_orderby( $orderby ) {
    $orderby['featured'] = __('Featured', 'woocommerce');

    return $orderby;
}

add_action( 'woocommerce_product_query', 'obama_trump_product_query' );
function obama_trump_product_query( $q ) {
    if ( ! is_admin() && isset($_GET['orderby']) && 'featured' === esc_attr($_GET['orderby']) ) {
        $tax_query = $q->get('tax_query');
        $tax_query[] = array(
            'taxonomy' => 'product_visibility',
            'field'    => 'name',
            'terms'    => 'featured',
        );
        $q->set( 'tax_query', $tax_query );
        $q->set( 'order', 'DESC' ); // Or "ASC"
    }
}

代码进入活动子主题(或活动主题)的functions.php文件中。经过测试和工作。

有关:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在存档页面上显示Woocommerce产品属性

在Woocommerce存档页面上显示特定的产品属性

如何在商店页面上按类别对woocommerce产品进行分类

在商店存档页面上激活 Woocommerce 图片库功能

在 WooCommerce 中的单个产品页面和商店存档页面上的产品缩略图中添加销售徽章

在Woocommerce存档页面上在产品价格之后添加图标

在Woocommerce的存档页面上获取特定产品属性的子弹列表

如何在 WooCommerce 商店和存档页面上为产品图片添加类

Woocommerce 如何在存档页面上显示特定类别的产品

在WooCommerce存档页面上获取并显示产品自定义字段

为访客用户或特定用户角色隐藏 WooCommerce 商店和存档页面上的特色产品

仅在Woocommerce存档页面上显示可变产品折扣率

WooCommerce - 停止自动将产品属性(标签)添加到存档页面上的 li 类

在 WooCommerce 产品存档页面上显示自定义分类术语

根据 WooCommerce 商店和存档页面上的产品类别在产品价格下方显示图像

在Woocommerce中按DESC顺序对产品进行排序

woocommerce在前端按库存和缺货对产品进行排序

在 woocommerce 存档页面上隐藏“缺货”标签

按指定条件对页面上的项目进行排序

按字母顺序对页面上的元素进行排序

更改特定Woocommerce产品类别存档页面的默认排序

按技能对对象进行排序

按产品ID对购物车WooCommerce中产品列表底部的产品进行排序

按功能对(对称)numpy 2D数组进行排序。(规范)

Django - 如何以及在何处按功能对自引用模型进行排序

在WooCommerce存档页面上显示产品名称和星级之间的自定义字段

按类别对购物车中的产品进行排序,并将此排序方法应用于 WooCommerce 中的订单页面和电子邮件通知

PHP / Magento:根据类别页面上的子类别,按产品显示,排序和限制

在产品页面上禁用WooCommerce SKU