在日常开发中,注册了自定义的文章类型,但是使用的还是默认的category分类,我们使用固定链接格式 %category%/%postname%
,翻页格式 category-name/page/2
就会出现404的错误。WordPress 会将 page 默认为post类型的文章名 , 将会返回404错误页面。
下面我们给出修正代码:
function remove_page_from_query_string($query_string)
{
if (isset($query_string['name']) && $query_string['name'] == 'page' && isset($query_string['page'])) {
unset($query_string['name']);
$pagePart = explode('/', $query_string['page']);
$query_string['paged'] = end($pagePart);
}
return $query_string;
}
add_filter('request', 'remove_page_from_query_string');
function fix_category_pagination($qs)
{
if (isset($qs['category_name']) && isset($qs['paged'])) {
$qs['post_type'] = get_post_types(array(
'public' => true,
'_builtin' => false
));
array_push($qs['post_type'],'post');
}
return $qs;
}
add_filter('request', 'fix_category_pagination');