通常情况下,WordPress允许你在后台的阅读设置中设定全局的文章显示数量,这个设置会一致应用到主页、分类页、标签页、搜索结果页等。然而,有时你可能希望针对不同的页面类型设定不同的文章数量。这时,我们就需要通过编写代码来实现这一功能。下面是具体的操作步骤:
1. 首先,你需要将以下代码添加到你的当前主题的functions.php文件中。这段代码将会使搜索结果页显示3篇文章,而文章归档页则显示6篇文章:
“`
add_Action(‘pre_get_posts’, ‘zm_set_posts_per_page’);
function zm_set_posts_per_page($query) {
if (!is_admin() && $query === $GLOBALS[‘WP_Query’] && $query->is_search()) {
$query->set(‘posts_per_page’, 3);
} elseif (!is_admin() && $query === $GLOBALS[‘WP_Query’] && $query->is_archive()) {
$query->set(‘posts_per_page’, 6);
}
return $query;
}
“`
2. 如果你想在不同的分类中显示不同数量的文章,你可以修改代码中的类别ID。例如,以下代码将在分类ID为1和2的类别中显示3篇文章,在分类ID为3和4的类别中显示6篇文章,而在分类ID为5和6的类别中显示2篇文章:
“`
add_action(‘pre_get_posts’, ‘zm_set_posts_per_page’);
function zm_set_posts_per_page($query) {
if (!is_admin() && $query === $GLOBALS[‘WP_Query’]) {
if (is_category(array(1, 2))) {
$query->set(‘posts_per_page’, 3);
} elseif (is_category(array(3, 4))) {
$query->set(‘posts_per_page’, 6);
} elseif (is_category(array(5, 6))) {
$query->set(‘posts_per_page’, 2);
}
}
return $query;
}
“`
记得在修改代码后保存functions.php文件,并确保你的网站运行正常,以避免任何潜在的问题。