如何使用wordpress中的重写规则更改URL

时间:2017-09-06 13:00:09

标签: php wordpress .htaccess mod-rewrite

我有一个名为aircraft-gallery的页面,我在数据库中显示此页面中的数据,工作正常。

我有另一个名为aircraft-gallery-class的页面我在?id变量中发送数据并使用GET["id"]接收该数据,而不是将此数据发送到数据库以获得结果它也正常工作

这是我在WordPress函数中的控制器获取id

public function view_air_crafts_by_class(){
        //var_dump(get_query_var('id')); //working fine
        //die();
        return $this->air_craft_model->get_air_craft_by_class($_GET['id']);
    }

现在我的问题很简单,我有这个网址

http://example.com/aircraft-gallery/aircraft-gallery-class/?id=VIP Airliner

我想要这个网址

http://example.com/aircraft-gallery/VIP-Airliner

我在我的functions.php文件中使用这些代码行来转换网址,但它不起作用,我不知道为什么

add_filter( 'query_vars', 'wpa5413_query_vars' );
function wpa5413_query_vars( $query_vars )
{
    $query_vars[] = 'id';
    return $query_vars;
}

add_action( 'init', 'wpa5413_init' );
function wpa5413_init()
{
    add_rewrite_rule(
        'aircraft-gallery-class/([^/]+)/?',
        'index.php?pagename=aircraft-gallery-class&id=$matches[1]',
        'top' );
}

我已经尝试了社区建议的许多代码,但它不起作用。

非常感谢任何帮助。我每次更新functions.php文件时都会点击保存永久链接。感谢

1 个答案:

答案 0 :(得分:0)

尝试以下代码

0.to(15).toArray.map(f)
^^^^^^^^
Sequence
^^^^^^^^^^^^^^^
     temp Array
^^^^^^^^^^^^^^^^^^^^^^^
                  Array