Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Beste Praxis: Prüfen, ob die Funktion beim Hinzufügen im WordPress-Theme vorhanden ist

Hinweis der Redaktion: Wir erhalten eine Provision für Partnerlinks auf WPBeginner. Die Provisionen haben keinen Einfluss auf die Meinung oder Bewertung unserer Redakteure. Erfahre mehr über Redaktioneller Prozess.

Kürzlich fragte uns ein Benutzer, wie er überprüfen kann, ob eine PHP-Funktion existiert, bevor er neuen Code in seine WordPress-Site einfügt, der sich auf diese Funktion bezieht.

Das Beste an WordPress ist seine Flexibilität, einschließlich der Möglichkeit, Ihre eigenen benutzerdefinierten Funktionen zu Ihrer Website hinzuzufügen. Manchmal kann es jedoch vorkommen, dass Ihr benutzerdefinierter Code nicht funktioniert, weil die Funktion, auf die er sich bezieht, nicht mehr existiert.

In diesem Artikel zeigen wir Ihnen, wie Sie ganz einfach überprüfen können, ob eine Funktion existiert, bevor Sie sie zu Ihrem WordPress-Theme hinzufügen.

Checking if a function exists in WordPress

Warum sollten Sie Ihrem benutzerdefinierten Code eine „If Function Exists“ hinzufügen?

WordPress ist hauptsächlich in der Programmiersprache PHP geschrieben. PHP ist eine serverseitige Programmiersprache, die auf den Servern Ihres WordPress-Hosting-Anbieters läuft.

Da der PHP-Code erst fertiggestellt werden muss, bevor die Seite in den Browsern Ihrer Besucher geladen wird, gibt es gewisse Einschränkungen. Eine dieser Einschränkungen besteht darin, dass, wenn etwas schief geht, die gesamte Seite nicht geladen werden kann.

Wenn in WordPress eine fehlende Funktion die Ausführung des restlichen Codes verhindert, wird dieser angehalten und eine kritische oder fatale Fehlermeldung angezeigt.

WordPress critical error message

Was kann dazu führen, dass eine Funktion plötzlich nicht mehr funktioniert oder verloren geht?

Das ist ein häufiger WordPress-Fehler, als Sie vielleicht denken.

Nehmen wir an, eines Ihrer WordPress-Plugins verfügt über eine Funktion, die Sie in den Kopf- oder Fußzeilenbereich Ihres Themes eingefügt haben. Wenn Sie das Plugin deaktivieren, wird die Funktion verschwinden und den kritischen Fehler auf Ihrer WordPress-Website verursachen.

Schauen wir uns also an, wie man ganz einfach überprüfen kann, ob eine Funktion existiert, bevor man sie in den WordPress-Theme-Dateien ausführt.

Prüfen, ob eine Funktion in WordPress vorhanden ist

Glücklicherweise verfügt die Programmiersprache PHP über eine eingebaute Methode, mit der sich die Existenz einer Funktion vor deren Ausführung leicht überprüfen lässt.

Angenommen, Sie haben eine WordPress-Funktion, die die aktuelle Zeit mit Zeitzoneninformationen anzeigt. Hier ist ein Beispiel-Code-Schnipsel, den Sie verwenden können, um es zu versuchen.

Sie können ihn direkt in die Datei functions.php Ihres Themes einfügen oder ein Code-Snippet-Plugin wie WPCode verwenden (empfohlen). In unserer Anleitung erfahren Sie, wie Sie ganz einfach benutzerdefinierten Code in WordPress hinzufügen können:

//display current time with timezone
function wpb_show_timezone() {
$better_time = current_time('F j, Y g:i a e');
echo "<p>The current time is " . $better_time ."</p>";
}

Um diese Funktion aufzurufen, müssen Sie den folgenden Code an der Stelle in Ihr WordPress-Theme einfügen, an der Sie die aktuelle Zeit anzeigen möchten.

<?php wpb_show_timezone(); ?>

So sah es auf unserer Test-Website aus.

Function runs normally

Was würde nun passieren, wenn der Code, der für die Ausführung dieser Funktion verantwortlich ist, verschwindet?

Der Aufruf der Funktion wird Ihre Website wie folgt unterbrechen.

Critical error in WordPress

Fügen wir eine Prüfung hinzu, die sicherstellt, dass dieser Code nur ausgeführt wird, wenn die Funktion existiert.

Auch hier müssen Sie den Code direkt in die Datei functions.php Ihres Themes einfügen oder ein Code-Snippet-Plugin wie WPCode verwenden (empfohlen):

<?php
if( function_exists('wpb_show_timezone')) {
wpb_show_timezone();
} else {
// do nothing
}
?>

In diesem Code verwenden wir die Funktion function_exists(). Diese Funktion prüft, ob eine Funktion existiert und gibt True oder False zurück.

Dann fügten wir eine if-else-Bedingung hinzu, um je nach Verfügbarkeit der Funktion entsprechende Maßnahmen zu ergreifen.

Wenn die Funktion nicht mehr verfügbar ist, wird sie vom Code einfach übersprungen, und WordPress kann den Rest Ihrer Website normal laden.

Missing function skipped

Wir hoffen, dass dieser Artikel Ihnen geholfen hat zu erfahren, wie Sie überprüfen können, ob eine Funktion in WordPress existiert. Vielleicht interessiert Sie auch unser kompletter WordPress-Leitfaden zur Fehlerbehebung oder unsere Expertenauswahl für die besten Drag-and-Drop-WordPress-Seitenerstellungsprogramme.

Wenn Ihnen dieser Artikel gefallen hat, dann abonnieren Sie bitte unseren YouTube-Kanal für WordPress-Videotutorials. Sie können uns auch auf Twitter und Facebook finden.

Offenlegung: Unsere Inhalte werden von unseren Lesern unterstützt. Das bedeutet, dass wir möglicherweise eine Provision verdienen, wenn Sie auf einige unserer Links klicken. Mehr dazu erfahren Sie unter Wie WPBeginner finanziert wird , warum das wichtig ist und wie Sie uns unterstützen können. Hier finden Sie unseren redaktionellen Prozess .

Das ultimative WordPress Toolkit

Erhalte KOSTENLOSEN Zugang zu unserem Toolkit - eine Sammlung von WordPress-bezogenen Produkten und Ressourcen, die jeder Profi haben sollte!

Reader Interactions

4 KommentareEine Antwort hinterlassen

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Joana Pereira says

    Good call Kovshenin. I know exactly what you mean because I was using a custom function with contact form 7 (to retrieve the ip address on each form) and every time the plugin was updated, the theme broke.

    Thanks for the tip

    Joana Pereira

  3. kovshenin says

    Right, only please stop checking for dynamic_sidebar with function_exists in WordPress themes, unless you need to support WordPress 2.2 and below, which I *highly* doubt. Also with the user photo plugin, the whole approach seems to be wrong and redundant to me, it looks like many developers are missing the whole point of pluggable functions…. Oh well :)

Eine Antwort hinterlassen

Danke, dass du einen Kommentar hinterlassen möchtest. Bitte beachte, dass alle Kommentare nach unseren kommentarpolitik moderiert werden und deine E-Mail-Adresse NICHT veröffentlicht wird. Bitte verwende KEINE Schlüsselwörter im Namensfeld. Lass uns ein persönliches und sinnvolles Gespräch führen.