poster 1703806 1920
Bildquelle: Pixabay, MALCOLUMBUS

Wohin mit meinen WordPress-Snippets?

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:

/*
 * Theme Name:  Mein Childtheme
 * Author: ich
 * Version: 1.0
 * Text Domain: meinchildtheme
 * Template: twentytwelve 
 */

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.

<?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' );

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.

<?php
/*
Plugin Name: mydomain functions
Description: Add Functions to my mydomain WordPress
*/

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.

Über Gabriele Lässer

WordPress Sorgen? - Nicht mit mir! Ich freue mich auf spannende Herausforderungen

Kommentar schreiben

E-Mail-Adresse wird nicht veröffentlicht.

Overlay background for modal content