在日常开发中,注册了自定义的文章类型,但是使用的还是默认的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');