在WordPress中,mod_rewrite_rules是一个非常重要的钩子,它允许您修改WordPress的重写规则。
WordPress使用.htaccess文件来处理URL重写。mod_rewrite_rules钩子允许您在生成.htaccess文件时动态添加自定义重写规则。此钩子只能在WordPress初始化阶段使用。
使用mod_rewrite_rules钩子,您可以执行以下操作:
1. 添加自定义重写规则:
您可以使用add_rewrite_rule()函数在.htaccess文件中添加自定义重写规则。例如,如果您希望将URL /custom-page重写到index.php?custom-page上,可以使用以下代码:
function custom_rewrite_rules() {
add_rewrite_rule('custom-page/?$', 'index.php?custom-page', 'top');
}
add_action('mod_rewrite_rules', 'custom_rewrite_rules');
在上述代码中,我们使用add_rewrite_rule()函数将自定义规则添加到.htaccess文件中。第一个参数是要匹配的URL模式,第二个参数是要重写到的目标URL,第三个参数是规则的优先级。
2. 刷新重写规则:
当您添加或删除重写规则时,需要刷新重写规则才能使其生效。可以使用flush_rewrite_rules()函数在添加/删除重写规则之后刷新规则。例如,您可以在主题的functions.php文件中调用该函数:
function custom_rewrite_rules() {
add_rewrite_rule('custom-page/?$', 'index.php?custom-page', 'top');
flush_rewrite_rules();
}
add_action('mod_rewrite_rules', 'custom_rewrite_rules');
在上述代码中,我们在添加自定义规则之后立即调用了flush_rewrite_rules()函数。
0 个评论