什么是使用add_rewrite_rule删除(问号)的正确方法?
问题描述:
我有一个名为“人”与发生在一个叫做变量名的自定义模板页:什么是使用add_rewrite_rule删除(问号)的正确方法?
example.com/people/?name=FirstLast
我想是这样的:
example.com/people/FristLast
我知道我需要使用add_rewrite_rule和add_rewrite_tag电话,但我不知道如何实现我想要的结果。我试过,但我得到一个PHP的错误:
add_rewrite_rule('^people/([^/]*)/?','index.php?name=$matches[1]','top');
add_rewrite_tag('%name%','([^&]+)');
我得到的错误是:“致命错误:调用一个成员函数add_rule()一个非对象”
我想我在正确的道路上。我对WP非常了解,但这是我第一次尝试重写规则。
谢谢!
答
尝试
add_action('init', 'addMyRules');
function addMyRules(){
add_rewrite_rule('^people/([^/]*)/?','index.php?name=$matches[1]','top');
add_rewrite_tag('%name%','([^&]+)');
}
答
你应该叫add_rewrite_rule
在行动挂钩如下:
add_action('init', 'wpa8715_intit');
function wpa8715_intit() {
add_rewrite_rule('^people/([^/]*)/?','index.php?name=$matches[1]','top');
add_rewrite_tag('%name%','([^&]+)');
}