Estoy usando la API de configuración para permitir que el usuario alterne la opción has_archive
en algunos tipos de publicaciones personalizadas. Cuando el usuario activa o desactiva los archivos, quiero eliminar las reglas de reescritura. Si yo mismo hubiera escrito la función de guardado, podría llamar a flush_rewrite_rules()
y terminar con ella, pero la API de configuración se encarga de guardarlo. ¿Hay algún gancho en algún lugar que pueda usar?
Solución elegida @Stephen Harris
add_action('admin_init', 'my_plugin_register_settings');
function my_plugin_register_settings() {
if (delete_transient('my_plugin_flush_rules')) flush_rewrite_rules();
register_setting('my_plugin', 'my_plugin_settings', 'my_plugin_sanitize');
// add_settings_section(), add_settings_field(),...
}
function my_plugin_sanitize($input) {
set_transient('my_plugin_flush_rules');
return $input;
}