отрывок(), получить отрывок() и содержимое() - все это убивает "Цикл"


Прежде чем я вызову функцию the_excerpt(), функция the_permalink() отобразит правильную вещь. Впоследствии это не...

            <?php 
            global $query_string;

            //strip out the "pagename=blog" so that the query will grab all of the posts instead of the content of the blog page
            $query_string = preg_replace("/pagename=[a-zA-Z0-9]*/", "", $query_string);
            query_posts( $query_string . "posts_per_page=3" );

            if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
                <li class="post-listing"> 
                        <div class="no-col">
                            <h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3> 
                            <p class="meta">Posted on <?php print get_the_date(); ?> by <?php the_author(); ?> in <?php the_category(', ') ?></p>
                        <!--
                        <?php the_permalink(); ?>
                        -->

                            <?php the_excerpt(); ?>
                        <!--
                        <?php the_permalink(); ?>
                        -->

                            <p class="meta"><?php the_tags('') ?></p>
                            <div class="navigation"><a class="alignright" href="<?php the_permalink(); ?>">READ MORE &raquo;</a></div>
                        </div>
                </li> 
            <?php endwhile; else: ?>
                <li><?php _e('Sorry, no posts matched your criteria.'); ?></li>
            <?php endif; ?>

У меня есть страница под названием "blog.php "это я определил как шаблон с именем "блог", который люди могут применять к создаваемой ими странице (чтобы у них была страница со списком блогов, я знаю, что, вероятно, есть лучший способ, но это решение, которое было принято по разным причинам).

Он работал просто отлично, но теперь (через месяц после того, как я его написал) он внезапно перестал работать. Я сузил проблему (я думаю) до вызова the_excerpt(). Постоянная ссылка отображается нормально до этого, но после этого отключается и вместо этого отображается постоянная ссылка для blog.php страница... Я думаю, что the_excerpt() полностью выводит все из "Цикла", а затем текущее сообщение, которое он видит, просто становится страницей, на которой используется blog.php шаблон (он выплевывает содержимое этой страницы, а затем останавливается, как если бы эта страница была последним сообщением в Петля).

Это также произойдет, если я заменю "the_excerpt()" на "the_content()" или "get_the_excerpt()"

Author: cmcculloh, 2011-06-28

1 answers

Я установил плагин "Комментарии Facebook для WordPress". Этот плагин прикрепляет фильтр к the_content();. Фильтр содержит строку wp_reset_query();. Комментируя это, устраняется проблема (хотя это неоптимально, потому что теперь клиент не сможет обновить плагин).

 1
Author: cmcculloh, 2011-06-30 02:57:13