WordPress
add_menu_page ()
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
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.