我正在开发一些插件,需要在其中启用自定义URL重写。我想通过设置API来编辑自定义URL,所以基本上我做了验证和更新选项所需的一切。在注册自定义帖子类型时,重写URL选项已经在插件激活时传递,所以我需要在选项更新后以某种方式对其进行更改。存在的主要问题是,如何在验证重写URL的值是否已实际更改后刷新\\u rewrite\\u rules()。
我在init操作上注册自定义的post类型,我正在写的validate设置为admin\\u init操作中的register\\u设置。保存设置更改后,验证功能运行一次,然后请求重定向回选项页。
我尝试了下面的代码,但URL只有在第二次更新后才会更改(我必须单击“保存更改”按钮两次):
function my_plugin_name_validate_options($args) {
foreach($args as $key => $value) {
switch ($key) {
case \'rewrite_url\':
flush_rewrite_rules();
break;
case \'other\':
// code for other cases... too long to post here
break;
}
}
}
这段代码只是一个示例,在这里我刷新重写规则,它实际上没有被使用,但我像这样验证每个选项字段。问题是在验证/更新选项后,我应该在哪里运行flush\\u rewrite\\u rules()来更新更改?