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.


Posted

in

by

Comments

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

  1. @Latz avatar

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

  2. Frank avatar

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

  3. Frank avatar

    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. Sergej Müller avatar

    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 *

To respond on your own website, enter the URL of your response which should contain a link to this post’s permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post’s URL again. (Find out more about Webmentions.)