Несколько циклов: исключить сообщение, возвращенное в цикле 1 из цикла 2 - PullRequest
0 голосов
/ 30 августа 2018

У меня есть два цикла wp_query.

Первый цикл ищет избранные сообщения и форматирует их по-другому, чем остальные сообщения.

Затем второй цикл отображает остальные сообщения.

Я хочу исключить эту первую публикацию из остальной части цикла.

Прямо сейчас идентификатор первого сообщения сохранен как переменная.

Я хочу использовать эту переменную во втором цикле с аргументом исключения wp_query.

Но, насколько я понимаю, эта переменная умирает, когда заканчивается мой первый цикл. Это тогда нулевая переменная во втором цикле, и поэтому ничего не исключено.

                <!-- Here's the query for the featured post -->
                <?php
                    // the arguments

                    $args = array(
                        'posts_per_page'   => '1',
                        'orderby'          => '',
                        'meta_key'        => 'featured_post',
                        'meta_value'    => '1'
                    ); ?>

                    <?php $the_query = new WP_Query($args); ?>

                    <?php if ($the_query->have_posts()) : ?>
                    <?php while ($the_query->have_posts()) : $the_query->the_post(); ?>

                    <!-- I'm storing the ID so I can exclude it from the rest of the loop, but I know this doens't work right now -->
                    <?php $postid = get_the_ID(); ?>
                    <div class="small-12 columns entry" >
                        <div class="text-center" id="featured-thumbnail">

                            <a href="<?php the_permalink(); ?>">
                                <?php the_post_thumbnail('featured'); ?>
                            </a>

                            <h2>
                                <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
                            </h2>

                            <p>
                                    <?php
                                    $content = get_the_content();
                                    echo wp_trim_words($content, '75');
                                    ?>
                            </p>

                        </div>
                    </div>


                    <?php endwhile; ?>
                    <?php wp_reset_postdata(); ?>


        <!-- If there is no featured post, pull in the most recent post and make it big -->
        <?php else:  ?>

                                <?php
                              // the arguments
                              $args = array(
                                'posts_per_page'   => '1',
                                'orderby'          => '',
                              ); ?>

                                    <?php $the_query = new WP_Query($args); ?>
                                    <?php if ($the_query->have_posts()) : ?>
                                    <?php while ($the_query->have_posts()) : $the_query->the_post(); ?>


                                        <!-- I'm storing the ID so I can exclude it from the rest of the loop, but I know this doens't work right now -->
                                        <?php $postid = get_the_ID(); ?>
                                        <div class="small-12 columns entry" >
                                            <div class="text-center" id="featured-thumbnail">

                                                <a href="<?php the_permalink(); ?>">
                                                    <?php the_post_thumbnail('featured'); ?>
                                                </a>

                                                <h2>
                                                    <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
                                                </h2>

                                                <p>
                                                        <?php
                                                        $content = get_the_content();
                                                        echo wp_trim_words($content, '75');
                                                        ?>
                                                </p>

                                            </div>
                                        </div>

                                    <!-- End of the nested loop (most recent posts) -->
                                    <?php endwhile; ?>
                                    <?php endif; ?>

                        <!-- End of the featred post query loop-->
                        <?php endif; ?>

А вот и главный цикл:

<?php get_template_part('parts/content', 'featured-post'); ?>

  <!-- This ends the logic for the featured post. Now we show the rest of the posts, excluding the first one we showed -->
  <?php get_template_part('parts/content', 'category-filter'); ?>


          <?php
            // the arguments

            $args=array(
                'paged' => $paged,
              'posts_per_page' => 9,
                'post__not_in' => array($postid)
        ); ?>
            <?php $the_query = new WP_Query( $args ); ?>
            <?php if ( $the_query->have_posts() ) : ?>

              <!-- Start row that holds blocks -->
              <div class="row small-up-1 medium-up-2 large-up-3">
              <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
              <div class="column entry" >


              <?php if( get_the_post_thumbnail() ): ?>
              <a href="<?php the_permalink(); ?>">
              <?php the_post_thumbnail('blog'); ?>
              </a>
              <?php else : ?>

              <?php endif; ?>




              <a href="<?php the_permalink(); ?>"><h5><?php the_title(); ?></h5></a>
              <?php
              $excerpt = get_the_excerpt();
              echo wp_trim_words( $excerpt , '10', '');
              ?>



            </div>

            <?php endwhile; ?>
            </div>
            <?php wp_reset_postdata(); ?>
            <?php else:  ?>




              <p>Sorry, no more posts.</p>




            <?php endif; ?>

Как точно настроить переменную для использования во втором цикле?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...