Ich bin ein Neuling in der Webentwicklung, da ich seit einigen Tagen Probleme habe Login über PHP-Code. Mein PHP-Code lautet wie folgt:
//my php code @include_once "../wp-includes/user.php"; $creds = array( "user_login" => "abc", "user_password" => "abc", "rememember" => false ); $user = wp_signon( $creds, 0 ); if ( is_wp_error($user) ) echo $user->get_error_message();
Wenn der PHP-Code auf dem Server ausgeführt wird, wird der folgende Fehler angezeigt.
Schwerwiegender Fehler: Nicht erfasster Fehler: Aufruf der undefinierten Funktion do_action_ref_array () in / Users / meenalgupta / Sites / wordpress / mysite / wp-includes / user. PHP: 57 Stack-Trace: # 0 /Users/meenalgupta/Sites/wordPress/mysite/wp-admin/mypage.php(38): wp_signon (Array, 0) # 1 {main} in / Users / meenalgupta / Sites / wordpress / mysite / wp-includes / user.php in Zeile 57
Meine WordPress-Version ist 4.4.1.
Bitte lassen Sie Ich weiß, was zu tun ist?
Kommentare
-
wp-admin/mypage.php
Was ist das? - @toscho OP hat eindeutig eine zufällige Datei in
wp-admin
erstellt und versucht, WordPress manuell zu laden. @Meenal Gupta WARUM TUN SIE DAS? - mypage.php ist nur eine Übungsdatei, die ich in wp-admin erstellt habe. Ich möchte mich beim Server anmelden, damit ich auf meiner lokalen WordPress-Site posten kann .
Antwort
Sie sollten die Codes in Aktion binden (Sie können für das früheste Stadium):
add_action("plugins_loaded", "my_func"); function my_func(){ // ======== HERE YOUR CODES =========// }
ps Sie müssen die Datei korrekt einschließen!
include_once(ABSPATH."wp-includes/user.php");
Antwort
Sie rufen wahrscheinlich an wp_signon
zu früh. Sie müssen zuerst den gesamten WordPress-Kern laden lassen, bevor Sie ihn aufrufen.
Kommentare
- Vielen Dank für die Antwort, aber können Sie mir helfen, wie Damit alle WordPress-Kerndateien geladen werden können?
- @MeenalGupta, aus Ihrem Kommentar zu der Frage machen Sie es einfach falsch, Sie sollten nichts zu WordPress-Kernverzeichnissen hinzufügen und Sie sollten nicht direkt auf eine Datei zugreifen Das befindet sich nicht im WordPress-Stammverzeichnis oder im Ajax-Endpunkt. Ohne mehr Kontext darüber, was Sie tatsächlich tun möchten, ist es schwierig, genauer zu sein.