Du weißt nicht, was die Datei functions.php von WordPress ist oder was du damit machen kannst?

Kurz gesagt: Mit der Datei functions.php von WordPress kannst du Code-Schnipsel zu deiner Website hinzufügen. Du kannst diese Code-Schnipsel auf viele verschiedene Arten nutzen. Wenn du also weißt, wie die Datei functions.php funktioniert, kannst du deine WordPress-Website besser gestalten.

In unserem ultimativen Leitfaden zur WordPress-Datei functions.php erfährst du alles, was du über diese Datei wissen musst.

Wenn du alles über die Datei functions.php weißt, zeigen wir dir auch 17 hilfreiche functions.php Code-Schnipsel, mit denen du deine Website anpassen kannst.

Was macht die Datei functions.php in WordPress?

Die Datei functions.php von WordPress ist eine Themedatei, mit der du benutzerdefinierte Codeschnipsel zu deiner Website hinzufügen kannst. Mit diesen Codeschnipseln kannst du die Funktionen verschiedener Bereiche deiner Website ändern oder neue Inhalte/Codes hinzufügen.

Obwohl die Datei functions.php Teil deines Themes ist, kannst du mit ihr nicht nur Anpassungen an deinem Theme vornehmen.

Du kannst jeden Bereich deiner Website anpassen, ähnlich wie bei den Plugins.

Hier sind einige gängige Anpassungen, die du mit der WordPress functions.php-Datei vornehmen kannst:

  • Ändern des grundlegenden WordPress-Verhaltens, z. B. wie viele Beiträge auf der Suchergebnisseite angezeigt werden sollen oder welche Inhalte in den RSS-Feed deiner Website aufgenommen werden sollen.
  • Erstelle deine eigenen benutzerdefinierten Shortcodes.
  • Füge neue Inhalte oder Skripte zu deiner Website hinzu, z. B. indem du ein Skript deines Live-Chat-Dienstes auf bestimmten Seiten einfügst oder die Fußzeile deiner Website bearbeitest.

Das ist nur die Spitze des Eisbergs..

Da du mit der Datei functions.php keine statische HTML-Datei, sondern benutzerdefinierte PHP-Code-Schnipsel in deine Website einfügen kannst, stehen dir alle Möglichkeiten offen, um Änderungen vorzunehmen.

Wo befindet sich die WordPress-Datei functions.php?

Die Datei functions.php von WordPress befindet sich im Ordner deines aktiven Themes, zusammen mit anderen Themedateien. Um die Datei zu finden, kannst du dich mit FTP oder einem Dateimanager-Tool mit deinem Server verbinden und nach …/wp-content/themes/[Name des aktiven Themes]/functions.php suchen

Wenn du zum Beispiel das beliebte OceanWP-Theme verwendest, befindet sich die Datei functions.php unter …/wp-content/themes/oceanwp/functions.php

So arbeitest du sicher mit der Datei functions.php

Da du bei der Arbeit mit der Datei functions.php von WordPress Code zu deiner Website hinzufügst, ist es wichtig, dass du dich an einige Best Practices hältst, bevor du Änderungen vornimmst.

Selbst etwas so Einfaches wie ein fehlendes Komma oder Apostroph kann zu Fehlern auf deiner Website führen, wie z. B. dem WordPress White Screen of Death.

In neueren WordPress-Versionen ist WordPress besser in der Lage, mit solchen Fehlern umzugehen, indem es z. B. die Meldung „Auf Ihrer Website ist ein kritischer Fehler aufgetreten“ anzeigt oder vor dem Speichern deiner Änderungen auf PHP-Fehler prüft.

Um Probleme zu vermeiden, empfehlen wir dir aber trotzdem, diese Best Practices zu befolgen..

Teste deinen functions.php Code auf einer Staging-Seite

Bevor du einen functions.php-Code in deine WordPress-Website einfügst, empfehlen wir dir, ihn zunächst auf einer Staging-Version deiner Website zu testen. So kannst du nach möglichen Fehlern suchen und sicherstellen, dass der Code-Snippet wie vorgesehen funktioniert.

Wenn du bei Kinsta hostest, bietet Kinsta ein einfaches 1-Klick-Staging-Tool für alle Pakete an. Das ist einer der Vorteile von Managed WordPress Hosting.

Wenn du anderswo hostest, kannst du dir unseren Leitfaden zum Einrichten einer WordPress-Staging-Site ansehen.

Mache ein Backup deiner Website, bevor du Änderungen an der functions.php vornimmst

Zusätzlich zu den Tests auf einer Staging-Site solltest du auch ein Backup deiner Live-Website erstellen, bevor du den Code-Snippet in die functions.php-Datei deiner Live-Site einfügst.

Dies ist eine bewährte Vorgehensweise, wenn du WordPress-Dateien bearbeitest.

Sollte etwas mit dem Code-Snippet schiefgehen, kannst du auf diesen Sicherungspunkt zurückgreifen und deine Website sofort wieder zum Laufen bringen.

Wenn du bei Kinsta hostest, erstellt Kinsta jeden Tag automatisch ein Backup deiner Website, du kannst aber auch jederzeit manuell ein Backup erstellen. Wenn du deine Website woanders hostest, kannst du unseren Leitfaden zum Sichern einer WordPress-Website lesen.

Verwende immer ein Child Theme, wenn du die Datei functions.php bearbeitest

Da sich die Datei functions.php im Code deines WordPress-Themes befindet, überschreibt dein Theme die Datei functions.php, wenn du dein Theme aktualisierst.

Um zu vermeiden, dass die Änderungen, die du an der Datei functions.php deines Themes vorgenommen hast, überschrieben werden, solltest du immer ein WordPress Child-Theme verwenden und deine Codeschnipsel in die Datei functions.php des Child-Themes einfügen.

Wenn du ein Child-Theme verwendest, kannst du das Parent-Theme bei Bedarf immer noch aktualisieren, aber alle deine Anpassungen in der Datei functions.php werden nicht überschrieben.

Mehr dazu erfährst du in unserer Anleitung zur Erstellung eines WordPress Child-Themes.

2 Alternativen zur functions.php-Datei, die besser sein könnten

Die Datei functions.php von WordPress bietet zwar eine einfache Möglichkeit, Code-Schnipsel zu deiner Website hinzuzufügen, aber es gibt einige functions.php-Alternativen, die in den meisten Situationen eine bessere Lösung bieten:

  1. Ein Code Manager Plugin verwenden
  2. Speichern von Code-Snippets in einem eigenen Plugin

Diese Alternativen können einige Vorteile gegenüber der functions.php-Datei haben:

  • Sie sind nicht an dein Theme gebunden – das bedeutet, dass deine functions.php-Anpassungen auch dann noch vorhanden sind, wenn du dein Theme wechselst.
  • Bessere Organisation – diese Alternativen machen es einfacher, deine Codeschnipsel zu organisieren, was hilfreich sein kann, wenn du vorhast, viele Codeschnipsel auf deiner Seite einzufügen.
  • Mehr Kontrolle – mit einem Code-Manager-Plugin erhältst du hilfreiche Optionen, wie z. B. das Aktivieren/Deaktivieren eines Snippets über einen Toggle-Button, das Ausführen von Snippets nur im Frontend oder Backend und mehr.

Verwende ein Code Manager Plugin

Ein Code-Manager-Plugin ist ein Plugin, das dir eine benutzerfreundliche Oberfläche zum Hinzufügen und Bearbeiten von Code-Snippets bietet, die sonst in der Datei functions.php stehen würden.

Eine der beliebtesten Optionen ist das kostenlose Code Snippets Plugin, aber du kannst auch andere Plugins finden, die ähnliche Funktionen bieten.

Mit Code Snippets kannst du deine functions.php Codeschnipsel vom WordPress-Dashboard aus hinzufügen, einschließlich folgender Optionen,..

  • Füge einen Titel und eine Beschreibung hinzu.
  • Organisiere deine Snippets mit Tags.
  • Führe das Snippet nur in einem bestimmten Teil deiner Website aus.
Hinzufügen eines Code-Snippets mit dem Code Snippets Plugin
Hinzufügen eines Code-Snippets mit dem Code Snippets Plugin

Du kannst dann alle deine Snippets in einer Liste sehen und sie bei Bedarf einfach aktivieren/deaktivieren.

So verwaltest du Snippets in Code Snippets
So verwaltest du Snippets in Code Snippets

Da Code Snippets ein Plugin ist, bleiben alle deine Code Snippets erhalten, auch wenn du das WordPress-Theme wechselst.

Ein eigenes Feature-Plugin erstellen

Eine andere Alternative zur Datei functions.php von WordPress ist die Erstellung eines eigenen Plugins, in dem die Code Snippets gespeichert werden.

Das klingt vielleicht kompliziert, ist aber viel einfacher, als es scheint.

So funktioniert es:

  1. Erstelle auf deinem lokalen Computer einen Ordner für dein Plugin.
  2. Erstelle eine einzelne .php-Datei in diesem Ordner und bearbeite sie mit deinem bevorzugten Texteditor.
  3. Füge die unten stehende Codevorlage in die Datei ein.
  4. Füge deine functions.php-Codefragmente in die Datei ein
<?php

/**
* Plugin Name: My Custom Code Snippets
* Description: This is a custom plugin to house code snippets.
* Author: Kinsta
* Version: 1.0
*/

/* Add the first code snippet below this comment - use the comment to explain what it does. */
[CODE]

/* Add the second code snippet below this comment. */
[CODE]

/* Continue as needed. */
[CODE]

?>

Dann musst du das Plugin nur noch in WordPress installieren und aktivieren. Hier sind 2 Möglichkeiten, das zu tun:

  1. Verbinde dich per FTP/SFTP mit deinem Server und lade den Ordner mit dem benutzerdefinierten Plugin in den Ordner wp-content/plugins hoch. Gehe dann in die Plugins-Liste und aktiviere das Plugin.
  2. Benutze deinen Computer, um eine .zip-Datei des Ordners zu erstellen. Dann gehst du zu Plugins → Neu hinzufügen und lädst die .zip-Datei hoch, um es wie jedes andere Plugin zu installieren.

Wie du auf die WordPress functions.php Datei zugreifst: 2 Optionen

Es gibt verschiedene Möglichkeiten, wie du auf die Datei functions.php von WordPress zugreifen und sie bearbeiten kannst. Hier sind 2 der vielseitigsten Methoden, die bei jedem Hoster funktionieren:

  1. WordPress In-Dashboard Theme Code Editor.
  2. SFTP und dein eigener Code-Editor.

1. Nutze den WordPress In-Dashboard Theme Code Editor

Standardmäßig kannst du den gesamten Code deines Themes über dein WordPress-Dashboard bearbeiten, einschließlich der Datei functions.php:

  1. Öffne dein WordPress-Dashboard.
  2. Gehe zu Darstellung → Theme-Dateieditor.
  3. Wähle die Theme-Funktionen (functions.php) in der Liste der Theme-Dateien auf der rechten Seite aus.
  4. Füge deine Änderungen im Code-Editor hinzu.
  5. Klicke auf die Schaltfläche Datei aktualisieren, um deine Änderungen zu speichern.
So bearbeitest du die Datei functions.php in deinem WordPress-Dashboard
So bearbeitest du die Datei functions.php in deinem WordPress-Dashboard

Viele Menschen möchten die Dateibearbeitung im WordPress-Dashboard deaktivieren, um die Sicherheit zu erhöhen. In diesem Fall kannst du die nächste Methode anwenden.

2. Verwende SFTP + deinen eigenen Code-Editor

Eine andere Möglichkeit, die WordPress-Datei functions.php zu bearbeiten, besteht darin, dich per FTP/SFTP mit deinem Server zu verbinden und die Datei auf diese Weise zu bearbeiten.

So geht’s:

  1. Lade dir einen FTP-Client herunter, falls du das noch nicht getan hast – für die Screenshots verwenden wir den kostenlosen FileZilla-Client.
  2. Stelle mit deinen FTP-Zugangsdaten eine Verbindung zu deinem Server her – hier erfährst du , wie du SFTP für die Verbindung verwendest.
  3. Verwende die Ordnerstruktur, um zu …/wp-content/themes/[dein-aktives-Child-Theme] zu navigieren
  4. Klicke mit der rechten Maustaste auf die Datei functions.php und wähle Bearbeiten.
So bearbeitest du die Datei functions.php mit FileZilla
So bearbeitest du die Datei functions.php mit FileZilla

Dies sollte die Datei auf deinen lokalen Computer herunterladen und sie automatisch in einem Texteditor öffnen. Du kannst nun deine Codeschnipsel in die Datei einfügen.

FileZilla öffnet die Datei in einem lokalen Texteditor - z.B. Sublime Text
FileZilla öffnet die Datei in einem lokalen Texteditor – z.B. Sublime Text

Wenn du fertig bist, speicherst du deine Änderungen und schließt die Datei.

FileZilla sollte dann eine Aufforderung anzeigen, die bearbeitete Version erneut auf deinen Server hochzuladen.

Stelle sicher, dass du die Datei functions.php erneut hochlädst, nachdem du deine Änderungen vorgenommen hast
Stelle sicher, dass du die Datei functions.php erneut hochlädst, nachdem du deine Änderungen vorgenommen hast

Nützliche Funktionen in der functions.php-Datei von WordPress

Nachdem du nun weißt, wie du die Datei functions.php in WordPress bearbeitest, wollen wir uns nun einige der nützlichsten functions.php-Codefragmente ansehen, die du deiner Website hinzufügen kannst.

Anzeige des letzten Änderungsdatums in Blogbeiträgen

Die meisten Themes zeigen standardmäßig das Datum an, an dem du einen Blogbeitrag veröffentlicht hast. Wenn du jedoch regelmäßig alte Inhalte aktualisierst, möchtest du vielleicht auch das Datum der letzten Änderung anzeigen (oder das Veröffentlichungsdatum durch das Datum der letzten Änderung ersetzen).

Das zeigt nicht nur deinen Besuchern, dass du die Inhalte immer noch aktualisierst, sondern auch Google, dass deine Inhalte frisch sind.

function show_last_updated( $content ) {
$u_time = get_the_time('U');
$u_modified_time = get_the_modified_time('U');
if ($u_modified_time >= $u_time + 86400) {
$updated_date = get_the_modified_time('F jS, Y');
$updated_time = get_the_modified_time('h:i a');
$custom_content .= '<p class="last-updated-date">Recently updated on '. $updated_date . ' at '. $updated_time .'</p>';
}
$custom_content .= $content;
return $custom_content;
}
add_filter( 'the_content', 'show_last_updated' );

Weitere Informationen findest du in unserem Beitrag über die Anzeige des letzten Änderungsdatums in WordPress.

Deaktiviere die WordPress-Symbolleiste für bestimmte Nutzer

Standardmäßig zeigt WordPress die WordPress-Symbolleiste für alle angemeldeten Benutzer mit den eingebauten WordPress-Benutzerrollen an. Das gilt nicht unbedingt für benutzerdefinierte Rollen, wie zum Beispiel die Benutzerrolle Kunde für WooCommerce-Geschäfte.

Wenn du das ändern möchtest, kannst du einen functions.php Code-Snippet verwenden, um die WordPress-Symbolleiste für bestimmte Benutzerrollen auszublenden.

In diesem Beispiel wird die Admin-Symbolleiste für Benutzer mit der Benutzerrolle „Autor“ ausgeblendet.

add_filter( 'show_admin_bar', function( $show ) {
if ( current_user_can( 'author' ) ) {
return false;
}
return $show;
} );

Verzögern des Erscheinens von Beiträgen im RSS-Feed

Standardmäßig erscheinen die Inhalte in deinem RSS-Feed, sobald du sie veröffentlichst. Das kann Content-Scrapern die Möglichkeit geben, deine Inhalte zu scrapen und in Google zu indexieren, bevor Google deinen ursprünglichen Beitrag überhaupt indexiert hat.

Um zu verhindern, dass jemand anderes die Lorbeeren für deine Inhalte erntet, kannst du das Erscheinen von Beiträgen in deinem RSS-Feed verzögern.

Damit kannst du zwar nicht verhindern, dass Scraper deine Inhalte abgreifen, aber du kannst Google Zeit geben, deine Inhalte zu indexieren.

Hier ist das Codeschnipsel – du kannst die Zahl – in diesem Beispiel „30“ – in die Anzahl der Minuten ändern, die du für die Verzögerung bevorzugst:

function kinsta_delay_feed_content($where) {

global $wpdb;

if ( is_feed() ) {
// timestamp in WP-format
$now = gmdate('Y-m-d H:i:s');

// value for wait; + device
$wait = '30'; // integer

// http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
$device = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR

// add SQL-sytax to default $where
$where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
}
return $where;
}

add_filter('posts_where', 'kinsta_delay_feed_content');

Bestimmte Kategorien vom RSS-Feed ausschließen

Du kannst nicht nur das Erscheinen von Inhalten im RSS-Feed verzögern, sondern auch ganze Kategorien von Blogbeiträgen aus dem RSS-Feed deiner Website ausschließen.

Um dies zu erreichen, kannst du den folgenden functions.php Codeschnipsel verwenden:

function kinsta_exclude_category_rss($query) {
if ($query->is_feed) {
$query->set('cat','-38');
}
return $query;
}
add_filter('pre_get_posts','kinsta_exclude_category_rss');

Ersetze die Beispiel-Kategorie-ID – „38“ – durch die tatsächlichen Kategorie-IDs, die du ausschließen möchtest (und entferne nicht das Minuszeichen)

So findest du die ID-Nummer:

  1. Gehe zu Beiträge → Kategorien, um eine Liste aller Kategorien auf deiner Seite zu sehen.
  2. Klicke auf Bearbeiten unter der Kategorie, die du ausschließen möchtest.
  3. Sieh dir die URL der Bearbeitungsseite in der Adressleiste deines Browsers an. Die Kategorie-ID ist die Nummer, die hinter ?taxonomy=category&tag_ID=X steht.

Wenn die URL z. B. https://yoursite. com/wp-admin/term.php?taxonomy=category&tag_ID=38&post_type=post lautet , dann ist die Kategorie-ID 38.

WordPress-Überarbeitungen nach Beitragstyp begrenzen

Um zu vermeiden, dass die Datenbank deiner Website aufgebläht wird, solltest du die Anzahl der zu speichernden Überarbeitungen von Beiträgen begrenzen.

Eine Möglichkeit, die Anzahl der WordPress-Beitragsüberarbeitungen zu begrenzen, besteht darin, die Datei wp-config.php zu bearbeiten. Vielleicht möchtest du aber auch unterschiedliche Anzahlen von Überarbeitungen für verschiedene Beitragstypen speichern – z. B. für Blogbeiträge und WooCommerce-Produkte.

Mit diesem functions.php Code-Snippet kannst du genau das tun. Ändere den Beitragstyp – in diesem Beispiel „post“ – in den Beitragstyp, den du kontrollieren willst, und die Zahl – in diesem Beispiel „5“ – in die Anzahl der Überarbeitungen, die du speichern willst.

function kinsta_post_revisions_by_type( $revisions, $post ) {

if( 'post' == $post->post_type ) {
$revisions = 5;
}

return $revisions;

}

add_filter( 'wp_revisions_to_keep', 'kinsta_post_revisions_by_type', 10, 2 );

* Hinweis: Du bearbeitest den „post“, der direkt nach der „if“-Anweisung kommt. Um zum Beispiel Produkte zu steuern, würde diese Zeile so aussehen:

if( 'product' == $post->post_type ) {

Deaktiviere die WordPress-Suchfunktion

Wenn deine Website keine Suchfunktion benötigt, solltest du die WordPress-Suchfunktion deaktivieren, um möglichen Missbrauch zu verhindern.

Auch wenn du zum Beispiel kein Suchfeld auf deiner Seite anzeigst, können Bots die Suchfunktion nutzen, indem sie ?s=[Suchbegriff] zu deiner URL hinzufügen.

Dazu kannst du den folgenden Codeschnipsel hinzufügen:

function kinsta_disable_wp_search( $query, $error = true ) {

if ( is_search() ) {
$query->is_search = false;
$query->query_vars[s] = false;
$query->query[s] = false;

// to error
if ( $error == true )
$query->is_404 = true;
}
}

add_action( 'parse_query', 'kinsta_disable_wp_search' );
add_filter( 'get_search_form', create_function( '$a', "return null;" ) );

Wenn jemand versucht, die Suchfunktion direkt zu benutzen, wird deine Website stattdessen eine 404-Seite zurückgeben.

Eigene Shortcodes erstellen (z. B. Aktuelles Jahr)

WordPress-Shortcodes sind sehr praktische Abkürzungen, mit denen du dynamische Inhalte in deine Website einbinden kannst.

Viele WordPress-Plugins nutzen Shortcodes, um ihre Funktionen zu unterstützen. Du kannst aber auch eigene Shortcodes erstellen, indem du die WordPress-Datei functions.php und die Funktion add_shortcode() verwendest.

Ein häufiger Anwendungsfall ist zum Beispiel die Erstellung eines Shortcodes, der das aktuelle Jahr anzeigt. Damit kannst du automatisch das aktuelle Jahr in all deinen Inhalten anzeigen lassen, ohne dass du jeden 1. Januar alles manuell aktualisieren musst.

Um einen solchen Shortcode zu erstellen, kannst du den folgenden Code verwenden:

function year_shortcode() {
$year = date('Y');
return $year;
}
add_shortcode('currentyear', 'year_shortcode');

Wenn du dann den Shortcode [currentyear] zu deinem Inhalt hinzufügst, wird er automatisch durch das aktuelle Jahr ersetzt – z. B. 2023.

Shortcodes in Beitragstiteln zulassen

In der Standardeinstellung führt WordPress keine Shortcodes aus, die du in das Titelfeld deines Beitrags einfügst. Wenn du Shortcodes in WordPress-Beitragstiteln verwenden möchtest, kannst du diese Funktion aktivieren, indem du einen einfachen Codeschnipsel in die Datei functions.php von WordPress einfügst.

Kombiniert mit dem vorherigen Codeschnipsel könntest du zum Beispiel automatisch das aktuelle Jahr in den Beitragstitel einfügen, indem du den Shortcode [currentyear] hinzufügst.

add_filter( 'the_title', 'do_shortcode' );

Login-Fehler ausblenden, um die Sicherheit zu verbessern

Standardmäßig zeigt WordPress bei fehlgeschlagenen Anmeldeversuchen eine erklärende Meldung an. Diese Meldung kann einige Informationen verraten, z. B. ob eine bestimmte E-Mail-Adresse auf deiner Website registriert ist oder nicht (auch wenn das Passwort falsch ist).

Um zu verhindern, dass möglicherweise sensible Informationen weitergegeben werden, kannst du diese Anmeldefehler ausblenden, indem du den folgenden Codeschnipsel in deine functions.php-Datei einfügst.

function kinsta_hide_login_errors(){
return 'These are not valid credentials';
}
add_filter( 'login_errors', 'kinsta_hide_login_errors' );

Dieses Snippet ersetzt den standardmäßigen Login-Fehlertext durch die folgende Meldung – These are not valid credentials.

Du kannst den Text nach deinen Wünschen anpassen – vermeide aber Bindestriche, Schrägstriche oder andere Zeichen, da dies zu einem Fehler führen kann (es sei denn, du „entkommst“ diesen Zeichen),

Ändern der Auszugslänge

In der Standardeinstellung zeigt der WordPress-Auszug die ersten 55 Wörter eines Beitrags.

Wenn du das ändern möchtest, kannst du den folgenden Codeschnipsel in die Datei functions.php einfügen.

function kinsta_change_excerpt_length($length) {
return 90;
}
add_filter('excerpt_length', 'kinsta_change_excerpt_length');

Mit dem obigen Code-Snippet wird die Länge des Auszugs auf 90 Wörter geändert. Wenn du eine andere Zahl bevorzugst, kannst du „90“ in die genaue Anzahl der Wörter ändern, die du verwenden möchtest.

Entferne die WordPress-Versionsnummer

Um es böswilligen Akteuren zu erschweren, herauszufinden, welche WordPress-Version du verwendest, entfernen einige Nutzer die WordPress-Versionsnummer aus dem Frontend-Code deiner Website.

Dazu kannst du die folgenden Codeschnipsel in deine functions.php-Datei einfügen.

function kinsta_hide_version() {
return '';
}
add_filter('the_generator', 'kinsta_hide_version');

WordPress-Paginierung einrichten

Wenn du mit der Paginierung in deinem Theme nicht zufrieden bist, kannst du mit einem functions.php-Codefragment das Verhalten der Paginierung anpassen oder sogar dein eigenes Paginierungssystem erstellen.

Wenn du dich für diese Art der Änderung interessierst, findest du hier eine ausführliche Anleitung zur WordPress-Paginierung mit einigen Beispielen für functions.php-Code-Snippets für dich.

Ändern der Anzahl der Ergebnisse, die auf der Suchergebnisseite angezeigt werden sollen

WordPress bietet dir eine Option, mit der du festlegen kannst, wie viele Beiträge auf den Archivseiten angezeigt werden sollen (Einstellungen → Lesen).

Dies ändert jedoch die Anzahl für alle Archivseiten. Was ist, wenn du nur für die Suchergebnisseite eine andere Anzahl verwenden möchtest?

Dafür kannst du dieses Snippet in deine functions.php-Datei einfügen. Achte darauf, dass du die Zahl („12“ in diesem Beispiel) in die tatsächliche Anzahl der Ergebnisse änderst, die du anzeigen möchtest, bevor du weitere Ergebnisse einfügst.

function kinsta_search_results_list() {
if ( is_search() )
set_query_var('posts_per_archive_page', 12);
}

add_filter('pre_get_posts', 'kinsta_search_results_list');

Featured Images in den WordPress-RSS-Feed einbinden

Wenn du die hervorgehobenen Bilder deiner Beiträge in deinen RSS-Feed einbinden möchtest, kannst du das folgende Snippet in deine functions.php-Datei einfügen.

function kinsta_featured_image_rss($content) {
global $post;
if ( has_post_thumbnail( $post->ID ) ){
$content = '<div>' . get_the_post_thumbnail( $post->ID, 'full', array( 'style' => 'margin-bottom: 15px;' ) ) . '</div>' . $content;
}
return $content;
}

add_filter('the_excerpt_rss', 'kinsta_featured_image_rss');
add_filter('the_content_feed', 'kinsta_featured_image_rss');

So wie er geschrieben ist, fügt der obige Codeschnipsel das Bild in voller Größe ein. Wenn du eine andere Miniaturgröße verwenden möchtest, kannst du „full“ in eine andere Miniaturgröße ändern – z. B. „large“ oder „medium“.

Upload-Unterstützung für Dateitypen hinzufügen (z. B. SVG)

Standardmäßig blockiert WordPress das Hochladen bestimmter Dateitypen, wie z. B. SVG-Dateien.

Um die Unterstützung für diese blockierten Dateitypen zu aktivieren, kannst du den folgenden Codeschnipsel in die Datei functions.php von WordPress einfügen:

function kinsta_myme_types($mime_types){
$mime_types['svg'] = 'image/svg+xml';
return $mime_types;
}
add_filter('upload_mimes', 'kinsta_myme_types', 1, 1);

Dieser Codeschnipsel ermöglicht nur SVG-Uploads, aber du kannst ihn bei Bedarf ändern, um andere Dateitypen zu unterstützen.

WordPress-Update-Hinweise für Nicht-Administratoren ausblenden

Standardmäßig zeigt WordPress allen Benutzern mit Dashboard-Zugang Nachrichten an, wenn ein neues Update verfügbar ist.

Auch wenn die Rolle eines Nutzers es ihm nicht erlaubt, das Update anzuwenden, wird er in der Dashboard-Meldung aufgefordert, den Administrator zu kontaktieren.

Um dies zu ändern, kannst du dieses Codeschnipsel verwenden, um die Update-Benachrichtigungen für alle Benutzer auszublenden, die keine Administratoren sind:

function kinsta_hide_update_nag() {
if ( ! current_user_can( 'update_core' ) ) {
remove_action( 'admin_notices', 'update_nag', 3 );
}
}

add_action('admin_menu','kinsta_hide_update_nag');

Weitere Varianten findest du in unserer Anleitung zum Deaktivieren von WordPress-Update-Benachrichtigungen.

Qualität der automatischen JPEG-Optimierung ändern

Auch wenn diese Funktion nicht jedem bekannt ist, komprimiert WordPress automatisch JPEG-Bilder, wenn du nach dem Hochladen von Bildern Thumbnails für deine Website erstellst.

Seit WordPress 4.5 hat WordPress die Standard-Qualitätsstufe auf 82 eingestellt (100 bedeutet keine Komprimierung).

Wenn du diese Qualitätsstufe höher oder niedriger einstellen möchtest, kannst du den folgenden Codeschnipsel in deine functions.php-Datei einfügen – achte darauf, dass du die Zahl („90“ in diesem Beispiel) in die tatsächliche Qualitätsstufe änderst, die du verwenden möchtest:

add_filter( 'jpeg_quality', create_function( '', 'return 90;' ) );

Best Practices für die Organisation deiner WordPress functions.php-Datei

Wenn du die Datei functions.php von WordPress nur benutzt, um ein paar Codeschnipsel hinzuzufügen, musst du dir wahrscheinlich keine Gedanken über die Organisation machen.

Wenn du aber viele Codeschnipsel zu deiner Website hinzufügst, kann es schnell unübersichtlich und komplex werden, wenn du dich nicht an einige Best Practices zur Organisation der functions.php-Datei hältst.

Hier sind ein paar bewährte Methoden, um deine Code-Snippets zu organisieren..

Füge Code-Kommentare hinzu, um alles zu erklären

Wenn du zum ersten Mal einen Codeschnipsel zu deiner functions.php-Datei hinzufügst, weißt du genau, was der Schnipsel bewirkt und warum du ihn hinzugefügt hast. Aber wenn du ein Jahr später auf die Datei functions.php zurückblickst, ist dir das vielleicht nicht mehr so klar.

Um das zu vermeiden, solltest du jedem Snippet einen Codekommentar hinzufügen, der erklärt, was das Snippet macht und warum du es hinzugefügt hast.

Codekommentare sind Text, der von WordPress nicht ausgeführt wird, aber von menschlichen Nutzern gelesen werden kann, um zu verstehen, was das Code-Snippet macht.

Um einen einzeiligen Code-Kommentar hinzuzufügen, kannst du dieses Format verwenden:

// This is a single-line code comment

Um einen mehrzeiligen Codekommentar hinzuzufügen, kannst du dieses Format verwenden:

/**
* This is a code comment that spans multiple lines
* This text is also in the same comment
* This is the last line in the code comment
*/

Hier ist ein Beispiel dafür, wie du Codekommentare verwenden kannst – du siehst, dass der Kommentar vor jedem Snippet erklärt, was das Snippet tut.

Ein Beispiel für die Verwendung von Codekommentaren zur Dokumentation von Snippets in der Datei functions.php
Ein Beispiel für die Verwendung von Codekommentaren zur Dokumentation von Snippets in der Datei functions.php

Verwende Include-Dateien, um Snippets in verschiedene Dateien aufzuteilen

Wenn du wirklich viele Code-Snippets hast, kannst du sie in separaten Dateien speichern, anstatt nur die Datei functions.php zu verwenden.

Dann kannst du diese Codeschnipsel mit include oder require in die functions.php-Datei einbinden. Mike Schinkel hat auf StackExchange ein gutes Beispiel dafür, wie du das umsetzen kannst.

Ziehe eine der oben genannten functions.php-Alternativen in Betracht

Wenn dir deine functions.php-Datei zu unübersichtlich wird, kannst du eine der functions.php-Alternativen verwenden, die wir bereits beschrieben haben.

Das kostenlose Code Snippets Plugin zum Beispiel macht es sehr einfach, alles zu organisieren, denn du kannst jedes Code Snippet separat hinzufügen, mit eigenem Titel und eigener Beschreibung. Du kannst auch Tags verwenden, um deine Snippets zu organisieren.

Zusammenfassung

Die Datei functions.php von WordPress ist eine themenspezifische Datei, mit der du PHP-Code-Snippets zu deiner Website hinzufügen kannst.

Wenn du Code-Snippets in die Datei functions.php einfügen willst, solltest du immer ein Child-Theme verwenden, damit deine Änderungen nicht überschrieben werden, wenn du dein Theme aktualisierst. Wir empfehlen außerdem, deine Website zu sichern, bevor du Snippets hinzufügst, und sie nach Möglichkeit auf einer Staging-Site zu testen.

Als Alternative zur functions.php-Datei kannst du auch ein Code Manager Plugin verwenden oder ein eigenes Plugin für deine Snippets erstellen.

Jetzt, da du weißt, wie die Datei functions.php von WordPress funktioniert, kannst du deine Website auf viele nützliche Arten anpassen.

Die obigen Beispiel-Snippets für die functions.php-Datei bieten dir einen guten Einstieg, aber die Möglichkeiten sind grenzenlos, wenn es darum geht, was du tun kannst.

Jeremy Holcombe Kinsta

Content & Marketing Editor bei Kinsta, WordPress Web Developer und Content Writer. Außerhalb von WordPress genieße ich den Strand, Golf und Filme. Außerdem habe ich Probleme mit großen Menschen ;).