kulturbanause Blog

Responsive Design, WordPress, Konzeption, HTML, CSS, JS & UX/UI …

Seitenspezifisches WordPress-Plugin (Alternative zur functions.php)

Seitenspezifisches WordPress-Plugin

Im Laufe der Zeit sammelt sich in der functions.php eines WordPress-Themes einiges an Code an. Neben WordPress-Standards wie Custom Post Types und Sidebars finden sich dort auch diverse Snippets die man hier und da auf irgendeinem Blog gefunden hat. Paginations, individuelle Dashboard-Widgets, Breadcrumb-Navigationen ... Doch einige dieser Features sind in der functions.php nicht gut aufgehoben und sollten besser in ein Plugin ausgelagert werden.

Workshops und Seminare von kulturbanause

Visual Prototyping, Responsive Design, CSS Grid & Flexbox, WordPress, Adobe XD, HTML & CSS Grundlagen, Website-Optimierung …

Jetzt Frühbucher-Rabatte sichern!

Vorteile von seitenspezifischen Plugins

Ein seitenspezifisches Plugin bietet sich für viele Code-Snippets an, die sonst in der functions.php landen würden. Die Funktionen, die durch diese Snippets bereitgestellt werden, lassen sich in zwei Kategorien einteilen.

Theme-unabhängige Funktionen

Zunächst wären da Funktionen, die auch dann erhalten bleiben sollen wenn das Theme gewechselt wird. Z. B. die notwendigen Zeilen PHP für die Aktivierung von Custom Post Types, Beitagsbildern oder Shortcodes.
Solche Funktionen möchtet ihr sicher nicht verlieren, wenn das Theme gewechselt wird. Das wäre jedoch der Fall wenn ihr beispielsweise die Custom Post Types in der functions.php unterbringt, da diese Datei Bestandteil des Theme ist. Ein Plugin arbeitet hingegen unabhängig vom Theme.

Theme-spezifische Lösungen

Als zweites wären da noch die Funktionen die direkt mit dem Theme in Zusammenhang stehen. Viele dieser Lösungen kommen nach und nach hinzu. Sobald man eine spannende neue Funktion auf einem der diversen Blogs (z. B. hier) gefunden hat, wandert das Snippet in die functions.php. Durch das Auslagern dieser Snippets in ein seitenspezifisches Plugin schafft ihr Ordnung in der functions.php und verringert das Risiko Fehler zu machen. Darüber hinaus erkennt WordPress wenn ein Plugin Ärger macht - auch das ist in der functions.php meines Wissens nach nicht der Fall.

Es ist euch überlassen, ob ihr für die verschiedenen Einsatzmöglichkeiten der Code-Snippets ein Plugin oder mehrere Plugins verwendet. Ich arbeite meist mit mehreren Plugins. Um Missverständnissen vorzubeugen sei noch erwähnt, dass die functions.php durch die hier beschriebene Lösung nicht überflüssig wird. Ihr solltet nur bei jeder Funktion überlegen, wo das dafür notwendige Snippet am besten aufgehoben ist.

Plugin erstellen

Glücklicherweise ist es kinderleicht ein seitenspezifisches Plugin zu erstellen. Erstellt eine neue PHP-Datei mit beliebigem Dateinamen und fügt nachfolgenden Code ein. Das ist der minimale Code eines WordPress-Plugins. Eine vollständige Auflistung aller verfügbaren Angaben findet ihr im Codex.


<?php
/*
Plugin Name: Seitenspezifisches Plugin für kulturbanause.de
Description: Plugin mit Theme-unabhängigen Funktionen und/oder Code-Snippets
*/

// Hier später den Code einfügen

?>

Anschließend ladet ihr die Datei ins Plugin-Verzeichnis (../wp-content/plugins/) und aktiviert das Plugin über den WordPress Administrationsbereich.

Links / Quellen

Jetzt bist du gefragt!

Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freuen wir uns auf deinen Kommentar.

Du kannst diesen Beitrag natürlich auch weiterempfehlen. Wir sind dir für jede Unterstützung dankbar!

Unterstützung bei WordPress-Projekten

Unsere WordPress Agentur ist auf die Entwicklung maßgeschneiderter WordPress-Themes und -Websites spezialisiert. Wenn du Unterstützung bei der Planung, Gestaltung und Entwicklung eines Projekts benötigst, helfen wir gerne weiter.
WordPress-Leistungsangebot →

Das könnte dich auch interessieren

8 Kommentare

  1. Phillip

    Verfasst am 16. Januar 2014 um 14:55 Uhr.

    Oder halt nen Child-Theme.

  2. Jens Bayer

    Verfasst am 16. Januar 2014 um 15:06 Uhr.

    Hallo Jonas, weißt Du ob das auch dazu genutzt werden kann Beispielsweise JS-scripts nur auf spezifischen Seiten anzuzeigen um so die Ladezeiten zu optimieren? Man braucht ja zum Beispiel für ein schickes Portfolio hier und da ein paar Gimmicks die man z.B. im Kontaktform nicht braucht und umgekehrt.

  3. Birgit

    Verfasst am 16. Januar 2014 um 16:33 Uhr.

    Das ist in dem Plugin http://wordpress.org/plugins/code-snippets/ gut gelöst: seitenspezifische Code-Snippets lassen sich einzeln aktivieren oder deaktivieren, auch multisite übergreifend – feine Sache.

  4. Martin

    Verfasst am 23. Februar 2014 um 13:07 Uhr.

    Danke für den Artikel. Eine spannende Sache und mal schauen, ob es sich im nächsten Projekt bewährt ;)

  5. Olafson

    Verfasst am 19. Juli 2014 um 18:25 Uhr.

    Das Toolbox-Plugin von Sergej Müller ist auch nicht von schlechten Eltern. Man packt die Snippets in Module und kann diese fürs Backend/Frontend aktivieren oder deaktivieren.

    https://wordpress.org/plugins/toolbox/

  6. Philipp

    Verfasst am 14. November 2014 um 9:07 Uhr.

    Toller Artikel! Ich möchte das seitenspezifische Plugin gerne für ein Projekt einsetzen. Das Plugin funktioniert auch, allerdings kann ich das Plugin nur für eine Seite (Seiten-Template) anwenden.

    So schaut das Plugin aus:

    Wenn ich ein weiteres Plugin verwenden möchte zum Beispiel für die Seite „Referenzen“ oder „Über uns“ erhalte ich immer diese Fehlermeldung:

    Cannot redeclare hide_editor() (previously declared in /homepages/26/d538042396/htdocs/wp-content/plugins/Seitenspezifisches_PlugIn.php:13) in /homepages/26/d538042396/htdocs/wp-content/plugins/Seitenspezifisches_PlugIn.php on line 29

    Ich möchte mit mehreren Plugins arbeiten. Was mache ich hier falsch?

  7. Paulo

    Verfasst am 13. November 2016 um 23:57 Uhr.

    Das ist ja super toll! :) Wie könnte man das denn als professioneles Plugin erweitern?
    Also die Angaben der Versionsnummer, Entwickler Name, und „Details ansehen“ hinzufügen.

Kommentar verfassen

Dieser Blog lebt vom Feedback der Besucher! Also los, mach mit!
Bitte habe Verständnis dafür, dass Kommentare die mit dem Inhalt dieses Beitrags nichts zu tun haben, gelöscht werden.