gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 15:17:17 25 4
gpt4 key购买 nike

我在事件主题的 functions.php 文件中编写了这段代码:

    add_filter( 'woocommerce_get_catalog_ordering_args', 
'custom_woocommerce_get_catalog_ordering_args' );
function custom_woocommerce_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 ( 'random_list' == $orderby_value ) {
$args['orderby'] = 'date';
$args['order'] = 'desc';
$args['meta_key'] = '';
}
return $args;
}
add_filter( 'woocommerce_default_catalog_orderby_options', 'custom_woocommerce_catalog_orderby' );
add_filter( 'woocommerce_catalog_orderby', 'custom_woocommerce_catalog_orderby' );
function custom_woocommerce_catalog_orderby( $sortby ) {
$sortby['random_list'] = 'DESC SORT';
return $sortby;
}

我正在尝试按 Desc 对产品进行排序,但产品仍按默认排序(ASC)

如何按 DESC 对它们进行排序?

最佳答案

您可以使用 Hook 在 woocommerce_product_query 操作 Hook 中的自定义函数:

add_action( 'woocommerce_product_query', 'default_catalog_ordering_desc', 10, 2 );
function default_catalog_ordering_desc( $q, $query ){
if( $q->get( 'orderby' ) == 'menu_order title' )
$q->set( 'order', 'DESC' );
}

代码位于事件子主题(或事件主题)的 functions.php 文件或任何插件文件中。

经过测试并有效。

关于php - 在 Woocommerce 中按 DESC 顺序对产品进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47627079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com