今天在折腾 WordPress 站点的搜索结果页的时候,发现不管搜索什么关键词出来的结果页都没有页码,不管是只有 1 条记录还是几百条记录都是直接全部显示,没有任何页码出现。登录后台 >> 设置 >> 阅读中设置显示多少篇文章中也是正常的,正在一筹莫展的时候想起了以前设置过 WordPress 分类页面一页显示 16 条记录,而搜索结果页显示全部结果,具体代码如下:
//WordPress 根据页面类型指定每页显示的文章数
function custom_posts_per_page($query){
if(is_search()){
$query->set('posts_per_page',-1);//搜索页显示所有匹配的文章,不分页
}
if(is_archive()){
$query->set('posts_per_page',16);//archive 每页显示 16 篇文章
}
}
add_action('pre_get_posts','custom_posts_per_page');
既然知道了原因,那么只需要将上述的-1 改为其他数字,如 16 即可,或者直接删除关于搜索结果页的代码即可:
if(is_search()){
$query->set('posts_per_page',-1);//搜索页显示所有匹配的文章,不分页
}
如果你也遇到 WordPress 站点的搜索结果页没有页码的话,建议看看是否也是使用了以上代码?如果是就修改或删除即可;如果不是那就只能具体问题具体分析了。
专业提供WordPress主题安装、深度汉化、加速优化等各类网站建设服务,详询在线客服!