custom functions wordpress plugin
Zuletzt aktualisiert:   - Sonia Rieder -  8 Kommentare

Hast du schon mal einen Code-Schnipsel aus einem WordPress Tutorial in deine Seite eingebaut? Dann hast du das Snippets sicherlich in die functions.php des Themes bzw. Child Themes eingefügt. Eine bessere Möglichkeit ist jedoch die Nutzung einer custom functions. Wie du solch ein seitenspezifisches Plugin anlegen kannst, erkläre ich dir in diesem Tutorial.

Was bedeutet custom functions?

Übersetzt bedeutet custom functions nichts anderes als eigene Funktionen. Dabei handelt es sich um ein seitenspezifisches Plugin (auch Functionality Plugin), das deine individuellen Funktionen beinhaltet.
Darin kannst du ganz einfach Shortcodes oder Code-Schnipsel unterbringen, die die Standard-Funktionen von WordPress ergänzen. Und das unabhängig von deinem genutzten Theme oder Child Theme.

Wenn du also dein aktuelles WordPress Theme durch ein neues Theme ersetzt, bleiben alle Funktionen der custom functions erhalten.

Was ist der Unterschied zwischen der functions.php und einem Funktionsplugin?

The functions file behaves like a WordPress Plugin, adding features and functionality to a WordPress site. You can use it to call functions, both PHP and built-in WordPress, and to define your own functions.

wordpress.org (Functions File Explained)

Jedes WordPress Theme hat seine eigene und individuelle functions.php. In dieser Datei sind alle Features und Funktionen des Themes enthalten. Diese greifen natürlich immer nur beim aktivierten Theme. Wechselst du zu einem anderen Theme, sind die Funktionen nicht mehr verfügbar.

Die Datei functions.php enthält alle Features und Funktionen, die für das Theme gelten. Hier einige Beispiele:

  • Bildgrößen
  • Sidebars
  • Navigation
  • Beitragsformate

Eine custom-functions.php hingegen enthält deine eigenen Anpassungen. D.h. du kannst eigene Features hinzufügen, aber auch Funktionen des Themes abändern oder aushebeln. Es ist ein eigenständiges Plugin, das auch unabhängig vom genutzten Theme funktioniert. Statt also die Theme-functions zu bearbeiten, erstellst du dein eigenes Plugin. Darin kannst du z.B. folgendes einfügen:

  • Shortcodes
  • Snippets
  • Custom Post Types
  • Einbinden von Skripten und Styles
  • Tracking Codes

Was sind die Vorteile?

  • Bei einem Theme-Wechsel bleiben alle deine Funktionen und Code-Schnipsel erhalten.
  • Ein seitenspezifisches Plugin ist schneller erstellt als ein Child Theme. Wenn du z.B. nur einen Shortcode einfügen möchtest, musst du nicht gleich ein Child Theme erstellen. Stattdessen nutzt du dein eigenes Custom Functions Plugin.
  • Bei fehlerhaftem Code in der functions.php kann man sehr schnell seine Seite abschießen. Nutzt du ein eigenes Plugin, erhältst du im Dashboard eine Warnung bzw. das Plugin wird deaktiviert. Und falls gar nichts mehr geht, löschst du die .php-Datei einfach per FTP.
  • Übersichtlichkeit! Im Laufe der Zeit sammeln sich in der functions.php einige Snippets. Und häufig kann man nicht mehr nachvollziehen, ob ein Snippet zum Theme gehört oder eine eigene Anpassung ist.

Custom Funktions erstellen

Für die Erstellung eines eigenen Plugins benötigst du nur einen Texteditor und ein FTP-Programm.
Am einfachsten geht dies mit einem Texteditor wie beispielsweise Notepad++ . Office-Programme wie Word eignen sich nicht dafür.

Ordner und Datei anlegen

custom functions ordner anlegen
Plugin-Ordner anlegen

Zunächst legst du einen Order an und gibst ihm einen Namen. Ich benenne ihn meistens nach der Webseite, auf der das Plugin genutzt werden soll. Also in meinem Fall: webtimiser-funktionen.

custum-functions.php
Datei in einem Editor anlegen

In diesem Ordner fügst du nun eine PHP-Datei für die eigentlichen Custom Functions ein. Ich benenne sie entweder custom-functions.php oder auch nach der jeweiligen Seite.

Plugin Header einfügen

Damit das Plugin von WordPress auch fehlerfrei erkannt wird, musst du folgende Angaben einfügen.

<?php
/*
Plugin Name: Webtimiser Funktionen
Plugin URI: https://www.webtimiser.de
Description: Plugin für spezielle Funktionen
Author: Sonia Rieder
Author URI: https://www.webtimiser.de
Version: 1.0

/* Verbiete den direkten Zugriff auf die Plugin-Datei */
if ( ! defined( 'ABSPATH' ) ) exit;
/* Nach dieser Zeile den Code einfügen*/


/* Nach dieser Zeile KEINEN Code mehr einfügen*/
?>

Jedes WordPress Plugin sollte folgende Standardangaben enthalten:

  • Plugin Name
    Diesen kannst du frei wählen. Er erscheint dann im Backend in der Plugin-Übersicht.
  • Plugin URI
    Die Adresse zum Plugin. Hier kann ein Plugin-Anbieter beispielsweise zu Info-Seite des Plugins verweisen.
  • Description
    Eine kurze Beschreibung, was das Plugin macht.
  • Author
    Name des Entwicklers.
  • Author URI
    Webadresse des Entwicklers.
  • Version
    Die Version des Plugins.
Hinweis: vor jeder Änderung solltest du ein Backup deiner Seite machen.

FTP Upload

Nachdem das Grundgerüst steht, kannst du dein Plugin per FTP hochladen. Falls du bisher noch nie mit FTP gearbeitet hast, findest du hier meine Anleitung zu WordPress & FTP.

Der erstellte Ordner mit der PHP-Datei muss nun in das Plugin-Verzeichnis deiner WordPress Seite.

wp-content/plugins/
Upload der Datei via FTP
Upload in das WordPress Plugin Verzeichnis

Plugin aktivieren

Nach dem Upload der Daten findest du dein Funktions-Plugin im Plugins-Panel.
Sobald du es aktivierst, werden die darin enthaltenen Funktionen oder Code-Snippets wirksam.

Plugin aktivieren
In der Plugin-Übersicht kannst du dein eigenes Plugin jetzt aktivieren.

Code Schnipsel einfügen

Die beste Methode eigenen Code einzufügen ist via FTP. D.h. du schreibst deinen Code in die Datei und lädst sie anschließend hoch. Falls etwas schief gehen sollte, kannst du das Plugin ganz schnell per FTP deaktivieren. Die Seite läuft dann wieder problemlos weiter.

Zudem erkennt WordPress viele Fehler und deaktiviert dann einfach von selbst das Plugin.

Plugn wird von WP deaktiviert
Bei schwerwiegenden Fehlern wird das Plugin deaktiviert.

Die 2. Methode ist über den Plugin-Editor.

Diese Methode ist nicht wirklich zu empfehlen, doch der Vollständigkeit halber erkläre ich sie kurz.
Aus Sicherheitsgründen sollte man das direkte Bearbeiten von Plugins gar nicht erst ermöglichen. Denn falls ein ein Hacker Zugang zum WordPress Dashboard hat, könnte er hierüber sehr leicht Schadcode einfügen.

Wer den Editor dennoch nutzen möchte, kann unter > Plugins > Editor das vorher angelegte Plugin auswählen.

Editieren im Plugin-Editor
Editieren im Plugin-Editor.

Hier kannst du nun direkt deine Funktionen und Code Schnipsel einfügen. Wenn das System einen Fehler bemerkt, erhältst du einen Warnhinweis. Und die Änderung wird erst gar nicht gespeichert.

Warnhinweis
Warnhinweis bei Code-Fehlern

Code Beispiele

Hier 3 Code-Schnipsel, die ich häufig für meine Seiten nutze:

  1. Entfernen der Emojis
  2. Nicht benötigte Widgets ausblenden.
  3. Lade das CSS von Contact Form 7 nur auf der Kontakt-Seite.
function disable_wp_emojicons() {

remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );

}
add_action( 'init', 'disable_wp_emojicons' );

function disable_widgets() { 

unregister_widget('WP_Widget_Calendar'); 
unregister_widget('WP_Widget_Links');   
unregister_widget('WP_Widget_Meta');
unregister_widget('WP_Widget_Archives');                  
}
add_action('widgets_init', 'disable_widgets', 11);

function webtimiser_styles() {

If (!is_page('kontakt'))
 {
 wp_dequeue_style('contact-form-7');
 
 }
add_action('wp_enqueue_scripts', 'webtimiser_styles',999);