在WordPress中,你可以通过修改查询循环的参数来设置第一页的文章数量与其他页不同。通常,你会使用pre_get_posts
钩子来实现这个目标,该钩子允许你在WordPress执行查询之前修改查询参数。
以下是一个示例,演示如何设置第一页的文章数与其他页不同:
function custom_posts_per_page( $query ) {
if ( !is_admin() && $query>is_main_query() ) {
if ( is_home() && $query>is_paged() ) {
// 设置第一页的文章数量为5
if ( $query>query_vars['paged'] == 2 ) {
$query>set( 'posts_per_page', 10 ); // 第一页之后的文章数量
} else {
$query>set( 'posts_per_page', 5 ); // 第一页的文章数量
}
}
}
}
add_action( 'pre_get_posts', 'custom_posts_per_page' );
在这个示例中,我们使用pre_get_posts
钩子来检查是否为主查询(主循环),是否不是在管理后台(is_admin),以及是否在首页(is_home)。然后,我们检查当前页码是否为第二页,如果是,就将文章数量设置为10,否则设置为5。这样,第一页和其他页的文章数量就会不同。
请注意,你可以根据需要自定义条件和文章数量。将这段代码添加到你的主题的functions.php
文件中即可生效。确保在进行任何修改之前备份文件,以免出现意外问题。