1

所以这是我的链接:

https://snake.cl/shop/?orderby=date

这显示了产品date created

我遇到的问题是我更新了产品库存,我希望它们显示为“新”或“现在可用”。

因此,如果我可以按日期排序last modified,我认为那会奏效。

我查看了一些用于查询的 WP 参数,并尝试了:

https://snake.cl/shop/?orderby=modified

但这不起作用。

有任何想法吗?

谢谢!

4

2 回答 2

3

您应该尝试按 DESC 的最后修改日期顺序排序。

// Apply Sort By Last Modified
add_filter( 'woocommerce_get_catalog_ordering_args', 'woo_add_postmeta_ordering_args' );
function woo_add_postmeta_ordering_args( $args_sort ) {

  $orderby_value = isset( $_GET['orderby'] ) ? wc_clean( $_GET['orderby'] ) : '';

  switch( $orderby_value ) {
     case 'last_modified':
        $args_sort['orderby']  = 'modified';
        $args_sort['order']    = 'DESC';
     break;
  }
  return $args_sort;
}

// Add "Sort By Last Modified" option in dropdown
add_filter( 'woocommerce_default_catalog_orderby_options', 'woo_add_new_postmeta_orderby' );
add_filter( 'woocommerce_catalog_orderby', 'woo_add_new_postmeta_orderby' );

function woo_add_new_postmeta_orderby( $sortby ) {
    $sortby['last_modified'] = __( 'Sort By Last Modified', 'woocommerce' );
    return $sortby;
}

在此处输入图像描述

于 2021-09-04T05:52:47.163 回答
1

好的,我为其他可能需要它的人想出来了。

这是正确的“query_var” ?orderby=modified-desc:。

https://snake.cl/shop/?orderby=modified-desc

它按last modified日期对我的产品进行排序,即当我更新库存时,它首先出现。

于 2021-09-04T02:17:16.627 回答