@Chekhoved

Как в WordPress на странице записей выводить одну определенную запись?

Обычно записи выводятся циклом:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
// post
<?php endwhile; else: ?>
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?>


Можно ли этот цикл подкорректировать, чтобы он только одну определенную запись выводил из кучи остальных? По id может быть как-нибудь.
  • Вопрос задан
  • 995 просмотров
Решения вопроса 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Тема вроде как и решена, но не совсем корректно. Оставлю для будущих поколений.

dm: если конкретно этот, основной цикл надо видоизменить, то делается это так:
function my_modify_query( $query ) {
    // это главный запрос, мы не в админке, мы на архивной странице
    if ( $query->is_main_query() && ! is_admin() && is_archive() ) { 
        // конкретный пост по его ID
        $query->set( 'post__in', array(345) ); 
        // Устанавливать можно любые свойства объекта WP_Query
    }
}
add_action( 'pre_get_posts', 'my_modify_query' );


Документация:
на WordPress Codex (англ).
на WP-Kama (рус)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы