WordPress最后一个分页404的解决

在做公司网站时,选择的wordpress程序,用主题公园的主题,修改的时候,无意中发现分类里分页最后一个分页打不开,提示404错误。其他分页正常,好奇怪哦!

从百度上搜索发现,网上有以为朋友也有过类似的情况。网上朋友分析重写的问题,改了也没解决。无意中发现了一篇文章,试过之后问题解决了!感觉这个问题是主题都有的~十分感谢苏说博客!

先转载过来了~直接说方法了。

打开目录下wp-includes\class-wp.php 这个文件,要找到function handle_404()这个函数,原代码如下:

function handle_404() {

global $wp_query;
// If we’ve already issued a 404, bail.
if ( is_404() )
return;
// Never 404 for the admin, robots, or if we found posts.
if ( is_admin() || is_robots() || $wp_query->posts ) {
status_header( 200 );
return;
}
// We will 404 for paged queries, as no posts were found.
if ( ! is_paged() ) {
// Don’t 404 for these queries if they matched an object.
if ( ( is_tag() || is_category() || is_tax() || is_author() || is_post_type_archive() ) && $wp_query->get_queried_object() ) {
status_header( 200 );
return;
}
// Don’t 404 for these queries either.
if ( is_home() || is_search() ) {
status_header( 200 );
return;
}
}
// Guess it’s time to 404.
$wp_query->set_404();
status_header( 404 );
nocache_headers();
}
将其替换为如下代码并删除 && !is_paged()  注意备份

function handle_404() {

global $wp_query;
if ( !is_admin() && ( 0 == count( $wp_query->posts ) ) && !is_404() && !is_robots() && !is_search() && !is_home() ) {
// Don’t 404 for these queries if they matched an object.
if ( ( is_tag() || is_category() || is_tax() || is_author() ) && $wp_query->get_queried_object() && !is_paged() ) {
if ( !is_404() )
status_header( 200 );
return;
}
$wp_query->set_404();
status_header( 404 );
nocache_headers();
} elseif ( !is_404() ) {
status_header( 200 );
}
}
问题解决了~

Leave a comment