WP_Query重复帖子

时间:2017-07-03 03:36:41

标签: wordpress

我在wordpress主题中使用了wp_query。 我有重复帖子我的houme页面。 这是怎么解决的?这个问题可以连接什么?

整个悖论是,如果您将此代码用作单独的模板,那么一切正常。如果您在模块中嵌入主题,那么所有帖子都会按顺序排列。然后再次(1,2,3,4,5,1,2,3,4,5)。

感谢。

}

function render() {
    ob_start();
    ?>               
           <?php $custom_query = new WP_Query('posts_per_page= 1');
             while($custom_query->have_posts()) : $custom_query->the_post();
                    ?>
              <div class="post-1">
                <div <?php post_class(); ?> id="post-<?php the_ID(); ?>">          
                  <h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> </h3>    
                     <div class="float-tags">          
                                    <div class="bb-td-post-small-box clearfix">        
                                      <?php the_tags('','',''); ?>
                                    </div>
                     </div>
                  <div class="post-2">                                            
                    <?php the_content(); ?>    
                  </div>

                </div>
              </div>  

             <?php endwhile; ?>  
             <?php wp_reset_postdata(); // reset the query ?>


    <?php return ob_get_clean();
}
}

2 个答案:

答案 0 :(得分:1)

通过这种方式,您将始终获得一个帖子,该帖子将重复您在代码中调用呈现功能的次数。如果您希望每次都显示不同的帖子,则必须在 WP_QUERY 中指定帖子的偏移量。 参考:https://codex.wordpress.org/Class_Reference/WP_Query [偏移] 注意:在PHP中表现得像限制一样。

希望它会对你有所帮助。

答案 1 :(得分:1)

<?php

function render($offset,$posts_per_page) 
{
    ob_start();
    $args['offset']=$offset;
    $args['posts_per_page']= $posts_per_page;
    $custom_query = new WP_Query($args);
    while($custom_query->have_posts()) : $custom_query->the_post();

?>
              <div class="post-1">
                <div <?php post_class(); ?> id="post-<?php the_ID(); ?>">          
                  <h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> </h3>    
                     <div class="float-tags">          
                                    <div class="bb-td-post-small-box clearfix">        
                                      <?php the_tags('','',''); ?>
                                    </div>
                     </div>
                  <div class="post-2">                                            
                    <?php the_content(); ?>    
                  </div>

                </div>
              </div>  

             <?php endwhile; ?>  
             <?php wp_reset_postdata(); // reset the query ?>


    <?php return ob_get_clean();
}
render(0,5); //shows first 5,  0 to 5
render(5,5); //shows second 5,  5 to 10
render(5,5); //shows third 5,  10 to 15