我在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);
});
});
};
任何帮助人员?
答案 0 :(得分:0)
如果你想要一个无限循环,请在while (true)
块中包围你当前拥有的内容,以“包裹”内部while
循环。
只是一个提示:如果你有跨越多行的PHP代码,则不需要每行明确说明<?php...?>
; PHP代码可以跨越多行,从长远来看,它将使您的代码更容易阅读。