Aggiunta di una pagina di amministrazione personalizzata


12

Voglio aggiungere una pagina di contenuto (un file Leggimi) nell'amministratore di WordPress, non riesco a trovare come farlo nel codice: qualcuno può indicarmi la giusta direzione? Sarà letteralmente solo una semplice pagina con pochi paragrafi di contenuto.

Risposte:


18

Sono necessari solo due passaggi:

  1. Aggancia l'azione admin_menu, registra la pagina con una funzione di richiamata 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(
        'Include Text',     // page title
        'Include Text',     // menu title
        'manage_options',   // capability
        'include-text',     // menu slug
        'wpse_91693_render' // callback function
    );
}
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'>Included from <code>$file</code></p>";

    print '</div>';
}

Ho aggiunto un esempio al mio plug-in Demo Demo del menu di amministrazione T5 per mostrare come farlo in un sottomenu e in stile OOP.


Ho appena provato questo e sembra fantastico, ma c'è un modo per avere questo nel sottomenu dal mio tipo di post personalizzato? al contrario di essere un menu per sé.
user319940

Ho provato "show_in_menu" nel tipo di post personalizzato, ma questo ha un menu che non mostra la pagina e non mostra "aggiungi nuovo" per il tipo di post personalizzato.
user319940

Risolto! per chiunque altro prova ad aggiungere_submenu_pagina e aggiungi semplicemente il parametro extra per la lumaca padre, come indicato qui: codex.wordpress.org/Function_Reference/add_submenu_page
user319940
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.