如何在WooCommerce中按帖子ID对类别中的产品进行排序?

麦克风

在商店中,某些产品属于多个类别。这使得默认的WooCommerce订购无法正常工作,因为如果一个产品在类别A中排名第一,那么如果两个产品都属于同一类别,那么其他产品就不能在类别B中排名第一。

我想找到一种方法,可以按我想要的特定顺序按邮编ID对商店类别中的产品进行排序(我将提供ID)。

到目前为止,我想到了:

add_filter( 'woocommerce_get_catalog_ordering_args', 'my_ordering_function', 20, 1 );
function my_ordering_function( $args ) {

    $product_category = 'my-category'; 

    if( ! is_product_category($product_category) ) return $args;

    $args['post__in'] = array( 74, 116, 3565, 3563 );
    $args['orderby'] = 'post__in';
    $args['order'] = 'ASC';

    return $args;
}

这段代码可以完成这项工作,但是在检查了woocommerce_get_catalog_ordering_args源代码之后,似乎什至不支持post__in。

关于如何决定每个类别我自己的产品订单的任何想法?

zy河

使用您的方法,可以在使用woocommerce_get_catalog_ordering_args过滤器的函数的父函数中执行此操作

您正在寻找的功能是product_query,在此功能中您具有动作挂钩woocommerce_product_query对于您的用例,这样的事情会起作用。

function my_ordering_function( $q, $this ) {
    $q->set( 'post__in', array( 74, 116, 3565, 3563 ) );
    $q->set( 'orderby', 'post__in' );
}
add_action( 'woocommerce_product_query', 'my_ordering_function', 10, 2 );

PS此功能也位于您引用的同一文件中。您可以在那里查看它的工作原理。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Jekyll中按帖子数对site.tags进行排序?

在Woocommerce REST API中按类别获取产品

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

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

如何在woocommerce中从链接的产品获取分组的产品ID

从Woocommerce中的子产品类别ID获取父产品类别ID

如何在Django中按类别对主题进行排序?

如何在WordPress中按ID提取和显示帖子?

如何在Pandas Python中按ID对行进行排序

如何在woocommerce中按产品ID获取产品列表

Woocommerce [产品]简码-如何按给定的产品ID进行订购?

如何在Xceed PropertyGrid中以编程方式对类别进行排序?

如何在WordPress中按字母顺序对类别帖子进行排序?

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

如何在Woocommerce操作中包含多个产品ID

在Wordpress菜单中按名称ASC对WooCommerce产品类别子菜单项进行排序

在Woocommerce中每天获取按产品ID进行的订单计数

在Magento中按名称对产品进行排序

如何在woocommerce中按类别获取产品?

如何在Excel中按数据对列进行排序/排序

如何在Wordpress中按子类别搜索帖子

在Wordpress中对帖子类别进行排序

如何在 MongoDB 中按赞和时间对帖子进行排序?

如何在 WooCommerce 中按付款方式对订单进行排序?

如何在 WooCommerce 中获取彼此跟随的产品 ID

Woocommerce 使用挂钩或过滤器按类别对产品进行排序

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

如何在 SQL 中按 id 扩展类别

如何在 React.js 中按类别显示产品