Spostare il Menu di Amministrazione

Sin dalla versione 2.0.3 di The Permalinks Cascade, spostare il menu di amministrazione del plugin in uno dei principali menu di amministrazione di WordPress è ottenibile aggiungendo appena tre linee di codice al file functions.php del tuo tema:

if ( is_admin() ) {
    // Moves the plugin's admin menu to the 'Tools' menu of WordPress. 
    add_filter( 'tpc_admin_page_parent_slug', function() { return 'tools.php'; } );
}

L'hook tpc_admin_page_parent_slug viene eseguito solo quando una pagina di amministrazione di The Permalinks Cascade viene creata.

Il codice esemplificativo appena mostrato produrrà il seguente risultato:

The WordPress' admin menus before and after the rearrangement.
I menu di amministrazione di WordPress prima e dopo la riorganizzazione.

Ciascuna Pagina di Amministrazione Accessibile da un Menu Distinto

Riorganizzare il menu di amministrazione è per lo più una questione di preferenza personale, ecco perché può capitare di non volere che tutte le pagine di amministrazione siano accessibili dallo stesso menu, ma piuttosto che ognuna di esse sia accessibile da uno specifico menu di WordPress. Per ottenere ciò, è necessario che la callback del filtro scelga il valore da restituire in relazione a quale pagina di amministrazione è in fase di creazione:

if ( is_admin() ) {
    /**
     * Moves the plugin's dashboard menu item to the main 
     * 'Dashboard' menu and the other plugin's menu items 
     * to the 'Settings' menu of WordPress.
     * 
     * @param string $parent_slug   The slug of the default 
     *                              parent admin page.
     * @param string $admin_page_id ID of the admin page that is
     *                              being created.
     * @return string
     */ 
    function my_rearrange_admin_menu( $parent_slug, $admin_page_id ) {
        if ( 'dashboard' == $admin_page_id ) {
            $parent_slug = 'index.php';
        }
        else {
            $parent_slug = 'options-general.php';
        }

        return $parent_slug;
    }
    add_filter( 'tpc_admin_page_parent_slug', 'my_rearrange_admin_menu', 10, 2 );
}
Last update: