Здравствуйте!
У меня на сайте два кастомных параметра: is_product_sold и is_temporarily_unavailable.
Задача отсортировать товары так, чтобы товары у которых включен один из этих параметров, уходили в самый конец списка и при этом все товары были отсортированы по дате.
По одному параметру отсортировать получилось, а как добавить второй - не знаю.
add_action( 'woocommerce_product_query', 'product_query_by_modified_date' );
function product_query_by_modified_date( $query ) {
if ( ! isset( $_GET['orderby'] ) && ! is_admin() ) {
$args = array(
'relation' => 'OR',
array(
'key' => 'is_product_sold',
'compare' => 'NOT EXISTS',
),
array(
'relation' => 'OR',
array(
'key' => 'is_product_sold',
'value' => 'on',
),
array(
'key' => 'is_product_sold',
'value' => 'on',
'compare' => '!=',
),
),
);
$query->set( 'meta_query', $args );
$query->set( 'orderby', array( 'meta_value' => 'ASC', 'date' => 'DESC' ) );
}
}