Aggiungere un menu di gestione rapida in WordPress

Quando ci capita di dover andare di continuo tra il front-end e alcune pagine di amministrazione del sito fatto con WordPress, che si trovano magari in sottomenu di qualche menu principale, ecco che tornerebbe utile avere nella barra degli strumenti, quella che sta in cima alle varie pagine, i collegamenti che ci servono di più. Nella figura qui sotto vedete il menu Gestione rapida, con alcune voci di più comune utilizzo.

WordPress ci consente di farlo grazie alle sue API. Come al solito, sarà necessario aggiungere una funzione al file functions.php del tema attualmente in uso (metodo sconsigliato) oppure al nostro plugin personalizzato (metodo consigliato), dove raccogliamo tutte le modifiche che ci servono anche quando cambiamo tema.

Ecco la funzione:

/**
 * Add a custom menu to the WordPress toolbar.
 *
 * @param object WP_Admin_Bar $admin_bar Core class used to implement the Toolbar API.
 */
function add_items_to_wordpress_toolbar( WP_Admin_Bar $admin_bar ) {
	// Stop the function if the current user cannot manage options.
	if ( ! current_user_can( 'manage_options' ) ) {
		return;
	}

	// Create the root menu.
	$admin_bar->add_menu(
		array(
			'id'    => 'rapid-management',
			'title' => esc_html__( 'Rapid Management', 'text-domain' ),
			'href'  => admin_url( '#' ),
			'meta'  => array(
				'title'  => esc_html__( 'Rapid Management', 'text-domain' ),
				'target' => '_self',
				'class'  => 'rm-root-menu',
			),
		)
	);

	// Add the first menu item.
	$admin_bar->add_menu(
		array(
			'id'     => 'rapid-management-posts',
			'parent' => 'rapid-management',
			'title'  => esc_html__( 'Posts', 'text-domain' ),
			'href'   => admin_url( 'edit.php' ),
			'meta'   => array(
				'title'  => __( 'Edit posts', 'text-domain' ),
				'target' => '_self',
				'class'  => 'rm-posts',
			),
		)
	);

	// Add the second menu item.
	$admin_bar->add_menu(
		array(
			'id'     => 'rapid-management-pages',
			'parent' => 'rapid-management',
			'title'  => esc_html__( 'Pages', 'text-domain' ),
			'href'   => admin_url( 'edit.php?post_type=page' ),
			'meta'   => array(
				'title'  => esc_html__( 'Edit pages', 'text-domain' ),
				'target' => '_self',
				'class'  => 'rm-pages',
			),
		)
	);

	// Add other items here...
}

add_action( 'admin_bar_menu', 'add_items_to_wordpress_toolbar', 100 );

Potete aggiungere tutti i link che volete al posto della riga // Add other items here…. Vanno chiaramente adattate le righe, modificando ID, title, ecc.

Pubblicato da Aldo

Aldo Latino usa con entusiasmo KDE neon, è un appassionato di WordPress e si diletta a giocare a scacchi. Ha anche una lista dei desideri. Per altre informazioni visita la sua .

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *