Порядок записей в пользовательских Wordpress запросах ASC / DESC не такой, как ожидалось

Проблема в том, что процессы, связанные с трубой, выполняются в подоболочках (и, следовательно, имеют собственную среду). Все, что происходит внутри while, не влияет на что-либо вне трубы.

Ваш конкретный пример можно решить, переписав канал на

while ... do ... done <<< "$OUTPUT"

или, возможно,

while ... do ... done < <(echo "$OUTPUT")
1
задан Johannes 19 January 2019 в 15:46
поделиться

1 ответ

publication_year не является столбцом в таблице wp_posts. См. Описание базы данных WordPress . Если параметр orderby недопустим, WordPress вернется к сортировке по умолчанию, которой является столбец post_date.

Если это мета-значение, вы должны использовать:

$args = array(
    'post_type' => 'publication',
    'post_status' => 'publish',
    'category_name' => 'my-category',
    'posts_per_page' => 20,
    'orderby' => 'meta_value_num',
    'meta_key' => 'publication_year',
    'order' => 'DESC',
    'paged' => $paged
);

См. Кодекс WordPress для дополнительной информации.

0
ответ дан jrswgtr 19 January 2019 в 15:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: