自定义固定链接的页面ID重写规则

时间:2011-10-23 作者:neworld

我正在使用WP 3.2.1。

我试着做永久链接,比如:/en/1/some string。结构为:%lang%/%pageID%/%一些随机字符串%

因此,我添加了一条重写规则:

function  nw_lang_addRewrite($aRules) {
    $_aRules["(en|lt|ru)/(\\d+)(/.*)?$"] = \'index.php?p=$matches[2]&lang=$matches[1]\';

    $aRules = $_aRules + $aRules;
    return $aRules;
}
添加lang标记:

function nw_lang_addQuery($vars) {
    $aVars[] = "lang";
    return $aVars;
}
Buf如果用户转到http://www.somesite.com/en/17/2-Pork.html 他没有看到ID=17的页面。

$wp\\u查询为:

WP_Query Object (
    [query_vars] => Array
        (
            [lang] => en
            [error] => 
            [m] => 0
            [p] => 0

            .....

            [static] => 
            [pagename] => 
            [page_id] => 0
            [paged] => 0

       ....

    [is_single] => 
    [is_preview] => 
    [is_page] => 
    [is_paged] => 

    ...

    [queried_object] => 
    [queried_object_id] => 0
)

1 个回复
最合适的回答,由SO网友:neworld 整理而成

我发现了一个问题。我需要将函数参数名称更改为“$aVars”。

function nw_lang_addQuery($avars)

结束

相关推荐

Can't get permalinks working!

我无法让WordPress pretty permalinks在我的Fedora LAMP服务器上工作。如果我设置它们并单击页面/帖子链接,我会得到一个“哎呀!此链接似乎已断开。“”这个。htaccess文件可写且正在更新,mod\\u重写模块似乎已加载到我的httpd中。conf(见下文)我的apache日志中的错误只是说“找不到文档”</我已经筋疲力尽了!这是httpd.conf:### Section 1: Global Environment # start the rew