gpt4 book ai didi

php - Woocommerce 根据类别对 ASC 和 DESC 进行排序

转载 作者:搜寻专家 更新时间:2023-10-31 21:07:14 24 4
gpt4 key购买 nike

我尝试根据类别对产品进行排序。

如果产品类别 A 和子类别按 ASC 排序

否则,如果产品类别 B 和子类别按 DESC 排序。

在 functions.php 中

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

$args['meta_key'] = 'countdown_date';

$args['orderby'] = 'meta_value';

// need an if statement here to switch the order

$args['order'] = 'DESC';

return $args;
}

最佳答案

您可以使用下面的代码来解决您的问题,

   add_filter('woocommerce_get_catalog_ordering_args','wdm_change_ordering',10,1);

function wdm_change_ordering($args)
{
if(is_product_category())
{
global $wp_query;
$cat = $wp_query->get_queried_object();

$category_A_term_id = 53;
$category_B_term_id = 2;

if(!empty($cat) && ($cat->term_id === $category_A_term_id || $cat->parent === $category_A_term_id))
{
$args['order'] = 'ASC';
}
elseif(!empty($cat) && ($cat->term_id === $category_B_term_id || $cat->parent === $category_B_term_id))
{
$args['order'] = 'DESC';
}
}

return $args;

请记住将 $category_A_term_id 和 $category_B_term_id 变量值更改为相应的类别 ID。

以上代码将检查,如果当前是类别存档页面,如果是,类别“A”或类别“A”的子项,更改顺序,类似于类别“B”。

或者,您也可以使用以下 WooCommerce 条件,

 is_product_category( array( 'shirts', 'games' ) )

但是,这里必须指定所有类别。

关于php - Woocommerce 根据类别对 ASC 和 DESC 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30471750/

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