Hinzufügen einer benutzerdefinierten Administrationsseite

12

Ich möchte dem WordPress-Administrator eine Seite mit Inhalten (eine Readme-Datei) hinzufügen. Ich kann im Codex anscheinend nicht finden, wie das geht. Kann mich jemand in die richtige Richtung weisen? Es wird buchstäblich nur eine einfache Seite mit ein paar Absätzen Inhalt sein.

user319940
quelle

Antworten:

18

Sie brauchen nur zwei Schritte:

  1. Schließen Sie sich der Aktion an admin_menuund registrieren Sie die Seite mit einer Rückruffunktion, um den Inhalt zu drucken.
  2. Laden Sie in Ihrer Rückruffunktion die Datei von plugin_dir_path( __FILE__ ) . "included.html".

Demo-Code:

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>';
}

Ich habe meinem Demo-Plugin T5 Admin Menu Demo ein Beispiel hinzugefügt, um zu zeigen, wie dies in einem Untermenü und in einem OOP-Stil gemacht wird.

Fuxia
quelle
Ich habe es gerade versucht und sehe fantastisch aus, aber gibt es eine Möglichkeit, dies im Untermenü meines benutzerdefinierten Beitragstyps zu haben? im Gegensatz dazu ist es ein Menü für sich.
user319940
Ich habe 'show_in_menu' im benutzerdefinierten Beitragstyp versucht, aber dies hat dann ein Menü, das die Seite nicht anzeigt und auch nicht "add new" für den benutzerdefinierten Beitragstyp anzeigt.
user319940
Gelöst! Für alle anderen versuchen Sie add_submenu_page und fügen Sie einfach den zusätzlichen Parameter für den übergeordneten Slug hinzu, wie hier beschrieben: codex.wordpress.org/Function_Reference/add_submenu_page
user319940