Я разрабатываю один проект, и в этом проекте я должен отображать все сообщения, относящиеся к определенному названию категории.
Я много искал, но у меня нет идеи реализовать это.
Как я могу сделать это, чтобы я мог отображать все сообщения из определенной категории / термина
Просто используйте WP_Query()
для создания пользовательского запроса, используя параметры категории .
Предполагая, что вы знаете (или знаете, как получить ) идентификатор определенной категории, как $catid
:
<?php $category_query_args = array( 'cat' => $catid ); $category_query = new WP_Query( $category_query_args ); ?>
Примечание: вы также можете передать категорию slug запросу, через category_name
, а не cat
.
Теперь просто выведите свой цикл:
<?php if ( $category_query->have_posts() ) : while $category_query->have_posts() : $category_query->the_post(); // Loop output goes here endwhile; endif; ?>
Это будет зависеть от того, когда и как именно вы хотите его использовать, – но, вообще говоря, вы можете либо использовать пользовательский запрос, либо просто использовать
if in_category('my_cat_name_or_ID') { //do whatever }
если вы хотите узнать о пользовательском запросе: http://codex.wordpress.org/Custom_Queries
WP_Query
's tax_query
– это далеко и далеко, что будет самым гибким способом реализации этого. Если вы зададите вопрос немного более конкретным образом, я должен уметь выкопать какой-нибудь образец кода для вас, чтобы вы пошли.
Для этого вы можете использовать плагин ( WordPress Category Posts ).
WordPress Category Posts – это плагин для WordPress, который создает связанный список сообщений в определенной категории.
Используйте следующий код везде, где вы хотите перечислить сообщения для категории:
wp_cat_posts(get_cat_ID('your_category_name'));
Большое спасибо.
Ниже код будет получать название записи из определенного названия категории.
<?php $myposts = get_posts(array( 'showposts' => 8, //add -1 if you want to show all posts 'post_type' => 'your-post-type', 'tax_query' => array( array( 'taxonomy' => 'your-taxonomy', 'field' => 'slug', 'terms' => 'term-name' //pass your term name here ) )) ); foreach ($myposts as $mypost) { // echo $mypost->post_title . '<br/>'; // echo $mypost->post_content . '<br/>'; // echo $mypost->ID . '<br/><br/>'; echo '<li class="faq"> <p class="title"><a href="' . get_permalink($mypost) . '">' . $mypost->post_title . '</a></p></li>';} ?>
query_posts('category_name=my_category_name&showposts=5'); while (have_posts()) : the_post(); get_the_content(); endwhile;