Category: PHP

Zusätzliche Links auf der Plugin Übersichtsseite unterbringen

Ihr kennt ja die übliche Plugin Übersichtsseite, auf welcher man eine kurze Beschreibung des Plugins, die Version, den Autoren, einen Link auf die Pluginseite und so weiter enthält. Auf der linken Seite befinden sich dabei der Aktivierungslink, beziehungsweise der Deaktivierungs- und Bearbeitenlink. Immer mal wieder sieht man allerdings Plugins, welche hier noch einen Einstellungslink oder ähnliches unterbringen.

Manchmal macht es keinen großen Sinn für ein Plugin einen extra Menüpunkt im Admin anzulegen. Die Funktion des Plugins ist so beschränkt, dass es eigentlich nicht im Menü erscheinen, sondern einfach nur laufen sollte. Wenn allerdings dennoch Einstellungen vorgenommen werden können ist ein solcher zusätzlicher Link auf der Plugin-Seite natürlich sehr interessant.

Also habe ich mich auf die Suche gemacht, wie ein solcher Link von einem Plugin erzeugt werden kann. Dazu dient der Filter “plugin_action_links“. Dieser Filter enthält sämtliche Action Links, welche in der Plugin Übersicht angezeigt werden sollen, als Array. Da diese bei jedem Plugin andere sind, muss der Filter korrekt auf das eigene Plugin angepasst werden. Dazu wird der Filtername um den Basenamen des Plugins erweitert:

add_filter( 'plugin_action_links_' . plugin_basename(__FILE__), 'function_to_execute' );

An den Filter wird also ein Array von Links übergeben. Diesen Array kann man nun beliebig erweitern und daraufhin zurückgeben. In meinem Beispielcode hänge ich beispielsweise einen Link auf meine Webseite an:

Doch: Wie erstellt man im Admin eigentlich eine Seite, welche nicht im Menü erscheint? Dazu kann man über add_submenu_page() gehen, wobei man den Slug des Elternmenüs mit dem Wert ‘null’ angibt:

add_submenu_page( null, 'Titel', 'Titel', 'manage_options', 'unsichtbar', 'render_function' );

Diese Seite erreicht man im Admin beispielsweise mit wp-admin/?page=unsichtbar, indem man also einfach den GET-Parameter page mit dem Pageslug angibt.

Hilfe-Tabs für das eigene Plugin erstellen

Create your own help tab

In diesem Beitrag möchte ich erläutern, wie man die Hilfe-Tabs des WordPress Admins für das eigene Plugin nutzen kann.

Hilfe-Tab erstellen
Hilfe-Tab erstellen

Beginnen wir also mit der Grundlage und erstellen eine neue Seite im Admin Menü:

Wie ihr wisst, erstellt man mit Hilfe von add_menu_page() einen neuen Menüpunkt. Diese Funktion gibt dabei die ID der neu registrierten Seite zurück. Mit Hilfe dieser können wir uns in die spezifische Load-Aktion der Seite einhaken:

add_action( 'load-' . $page_with_help, 'pwh_add_help_tab' );

In dieser Aktion werden wir nun unseren neuen Hilfe-Tab registrieren und ihm einige Inhalte geben.

Den Hilfe-Tab hinzufügen

Zunächst müssen wir den aktuellen Screen erhalten. Dazu können wir die Funktion get_current_screen() nutzen, welche uns das aktuellen WP_Screen Objekt zurückgibt. Dieses enthält unter anderem die Hilfe-Tabs.

Im zweiten Schritt werden wir nun mittels WP_Screen::add_help_tab() einen neuen Hilfe-Tab hinzufügen. Ein solcher enhält eine ID, einen Titel und den Inhalt:

Mit diesen zwei einfachen Schritten können wir unsere eigenen Hilfe-Tabs erzeugen, welche sich perfekt in das WordPress Design einfügen. Wir können auch eine Callback Funktion benennen, welche das Rendering des Inhalts übernimmt.

Mit einer solchen Callback Funktion erweitern wir unsere Möglichkeiten, den Output zu gestalten. Diese Funktion kann zwei Parameter aufnehmen: Zum einen das aktuelle Screen Objekt und zum anderen den aktuellen Hilfe-Tab.

Eine Sidebar erstellen

Auch die Hilfe Sektion kann über eine Sidebar verfügen. Sobald wir einen Tab registriert haben können wir dazu auf set_help_sidebar() zurückgreifen. Der Inhalt der Sidebar wird dann auf der rechten Seite der Sektion dargestellt.

Es ist also wirklich einfach, eine kleine Hilfe-Sektion für das eigene Plugin zu entwickeln. Für Eure Plugin-Nutzer kann eine gut gestaltete Hilfe dabei Gold wert sein.