我刚刚测试了以下示例代码:
<?php
$the_query = new WP_Query( array(
\'posts_per_page\' => 12,
\'paged\' => get_query_var(\'paged\', 1)
));
if ( $the_query->have_posts() ) {
// display #ajax wrapper only if we have posts
echo \'<div id="ajax">\';
while($the_query->have_posts()) {
$the_query->the_post(); ?>
<article <?php post_class(); ?>>
<div class="row">
<div class="col-md-4"><?php the_post_thumbnail(\'medium-thumbnail\'); ?>
<h2><a class="post-title" href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<p class="post-excerpt"><?php echo get_the_excerpt(); ?></p>
<?php get_template_part( \'share-buttons\' ); ?>
<a class="moretext" href="<?php the_permalink(); ?>">Read more</a>
<?php comments_popup_link (\'No Comments\', \'1 Comment\', \'% Comments\', \'comment-count\', \'none\'); ?>
</div>
</div>
</article>
<?php }//end while
echo \'</div>\'; // close the #ajax wrapper after the post list
if(get_query_var(\'paged\') < $the_query->max_num_pages) {
load_more_button();
}
} else { // if there are no posts
echo \'<p>Sorry, no posts matched your criteria.</p>\';
}//end if
?>
The
<div id="ajax">
应该围绕整个帖子列表,而不是每个帖子,对吗?这个容器应该在while循环之外!
此外,如果在WP\\U查询中未指定任何帖子类型,则默认为“any”类型。所以确保你想要这个!
“any”-检索除“exclude\\u from\\u search”设置为true的修订和类型之外的任何类型。
在<article>
还应使用的标记<?php post_class(); ?>
而不是class="post"
自动获取更多有用的类。(包括当前岗位类型、状态和类别)
Update:
我已经在我的答案中粘贴了上面更新的代码。它用于显示帖子。然而,它一行只显示了一个帖子,所以我又添加了2个col-md-4。但现在它只是重复同一篇文章3次。我该如何解决这个问题?此外,ajax按钮也不会出现。
好吧,首先。。。循环与此无关how 您将在前端显示帖子。(在网格中或在彼此的正下方)我可以看到您尝试添加3<article>
中的元素while
环This is wrong, 您只需定义1的模板<article>
在这里,以及以下所有内容都将使用相同的。
您可以使用CSS定义文章在前端的显示方式。因此,例如,在article元素上使用%width以在一行中显示3。(100%/3)
也许你也可以使用现有的CSS类。在你的代码中我看到了<div class="col-md-4">
, 因此,这似乎已经是网格/柱系统的一类。因此,也许可以查看您正在使用的主题的文档。如果这已经是一个在一行中显示3列的类,那么可能有一些CSS正在覆盖宽度。
是的,你只需要一个article元素,而不是CSS样式。