首页 > 解决方案 > flush_rewrite_rules() 不适用于 update_option_{$option}

问题描述

有人可以向我解释为什么冲洗在我的情况下不起作用。我添加了一个具有默认值的自定义设置页面,但是当我点击保存更改时它不起作用。我使用admin_init钩子来注册这样的设置。

register_setting(
                'my_general', 
                'my_general_settings', 
                array(
                    'default'   => 'hello',
                ) 
            );

我添加了部分和字段,并且这些工作。现在我遇到了这个问题。如果我更新或保存设置,则update_option_my_general_settings不起作用。它不是在刷新规则。这是我在这个钩子中使用的函数代码。

if ( $old_value === 'hello' || $value === 'hello' ) {
                // Flush rules
                flush_rewrite_rules();
            }

请记住,我将这些参数提供给函数$old_value, $value, $option

在我手动刷新设置内的永久链接后,过滤器mod_rewrite_rules将数据添加到。.htaccessflush_rewrite_rules()似乎并没有自动刷新永久链接。

我想要的是当用户更新设置时,应该填充flush_rewrite_rules。

我非常感谢您能提供的任何帮助。

标签: wordpressmod-rewrite

解决方案


推荐阅读