domain.com/died-persons/2024/
whore“ dead-persons”是一个静态页面,其中包含目录(年份列表),而“ 2024”是一个虚拟目录(变量),我通过重写规则来管理。 无论我是否登录,这都可以正常工作。
当我尝试打开分页页面时:domain.com/died-persons/2024/page/2/
它只有在登录时才能起作用。当我登录时,找不到页面,我会遇到404错误。
在function.php我有这个:
function year_add_query_vars( $vars ) {
$vars[] = 'variable';
return $vars;
}
add_filter( 'query_vars', 'year_add_query_vars' );
add_rewrite_rule('died-persons/([0-9]{4})[/]page/([0-9]{1,})/?$', 'index.php?variable=$matches[1]&paged=$matches[2]', 'top');
INDindex.php我有以下条件来获取模板:
if ( preg_match('#died-persons/([0-9]{4})/page/([0-9]{1,})/?$#', $_SERVER['REQUEST_URI'])) {
get_template_part( 'template-parts/content-personlist' );
}
在content-personlist.php i生成我从外部数据库中获得的项目列表(人)。 如果有人可以帮助我解决这个问题,我会很高兴。预先感谢!
andreas
Flush重写规则
functions.php
add_action('init', function() {
flush_rewrite_rules();
之后将其审查
确定查询var被传递
});
function year_add_query_vars($vars) {
$vars[] = 'variable';
$vars[] = 'paged';
return $vars;
}
检查服务器缓存如果使用缓存插件或CloudFlare,请清除缓存。