我有一个问题似乎无法解决。
在WordPress安装中,我们有这些由URL结构(例如此
)触发的特殊配置文件页面/our-firm/profile/1/Some.Name
他们希望将名称附加到网址,以便网址更漂亮。这看起来像之前通过某种类型的插件管理之前我们得到它。现在最近的WordPress更新已损坏该插件,此功能不再有效。如果你不使用这个名字,我知道它至少有用,例如:
/我们-硬/简档/ 1 /
但那当然不是客户想要的。我试图用一些.htaccess重写来解决这个问题:
RewriteRule ^our-firm/profile/([0-9]+)/([^+]+)?$ our-firm/profile?id=$1&name=$2 [L,QSA]
但我没有随处可见。奇怪的是,它可能只是我看的东西,但如果我访问:
/our-firm/profile?id=1&profile_name=Some.Name
即使工作正常。
任何帮助都会很棒。在此先感谢!!
答案 0 :(得分:0)
您可以使用WP的add_rewrite_rule(http://codex.wordpress.org/Rewrite_API/add_rewrite_rule)
示例:
function wptuts_add_rewrite_rules() {
add_rewrite_rule('^path-1/([^/]*)?$','index.php?page_id=PAGE_ID&nameSurname=$matches[1]','top');
flush_rewrite_rules();
}
add_action( 'init', 'wptuts_add_rewrite_rules' );
function add_query_vars($aVars) {
$aVars[] = "nameSurname";
return $aVars;
}
add_filter('query_vars', 'add_query_vars');
并使用$ wp_query-> query_vars [“nameSurname”]获取页面中的参数;