在WordPress中,我有以下几页:
false
12345 是表示阵型ID的动态值,实际上是一个查询字符串。我添加了一个重写规则:
Formation: http://mysite.dev/formation/12345
Messages: http://mysite.dev/formation/12345/messages
Report: http://mysite.dev/formation/12345/report
当我访问页面http://mysite.dev/formation/12345时,这可以正常工作,我可以使用function formation_add_rewrite() {
add_rewrite_tag( '%frm_id%', '([^&]+)' );
add_rewrite_rule( 'formation/([^&]+)/?', 'index.php?pagename=formation&frm_id=$matches[1]', 'top' );
}
add_action( 'init', __NAMESPACE__ . '\\formation_add_rewrite' );
检索查询var propery,但它不适用于URL中包含id后面的内容。
这只是我的重写规则有问题,还是根本无法工作?
谢谢!
答案 0 :(得分:1)
你只需要学习一下php正则表达式。这将是一个可行的工作(我还没有测试过它)
add_rewrite_rule( '^formation/([0-9]*)/([a-z]*)', 'index.php?pagename=formation&frm_id=$matches[1]&SOMETHING=$matches[2]', 'top' );
注意我已将第二个条件与SOMETHING=$matches[2]
基本上,运营商在这里有所不同:
^
意味着完全匹配
([0-9]*)
=匹配条件,匹配任意长度的数字
([a-z]*)
=匹配条件,匹配任意长度的单词