Intereting Posts
Масонство imagesLoaded javascript error Большой арабский перманент не работает Изменить постоянную ссылку для старых сообщений и не показывать вверху RSS-ленты Нужно ли мне префиксные переменные внутри функции? Как показать только дочерние категории с помощью the_category (); WP Query Post Type с тем же именем таксономии Проверить URL-адрес запроса для шаблона Ограничение плагина только для загрузки его CSS и JS на выбранные страницы? Запуск цикла с пользовательской строкой запроса на настраиваемом шаблоне страницы Использовать обычную категорию с пользовательскими типами сообщений WordPress как сеанс входа в систему webapp Как установить задание cron для моего сайта WordPress? Как я могу поставить мета-окно над редактором, но ниже раздела заголовка на странице редактирования сообщений? Добавить текст специально для заказа-прокси-электронной почты в WooCommerce Уведомление почты о высоком использовании памяти?

Еще один get_posts () в явно заданной задаче порядка

Я создаю «цикл», который должен отображать страницы (не сообщения) в определенном порядке идентификаторов. То, что я делал до сих пор:

<?php $ids = array(434, 814, 3660, 3235, 99, 1002, etc.); add_filter('posts_orderby', 'enforce_specific_order'); function enforce_specific_order($orderby) { global $wpdb; $ids_as_text = join(",",$ids); return "FIND_IN_SET(".$wpdb->posts.".ID, '".$ids_as_text."') ASC"; } global $post; $args = array( 'posts_per_page' => 20, 'post_type' => 'page', 'post__in' => $ids ); $myposts = get_posts( $args ); foreach( $myposts as $post ) : setup_postdata($post); ?> <h2><?php the_title(); ?></h2> <?php endforeach; remove_filter( current_filter(), __FUNCTION__ ); wp_reset_postdata(); ?> 

Я вижу, что названия страниц отображаются правильно, но не в том порядке, в котором я ожидаю, основываясь на $ids .

Есть идеи?

Вместо этого вы должны использовать WP_Query

Что-то вроде этого:

 $specific_order_pages_query_args = array( 'post_type' => 'page', 'post__in' => $ids, 'orderby' => 'post__in' ); $specific_order_pages_query = new WP_Query( $specific_order_pages_query_args ); 

Значение заказа post__in является специальным значением для заказа с помощью поставленных идентификаторов post__in

Подробнее см. В разделе «Порядок в WP_Query» http://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters