在使用add_rewrite_rule()时,需要确保以下几点:
1.规则必须与所需URL匹配,并使用正确的正则表达式语法。
2.必须指定要使用的处理函数,并确保该函数在有效位置上定义。
3.必须使用正确的优先级和参数。
例如,以下是一个有效的add_rewrite_rule()示例,它将请求页面中的URL参数添加到查询中:
add_rewrite_rule(
'^mypage/([^/]*)/?',
'index.php?page_id=4&my_param=$matches[1]',
'top'
);
在上面的示例中,正则表达式“^mypage/([^/]*)/?”将匹配“mypage”后面跟着任何非斜杠字符的URL,并将该字符串作为第一个匹配项($matches[1])传递给查询。指定“top”优先级将确保规则具有较高的优先级,并且将始终首先匹配。
如果出现add_rewrite_rule()处理问题,请确保遵循上述步骤,并尝试在规则和处理函数之间添加额外的调试输出。较小规则和更具体的正则表达式也可能有助于解决问题。