How to make a WordPress Plugin 1

Wordpress Sep 13, 2007 2 Comments

Wie angekündigt also Part 1 meiner Notizen, ausgebaut zu einem kleinen Tutorial für ein erstes kleines WordPress Plugin.

Starten sollte man natürlich mit Literatur auf WordPress.org um mal ein paar Infos zu erhalten wie ein Plugin überhaupt funktioniert. Hier sehen wir was wir also für unser erstes Plugin brauchen:

Ein File (in einem Ordner, falls es mehrere sind) mit einem einzigartigen Namen. In meinem Fall nenne ich die Datei kriesi_plugin_1.php.
Dann die Datei/ den Ordner in den Plugins Ordner kopieren. Um von WordPress als Plugin erkannt zu werden braucht unser Frisch gebackenes Plugin-File ein paar Standard Informationen die wir in Form eines PHP Comments in der ersten Zeilen schreiben:

/*
Plugin Name: Kriesis erstes Plugin <-- Plugin Name
Plugin URI: kriesi_plugin_1.php <-- http://URI_Of_Page_Describing_Plugin_and_Updates
Description: Mein erstes kleines nutzloses Plugin <--A brief description of the plugin.
Version: 0.001 <-- The plugin's Version Number, e.g.: 1.0
Author: Kriesi <-- Name Of The Plugin Author
Author URI: http://www.kriesi.at <-- http://URI_Of_The_Plugin_Author
*/
?>

Dies sind die Minimalinformationen die jeder “Plugin-Header” enthalten sollte. Weitere Informationen wären zum Beispiel die Min oder Max Version von WordPress die zum Gebrauch des Plugins benötigt wird, welche Lizenz das Plugin benutzt etc…
Diese Infos kann man übrigens auch automatisch mit dem WordPress Plugin Generator erstellen lassen.

Sobald dies also geschehen ist wird das Plugin schon von WordPress erkannt und kann auch aktiviert werden. Passieren wird zum jetzigen Zeitpunkt natürlich noch recht wenig. (im besten Fall, wenn alles korrekt ist nämlich gar nix)

Damit unser Plugin etwas tut schreiben wir nun eine kleine Funktion die den Text eines Posts oder eine Page überprüft und gefiltert zurück gibt.


function bad_word_filter($my_filter){

$my_filter = str_replace('fuck', 'f***', $my_filter);
return $my_filter;

}

Diese Funktion überprüft einen String und ersetzt alle Vorkommen des ersten Parameters mit Parameter 2 in Paramtere 3.

Um die Funktion aufzurufen müssen wir WordPress nun nur noch mitteilen wann und auf welchen Bereich der Filter anzuwenden ist. Wer sich den Artikel oben durchgelesen hat der weiß das wir dafür sogenannte Hooks brauchen.

Hooks are provided by WordPress to allow your plugin to ‘hook into’ the rest of WordPress; that is, to call functions in your plugin at specific times, and thereby set your plugin in motion.

Es gibt 2 Arten von Hooks: Actions und Filter

1. Actions: Actions are the hooks that the WordPress core launches at specific points during execution, or when specific events occur. Your plugin can specify that one or more of its PHP functions are executed at these points, using the Action API.
2. Filters: Filters are the hooks that WordPress launches to modify text of various types before adding it to the database or sending it to the browser screen. Your plugin can specify that one or more of its PHP functions is executed to modify specific types of text at these times, using the Filter API.

Quelle: WordPress.org

Was wir also brauchen ist ein Filter-Hook. Diesen wollen wir auf den Content der von WordPress generiert wird anwenden. Wir fügen also nach der Funktion folgenden Funktionsaufruf hinzu:

add_filter(‘the_content’,'bad_word_filter’);

Voila: Unser erstes kleines Plugin funktioniert.

2 Responses to “How to make a WordPress Plugin 1”

  1. Haioase says:

    Neatza! Imi place siteul tau.Ai fii interesat un linkexchange in blogroll cu siteul meu http://www.poze.haioase.org ? Trimite-mi pls un mail daca da, ciao! Alina IS

  2. Carrol Gergely says:

    Many thanks for the good list with plugins, i have a number of favourites to, like the all known “All IN SEO “and also the easy privacy policy plus SEO friendly images (got some great results with it)and lastly pretty links (great for cloacking) affiliate links…

Click to show trackbacks