如果您需要为单个页面编写一条重写规则,那么这段代码应该可以满足您的需要。您需要将该代码段中的XXXX替换为您的帖子IDsignup
页
function signup_pg_rewrite_rule() {
add_rewrite_rule(\'^signup/([^/]*)/?\',\'index.php?page_id=XXXX&country_code=$matches[1]\',\'top\');
}
add_action(\'init\', \'signup_pg_rewrite_rule\', 10, 0);
你把这个放进去之后,
you\'ll need to flush that rewrite rule array 存储在数据库中。最简单的方法是登录到WP,然后单击底部的“设置”>“永久链接”,然后单击“保存更改”按钮。这将刷新该数组并为您重写。无论何时更改重写规则数组,
you will always need to flush it.
此外,正如您避免的那样,您需要在特定页面上设置一个规范标记,否则您将被标记为重复内容。如果您使用的是Yoast,那么它中有一个规范字段,很容易使用。如果你想总是附加一个国家代码,那么你需要确定一个URL。不可能只是/signup/
因为那总是301或302到\'/signup/country/
. (假设我正确理解你)
至于在用户出现时自动重定向页面,您需要编写一些逻辑来检查URL是否已附加。如果没有,那么您可以将用户移动到您想要的页面。有几种方法可以做到这一点,但可能只是使用parse_url
或$_SERVER
会把你带到那里。如果你需要一些帮助,只需在下面留言。
if(url_has_not_been_appended){
// Get the Country Code you want
// Then get your current URL
// Then let\'s redirect the user
wp_redirect( $url.\'country_code/\', 301 );
exit;
}
希望有帮助!!