Как получить все записи, связанные с определенной категорией?

1 февр. 2012 г., 07:45:23
Просмотры: 78.7K
Голосов: 6

Я разрабатываю проект, в котором мне нужно отобразить все записи, относящиеся к определенной категории.

Я много искал, но не нашел подходящего решения для реализации этой задачи.

Как можно получить и отобразить все записи из определенной категории/термина?

0
Все ответы на вопрос 6
0
14

Просто используйте WP_Query() для создания пользовательского запроса, используя параметры категории.

Предполагая, что вы знаете (или знаете, как получить) ID конкретной категории, как $catid:

<?php
$category_query_args = array(
    'cat' => $catid
);

$category_query = new WP_Query( $category_query_args );
?>

Примечание: вы также можете передать слаг категории в запрос через параметр category_name вместо cat.

Теперь просто выведите ваш цикл:

<?php
if ( $category_query->have_posts() ) : while $category_query->have_posts() : $category_query->the_post();
// Здесь идет вывод цикла
endwhile; endif;
?>
1 февр. 2012 г. 22:14:04
1

Это зависит от того, когда и как именно вы хотите это использовать - но в общем случае вы можете либо использовать пользовательский запрос, либо просто использовать:

if in_category('my_cat_name_or_ID') {
//делайте что нужно
}

Если вы хотите узнать о пользовательских запросах: http://codex.wordpress.org/Custom_Queries

1 февр. 2012 г. 08:25:21
Комментарии

да, это сработает, и я сделал это другим способом

Arpi Patel Arpi Patel
1 февр. 2012 г. 11:00:32
0

Приведенный ниже код получает заголовки записей из определенной категории.

<?php 
      $myposts = get_posts(array(
      'showposts' => 8, //укажите -1, если нужно показать все записи
      'post_type' => 'your-post-type', //тип вашей записи
      'tax_query' => array(
                  array(
                        'taxonomy' => 'your-taxonomy', //ваша таксономия
                        'field' => 'slug',
                        'terms' => 'term-name' //укажите название термина здесь
                          )
                        ))
                       );

        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>';} ?>
9 окт. 2017 г. 11:08:08
0

WP_Query's tax_query — это, без сомнения, самый гибкий способ реализовать данную задачу. Если вы уточните ваш вопрос, я смогу подготовить для вас пример кода, который поможет вам начать работу.

1 февр. 2012 г. 21:04:37
0

Вы можете использовать плагин (WordPress Category Posts) для этой цели.

WordPress Category Posts — это плагин для WordPress, который создаёт связанный список записей из определённой категории.

Используйте следующий код в том месте, где вы хотите вывести список записей категории:

wp_cat_posts(get_cat_ID('your_category_name'));

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

2 февр. 2012 г. 06:25:20
1
-1
// Запрашиваем 5 последних постов из указанной категории
query_posts('category_name=my_category_name&showposts=5');
// Начинаем цикл вывода постов
while (have_posts()) : the_post();
    // Выводим содержимое поста
    get_the_content();
endwhile;
23 авг. 2012 г. 08:03:22
Комментарии

Помимо того, что get_the_content() ничего не выводит, никогда не используйте query_posts(), если у вас нет веской причины для этого.

Stephen Harris Stephen Harris
27 сент. 2012 г. 15:41:41