Suche…


Einführung

Mit dieser Funktion fügen Sie ein Element in die Navigationsleiste des Verwaltungsbereichs ein.

Syntax

  • add_menu_page ($ page_title, $ menu_title, $ fähigkeit, $ menu_slug, $ function, $ icon_url, $ position)

Parameter

Parameter Einzelheiten
$ page_title (Zeichenfolge) Der Text, der in den Titel-Tags der Seite angezeigt werden soll, wenn das Menü ausgewählt wird.
$ menu_title (Zeichenfolge) Der für das Menü zu verwendende Text.
$ Fähigkeit (Zeichenfolge) Die Fähigkeit, die benötigt wird, damit dieses Menü dem Benutzer angezeigt wird.
$ menu_slug (Zeichenfolge) Der Slug-Name, durch den auf dieses Menü verwiesen wird (sollte für dieses Menü eindeutig sein)
$ Funktion (aufrufbar) (optional) Die Funktion, die aufgerufen werden soll, um den Inhalt dieser Seite auszugeben.
$ icon_url (Zeichenfolge) (optional) Die URL zu dem Symbol, das für dieses Menü verwendet werden soll.
$ position (int) (optional) Die Position in der Menüreihenfolge, in der diese angezeigt werden soll.

Bemerkungen

Hier ist eine Liste der Standardpositionen (für $ position)

  • 2 - Dashboard
  • 4 - Trennzeichen
  • 5 - Beiträge
  • 10 - Medien
  • 15 - Links
  • 20 - Seiten
  • 25 - Kommentare
  • 59 - Separator
  • 60 - Aussehen
  • 65 - Plugins
  • 70 - Benutzer
  • 75 - Werkzeuge
  • 80 - Einstellungen
  • 99 - Separator

Hinzufügen des Elements "Titelseitentitel" zur Navigationsleiste

Code

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

Ausgabe

Geben Sie hier die Bildbeschreibung ein

Erläuterung

Im Code haben wir eine Funktion namens add_the_theme_page und mit add_menu_page das Element zur Navigationsleiste hinzugefügt. Bitte überprüfen Sie den Parameter-Abschnitt auf dieser Seite, um zu erfahren, welche Argumente wir übergeben haben. Anschließend haben wir add_action , um die Funktion add_the_theme_page . Schließlich haben wir die Funktion page_content , um den Inhalt der Seite anzuzeigen.

OOP & wie man Skripte / Stile auf der Menüseite lädt

<?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();

In diesem Beispiel ist zu beachten, dass bei der Verwendung von add_menu_page() ein Hook zurückgegeben wird, mit dem unsere genaue Seite als Ziel ausgewählt werden kann und Styles und Scripts dort geladen werden können.
Ein häufiger Fehler ist das Enqueue ohne Targeting. Dadurch werden Skripte und Stile über /wp-admin .
Mit OOP können wir gemeinsame Variablen speichern, die zwischen internen Methoden verwendet werden.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow