WordPress – Plugin-Menu im Admin-Panel einbinden

menuerstellen
Heute möchte ich euch erklären, wie man ein Plugin-Menu erstellt, welches im WordPress-Admin-Panel angezeigt wird.

1. Hooks definieren und Menu-Elemente registrieren

Mit folgendem Hook-Code registriert man ein Menu und ein Submenu.

add_action( ‚admin_menu‘, ‚register_menu_page‘ );
add_action( ‚admin_menu‘, ‚register_submenu_page‘ );

Mit dem ersten Parameter wird angegeben, welcher Hook ausgeführt werden soll. Der zweite Parameter der Hooks ruft eine Funktion auf. In unserem Fall wollen wir den Header der Navi (register_menu_page) und die einzelnen Subelemente (register_submenu_page) aufbauen.

Die beiden oben beschriebenen Codezeilen werden in die Hauptplugin-Seite eingefügt. Die Hauptpluginseite findet sich wie folgt:

wp-content/plugins/MyPlugin/myPlugin.php

2. Funktionen deklarieren

Für den Header des Menüs wird die Funktion register_menu_page() definiert, diese ruft die WordPress-Funktion add_menu_page auf.

$page_title =’hier kommt der Page-Title rein‘;
$menu_title =’hier kommt der Menu-Title rein‘;
$menu_head_id =’menu-head-1′;
$name_function = ‚menu_head_1_function‘;

function register_menu_page(){
add_menu_page($page_title ,$menu_title,’manage_options‘, $menu_head_id, $name_function);
}

function menu_head_1_function() {
include(‚header_page.php‘);
}

Die Parameter $menu_title und $page_title sind Beschriftungs-Variablen.
Die Variable $menu_head_id dient als Identifier, damit man zum Beispiel die Submenus auf das Head-Menu referenzieren kann. Mit der Variablen $name_function wird eine Funktionen bekannt gegeben. Sobald man das Menu-Item klickt, wird mittels include(‚header_page.php‘); eine Datei eingebunden, die im gleichen Verzeichnis liegt und in welcher der Content zum Header liegen kann.

Ähnliches machen wir nun, um ein Submenu-Element einzubinden. Wie im Hook definiert, rufen wir die Funktion register_submenu_page auf, um Subelemente für das Menü zu definieren.
Darin rufen wir dann die WordPress-Funktion add_submenu_page() auf. Diese muss für jedes Submenu-Element einmal aufgerufen werden.


function register_submenu_page() {
add_submenu_page( $menu_head_id, $sub_menu_page_title, $sub_menu_item_title, ‚manage_options‘, $subpage_identifier, ‚function_submenu_page‘ );

}

Der erste Parameter $menu_head_id bezieht sich auf das Haupt-Menu-Element, das wir vorher mit einem Uniqueidentifier definiert haben. Danach werden wieder der page_title ($sub_menu_page_title) und menu_title ($sub_menu_item_title) definiert. Mit $subpage_identifier wird auch für das Submenu ein Identifier festgelegt. Dieser erscheint zum Beispiel im Link des Submenus. Und zu guter letzt definieren wir auch für das Submenu eine Funktion, die aufgerufen wird, sobald man das Sub-Menu-Item klickt.

function function_submenu_page() {
include(’submenu_page.php‘);
}

Sobald ihr alles richtig eingebunden habt, könnt ihr nun euer neues, tolles Menü im Admin-Panel bestaunen.
So könnte das Ergebnis aussehen:

menuerstellen

Wenn ihr Fragen zu diesem Thema habt, scheut euch bitte nicht davor, diese in den Kommentaren zu stellen. Ich freue mich auf euer Feedback.

Advertisements