Wordpress - 从自定义的mysite.com/page/aliashere链接获取GET ['alias']值

时间:2013-11-17 22:47:22

标签: wordpress rewrite permalinks

我是Wordpress的新手,我无法理解这一点。

我的网站中有一个页面只调用了PHP函数,如下所示:

[PHP] getdetails(); [/ PHP]

此功能位于插件文件夹子文件夹中的另一个文件中。我不确定该文件是如何被包含的,因为其他人做了那个部分,但对函数的调用有效。因此,例如,如果我访问下面的链接,一切正常,并显示数据库中的详细信息。

mysite.com/page/?alias=aliashere

我想要做的是下面的链接应该是一样的:

mysite.com/page/aliashere

我已经尝试过搜索很多并阅读wp_rewrite和永久链接以及什么不是,但是当我盲目地将代码示例放在我的函数文件夹中时似乎没有任何意义或工作。我没有尝试修改.htaccess文件,因为即使尝试也似乎太错了,无论它是否有效。

有人可以帮我解决这个问题,还是指点我正确的方向?如果这里有这样的帖子,我道歉。我尝试搜索,但找不到我需要的东西。也许我不知道究竟要搜索什么。

任何帮助将不胜感激!

谢谢


更新:

我能够让它像下面那样工作。有人可以检查并告诉我如何让这更好吗?这是诀窍,但我觉得它有一些不必要的细节。

function add_rewrite_rules($wp_rewrite) {
        add_rewrite_rule('page/([^/]*)/?', 'index.php/page/?alias=$1', 'top');
}
add_action('generate_rewrite_rules', 'add_rewrite_rules');


function query_vars($public_query_vars) {
    $public_query_vars[] = "alias";

    return $public_query_vars;
}
add_filter('query_vars', 'query_vars');

帮助来源:Adding custom rewrite rules to WordPress

1 个答案:

答案 0 :(得分:0)

<强>解决!

function add_rewrite_rules($wp_rewrite) {
        add_rewrite_rule('page/([^/]*)/?', 'index.php/page/?alias=$1', 'top');
}
add_action('generate_rewrite_rules', 'add_rewrite_rules');