我在主页上显示了数千篇帖子。我想控制帖子的数量,所以为此我使用posts_per_page
但这对我不起作用。所有其他参数都有效,但posts_per_page
不工作。我在这一页上分页,并且posts_per_page
适用于所有其他分页页面,但不适用于第一页(主页)。因此,出于测试目的,我创建了一个空白模板,它只有一个简单的WordPress循环,没有分页或任何其他只显示文章标题的内容,在这个模板中,我对文章的数量有限制,但是posts_per_page
甚至在此页上也不起作用。我尝试过禁用所有插件,但没有效果,所以我认为这个问题是与主题设置有关的posts_per_page
动态值。我还使用wp_reset_query();
并在中尝试了此代码functions.php
也
add_action( \'pre_get_posts\', \'set_posts_per_page\' );
function set_posts_per_page( $query ) {
global $wp_the_query;
$query->set( \'posts_per_page\', 12 );
return $query;
}
但对我来说没什么用。我尝试使用显示查询内容var_dump($query->request)
在查询限制中是12条,但在页面上我仍然看到100多条帖子。在WordPress设置页面的主题设置页面上,帖子限制为12,但在前端,此限制不起作用。以下是此查询的结果。string(489) "SELECT SQL_CALC_FOUND_ROWS wp_mdw75t47kk_posts.ID FROM wp_mdw75t47kk_posts INNER JOIN wp_mdw75t47kk_postmeta ON ( wp_mdw75t47kk_posts.ID = wp_mdw75t47kk_postmeta.post_id ) WHERE 1=1 AND ( wp_mdw75t47kk_postmeta.meta_key = \'_imwb_zonpress_post_ctr\' ) AND wp_mdw75t47kk_posts.post_type = \'post\' AND (wp_mdw75t47kk_posts.post_status = \'publish\' OR wp_mdw75t47kk_posts.post_status = \'private\') GROUP BY wp_mdw75t47kk_posts.ID ORDER BY wp_mdw75t47kk_postmeta.meta_value+0 DESC LIMIT 0, 12"
我也分享这个测试页面的url,如果有人想看到这个。Test Page link您也可以在主页上看到此问题。对我来说,这是一个非常奇怪的问题,因为我已经尝试了谷歌的一切,但都没有对我有用我正在使用covert store builder主题。任何建议都将不胜感激。非常感谢。
下面是此循环的完整代码。
wp_reset_query();
$args = Array(
\'posts_per_page\' => 12
);
$query = new WP_Query( $args );
<?php while ( $query->have_posts() ) : $query->the_post(); ?>
然后有一些代码来显示图片、标题和摘录,我认为这不会影响帖子的数量。在此之后,给出这些行<?php
endwhile; ?>
但正如我所提到的,我已经在一个空白模板中尝试了这段代码,没有分页,但仍然是posts\\u per\\u页面不起作用。所以我认为外部挂钩设置了这个值。我试图在主题文件中找到这一点,但没有成功。我知道这只是因为这个主题。