Aufruf der undefinierten Funktion add_options_page()
Lesezeit: 3 Minuten
Zheka
Ich habe das Plugin für mein WordPress-Projekt entwickelt. Ich habe es erfolgreich auf meinem lokalen xampp-Server mit 5.3 php getestet. Dann habe ich mein Projekt mit php 5.2 auf das Webhosting hochgeladen. Das erste Problem, mit dem ich konfrontiert war, war die Nichtunterstützung anonymer Funktionen in PHP 5.2. Kein Problem, ich habe alle Funktionen mit Namen neu deklariert. Aber dann bekam ich den Fehler Call to undefined function add_options_page(), den ich nicht erklären konnte. Bitte helfen Sie mir mit Ihren Ratschlägen
Mein Teil des Codes:
function mainPage(){
///some code
}
function mainPage2(){
add_options_page('Submissions of MAIN page contact form', 'Submissions of MAIN page contact form', 'manage_options','ea_submissions2', mainPage());
}
add_action('admin_menu',mainPage2());
Ich denke, dass etwas mit meinen Funktionen nicht stimmt, sehen Sie es bitte durch. Es gibt kein Problem mit PHP 5.2, wie ich dachte, dieser Teil des Codes funktioniert auch nicht mit PHP 5.3! Irgendwas stimmt mit meinem Code nicht
Welche PHP-Version verwendest du? Welche WP-Version? Wenn die Seite alt ist und auf PHP 4 läuft, dann ist Ihre WP-Version alt und unterstützt die Funktion add_options_page() möglicherweise nicht.
– zufälliger_Benutzername
17. August 2013 um 20:42 Uhr
wordpress ist ok, weil es wie gesagt gut auf php 5.3 läuft. Auf dem Webserver mit php 5.2 bekam ich diesen Fehler Call to undefined function add_options_page()
– Zheka
17. August 2013 um 20:46 Uhr
Ich meinte auf Ihrem Webserver, nicht auf Ihrem Localhost. Wenn Ihr Webserver 5.2 ist, sollten Sie gut sein. Läuft der Rest von WP? Sind Sie sicher, dass Sie einen guten Upload über FTP erhalten haben? Manchmal fehlen einige Dateien während des Uploads oder sind beschädigt.
– zufälliger_Benutzername
17. August 2013 um 20:59 Uhr
@cale_b Wenn Sie denken, dass meine Funktionen richtig geschrieben sind, ja, scheint das Upload-Problem zu sein, ich versuche, mindestens wp-admin noch einmal hochzuladen. Vielen Dank!
– Zheka
17. August 2013 um 21:10 Uhr
@cale_b nach dem erneuten Hochladen von wp-admin ist das Problem dasselbe
– Zheka
17. August 2013 um 21:12 Uhr
Ich hatte ein ähnliches Problem, es stellte sich heraus, dass ich eine Funktion zu früh ausgeführt habe:
Verwenden admin_init Haken statt init
Hoffentlich hilft das jemandem weiter 😀
Dies funktioniert nicht, weil Sie eine normale Funktion haben, die nicht in eine Klasse eingeschlossen ist, und weil add_options_page zu diesem Zeitpunkt noch nicht funktioniert, erhalten Sie deshalb den Fehler.
Eine Lösung wäre die Verwendung einer anonymen Funktion im Add-Action-Aufruf, aber daher funktioniert das nicht auf PHP 5.2.
Um es kurz zu machen, das lässt sich zwar beheben, aber Sie sollten PHP 5.2 überhaupt nicht mehr ausführen. PHP 5.5 ist bereits in der Entwicklung und 5.3 ist heutzutage faktisch Standard. Eine Lösung besteht darin, Ihr Hosting-Unternehmen zu bitten, PHP auf mindestens 5.3 zu aktualisieren, damit Sie anonyme Funktionen verwenden und es mit dem Aufruf zum Hinzufügen von Aktionen verbinden können.
Oder packen Sie alles in eine Klasse und erstellen Sie mit der Admin-Init-Funktion die neue Klasse.
Sie müssen Ihren Code innerhalb von admin_menu so aufrufen
Welche PHP-Version verwendest du? Welche WP-Version? Wenn die Seite alt ist und auf PHP 4 läuft, dann ist Ihre WP-Version alt und unterstützt die Funktion add_options_page() möglicherweise nicht.
– zufälliger_Benutzername
17. August 2013 um 20:42 Uhr
wordpress ist ok, weil es wie gesagt gut auf php 5.3 läuft. Auf dem Webserver mit php 5.2 bekam ich diesen Fehler Call to undefined function add_options_page()
– Zheka
17. August 2013 um 20:46 Uhr
Ich meinte auf Ihrem Webserver, nicht auf Ihrem Localhost. Wenn Ihr Webserver 5.2 ist, sollten Sie gut sein. Läuft der Rest von WP? Sind Sie sicher, dass Sie einen guten Upload über FTP erhalten haben? Manchmal fehlen einige Dateien während des Uploads oder sind beschädigt.
– zufälliger_Benutzername
17. August 2013 um 20:59 Uhr
@cale_b Wenn Sie denken, dass meine Funktionen richtig geschrieben sind, ja, scheint das Upload-Problem zu sein, ich versuche, mindestens wp-admin noch einmal hochzuladen. Vielen Dank!
– Zheka
17. August 2013 um 21:10 Uhr
@cale_b nach dem erneuten Hochladen von wp-admin ist das Problem dasselbe
– Zheka
17. August 2013 um 21:12 Uhr