这个flush_rewrite_rules
该函数在某些上下文中是可靠的,例如主题或基于挂钩的插件,但我不确定它是否适用于mu-plugin
我的陈述基于以下事实,即WordPress是以这种方式初始化的:
呼叫wp-settings.php
文件调用do_action( \'muplugins_loaded\' );
钩子,这里你的插件初始化了调用$GLOBALS[\'wp_rewrite\'] = new WP_Rewrite();
这里是方法flush_rules
已初始化并从现在起可用do_action( \'setup_theme\' );
我把所有的钱都押在这个钩子上flush_rewrite_rules
将起作用
Solution?
就个人而言,我认为删除rewrite\\u rules选项是可靠的。
delete_option(\'rewrite_rules\');
或
update_option(\'rewrite_rules\', \'\' );
每当WordPress缺少
rewrite_rules
它会把它们建回来,这也是
flush_rules
方法执行。
WordPress执行流中存在这样的功能不可用的点。即使在WordPress的核心,我也发现了这句话
// Rewrite rules can\'t be flushed during switch to blog.
delete_option( \'rewrite_rules\' );
唯一的问题是性能,不要对每个请求都这样做,因为构建它们是一个困难的过程。正如我所见,你只想在第一次通话时冲洗它们,这是一件好事。
P、 S:我不太喜欢自我推销,但我也写过article 关于这件事很久以前了,我认为它仍然站得住脚