Нужно исключить первый пост из Wordpress - PullRequest
0 голосов
/ 30 апреля 2020

Мне нужно исключить первое сообщение из wordpress l oop на архиве. php страница. Это код l oop.

<div class="article-container">
    <?php while ( have_posts() ) : the_post(); ?>
    <?php get_template_part( 'content', 'archive' ); ?>
    <?php endwhile; ?>
</div>

Ответы [ 2 ]

0 голосов
/ 30 апреля 2020

Затем подключитесь к pre_get_posts и сместите запрос на 1. Добавьте это в свой файл функций:

add_action('pre_get_posts', 'offset_posts_wordpress_archive', 50);
function offset_posts_wordpress_archive($query){

    if(!is_admin() && $query->is_archive()){
        $query->set('offset', 1);
    }
}
0 голосов
/ 30 апреля 2020

Есть несколько способов. Вы можете использовать счетчик или логическую переменную. В этом примере используется последний (я не знаю, для чего вы используете 'global $ post_i; $ post_i = 1;', но вы можете использовать $ post_i в качестве счетчика, увеличить его в то время как l oop и использовать условие , если это было ваше намерение):

<div class="article-container">
    <?php global $post_i; $post_i = 1; ?>
    <?php $show_post = false; ?>
    <?php while ( have_posts() ) : the_post(); ?>

    <?php if($show_post === false): ?>
    <?php $show_post = true; ?>
    <?php else: ?>
    <?php get_template_part( 'content', 'archive' ); ?>
    <?php endif; ?>

    <?php endwhile; ?>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...