elektro:elch

Es ist nicht ungefährlich, wenn ein Volk lesen und schreiben kann.

WordPress: Absprung im Plugin-Bereich v2.7

[English version]

Frank Bültge beschreibt in seinem Posting “WordPress Plugins bereichern“, wie man die Bedienungsfreundlichkeit seines Plugins steigern kann, indem man einen Link zu den Options-Seiten neben die Deaktivieren- und Bearbeiten-Links platziert. Mit Version 2.6 funktioniert das so:

function addConfigureLink($links, $file) {
  static $this_plugin;
  if (!$this_plugin) {
    $this_plugin = plugin_basename(__FILE__);
  }
  if ($file == $this_plugin) {
    $settings_link = '' . 
      __('Settings') . '';
    $links = array_merge( array($settings_link), $links);
  }
  return $links;
}

add_filter("plugin_action_links", "addConfigureLink", 10, 2);

Bei dieser Methode wird allerdings für jedes Plugin die Funktion addConfigureLink aufgerufen… und sehr übersichtlich sieht es auch nicht aus.

Das haben sich offensichtlich auch die WP-Entwickler gedacht und haben den Filter verbessert:

function addConfigureLink( $links ) { 
  $settings_link = 'Settings'; 
  array_unshift( $links, $settings_link ); 
  return $links; 
}

$plugin = plugin_basename(__FILE__); 
add_filter("plugin_action_links_$plugin", 'addConfigureLink' );

Jetzt muss die Funktion addConfigureLink nicht bei jedem installierten Plugins überprüfen, welche Plugindaten gerade aufgerufen werden und der Code wird übersichtlicher.

Abschließend bleibt wie immer die Überlegung, ob man solche “frischen” Filter sofort nutzen soll und damit die Kompatibilität zu vorherigen WordPress-Versionen zerstört oder ob man wartet, bis sich die neue Version ausreichend verbreitet hat. Meine Meinung dazu gibt’s bei identi.ca (schamlose Werbung!).

Update: There an English version of this posting available.


Comments

5 responses to “WordPress: Absprung im Plugin-Bereich v2.7”

  1. New blog post: WordPress: Absprung im Plugin-Bereich v2.7 http://tinyurl.com/6rf32e

  2. Vielen Dank, sieht übersichtlicher aus und wird bei mir vorgemerkt.
    Danke!

  3. geht dann aber eben nur ab Version 2.7 von WordPress, die andere Lösung geht auch in 2.3, 2.5, 2.6. Sollte man eventuell abwegen

  4. Schöne, lukrative Alternative. Aber wie Frank schon sagte, für bereits existierende Plugins müssen entweder beide Lösungen per Abfrage rein (was aber der Übersichtlichkeit nicht wirklich beisteuert), oder man bleibt bei der “alten” bis 2.7 sich wirklich durchgesetzt hat (nach halben Jahr oder so).

  5. […] above function only works in WordPress 2.7 and has been explained in great detail by Latz, unfortunately only in German! If you like to preserve compatibility with previous WordPress […]

Leave a Reply

Your email address will not be published. Required fields are marked *