所有分类
  • 所有分类

  • Warning: Attempt to read property "name" on null in /www/wwwroot/loudigu.com/wp-content/themes/modown/header.php on line 289

wordpress列表分页显示404页面的解决办法

今天客户wordpress网站出现列表分页显示404页面的情况,列表页正常,翻页的时候出现404的错误页面。

0200504135135.jpg

遇到这个问题需要修改wordpress文件wp-includes\class-wp.php ,

要找到对应函数function handle_404()

	publicfunctionhandle_404(){
		global$wp_query;		/**
		*Filterswhethertoshort-circuitdefaultheaderstatushandling.
		*
		*Returninganon-falsevaluefromthefilterwillshort-circuitthehandling
		*andreturnearly.
		*
		*@since4.5.0
		*
		*@parambool$preemptWhethertoshort-circuitdefaultheaderstatushandling.Defaultfalse.
		*@paramWP_Query$wp_queryWordPressQueryobject.
		*/
		if(false!==apply_filters('pre_handle_404',false,$wp_query)){
			return;
		}		//Ifwe'vealreadyissueda404,bail.
		if(is_404())
			return;		//Never404fortheadmin,robots,orifwefoundposts.
		if(is_admin()||is_robots()||$wp_query->posts){			$success=true;
			if(is_singular()){
				$p=false;				if($wp_query->postinstanceofWP_Post){
					$p=clone$wp_query->post;
				}				//OnlysetX-Pingbackforsinglepoststhatallowpings.
				if($p&&pings_open($p)){
					@header('X-Pingback:'.get_bloginfo('pingback_url','display'));
				}				//checkforpagedcontentthatexceedsthemaxnumberofpages
				$next='<!--nextpage-->';
				if($p&&false!==strpos($p->post_content,$next)&&!empty($this->query_vars['page'])){
					$page=trim($this->query_vars['page'],'/');
					$success=(int)$page<=(substr_count($p->post_content,$next)+1);
				}
			}			if($success){
				status_header(200);
				return;
			}
		}		//Wewill404forpagedqueries,asnopostswerefound.
		if(!is_paged()){			//Don't404forauthorswithoutpostsaslongastheymatchedanauthoronthissite.
			$author=get_query_var('author');
			if(is_author()&&is_numeric($author)&&$author>0&&is_user_member_of_blog($author)){
				status_header(200);
				return;
			}			//Don't404forthesequeriesiftheymatchedanobject.
			if((is_tag()||is_category()||is_tax()||is_post_type_archive())&&get_queried_object()){
				status_header(200);
				return;
			}			//Don't404forthesequerieseither.
			if(is_home()||is_search()||is_feed()){
				status_header(200);
				return;
			}
		}		//Guessit'stimeto404.
		$wp_query->set_404();
		status_header(404);
		nocache_headers();
	}

修改为如下代码,就可以解决这个问题。

functionhandle_404(){
global$wp_query;
if(!is_admin()&&(0==count($wp_query->posts))&&!is_404()&&!is_robots()&&!is_search()&&!is_home()){
//Don’t404forthesequeriesiftheymatchedanobject.
if((is_tag()||is_category()||is_tax()||is_author())&&$wp_query->get_queried_object()){
if(!is_404())
status_header(200);
return;
}
$wp_query->set_404();
status_header(404);
nocache_headers();
}elseif(!is_404()){
status_header(200);
}
}

原文链接:https://loudigu.com/wordpress%e5%88%97%e8%a1%a8%e5%88%86%e9%a1%b5%e6%98%be%e7%a4%ba404%e9%a1%b5%e9%9d%a2%e7%9a%84%e8%a7%a3%e5%86%b3%e5%8a%9e%e6%b3%95.html,转载请注明出处~~~
0
广告位招租
本站愿景:打造一个更专业的更完善的WP华语交流互助平台,助力WP华语生态蓬勃发展
显示验证码
没有账号?注册  忘记密码?