我在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();
}
}
答案 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