我有一个叫CPT的presskit
, 我需要添加一个名为welcome_box
. 我现在有这个代码:
function my_new_url_querystring(){
add_rewrite_tag( \'%welcome_box%\',\'([^&]+)\' );
add_rewrite_rule(
\'presskit/(.?.+?)/box/(.+)/?$\',
\'index.php?post_type=presskit&pagename=$matches[1]&welcome_box=$matches[2]\',
\'top\'
);
}
add_action( \'init\', \'my_new_url_querystring\' );
当我试图打开
mysite.com/presskit/presskit-name/box/john-doe
, 它回到
mysite.com/presskit/presskit-name/
.
如果我打开mysite.com/presskit/presskit-name/?welcome_box=john-doe
, 它起作用了,我可以得到查询变量。
我做错了什么?我不擅长正则表达式,所以可能存在错误。
欢迎提供任何提示!
更新
多亏了@Milo的答案,我才可以让它工作。以下是工作代码:
function my_new_url_querystring(){
add_rewrite_tag( \'%welcome_box%\',\'([^&]+)\' );
add_rewrite_rule(
\'presskit/([^/]+)/message-to/(.*)?/?$\',
\'index.php?presskit=$matches[1]&welcome_box=$matches[2]\',
\'top\'
);
}
add_action( \'init\', \'my_new_url_querystring\' );