首页 > 解决方案 > 在 Woocommerce 中更改交叉销售的订购参数

问题描述

尝试在购物车页面上将我的交叉销售订购到产品上定义的菜单顺序。订购了特定产品 1 2 3 4 5 等,但它显示 5 4 3 2 1。所以我想尝试将顺序更改为 asc/desc 来解决这个问题,但这是我到目前为止得到的代码。解决这个问题的方法是什么?谢谢!

add_filter( 'woocommerce_cross_sells_orderby', 'custom_cross_sells_orderby', 10, 1 );
function custom_cross_sells_orderby( $orderby, $order ){
    $orderby = 'menu_order';
    $order = 'DESC';
    return $orderby;
    return $order;
}

标签: phpwordpresssortingwoocommerceproduct

解决方案


交叉销售order byorder有单独的钩子。交叉销售订单默认行为 已经是"desc",因此请尝试使用"asc"代替:

// Order by
add_filter( 'woocommerce_cross_sells_orderby', 'filter_cross_sells_orderby', 10, 1 );
function filter_cross_sells_orderby( $orderby ){
    return 'menu_order'; // Default is 'rand'
}

// Order
add_filter( 'woocommerce_cross_sells_order', 'filter_cross_sells_order', 10, 1 );
function filter_cross_sells_order( $order ){
    return 'asc'; // Default is 'desc'
}

代码位于您的活动子主题(或活动主题)的 function.php 文件中。它应该更好地工作。


推荐阅读