Wp_query фильтровать по одному полю, а сортировать по-другому?

В WordPress с помощью класса WP_Query можно фильтровать по одному полю и сортировать по другому. Для этого есть два основных параметра, которые могут быть использованы в объекте WP_Query:

1. Параметр meta_query - с помощью этого параметра можно фильтровать по значениям метаполей (custom fields) в WordPress. Пример использования:

$args = array(
    'post_type' => 'post',
    'meta_key' => 'custom_field_name', // Поле, по которому будем фильтровать
    'meta_value' => 'desired_value', // Значение, по которому будем фильтровать
    'meta_compare' => '=', // Оператор сравнения
    'orderby' => 'date', // Поле, по которому будем сортировать
    'order' => 'DESC' // Порядок сортировки
);

$query = new WP_Query( $args );

2. Параметры orderby и order - с их помощью можно задать поле, по которому будет производиться сортировка, и порядок сортировки (ASC - по возрастанию, DESC - по убыванию). Пример использования:

$args = array(
    'post_type' => 'post',
    'meta_key' => 'custom_field_name', // Поле, по которому будем фильтровать
    'meta_value' => 'desired_value', // Значение, по которому будем фильтровать
    'meta_compare' => '=', // Оператор сравнения
    'orderby' => 'meta_value_num', // Поле, по которому будем сортировать
    'order' => 'ASC' // Порядок сортировки
);

$query = new WP_Query( $args );

Таким образом, с помощью параметров meta_query, orderby и order можно легко фильтровать записи по одному полю (метаполю) и сортировать их по другому (например, по дате публикации).