Für Menschen · Seien Sie begeistert und Sie werden begeistern !
In der Vergangenheit habe ich schon im Artikel „WordPress Plugins bereichern“ erläutert, wie man Plugins um einige nützliche Funktionen erweitert und so die Nutzung optimiert. Dabei gib es unter anderem um den Absprung mit Hilfe eines einfachen Links zur Options-Seite des Plugins.
Mit WordPress 2.8 wird die Plugin-Seite ein wenig verändert sein und so gibt es einen Hook, den man bequem mit dem Link befüllen kann und den Komfort ein wenig erhöht.
Die Möglichkeit, die hier im Tutorial erklärt wird, klappt erst ab Version 2.8 von WordPress, in der Version 2.7 musste das anders geschehen, dazu dient der schon erwähnte Artikel „WordPress Plugins bereichern“ oder ohne große Erklärung der folgende Schnipsel.
/**
* @version WP 2.7
* Add action link(s) to plugins page
*/
function set_plugin_meta27($links) {
$plugin = plugin_basename(__FILE__);
$settings_link = sprintf( '<a href="options-general.php?page=%s">%s</a>', $plugin, __('Settings') );
array_unshift( $links, $settings_link );
return $links;
}
add_filter( 'plugin_action_links_' . $plugin, 'set_plugin_meta27' );
Ab Version 2.8 sieht das Backend leicht verändert aus und so werden auch die Meta Links zu Plugins anders präsentiert. Dazu gibt es aber einen Hook, so dass man den Inhalt zu den Plugins und die Links zum Plugin selbst erweitern kann. Der folgende Screenshot sollte das verdeutlichen.
Um nun den Link zur Options-Site zu setzen, dient der folgenden Code, der die URL des Links aus den Plugin-Daten nutzt und der Begriff „Settings“ muss in dem Fall nicht für die Mehrsprachigkeit erweitert werden, da er im Sprachpaket von WordPress dabei ist und somit automatisch beim Umstellen des Backend auf eine neue Sprache übersetzt wird.
function set_plugin_meta($links, $file) {
$plugin = plugin_basename(__FILE__);
// create link
if ($file == $plugin) {
return array_merge(
$links,
array( sprintf( '<a href="options-general.php?page=%s">%s</a>', $plugin, __('Settings') ) )
);
}
return $links;
}
add_filter( 'plugin_row_meta', 'set_plugin_meta', 10, 2 );
Alternativ kann folgenden Funktion aufgerufen werden, die den Link vor die Links von WP setzt, was ich für übersichtlicher halte. Die Funktion wird im Anschluss je nach Version von WordPress aufgerufen, dabei kann die Funktion für 2.7 und 2.8 genutzt werden; ich hooke lediglich bei 2.8 nochmal, so dass der Link auch im rechten Bereich vorhanden ist.
// plugin definitions
define( 'FB_BASENAME', plugin_basename( __FILE__ ) );
define( 'FB_BASEFOLDER', plugin_basename( dirname( __FILE__ ) ) );
define( 'FB_FILENAME', str_replace( FB_BASEFOLDER.'/', '', plugin_basename(__FILE__) ) );
function filter_plugin_meta($links, $file) {
/* create link */
if ( $file == FB_BASENAME ) {
array_unshift(
$links,
sprintf( '<a href="options-general.php?page=%s">%s</a>', FB_FILENAME, __('Settings') )
);
}
return $links;
}
global $wp_version;
if ( version_compare( $wp_version, '2.8alpha', '>' ) )
add_filter( 'plugin_row_meta', 'filter_plugin_meta', 10, 2 ); // only 2.8 and higher
add_filter( 'plugin_action_links', 'filter_plugin_meta', 10, 2 );
Diese kleine Erweiterung im Plugin macht nicht viel Mühe und stellt aus meiner Sicht trotzdem einen Mehrwert dar, der es dem Nutzer einfach macht, die Options-Seite zum Plugin aufzusuchen. Schade nur, dass die Entwickler von WordPress jedesmal diesen Hook ändern und man nun schon fast zu jeder neuen Version von WordPress eine eigene Funktion benötigt um diesen kleinen Mehrwert zu setzen.
händischer Spam:
Beachte die Kommentarregeln, jede Form von versuchtem Spam wird gelöscht. Warum und wieso steht in einem meiner Beiträge.
Bezug auf Textstellen:
Du kannst direkt bezug auf Textstellen im Beitrag nehmen. Dazu muss lediglich der Bereich im Artikel markiert werden; daraufhin erscheint ein Button, der den markierten Text in das Kommentarfeld übernimmt und als Zitat auszeichnet. Die Funktion ist nur bei aktivem JavaScript nutzbar.
xHTML:
Du kannst folgende Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <blockquote cite=""> <code> <pre> <em> <strong> <strike> <ul> <ul> <li>
Achte darauf, wenn du Code im Kommentar hinterlegen willst, dann muss der Code maskiert sein. Dann wird er nicht interpretiert. Der Code muss mit Hilfe von HTML-Entities dargestellt werden, d.h. dass man z.B. < als < und > als > einfügt.
E-Mail-Benachrichtigung bei neuen Kommentaren ?
Wenn der Haken in der Checkbox gesetzt ist, dann wirst du über neue Kommentare vie E-Mail informiert. Der Versand erfolgt nur, wenn du die URL in der Bestätigungs-E-Mail genutzt hast oder schon Abonnent hier im Blog bist.
Kommentar erscheint nicht:
Alle Kommentare werden manuell geprüft, freigegeben und nach Möglichkeit beantwortet. Bitte um etwas Geduld und Nachsicht.
Identifikationsbilder (Avatare):
Auf Gravatar.com kann man sich mit seiner E-Mail-Adresse registrieren und ein Bild hochladen, dann erscheint dieses Gravatar hier und in vielen weiteren Blogs.
Spamschutz:
Das Kommentarformular ist mit einem Spamschutz ausgerüstet. Solltest du diesen Artikel ohne JavaScript besuchen und kommentieren wollen, so muss du die Frage beantworten und das jeweilige Wort in das Textfeld eingeben.
bueltge.de [by:ltge.de] wird von Frank Bültge geführt, administriert und gestaltet. Alle Inhalte sind persönlich von mir ausgewählt und erstellt, nach bestem Gewissen und Können, was die Möglichkeit von Fehlern nicht ausschließt.
Das Weblog wird angetrieben von WordPress und aktuell gibt es 971 Beiträge, 19462 Kommentare in 14 Kategorien und 459 Tags.
Das Blog wird liebevoll mit xHTML & CSS in Handarbeit gestaltet. Erstellt mit ♥ zum Befüllen und Erhalten.
Design und Code ist unter Copyright
© 2001 - 2012 bueltge.de [by:ltge.de]
9. Juni 2009 um 20:26
Frank, scheinbar interessiert sich keiner für die Methode. Naja
9. Juni 2009 um 21:00
In einem engl. Blog habe ich gerade einen Artikel gelesen, heute veröffentlicht, wie man es mit der alten Methode macht. Das kommt schon. So viele Entwickler gibt es scheinbar nicht, die diesen kleinen Mehrwert nutzen wollen und schon in 2.8 denken. Danke dir nochmal für den Tipp, denn von dir ist ja quasi der Kern, ich habe es nur umschrieben. Bei mir liegt so viel auf Halde mit 2.8, was ich zum Teil nur im Buch habe, dass ich nicht nachkomme.
9. Juni 2009 um 22:00
Halo Frank schön wieder von dir zu lesen.
Ich freue mich schon auf die neue WP Version, doch habe ich auch ein wenig Angst, da ich meinen Blog so umgebaut habe und halt nicht sehr viel davon verstehe.
Deswegen umso mehr freude dann deine Tipps weiter verfolgen zu können.
Viele grüße
Thomas
9. Juni 2009 um 22:16
@Thomas: Welche Version fährst du und hast du am Core geändert?
9. Juni 2009 um 22:21
Hallo Frank,
ich habe WP2.7.1 und nur das Design geändert. Also Sitebar neu mit der 250er Fläche oben z.B. sonst soweit nur am CSS und hier und da Kleinigkeiten. Da es mein erster selbstgebauter Blog ist, zwar am Anfang mit der Artisteergrundlage, ist davon nicht mehr viel übrig geblieben. Ich habe soviel geändert und weiß nicht mehr was alles.
9. Juni 2009 um 22:53
@Thomas: insofern du nur am Frontend gebaut hast, ist das kein Problem und das Update auf 2.8 sollte ohne Probleme laufen. Die meisten Plugins werden ebenso wenig etwas einbüßen und sollten laufen.
9. Juni 2009 um 23:00
Super vielen dank, ich habe sonst meist mit dem Update immer ein wenig gewartet. Doch es gibt mir zusätzliche Sicherheit wenn du es schreibst. Ja Frank um dir zuvor zukommen ich mache erst ein Backup
Danke für deine Hilfe und ermunternden Worte
Thomas
10. Juni 2009 um 09:24
Frank, was mich wirklich ein wenig stört, ist die Tatsache, dass selbst Plugins aus dem Hause Automattic keine Vorzeigeobjekte sind. Eigentlich müsste es ein Standard-Plugin gegeben, wo solche Möglichkeiten implementiert und aufgezeigt sind, damit Entwickler diese Option wahrnehmen und nicht den Core danach absuchen müssen. Wie das Defaupt-Thema halt
10. Juni 2009 um 10:32
@Sergej: In der Mailingslist der wp-hacker wurde das schon mehrfach diskutiert, ohne erfolg. Noch immer sieht man "Hello Dolly" für diese Aufgabe. Nur leider ist in diesem Plugin verdammt wenig an Beispielen drin, ist mehr Syntax für Literaturaspiranten. Eine Lösung sehe ich aber nicht, es bleibt Aufgabe der Blogs mit dem Thema WordPress.
25. August 2011 um 14:47
Hallo Frank,
ich möchte für mein Plugin um die oben beschriebene Funktion erweitern, leider tut es nicht so wie es soll:
// Add settings link on plugin pageadd_filter('plugin_action_links', 'myplugin_settings_link', 10, 2);
function myplugin_settings_link($links, $file) {
static $this_plugin;
if (!$this_plugin) {
$this_plugin = plugin_basename(__FILE__);
}
if ($file == $this_plugin) {
// The "page" query string value must be equal to the slug
// of the Settings admin page we defined earlier, which in
// this case equals "myplugin-settings".
$settings_link = 'Settings';
array_unshift($links, $settings_link);
}
return $links;
}
Ich habe die aktuelle WP Version drauf. Im Backend unter Plugins wird einfach überhaupt nichts angezeigt. Hast du eine Idee?
Viele Grüße
26. August 2011 um 15:31
@Florian: habe ich so gut wie allen Plugins von mir drin, kannst also damit mal abgleichen und den Fehler suchen. Schaue mal hier direkt im Source.
3. Oktober 2011 um 16:07
Nachdem der Google+ Button nun verfügbar ist, kam ich auf die Idee diesen in mein Plugin zu integrieren.
Dabei habe ich mich an diesem tollen Tutorial hier orientiert. Vielen Dank! Klappt super. Falls jemand wissen möchte, wie genau das mit dem Google Plus Button geht, kann man es hier nachlesen.
http://software.bmo-design.de/how-to-integrate-google-plus-into-your-wordpress-pluginVielen Dank und weiter so!
Grüße Benedikt