我有一个名为“People”的页面,其中包含一个自定义模板,该模板包含一个名为name的变量:
实例com/人/?名称=FirstLast
我想要的是:
实例com/人/FristLast
我知道我需要使用add\\u rewrite\\u规则和add\\u rewrite\\u标记调用,但我不确定如何实现我想要的结果。我尝试过这个方法,但遇到了一个php错误:
add_rewrite_rule(\'^people/([^/]*)/?\',\'index.php?name=$matches[1]\',\'top\');
add_rewrite_tag(\'%name%\',\'([^&]+)\');
我得到的错误是:“致命错误:对非对象调用成员函数add\\u rule()”
我想我走的路是对的。我对WP非常了解,但这是我第一次尝试重写规则。
谢谢
-----编辑------我已经更新了代码。我不再出错,但什么也没发生
function rewrite_rule_people() {
global $wp_rewrite;
add_rewrite_tag(\'%name%\',\'([^/]*)\');
add_rewrite_rule(\'^people/([^/]*)\',\'index.php?page_id=42602&name=$matches[1]\',\'top\');
$wp_rewrite->flush_rules();
}
add_action( \'init\', \'rewrite_rule_people\' );
去/人/?name=JohnSmith不会将url更改为/people/JohnSmith