Als WordPress-Customizing mit PHP noch in meiner Zukunft lag, stolperte ich auf der Suche nach Lösungen über massenhaft Code-Snippets. Falls erwähnt wurde an welchem Ort diese Snippets eingebracht werden sollten, handelte es sich normalerweise um die functions.php
„meines“ Themes.
Nun könnte diese functions.php
jedoch auch Twentyten oder einem anderen Theme aus dem WordPress-Directory gehören, und dann wäre sie alles andere als ein sicherer Ort für zusätzlich eingesammelte (Theme)-Funktionen. Beim nächsten Theme-Upgrade würde die functions.php
überschrieben, und alle selbst hinzufügten Funktionen wären weg.
Ein sicherer Ort für die zusätzlichen Funktionen ist entweder ein Childtheme, oder ein eigenes Plugin.
Childtheme
Nachtrag: Theme-Einstellungen über die Customizer-API (seit WordPress 3.4) werden unter dem Namen des aktiven Themes gespeichert. Nach aufwendigen Anpassungen ist die Umstellung auf ein Childtheme in manchen Fällen mit einer ebenso aufwendigen Neukonfiguration verbunden (oder mit einem Eingriff in die Konfigurationstabelle).
Schritt 1: Ordner unter Themes
anlegen und ihn signifikant benennen (z.B. meinchildtheme)
Schritt 2: dort eine neue Datei style.css
hinzufügen und dem Beispiel entsprechend befüllen:
<code>/* * Theme Name: Mein Childtheme * Author: ich * Version: 1.0 * Text Domain: meinchildtheme * Template: twentytwelve */</code>
Stilanpassungen per CSS werden in dieser Datei vorgenommen.
Template: twentytwelve
als Template den Slug des Themes angeben, das mit dem Childtheme ergänzt wird.
Schritt 3: die Datei functions.php
anlegen. Um die Stile des Parent-Themes nicht zu verlieren, ist es ggf. erforderlich, dessen Stylesheet einzubinden.
<code><?php function meinchildtheme_enqueue_styles() { wp_enqueue_style( 'parent-stylesheet', get_template_directory_uri() . '/style.css' ); wp_enqueue_style( 'child-stylesheet', get_stylesheet_directory_uri() . '/style.css' ); } add_action( 'wp_enqueue_scripts', 'meinchildtheme_enqueue_styles' );</code>
Darunter kommen dann die neuen Snippets, die auch nach dem Update des „Parent“-Themes erhalten bleiben.
Schritt 4: Das Theme aktivieren, ggf. Einstellungen anpassen und mit der Individualisierung loslegen (CSS, Funktionen).
Alternative: Auslagerung von Funktionen in ein Plugin
Schritt 1: Ordner unter Plugins
anlegen und ihn signifikant benennen (z.B. mydomain-themefunctions)
Schritt 2: dort eine gleichnamige (z.B. mydomain-themefunctions.php) PHP-Datei anlegen.
Schritt 3: Der frischen PHP-Datei einen Plugin Namen und eine Kurzbeschreibung geben.
<code><?php /* Plugin Name: mydomain functions Description: Add Functions to my mydomain WordPress */</code>
Unter „Plugins“ sollte es dann bereit für die Aktivierung in der Liste stehen.
Schritt 4: Das Plugin aktivieren und neue Snippets testen.
Die functions.php
des Original-Themes bleibt davon jeweils unberührt.
Ergänzung (06.08.2021)
Plugin Code Snippets
Der bequemste Weg dürfte wohl das Plugin Code Snippets sein, das es (noch) kostenfrei im WordPress-Repository zum Download gibt. Der Vorteil davon ist, dass es Code der Fehler enthält, gar nicht erst speichert. Außerdem kann man damit seine Snippets übersichtlich verwalten, sowie aktivieren oder deaktivieren (ohne Code löschen zu müssen).
Schreibe einen Kommentar