Zusätzliche Links auf der Plugin Übersichtsseite unterbringen
2015
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.