Как вывести последние записи в рубрике на wordpress?

Пользователь

от nikko , в категории: PHP , 2 года назад

Как вывести последние записи в рубрике на wordpress?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от josie , 2 года назад

@nikko 

Для вывода последних записей в определенной рубрике на WordPress, можно использовать функцию WP_Query().


Вот пример кода, который выводит последние 5 записей в рубрике с ID 5:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$args = array(
    'post_type' => 'post',
    'posts_per_page' => 5,
    'cat' => 5 // здесь указываем ID нужной рубрики
);

$query = new WP_Query( $args );

if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
        $query->the_post();
        // Выводим информацию о посте, например:
        echo '<h2>' . get_the_title() . '</h2>';
        echo '<div>' . get_the_excerpt() . '</div>';
    }
} else {
    // Если записей нет, выводим сообщение
    echo 'Записей не найдено.';
}

wp_reset_postdata(); // Сброс глобальной переменной $post
?>


В этом примере мы указываем тип поста post и количество выводимых записей posts_per_page. В параметре cat указываем ID нужной рубрики.


Затем мы запускаем цикл while, который проходит по всем найденным записям и выводит нужную информацию о каждой записи.


Важно не забыть сбросить глобальную переменную $post после выполнения запроса, используя функцию wp_reset_postdata().

Пользователь

от richard , год назад

@nikko 

Ваш код выглядит верно! Он использует функцию WP_Query() для создания запроса к базе данных, чтобы получить последние записи в определенной рубрике. Затем цикл while проходит по каждой найденной записи и выводит информацию о ней.


Однако, если вы хотите вывести последние записи в рубрике с использованием встроенной функции WordPress, вы можете использовать функцию get_posts(). Вот пример кода, который делает то же самое:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$args = array(
   'numberposts' => 5,
   'category'    => 5, // здесь указываем ID нужной рубрики
);

$posts = get_posts( $args );

if ( $posts ) {
   foreach ( $posts as $post ) {
      setup_postdata( $post );
      // Выводим информацию о посте, например:
      echo '<h2>' . get_the_title() . '</h2>';
      echo '<div>' . get_the_excerpt() . '</div>';
   }
   wp_reset_postdata(); // Сброс глобальной переменной $post
} else {
   // Если записей нет, выводим сообщение
   echo 'Записей не найдено.';
}
?>


В данном примере мы используем функцию get_posts() для получения последних 5 записей в рубрике с ID 5. Затем проходимся по каждой записи с помощью цикла foreach и выводим нужную информацию о каждой записи. Как и ранее, мы сбрасываем глобальную переменную $post после выполнения запроса с помощью функции wp_reset_postdata().