Woocommerce как сортировать товары по дате «последнего изменения»?

#wordpress #date #woocommerce #modified-date

Вопрос:

Итак, вот моя ссылка:

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

Это показывает продукты по date created .

Проблема, с которой я сталкиваюсь, заключается в том, что я обновляю список продуктов и хотел бы, чтобы они отображались как «новые» или «теперь доступны».

Так что, если бы я мог сортировать по last modified дате, я думаю, это сработало бы.

Я взглянул на некоторые параметры WP для запросов и попытался:

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

но это не работает.

Есть какие-нибудь идеи?

Спасибо!

Ответ №1:

Вы должны попробовать это для сортировки по последнему измененному порядку дат по 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;
}
 

введите описание изображения здесь

Ответ №2:

Хорошо, я понял это для всех, кому это может понадобиться.

Это правильный «query_var»: ?orderby=modified-desc .

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

это отсортировало мои товары по last modified дате, т. е. Когда я обновляю инвентарь, он появляется первым.