add_filter('query_vars', 'add_query_vars');
function add_rewrite_rules($aRules) {
$aNewRules = array('societies/([^/]+)/?$' => 'index.php?pagename=societies&sid=$matches[1]');
$aRules = $aNewRules + $aRules;
return $aRules;
}
add_filter('rewrite_rules_array', 'add_rewrite_rules');
function add_query_vars($aVars) {
$aVars[] = "page_id"; // represents the name of the variable as shown in the URL
return $aVars;
}
add_filter('query_vars', 'add_query_vars');
所以我试图在重定向上使用自定义get变量。目前我有一个重定向,将您带到我的网站的一部分:例如zzz.net/dashboard?page_id=2278,但是我无法显示404页面,所以我添加了此代码。主要问题是我真的不知道自己在做什么。
我想要重定向的原因是?page_id = 2278等,所以我可以知道用户在进入仪表板页面之前的位置。
建议和指导可能比答案更有帮助。无论哪种方式,谢谢你花点时间看一下。
答案 0 :(得分:0)
当查询任何页面对象时,Wordpress核心会使用名为“page_id”的GET变量。
相反,如果您要将查询更改为“p = 2786”,则Wordpress会尝试搜索ID为2786的帖子。
通过在您的URL中包含该变量,Wordpress变得混乱并且正在尝试返回具有您的GET请求所定义的ID的页面。为了防止这些命名冲突,最好在全局范围内可访问的任何命名变量中添加前缀。
将GET变量的名称更改为其他名称(即:WJ_page_id),以确保您不会与任何主要的Wordpress变量冲突。