Sunt nou dezvoltator web, deoarece în ultimele zile mă lupt să autentificare prin cod PHP. Codul meu PHP este după cum urmează
//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();
când codul PHP este executat pe server primesc eroarea de mai jos.
Eroare fatală: Eroare neprinsă: Apelați la funcția nedefinită do_action_ref_array () în / 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} aruncat în / Users / meenalgupta / Sites / wordpress / mysite / wp-includes / user.php on line 57
Versiunea mea de wordpress este 4.4.1.
Vă rugăm să știu ce să fac?
Comentarii
Răspuns
Ar trebui să LEGAȚI codurile în acțiune (puteți utiliza plugins_loaded
pentru prima etapă):
add_action("plugins_loaded", "my_func"); function my_func(){ // ======== HERE YOUR CODES =========// }
ps trebuie să includeți fișierul corect!
include_once(ABSPATH."wp-includes/user.php");
Răspuns
Probabil că sunați wp_signon
prea devreme. Mai întâi trebuie să lăsați tot wordpress-ul să se încarce înainte de a-l apela
Comentarii
- Vă mulțumim pentru răspuns, dar mă puteți ajuta cu privire la modul în care să lăsați toate wordpress-ul să se încarce?
- @MeenalGupta, din comentariul dvs. la întrebare, pur și simplu faceți greșit, nu ar trebui să adăugați nimic la directorele de bază ale wordpress și nu ar trebui să accesați direct niciun fișier care nu se află în directorul rădăcină wordpress sau în punctul final ajax. Fără mai mult context despre ceea ce doriți să faceți, este greu să fiți mai specific.
wp-admin/mypage.php
ce este asta?wp-admin
și încearcă să încarce WordPress manual. @Meenal Gupta DE CE FAȚI ACESTA !?