WordPress-FehlerMeldungen von WordPress

WordPress „Call to undefined function“: fehlende Funktion finden und reparieren

„Call to undefined function“ heißt: Ein Plugin, Theme oder Schnipsel ruft eine PHP-Funktion auf, die es in diesem Moment nicht gibt. PHP bricht ab, Besucher sehen meist nur „There has been a critical error on this website“. Typische Gründe: Ein benötigtes Plugin wie Advanced Custom Fields ist deaktiviert, alter Code nutzt Funktionen wie mysql_connect, die neuere PHP-Versionen nicht mehr kennen, oder dem Server fehlt eine PHP-Erweiterung. Die Meldung nennt Funktion, Datei und Zeile und damit den Auslöser.

So sieht die Meldung aus

  • Fatal error: Uncaught Error: Call to undefined function get_field()
  • Fatal error: Uncaught Error: Call to undefined function mysql_connect()
  • Fatal error: Uncaught Error: Call to undefined function create_function()
  • Fatal error: Uncaught Error: Call to undefined function curl_init()
  • Fatal error: Uncaught Error: Call to undefined function add_action()

Woran es liegt.

Benötigtes Plugin deaktiviert

Themes und Plugins bauen oft auf anderen Plugins auf. Ruft ein Theme get_field() aus Advanced Custom Fields auf und ACF ist deaktiviert oder gelöscht, fehlt die Funktion. Dasselbe passiert mit Funktionen aus WooCommerce oder aus Seitenbaukästen.

Funktion in neuer PHP-Version entfernt

PHP streicht veraltete Funktionen nach und nach. mysql_connect und die übrigen mysql-Funktionen gibt es seit PHP 7 nicht mehr, create_function und each seit PHP 8. Stellt der Hoster auf eine neue Version um, bricht Code, der sie noch nutzt, sofort ab.

PHP-Erweiterung fehlt

Funktionen wie curl_init, imagecreatetruecolor oder simplexml_load_string stammen aus Erweiterungen, hier cURL, GD und SimpleXML. Fehlt eine davon auf dem Server, etwa nach einem Wechsel der PHP-Version im Hosting-Panel, kennt PHP die Funktion nicht.

Aufruf zum falschen Zeitpunkt

Manche WordPress-Funktionen stehen erst bereit, wenn WordPress fertig geladen ist. Ruft ein Plugin etwa is_user_logged_in() direkt beim Laden seiner Datei auf statt auf dem Hook init, existiert die Funktion noch nicht.

Datei direkt aufgerufen

Öffnet jemand eine Plugin-Datei direkt im Browser, läuft sie ohne WordPress. Dann fehlen Funktionen wie add_action. Das ist meist harmlos. Gut gebaute Plugins brechen in diesem Fall mit einer Prüfung auf ABSPATH ab.

Unvollständiger Schnipsel oder Tippfehler

Ein kopierter Schnipsel ruft eine Hilfsfunktion auf, die im Original weiter unten stand und beim Kopieren verloren ging. Auch ein Tippfehler im Funktionsnamen führt zu genau dieser Meldung.

So behebst Du den Fehler.

Leg vor jeder Änderung eine Sicherung von Dateien und Datenbank an. Geh die Schritte der Reihe nach durch und prüf nach jedem, ob die Seite wieder lädt.

  1. Funktion und Datei ablesen

    Die Meldung nennt den Namen der fehlenden Funktion und dahinter den Pfad der Datei, die sie aufruft. Liegt der Pfad unter wp-content/plugins, ist dieses Plugin der Auslöser, unter wp-content/themes das Theme. Sehen Besucher lediglich die Meldung über einen kritischen Fehler, stehen die Details im PHP-Protokoll des Hosters. Oft schickt WordPress sie zusätzlich per E-Mail an die hinterlegte Admin-Adresse.

  2. Seite wieder erreichbar machen

    Ist das Dashboard gesperrt, hängst Du per FTP an den Ordnernamen des betroffenen Plugins einen Zusatz wie -aus an. WordPress lädt es dann nicht mehr. Liegt der Fehler im Theme, hilft dasselbe mit dem Theme-Ordner. Bequemer geht es, wenn WordPress eine E-Mail mit einem Anmeldelink für den Wiederherstellungsmodus geschickt hat.

  3. Abhängiges Plugin wieder aktivieren

    Gehört die Funktion zu einem Plugin, das deaktiviert oder gelöscht wurde, aktiviere oder installiere es unter Plugins → Installierte Plugins neu. Bei get_field ist das Advanced Custom Fields, bei wc_get_product WooCommerce. Eine Suche nach dem Funktionsnamen verrät schnell, woher er stammt.

  4. Aufruf im Theme absichern

    Im eigenen Theme oder Child-Theme lässt sich ein Aufruf so schützen, dass die Seite nicht mehr abstürzt, wenn das Plugin fehlt. Es fehlt dann nur die Ausgabe an dieser einen Stelle.

    Template-Datei oder functions.php (Child-Theme)
    if ( function_exists( 'get_field' ) ) {
    	echo esc_html( get_field( 'untertitel' ) );
    }
  5. PHP-Version und Erweiterungen prüfen

    Unter Werkzeuge → Website-Zustand steht im Reiter „Bericht“ im Abschnitt „Server“ die PHP-Version. Der Reiter „Zustand“ warnt, wenn empfohlene Module fehlen. Gehört die Funktion aus der Meldung zu einer fehlenden Erweiterung, schalte sie im Hosting-Panel ein oder bitte den Hoster darum.

  6. Veralteten Code ersetzen

    Nutzt ein Plugin oder Theme noch mysql_connect, create_function oder each, ist es für aktuelle PHP-Versionen nicht mehr gemacht. Such ein Update oder einen gepflegten Ersatz. Als Übergang kannst Du im Hosting-Panel kurz die ältere PHP-Version wählen, bis der Ersatz steht. Auf Dauer ist das unsicher.

  7. Zeitpunkt des Aufrufs korrigieren

    In eigenem Code gehören Aufrufe von WordPress-Funktionen in eine Funktion, die an einem Hook hängt. So laufen sie erst, wenn WordPress bereit ist.

    Plugin- oder Theme-Datei
    add_action( 'init', function () {
    	if ( is_user_logged_in() ) {
    		// Code für angemeldete Benutzer
    	}
    } );
  8. Anbieter oder Hoster einbeziehen

    Stammt der Fehler aus einem gekauften Theme oder Plugin, schick dem Anbieter die vollständige Meldung samt PHP-Version. Fehlt eine Erweiterung, die Du nicht selbst einschalten kannst, ist der Hoster zuständig.

Zuletzt geprüft am 25. September 2026.

So kommt er nicht wieder.

  • Einen Wechsel der PHP-Version zuerst auf einer Kopie der Website ausprobieren.
  • Plugins, auf die das Theme angewiesen ist, nur deaktivieren, wenn klar ist, was davon abhängt.
  • Eigenen Code mit function_exists absichern, sobald er Funktionen fremder Plugins nutzt.
  • Plugins, die seit Jahren kein Update bekommen, rechtzeitig austauschen.

Fragen zu Call to undefined function

Was bedeutet „Call to undefined function“ in WordPress?
PHP soll eine Funktion ausführen, die nicht geladen ist. Entweder fehlt das Plugin oder die PHP-Erweiterung, zu der sie gehört, oder die Funktion wurde aus PHP entfernt. Die Meldung nennt ihren Namen, danach suchst Du.
Warum kommt der Fehler nach einem PHP-Update?
Weil neuere PHP-Versionen alte Funktionen gestrichen haben, etwa mysql_connect oder create_function. Code, der sie nutzt, läuft nicht mehr. Die Lösung ist ein aktuelles Plugin oder Theme, nicht die alte PHP-Version.
Was tun bei „Call to undefined function get_field()“?
get_field gehört zu Advanced Custom Fields. Aktiviere ACF wieder unter Plugins → Installierte Plugins oder installiere es neu. Die Inhalte der Felder liegen weiter in der Datenbank und erscheinen danach wieder.
Kann ich die fehlende Funktion einfach selbst anlegen?
Davon ist abzuraten. Eine leere Ersatzfunktion versteckt nur den Fehler. Die Seite zeigt danach falsche oder fehlende Inhalte. Besser ist es, das fehlende Plugin oder die Erweiterung wieder bereitzustellen.

Lieber eine Website, die einfach läuft?

Wir bauen Websites, die schnell laden und ohne Update-Stress laufen. Oder wir übernehmen Deine WordPress-Seite samt Pflege. Erst Dein Paket, dann ein Termin per Video.

Kevin Baum im Videocall an seinem Schreibtisch, im Hintergrund eine Holzlattenwand mit farbigem Licht.

Erst Dein Paket, dann der Termin

Im Preisrechner tippst Du an, was Dich bremst. Du siehst sofort Dein Paket mit Preisspanne. Danach wählst Du direkt einen Termin, das Gespräch läuft per Video.

Dein Preis in 2 Minuten