• Добрый день, я никак не могу разобраться:
    вот у меня есть файл header.php
    где я вывожу цитаты.

     <?php
                                        // параметры по умолчанию
                                        global $post;
                                        $temp_query = clone $wp_query; 
    
    // записываем $post во временную переменную $tmp_post
    $tmp_post = $post;
    
                                        $args = array(
                                            'numberposts' => 1000,
                                            'category' => 0,
                                            'orderby' => 'date',
                                            'order' => 'DESC',
                                            'include' => array(),
                                            'exclude' => array(),
                                            'meta_key' => '',
                                            'meta_value' => '',
                                            'post_type' => 'k-quotes',
                                            'suppress_filters' => true, // подавление работы фильтров изменения SQL запроса
                                        );
    
                                        $posts = get_posts($args);
    
                                        foreach ($posts as $po => $post) {
                                            setup_postdata($post);
                                            if ($po == 0) {
                                                $con = "active";
                                                $po++;
                                            } else
                                                $con = "";
                                            ?>
                                            <div class = "item <?php echo $con; ?> jumbotron">
                                                <blockquote>
                                                     <?php the_content(); ?>
                                                    <small><?php the_title(); ?></small>
                                                </blockquote>
                                            </div>
                                        <?}
                                            //wp_reset_postdata(); // сброс
                                           // wp_reset_query(); // сброс
                                            rewind_posts(); 
                                              
                                            $post=$tmp_post;
                                            $wp_query = clone $temp_query;
                                            ?>

    и есть файл archive.php, page.php или другое что-нибудь…, где я вывожу записи

    <?php while ( have_posts() ) : the_post();  ?>
    <article <?php post_class('post'); ?> id="post-<?php the_ID(); ?>">
            <header>
              <h5><a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title(); ?></a></h5>
              <span>Posted on <time datetime="2015-06-17 10:25"><?php the_date();?> at <?php the_time();?></time> by <?php the_author();?></span>
            </header>
            <figure>
              <img class="thumbnail" src="http://placehold.it/650x250">
            </figure>
            <?php the_content(); ?>
    
          </article> 
    
    <?php endwhile; ?>

    но выводятся все цитаты… если в архиве писать перед выводом цикла print_r($post) то выводится верно. Почему так происходит.

Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Замудренный у вас код однако. 90% можно удалить. Подробнее можете рассказать, что вы хотите вывести? зачем вам 1000 цитат в хедере?

    а зачем вы так $temp_query = clone $wp_query; делаете?

    Автор yyy77

    (@yyy77)

    я хочу вывести цитаты в слайдер bootstrap (header.php) (кастомный тип записей) Там слайдер пляшет.
    а на странице, архиве, рубрике вывести просто содержимое записи, записи соотв. категории и тд, выводит только цитаты.

    а зачем вы так $temp_query = clone $wp_query; делаете?

    потому что я никак не могу очистить цитаты, много способов перепробовала (wp_reset_postdata; wp_reset_query(); rewind_posts();), если перед циклом $post вывести print_r($post) тогда все ок.

    нормальный цикл используйте, примеров в кодексе навалом.

Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Тема «Вывод циклов?» закрыта для новых ответов.