wordpress重定向无法正常工作

时间:2012-10-11 19:18:30

标签: php wordpress custom-url

     
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等,所以我可以知道用户在进入仪表板页面之前的位置。

建议和指导可能比答案更有帮助。无论哪种方式,谢谢你花点时间看一下。

1 个答案:

答案 0 :(得分:0)

当查询任何页面对象时,Wordpress核心会使用名为“page_id”的GET变量。

相反,如果您要将查询更改为“p = 2786”,则Wordpress会尝试搜索ID为2786的帖子。

通过在您的URL中包含该变量,Wordpress变得混乱并且正在尝试返回具有您的GET请求所定义的ID的页面。为了防止这些命名冲突,最好在全局范围内可访问的任何命名变量中添加前缀。

将GET变量的名称更改为其他名称(即:WJ_page_id),以确保您不会与任何主要的Wordpress变量冲突。