Aggiungere una pagina personalizzata nell'admin

21 mar 2013, 01:55:10
Visualizzazioni: 46.4K
Voti: 20

Voglio aggiungere una pagina di contenuto (un file readme) nell'area amministrativa di WordPress, non riesco a trovare come fare questo nel codex - qualcuno può indicarmi la direzione giusta? Sarà letteralmente solo una semplice pagina con alcuni paragrafi di contenuto.

0
Tutte le risposte alla domanda 1
3
29

Hai bisogno di solo due passaggi:

  1. Agganciati all'azione admin_menu, registra la pagina con una funzione di callback per stampare il contenuto.
  2. Nella tua funzione di callback carica il file da plugin_dir_path( __FILE__ ) . "included.html".

Codice demo:

add_action( 'admin_menu', 'wpse_91693_register' );

function wpse_91693_register()
{
    add_menu_page(
        'Includi Testo',     // titolo della pagina
        'Includi Testo',     // titolo del menu
        'manage_options',    // capacità richiesta
        'include-text',      // slug del menu
        'wpse_91693_render'  // funzione di callback
    );
}
function wpse_91693_render()
{
    global $title;

    print '<div class="wrap">';
    print "<h1>$title</h1>";

    $file = plugin_dir_path( __FILE__ ) . "included.html";

    if ( file_exists( $file ) )
        require $file;

    print "<p class='description'>Incluso da <code>$file</code></p>";

    print '</div>';
}

Ho aggiunto un esempio al mio plugin demo T5 Admin Menu Demo per mostrare come fare questo in un sottomenu e in stile OOP.

21 mar 2013 02:16:55
Commenti

Ho appena provato questo e sembra fantastico, ma c'è un modo per averlo nel sottomenu del mio custom post type? Invece che come menu a sé stante.

user319940 user319940
21 mar 2013 15:07:46

Ho provato 'show_in_menu' nel custom post type ma poi mostra un menu che non visualizza la pagina e non mostra neanche "aggiungi nuovo" per il custom post type.

user319940 user319940
21 mar 2013 15:20:11

Risolto! Per chiunque altro provi add_submenu_page e aggiunga semplicemente il parametro extra per lo slug del genitore, come descritto qui: http://codex.wordpress.org/Function_Reference/add_submenu_page

user319940 user319940
21 mar 2013 15:27:16