#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
дате, т. е. Когда я обновляю инвентарь, он появляется первым.