Você pode usar a API de configurações para registrar uma tela de configurações para o seu plug-in, mas para poder configurar esse plug-in no nível da rede para uma instalação em vários locais, são necessárias mais algumas etapas.
- o menu precisa ser registrado em
network_admin_menu
, em vez deadmin_menu
- o menu precisa ser adicionado usando
add_submenu_page('settings.php', ...)
a função de “saída” da página de configurações não pode ser usada
settings_fields
, em vez disso:- defina a ação do formulário para
settings.php
- adicione um campo wp nonce com uma ação de
siteoptions
- adicione algum tipo de identificador para que você possa reconhecer postagens em sua página. Por exemplo, use uma ação de
settings.php?settings=mycustomsettings
se
$_GET['updated']
estiver definido, gera uma notificação:if ( isset( $_GET['updated'] ) ) {
?><div id="message" class="updated notice is-dismissible"><p><?php _e( 'Options saved.' ) ?></p></div><?php
}
- defina a ação do formulário para
adicione um gancho de ação para
update_wpmu_options
. Nele, você pode analisar os$_POST
dados e atualizar suas opções usando eupdate_site_option
, em seguida, usarwp_redirect
para redirecionar parasettings.php?updated=true&page=mycustomsettings
if (isset($_GET['settings']) && $_GET['settings'] == mycustomsettings) {
$options = $_POST[mycustomsettings];
$options = $this->sanitizeOptions($options);
update_site_option(mycustomsettings, $options);
wp_redirect(network_admin_url('settings.php?updated=true&page=' . mycustomsettings));
exit();
}Atualizar
get_option
chamadas paraget_site_option
O resto é semelhante – ligue add_settings_field
, register_setting
etc.