我有以下定义来添加查询变量:
add_filter( \'query_vars\', \'add_reg_query_vars\', 10, 1 );
function add_reg_query_vars($vars)
{
$vars[] = \'seminar\'; //
return $vars;
}
此定义用于添加重写规则:
add_rewrite_rule(
\'^seminare/([a-zA-Z0-9]+?)/([^/]*)/?$\',
\'index.php?pagename=seminare/$matches[1]&seminar=$matches[2]\',
\'top\'
);
像这样,它工作得很好,像/seminare/mysite/123/这样的链接是匹配的,但因为我在同一页上有“seminare”一个分页,我需要排除“page”一词,像seminare/page/2这样的链接与上面的正则表达式不匹配。
不能让它工作,老实说,我对regex的使用不是很有经验。尝试了几个表达式,当我使用例如:
^seminare/(?!page).+?/([^/]*)/?$
or
^seminare/(?!page)([a-zA-Z0-9]+?)/([^/]*)/?$
它在注册测试仪中匹配,但在wordpress中不起作用(使用monkeyman重写分析器测试)。像seminare/page/2这样的链接不再匹配了,这很好,但是像seminare/mysite/123这样的链接也不再匹配了。
如果能在这方面有所帮助,我们都会很高兴的!!!!