flush_rewrite_rules函数是WordPress中的一个重要函数,它用于刷新(重置)URL重写规则,以使新的自定义URL规则生效。

使用flush_rewrite_rules函数时,需要注意以下几点:

1. 函数语法:flush_rewrite_rules( bool $hard );
- $hard参数是可选的,表示是否需要刷新固定链接规则。如果设置为true,则除了重置自定义规则外,还会重置固定链接规则。默认值为false。

2. 函数位置:flush_rewrite_rules函数可以在主题文件(如functions.php)或插件文件中使用。

3. 使用时机:通常,在创建自定义内容类型(Custom Post Type)或自定义分类法(Custom Taxonomy)后,使用flush_rewrite_rules函数来刷新URL重写规则,以便在前台正确访问自定义内容类型或分类法的页面。

4. 注意事项:
- flush_rewrite_rules函数会触发数据库操作,因此建议在使用后立即删除,以避免每次页面加载时都执行。
- 在更新WordPress的固定链接设置之后,通常也需要使用flush_rewrite_rules函数来刷新规则。

使用示例:

// 在functions.php中创建自定义内容类型后,刷新URL重写规则
function custom_post_type() {
// 创建自定义内容类型的代码
}
add_action( 'init', 'custom_post_type' );
flush_rewrite_rules();

// 在激活插件时,刷新URL重写规则
function activate_plugin_name() {
// 插件激活时的操作
flush_rewrite_rules();
}
register_activation_hook( __FILE__, 'activate_plugin_name' );

// 在更新固定链接设置后,刷新URL重写规则
function update_permalink() {
// 更新固定链接设置的代码
flush_rewrite_rules();
}
add_action( 'after_switch_theme', 'update_permalink' );

总结:
flush_rewrite_rules函数是刷新(重置)URL重写规则的一个重要函数,在创建自定义内容类型、自定义分类法或更新固定链接设置后,使用flush_rewrite_rules函数可以确保新的URL规则能够正确地应用于前台页面。