Intereting Posts
Передача данных пользовательского поля в виде массива, который необходимо сохранить (результат пользовательского массива несовместим) Как добавить число в функцию count Word? Ошибка захвата и отображения при действии save_post. Как я могу сделать первую страницу для отображения страницы пользовательской таксономии? Как использовать аутентификацию WordPress на странице, отличной от WordPress? Создать (показан) миниатюру для публикации? Как я могу назначить URL-адрес в качестве отображаемого изображения для публикации в базе данных wordpress WordPress с php 5.5 и zend opcache Изменение структуры постоянных ссылок Как определить, к какой боковой панели добавлен виджет, через администратора виджета? как удалить обязательные обязательные поля в регистрации приятеля Можете ли вы перейти от экрана обновлений во время обновления? stdObject хранится в базе данных. Как преобразовать его в удобный формат? Как определить фильтр по URL-адресу на странице категории? Темы поддержки WordPress.org, возвращающиеся 404

Изменить запрос с идентификатора 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 – Спасибо за подсказку!