Ricerca…


introduzione

Questa funzione è di aggiungere un elemento nella barra di navigazione del pannello di amministrazione.

Sintassi

  • add_menu_page ($ page_title, $ menu_title, $ capability, $ menu_slug, $ function, $ icon_url, $ position)

Parametri

Parametro Dettagli
$ PAGE_TITLE (stringa) Il testo da visualizzare nei tag del titolo della pagina quando il menu è selezionato.
$ menu_title (stringa) Il testo da utilizzare per il menu.
$ capacità (stringa) La capacità richiesta per questo menu da visualizzare all'utente.
$ menu_slug (stringa) Il nome slug per fare riferimento a questo menu (dovrebbe essere univoco per questo menu).
$ funzione (richiamabile) (opzionale) La funzione da chiamare per emettere il contenuto per questa pagina.
$ icon_url (stringa) (facoltativo) L'URL dell'icona da utilizzare per questo menu.
$ posizione (int) (opzionale) La posizione nell'ordine del menu dovrebbe apparire questa.

Osservazioni

Ecco un elenco delle posizioni predefinite (per $ posizione)

  • 2 - Dashboard
  • 4 - Separatore
  • 5 - Post
  • 10 - Media
  • 15 - Collegamenti
  • 20 - Pagine
  • 25 - Commenti
  • 59 - Separatore
  • 60 - Aspetto
  • 65 - Plugin
  • 70 - Utenti
  • 75 - Strumenti
  • 80 - Impostazioni
  • 99 - Separatore

Aggiunta dell'elemento "Titolo pagina tema" alla barra di navigazione

Codice

function add_the_theme_page(){
    add_menu_page('Theme page title', 'Theme menu label', 'manage_options', 'theme-options', 'page_content', 'dashicons-book-alt');
}
add_action('admin_menu', 'add_the_theme_page');
function page_content(){
    echo '<div class="wrap"><h2>Testing</h2></div>';
}

Produzione

inserisci la descrizione dell'immagine qui

Spiegazione

Nel codice, abbiamo creato una funzione chiamata add_the_theme_page e abbiamo usato add_menu_page per aggiungere l'elemento alla barra di navigazione. Si prega di controllare la parte dei parametri in questa pagina per conoscere gli argomenti che abbiamo add_the_theme_page . Quindi abbiamo usato add_action per eseguire la nostra funzione add_the_theme_page . Infine, abbiamo creato la funzione page_content per visualizzare i contenuti nella pagina.

OOP e come caricare script / stili nella pagina del menu

<?php
/*
 *  Plugin Name: Custom Admin Menu
 */

class SO_WP_Menu {

    private $plugin_url;
    
    public function __construct() {
        $this->plugin_url = plugins_url( '/', __FILE__ );
        add_action( 'plugins_loaded', array( $this, 'init' ) );
    }

    public function init() {
        add_action( 'admin_menu', array( $this, 'add_menu' ) );
    }

    public function add_menu() {
        $hook = add_menu_page(
            'My Menu',                 // Title, html meta tag
            '<span style="color:#e57300;">My Menu</span>', // Menu title, hardcoded style
            'edit_pages',              // capability
            'dummy-page-slug',         // URL
            array( $this, 'content' ), // output
            null,                      // icon, uses default
            1                          // position, showing on top of all others
        );
        add_action( "admin_print_scripts-$hook", array( $this, 'scripts' ) );
        add_action( "admin_print_styles-$hook", array( $this, 'styles' ) );
    }

    public function content() {
        ?>
            <div id="icon-post" class="icon32"></div>
            <h2>Dummy Page</h2>
            <p> Lorem ipsum</p>
        <?php
    }

    # Printing directly, could be wp_enqueue_script
    public function scripts() {
        ?><script>alert('My page');</script><?php
    }

    # Enqueing from a CSS file on plugin directory
    public function styles() {
        wp_enqueue_style( 'my-menu', $this->plugin_url . 'my-menu.css' );
    }
}

new SO_WP_Menu();

Ciò che è importante notare in questo esempio è che, quando si utilizza add_menu_page() , restituisce un hook che può essere utilizzato per indirizzare la nostra pagina esatta e caricare qui Stili e script.
Un errore comune è accodare senza targeting e che riversa script e stili in tutto /wp-admin .
Usando OOP possiamo memorizzare variabili comuni da utilizzare tra i metodi interni.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow