我在尝试创建博客列表页面时遇到了问题,我在Wordpress中有一个名为博客的页面。其中包含一些书面内容,仅此而已。我使用以下查询将其输出该页面的内容:
<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
<h2>Clever Thinking</h2>
<p><?php the_content(); ?> </p>
<?php endwhile; ?>
这一切都很好。下面,我将尝试创建一个对所有常规帖子的查询,使用分页,每页显示四篇帖子。
<!-- Fetch blog posts -->
<?php
// The query for 4 posts
$query = new WP_Query( \'posts_per_page=4\' );
// Output the results of the query
if ( $query->have_posts() ) :
while ( $query->have_posts() ) : $the_query->the_post(); ?>
<h2><?php the_title(); ?></h2>
<?php endwhile; ?>
<!-- end of the loop -->
<!-- pagination here -->
<?php wp_reset_postdata();
// If no results appear
else : ?>
<p><?php _e( \'Sorry, no posts matched your criteria.\' ); ?></p>
<?php endif; ?>
但这部分显然不正确,因为我没有得到任何信息,甚至没有posts错误消息,所以函数甚至没有启动?我不明白为什么这个查询不起作用。
最合适的回答,由SO网友:Robert hue 整理而成
使用此查询链接。您正在签入帖子$the_query
. 但你用过$query
.
<?php
$custom_query = new WP_Query( \'posts_per_page=4\' );
if ( $custom_query->have_posts() ) :
while ( $custom_query->have_posts() ) : $custom_query->the_post(); ?>
<h2><?php the_title(); ?></h2>
<?php endwhile;
else :
get_template_part( \'content\', \'none\' );
endif;
wp_reset_postdata();
?>