我有一个WordPress页面,可以通过/住宿/访问。
我想做的是使用URL传入一个参数,即转到/accountment/value1/将加载与/accountment/相同的页面,但仍在浏览器地址栏中显示/accountment/value1/。
我想另一种说法是,我需要能够访问/住宿/在URL末尾添加任何我喜欢的内容,同时保留我在浏览器窗口中输入的URL。
然后,我在页面模板中得到了一些代码,这些代码根据传入页面的值执行不同的操作。
虽然我可以使用查询字符串,但我希望避免这样做,以便保留“漂亮的URL”。
非常感谢您的帮助/建议。
SO网友:gbuckingham89
Solved it!
// Register the variables that will be used as parameters on the url
function add_my_var($public_query_vars) {
$public_query_vars[] = \'extra_slug\';
return $public_query_vars;
}
add_filter(\'query_vars\', \'add_my_var\');
// Build the rewrite rules, for the extra parameter
function do_rewrite() {
add_rewrite_rule(\'(accommodation)/[/]?([^/]*)$\', \'index.php?pagename=accommodation&extra_slug=$matches[2]\',\'top\');
}
add_action(\'init\', \'do_rewrite\');
// The parameter is now accessible
get_query_var(\'extra_slug\')