Willkommen im STRATO Blog. Hier gibt es News und Tipps rund ums Hosting.

 

Menu

Veröffentlicht am: 15. Januar 2016

Werkzeug Wordpress Plugin

Dein eigenes WordPress-Plugin leicht gemacht

Selbst als WordPress-User mit geringen PHP-Kenntnissen kannst Du überraschend einfach ein eigenes Plugin schreiben. Der Workshop zeigt Dir, wie das geht und welche Vorteile Plugins im Vergleich zu Code-Schnipseln in der functions.php des Themes haben.

Bestimmt hast Du auch schon nach Tricks gesucht, um einfache Funktionen in WordPress hinzuzufügen, wie beispielsweise Shortcodes, Code-Schnipsel zum Integrieren von Google Analytics oder ein Custom Post Type. Meist findest Du dabei Code-Schnipsel, die Du per Copy-and-Paste in die functions.php Deines WordPress-Themes übernimmst.

Die functions.php zu verändern, hat aber Nachteile:

Die Lösung: Dein eigenes Plugin

All diese Probleme vermeidest Du, indem Du die meisten Deiner Anpassungen und Ergänzungen stattdessen in ein eigenes WordPress-Plugin packst. Dort verwaltest Du Code-Schnipsel komfortabel. Wenn sich ein Fehler einschleicht, nimmst Du das Plugin kurzfristig offline und musst nicht am Live-System in der functions.php auf Fehlersuche gehen. Und auch in ein neues Theme kannst Du ein solches Plugin mitnehmen.

Ein Plugin erstellen ist sehr einfach

Ein eigenes Plugin zu programmieren klingt sehr kompliziert, ist es aber nicht. Genau genommen brauchst Du erst einmal nur ein paar Zeilen Text in einer neu anzulegenden PHP-Datei.

Speichere diese Datei mit einem beliebigen Dateinamen und der Dateiendung .php ab, lege im Plugin-Verzeichnis Deiner WordPress-Installation (/wp-content/plugins) einen neuen Ordner mit beliebigem Namen an und lade die Datei dort hinein.

Bei einem mit dem AppWizard von STRATO Hosting installierten WordPress ist das Plugin-Verzeichnis beispielsweise /wordpress/wp-content/plugins/.

Dein Plugin gehört in denselben Ordner am Server wie alle anderen WordPress-Plugins auch.

Dein Plugin gehört in denselben Ordner am Server wie alle anderen WordPress-Plugins auch.

Achte darauf, dass der Plugin Name einzigartig ist und nicht denselben Namen trägt wie ein anderes Plugin.

Anschließend musst Du noch das eben neu erstellte Plugin in WordPress aktivieren. Jetzt hast Du Dein eigenes WordPress-Plugin, allerdings noch ohne Funktion.

Eigene Funktionalität hinzufügen

Von nun an fügst Du neue Code-Schnipsel in dieses Plugin ein, statt sie in die functions.php Deines Themes zu kopieren. Gegebenenfalls kannst Du natürlich bereits früher eingefügten Code aus der functions.php hierher umziehen.

Die Möglichkeiten sind vielfältig, von kurzen Code-Schnipseln mit nützlichen Detailfunktionen über Shortcodes bis hin zu Custom Post Types – also alles, was Du sonst auch in der functions.php tun kannst.

Um zu demonstrieren, wie Dein Plugin zum Leben erwacht, definieren wir beispielhaft einen neuen Shortcode. Wir möchten Google-Landkarten in Postings einbauen und deren Breite und Höhe jeweils individuell definieren. Der Shortcode dazu soll so aussehen:

Über den Shortcode definierst Du die Breite, Höhe und Karten-URL …

Über den Shortcode definierst Du die Breite, Höhe und Karten-URL …

Unser Plugin mit dem dazu gehörigen PHP-Code sieht dann so aus:

… die Shortcode-Funktion in Deinem Plugin erledigt den Rest.

… die Shortcode-Funktion in Deinem Plugin erledigt den Rest.

Die im Shortcode einzufügende URL im Attribut src ist übrigens diejenige, die Google Maps unter „Teilen“ – „Karte einbetten“ ausgibt.

Auf die Details des Shortcodes soll hier nicht näher eingegangen werden. Es geht in diesem Artikel vor allem darum zu zeigen, wie Code in die Plugin-Datei eingefügt wird.

Welcher Code gehört ins Plugin, welcher nicht?

Gut aufgehoben ist in Deinem Plugin sämtlicher Code, der nichts direkt mit Deinem Theme zu tun hat. Das sind also Funktionen, die auch unabhängig vom Theme nützlich sind.

Im Umkehrschluss solltest Du alles, was direkten Einfluss auf das Theme nimmt, auf dessen Funktionen aufbaut oder solche verändert, in der functions.php belassen. Ein typisches Beispiel dafür wäre die Definition zusätzlicher Bilder-Größen für die Medien-Bibliothek.

Denn: Wechselst Du später einmal das Theme, wären diese Code-Teile im Plugin heimatlos und würden WordPress mit unnötigem, weil dann nutzlosem Code aufblähen.

Tipp: Strukturiere Dein Plugin mit Kommentarzeilen

Gewöhnlich enthält ein Plugin genau eine Funktionalität. Im Falle Deines individuellen Plugins packst Du aber viele voneinander unabhängige Code-Schnipsel in ein einziges Plugin. Damit Du Dich später darin noch zurecht findest, solltest Du Ordnung halten und alles gut dokumentieren – und zwar am besten außerhalb des Plugins, um dessen Code nicht aufzublähen.

Im Plugin-Code macht ein kurzer Kommentar einzelne Funktionalitäten identifizierbar …

Im Plugin-Code macht ein kurzer Kommentar einzelne Funktionalitäten identifizierbar …

… und in einer separaten Datei kannst Du alle Informationen dazu ausführlich dokumentieren.

… und in einer separaten Datei kannst Du alle Informationen dazu ausführlich dokumentieren.

Gebe innerhalb des Plugins jeder Funktion per PHP-Kommentar /* kommentar */ einen Namen oder eine Kurzbeschreibung und lege Dir dann separat eine Textdatei an, in die Du Details zur jeweiligen Funktionalität hinterlegst. Besonders wichtig ist dabei die Quelle, aus der Du den Code-Schnipsel bezogen hast. Denn dann kannst Du später bei eventuell auftretenden Problemen dort nachsehen und eventuelle Updates finden.

Tags: Plugin · WordPress

Der Autor:

Autor: Franz Neumeier

Ich bin Franz Neumeier, war jahrelang Chefredakteur bei IT-Zeitschriften wie PC Professionell, Internet Professionell und Internet Magazin. Inzwischen habe ich mich als freier Autor vor allem auf Kreuzfahrt-Themen spezialisiert, betreibe mehrere Websites und schreibe für STRATO über verschiedene Themen, vor allem über WordPress und übers Bloggen.

14 Kommentare

  1. Patrick Hetzer sagte am 7. Oktober 2016 um 18:32:

    In der zweiten Zeile steht
    defined(‚ABSPATH‘) or die(‚No script kiddies please!‘);

    Das erzeugt bei mir einen fatalen Fehler.. liegt das an der Version oder darf ich das nicht genauso übernehmen?!

    Antworten
  2. Franz Neumeier sagte am 8. Oktober 2016 um 7:00:

    Hallo Patrick,
    In dem Beitrag werden die Anführungszeichen leider falsch dargestellt (WordPress wandelt die automatisch um), deshalb das Problem. Ersetze einfach alle Anführungszeichen durch gerade, einfache bzw. doppelte Anführungszeichen oben, dann klappt’s. Auf der Tastatur also Umschaltaste+# beziehungsweise Umschalttaste+2

    Antworten
  3. Philipp Wolf sagte am 4. November 2016 um 9:54:

    Hallo Patrick Hetzer,

    danke noch mal für Deinen Hinweis. Wir haben das angepasst, so dass Du den Code nun besser kopieren kannst.

    Viele Grüße
    Philipp

    Antworten
  4. K. Müller sagte am 13. Februar 2017 um 14:40:

    Perfekt danke! Ich baue gerade einen Umzugskarton-„Rechner“ – mit dem Plugin kann dann jeder „rechnen“. Besten Dank!
    Gruß
    K. Müller

    Antworten
  5. Marcco sagte am 2. März 2017 um 8:37:

    Bei mir tut das leider nicht 🙁

    Es wird auf der Seite nicht Google -Maps gezeigt, sondern nur die Funktion, nämlich

    [map width=’600′ height=’400′ src=’https://www.google.at/maps/ ….

    als wenn das Ding nicht „aufgelöst“ würde
    Was kann ich falsch gemacht haben? (An sich habe ich alles mit copy & paste übernommen)
    Danke

    Antworten
  6. Marcco sagte am 2. März 2017 um 8:51:

    Hab’s schon:

    Im Beitrag oben (Zeile 29) ist ein Blank zu viel:

    Statt: add_shortcode(„map“, “ MeineGoogleMap“);

    gehört Statt: add_shortcode(„map“, „MeineGoogleMap“);

    Danke

    Antworten
  7. Thomas Schmitzer sagte am 29. Juni 2017 um 14:38:

    Weiss jemand wie man mit einem eigenen plugin – code in den header und in den footer der eigenen wordpress-webseite integriert?

    Gruss Thomas

    Antworten
  8. CMS Freund sagte am 30. September 2017 um 15:27:

    Das war wirklich hilfreich vielen Dank. Ich denke so hat man zumindest einen Einstiegspunkt. Ist ja fast schon bester CMS Support, den man hier findet. Danke nochmal, ich werde das auch weitergeben! 🙂

    Antworten
  9. Timo sagte am 10. November 2018 um 17:39:

    Danke für den Kurz-Einstieg in die WP Plugins. Konnte meine ganzen Custom-Funktionen jetzt schön in einem eigenen, kleinen Plugin verpacken. Fühlt sich viel besser an!

    Antworten
  10. Kai sagte am 10. Mai 2019 um 10:30:

    WooW, das hilft auch Nicht-Strato-Kunden, das ist ein Extra-Danke wert!!!

    Antworten

Hinterlasse eine Antwort

Bitte beachte, dass sich Dein Kommentar auf den Artikel beziehen sollte. Wenn Du ein persönliches Kundenanliegen besprechen möchtest, wende Dich bitte an unseren Kundenservice auf Facebook, Twitter oder über Hilfe & Kontakt.
Wir freuen uns, wenn Du uns Deinen Namen hinterlässt. So wissen wir, wie wir Dich bei unserer Antwort ansprechen können.
Wenn Du Deine E-Mail-Adresse einträgst, wirst Du per Mail über unsere Antwort informiert. Sie wird zum Schutz Deiner Daten aber nicht veröffentlicht. Beide Angaben sind freiwillig.

Hier bloggen

Lisa Kopelmann
Ist Ansprechpartnerin für den Blog und berichtet über aktuelle STRATO Themen

Oliver Meiners
Schreibt über alles, was für Dich als STRATO Kunde wichtig ist

Tobias Mayer
Berichtet über Neuigkeiten aus dem Unternehmen

Michael Poguntke
Schreibt über den Online-Speicher HiDrive, den Homepage-Baukasten, Webshops und Server

Christian Lingnau
Bloggt über WordPress & andere CMS

Franz Neumeier
Gibt Tipps zum erfolgreichen Bloggen

Sven Hähle
Kennt sich bei Domains hervorragend aus

Patrick Schroeder
Erzählt die Stories unserer Kunden

Ann-Christin Schmitt
Schreibt über HiDrive, den Homepage-Baukasten und guten Websitecontent

Christian Rentrop
bloggt über Software-Themen