Intereting Posts
WordPress показывает мою фотографию в панели администратора Обнаруживать, какое поле пользователя мета обновляется при обновлении профиля пользователя Сортировка цикла по настраиваемому полю из разных типов сообщений Добавить текущий элемент меню CSS в специальный архив типа страницы в меню WordPress меняющаяся функция wp_register Только для тематических файлов и изменений Некоторые действия, не срабатывающие при запуске cron Как фильтровать контент в Save / Publish, чтобы добавить rel = "nofollow" ко всем внешним ссылкам? Запрос WP Query на более чем 2000 сообщений Set_post_thumbnail не изменяет размер изображений Разделите слово из wp_list_categories Новый WP_Customize API – как он работает под капотом? Возможно ли изменить атрибуты зарегистрированного стиля или скрипта до его возникновения? Как показать только следующую ссылку для разбивки по страницам, используя wp_link_pages () pre_get_posts – редактирование запроса, tax_query

Изменить запрос с идентификатора cat на slug или имя?

Я использую следующий запрос для получения сообщений в категории (10). Я хотел бы изменить этот код, чтобы использовать категорию slug или имя вместо номера id, поскольку это часто изменяется при перемещении сайтов.

<?php $custom_query = new WP_Query(array ('cat' => 10, 'showposts' => 1)); query_posts($custom_query); while($custom_query->have_posts()) : $custom_query->the_post();?> 

Я попытался изменить ('cat' => 'books' … ('cat_name =>' books '… & also (' cat_slug => "books" … но ничего не работает.

Большое спасибо

Следуя первому предложению, я получил эту работу:

 <?php $query = new WP_Query('category_name=books'); while($query->have_posts()) : $query->the_post();?> 

Но теперь нужна помощь, сочетающая бит «posts_per_page» запроса?

Solutions Collecting From Web of "Изменить запрос с идентификатора cat на slug или имя?"

Давайте начнем с удаления query_posts() из вашего кода, так как у вас уже есть лучший брат new WP_Query .

Тогда вам понадобится использовать параметр category_name в WP_Query .

Вы всегда должны искать на странице WP_Query, прежде чем спрашивать здесь, вы можете найти там больше рефери .


Вот как @speedypancake разрешил проблему:

 <?php $the_query = new WP_Query( array( 'posts_per_page' => '10', 'category_name' => 'books' ) ); while( $the_query->have_posts() ): $the_query->the_post(); // Do what you want endwhile; 

Следуя примеру Бордони, и с небольшим количеством проб и ошибок, наконец, получил работу

 <?php $the_query = new WP_Query( array ( 'posts_per_page' => '10', 'category_name' => 'books' ) ); while($the_query->have_posts()) : $the_query->the_post(); ?> 

@Bordoni – Спасибо за подсказку!