WordPress.org

Ready to get started?Download WordPress

Codex

Attention Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

it:API dei plugin/Riferimento azioni/admin init

Descrizione

admin_init è attivata prima di qualunque altra cosa quando un utente accede all'area di amministrazione. Non ha parametri, per cui può essere usata per il callback di una specifica funzione.

Utilizzo

<?php add_action( 'admin_init', 'nome_funzione' ); ?>

dove "nome_funzione" è il nome della funzione da chiamare.

Esempio: Controllo degli accessi

Consideriamo il seguente esempio:

function restrict_admin(){
	//se l'utente non è un amministratore, interrompe l'esecuzione di WordPress e stampa un messaggio
	if ( ! current_user_can( 'manage_options' ) ) {
		wp_die( __('Non sei autorizzato ad accedere a questa sezione del sito') );
	}
}
add_action( 'admin_init', 'restrict_admin', 1 );

In questo esempio viene bloccato l'accesso al pannello di amministrazione per gli utenti che non hanno il ruolo di amministratore.

Esempio: Controllo degli accessi con redirezione

Questo esempio funziona in modo simile al precedente, ma redirige all'home page automaticamente gli utenti che non hanno la capacità specificata.

function restrict_admin_with_redirect() {
	if ( ! current_user_can( 'manage_options' ) && $_SERVER['PHP_SELF'] != '/wp-admin/admin-ajax.php' ) {
		wp_redirect( site_url() ); exit;
	}
}

add_action( 'admin_init', 'restrict_admin_with_redirect' );

Esempio: Registrare nuove impostazioni

Un altro tipico impiego è quello di registrare una nuova impostazione che deve essere utilizzata da un plugin:

function myplugin_settings() {
    register_setting( 'myplugin', 'myplugin_setting_1', 'intval' );
    register_setting( 'myplugin', 'myplugin_setting_2', 'intval' );
}
add_action( 'admin_init', 'myplugin_settings' );