Intereting Posts
Получать пользовательские поля при наведении ссылки на сообщение Попытка загрузить содержимое сообщения через AJAX Как узнать, какой фильтр использовать и как его использовать? Как разрешить пользователям сортировать сообщения? Как удалить заголовок изображения из подстраниц в WordPress Twenty Eleven Theme? Как я могу сделать окно поиска для поиска по настраиваемому полю Strip $ before & $ после строк из заголовка страницы Штрих-код кнопки Получение тега alt из настраиваемого поля Администратор WordPress меняет URL на загрузку Можете ли вы изменить основной заголовок страницы в администраторе WordPress (без буферизации вывода или JavaScript)? Перемещение с одного узла на другой – невозможно получить доступ к панели управления wp_reset_postdata () не работает должным образом Почему the_post_thumbnail выводит полноразмерные изображения после активации поддержки после эскизов? получить идентификатор страницы – не получить страницы?

Заказывать сообщения по ID в указанном порядке

В бэк-офисе моей темы пользователи могут выбирать, какие сообщения должны отображаться на первой странице, и они также могут выбирать, в каком порядке должны отображаться выбранные сообщения .

Я пробовал вот так:

$aPostsIDs = array(1,3,2); // Note the 3 should appear before the 2 query_posts(array('post_type' => 'page', 'post__in' => $aPostsIDs, 'order_by' => 'FIELD(ID, '.implode(',',$aPostsIDs).')')); 

Но, как и ожидалось, это не сработает. Правильный способ сделать это в соответствии с кодом :

 add_filter('posts_orderby', 'edit_posts_orderby'); function edit_posts_orderby($orderby_statement) { global $aPostsIDs; $orderby_statement = 'FIELD(ID, '.implode(',',$aPostsIDs).')'; return $orderby_statement; } 

Но это все еще не работает! Посты упорядочены по идентификатору (1, 2, 3) вместо заданного порядка (1, 3, 2).

Где я должен смотреть? благодаря

Solutions Collecting From Web of "Заказывать сообщения по ID в указанном порядке"

Начиная с WordPress 3.5, параметр post__in позволяет сортировать значение post__in по порядку параметра post__in , как и в вашем примере.

Возможно, не идеально подождать или потребовать 3.5+, но это почти наверняка будет лучшим и простым способом сделать то, что вы хотите сделать.

Вот вам соответствующий трэк-билет, если вы хотите получить подробную информацию.