循环内的Wordpress循环无法正常工作

时间:2012-02-19 12:51:51

标签: jquery wordpress loops

好的,我正在使用jQuery ajax从滑块内部加载帖子。在wordpress仪表板中,我将每页的帖子数设置为“1”。

我遇到的问题只是创建的最新帖子继续加载。有时内循环也会继续下去。

我需要滑块上的任何链接,点击时,只需在我设置的内容区域内加载帖子,下面是所有相关代码。

滑块代码

<ul id="roundabout" class="clearfix">

<?php  $argss = array(
"showposts" =>20);

query_posts($argss);  ?>


    <?php while (have_posts()): the_post(); ?>

       <li><a href="<?php the_permalink();?>"><?php the_post_thumbnail(array(150, 150, true));?></a></li> 
    <?php endwhile; ?>

</ul>

jQuery ajax代码

    var $mainContent = jQuery(".content"),
    siteUrl = "http://" + top.location.host.toString(),
    url = ''; 

jQuery(document).delegate("a[href^='"+siteUrl+"']:not([href*=/wp-admin/]):not([href*=/wp-login.php]):not([href$=/feed/])", "click", function() {
    location.hash = this.pathname;

    return false;
}); 

jQuery(window).bind('hashchange', function(){
    url = window.location.hash.substring(1); 

    if (!url) {
        return;
    } 

    url = url + " .content"; 

    $mainContent.fadeOut().load(url, function() {
        $mainContent.fadeIn();
    });
});

jQuery(window).trigger('hashchange');

PHP代码

<?php while ( have_posts() ): the_post(); ?>

    <div class="content">    

        <?php wp_reset_query(); ?>

            <?php while(have_posts()): the_post(); ?>

                <div id="inner">
                    <h2 class="title"><?php the_title(); ?></h2>
                    <?php the_post_thumbnail(array(150, 150, true)); ?>
                    <?php the_content(); ?>  
                </div>

                <?php endwhile; ?>

      <div class="clear"></div>

    </div>

<?php  endwhile; ?>

1 个答案:

答案 0 :(得分:3)

看一下codex中的WP_Query:http://codex.wordpress.org/Class_Reference/WP_Query

你在循环中的'循环'不会像你在这里构造的那样工作,因为没有第二个查询。尝试在第一个主循环中使用WP_Query来获取第二个循环的帖子

<?php while ( have_posts() ): the_post(); ?>

<div class="content">    

    <?php

    // Second Query
    $the_query = new WP_Query( $args );

    // Second Loop
    while ( $the_query->have_posts() ) : $the_query->the_post();

    ?>

            <div id="inner">
                <h2 class="title"><?php the_title(); ?></h2>
                <?php the_post_thumbnail(array(150, 150, true)); ?>
                <?php the_content(); ?>  
            </div>

      <?php endwhile;

      // Reset Second Loop Post Data
      wp_reset_postdata(); 

      ?>

  <div class="clear"></div>

</div>

<?php  endwhile; ?>

这应该有助于解决一半问题:)