重复PHP循环

时间:2014-01-18 13:35:22

标签: php wordpress

我在WordPress主题中有一个新闻自动收录器,我需要在完成循环(连续)后重复显示帖子标题。目前,在完成显示来自指定$cat_id的帖子标题周期后,它只是停止显示任何内容。

这里是PHP代码:

<?php
                $cat_id = "";
                $cat_id = fp_get_settings('fp_ticker_cat');

                $args = array(
                    'cat' => $cat_id,
                    'post_status' => 'publish',
                    'ignore_sticky_posts' => 1,
                    'posts_per_page' => 10
                );
            ?>
            <?php $query = new WP_Query( $args ); ?>
                <?php if ( $query -> have_posts() ) : ?>
                    <?php while ( $query -> have_posts() ) : $query -> the_post(); ?>
                        <li>
                            <a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a>
                            <div class="sep"></div>
                        </li>                           
                    <?php endwhile; ?>
                <?php endif; ?>
            <?php wp_reset_query();?>

此脚本还为新闻自动收录器加载了JS脚本

jQuery.fn.liScroll = function(settings) {
    settings = jQuery.extend({
    travelocity: 0.07
    }, settings);       
    return this.each(function(){
            var $strip = jQuery(this);
            $strip.addClass("newsticker")
            var stripWidth = 1;
            $strip.find("li").each(function(i){
            stripWidth += jQuery(this, i).outerWidth(true); // thanks to Michael Haszprunar and Fabien Volpi
            });
            var $mask = $strip.wrap("<div class='mask'></div>");
            var $tickercontainer = $strip.parent().wrap("<div class='tickercontainer'></div>");                             
            var containerWidth = $strip.parent().parent().width();  //a.k.a. 'mask' width   
            $strip.width(stripWidth);           
            var totalTravel = stripWidth+containerWidth;
            var defTiming = totalTravel/settings.travelocity;   // thanks to Scott Waye     
            function scrollnews(spazio, tempo){
            $strip.animate({right: '-='+ spazio}, tempo, "linear", function(){$strip.css("left", containerWidth); scrollnews(totalTravel, defTiming);});
            }
            scrollnews(totalTravel, defTiming);             
            $strip.hover(function(){
            jQuery(this).stop();
            },
            function(){
            var offset = jQuery(this).offset();
            var residualSpace = offset.right + stripWidth;
            var residualTime = residualSpace/settings.travelocity;
            scrollnews(residualSpace, residualTime);
            });         
    }); 
  };

任何帮助人员?

1 个答案:

答案 0 :(得分:0)

如果你想要一个无限循环,请在while (true)块中包围你当前拥有的内容,以“包裹”内部while循环。

只是一个提示:如果你有跨越多行的PHP代码,则不需要每行明确说明<?php...?>; PHP代码可以跨越多行,从长远来看,它将使您的代码更容易阅读。