使用GET变量重写Wordpress URL

时间:2014-11-21 02:33:02

标签: wordpress .htaccess rewrite

我试图搜索解决方案但无法找到解决方案。在我的wordpress网站上,我有一个自定义页面,可以从数据库中检索数据。现在我有了这个网址:

http://www.domain.com/party/?title=nameoftheparty&id=4

我需要将其重写为:

http://www.domain.com/party/nameoftheparty/4/

我尝试在.htaccess中添加重写网址,但我得到了404页面。

我需要做什么?

1 个答案:

答案 0 :(得分:2)

将两个代码段添加到functions.php

1.我们告诉WordPress /party/nameoftheparty/4/应该内部映射到/party/?title=nameoftheparty&id=4

add_action( 'init', 'so27053217_init' );
function so27053217_init()
{
    add_rewrite_rule(
        '^party/([^/]*)/([^/]*)/?',
        'index.php?pagename=party&title=$matches[1]&id=$matches[2]',
        'top' );    
}

这是可选的,仅在您需要在聚会页面中使用titleid变量时才需要。可以使用get_query_var("title")

访问它们
add_filter( 'query_vars', 'so27053217_query_vars' );
function so27053217_query_vars( $query_vars )
{
    $query_vars[] = 'title';
    $query_vars[] = 'id';
    return $query_vars;
}

请记住重新保存永久链接以刷新重写规则。