Fatal error: Uncaught Error: Call to undefined function do_action_ref_array () when using wp_signon function

Jsem nováčkem ve vývoji webových aplikací, protože posledních pár dní se snažím přihlaste se pomocí php kódu. Můj kód PHP je následující

//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(); 

když je kód PHP spuštěn na serveru, zobrazí se níže uvedená chyba.

Závažná chyba: Nezachycená chyba: Volání nedefinované funkce do_action_ref_array () v / Users / meenalgupta / Sites / wordpress / mysite / wp-includes / user. php: 57 Trasování zásobníku: # 0 /Users/meenalgupta/Sites/wordPress/mysite/wp-admin/mypage.php(38): wp_signon (Array, 0) # 1 {main} vhozeno / Users / meenalgupta / Sites / wordpress / mysite / wp-includes / user.php on line 57

Moje verze wordpressu je 4.4.1.

Prosím vím, co mám dělat?

Komentáře

  • wp-admin/mypage.php co to je?
  • @toscho OP jasně vytvořil náhodný soubor v wp-admin a pokouší se načíst WordPress ručně. @Meenal Gupta PROČ TO DĚLÁTE !?
  • mypage.php je jen cvičný soubor, který jsem vytvořil ve wp-admin. Chci se přihlásit na server, abych mohl psát na svém místním webu wordpress .

Odpověď

Kódy byste měli BINDOVAT do praxe (můžete použít plugins_loaded pro nejranější fázi):

add_action("plugins_loaded", "my_func"); function my_func(){ // ======== HERE YOUR CODES =========// } 

ps musíte soubor správně zahrnout!

include_once(ABSPATH."wp-includes/user.php"); 

Odpovědět

Pravděpodobně zavoláte wp_signon příliš brzy. Nejprve musíte nechat volat celé jádro wordpressu, než jej zavoláte

Komentáře

  • děkuji za odpověď, ale můžete mi pomoci, jak nechat načítat všechna jádra wordpressu?
  • @MeenalGupta, ze svého komentáře k otázce to děláte špatně, neměli byste nic přidávat do základních adresářů wordpressu a neměli byste přímo přistupovat k žádnému souboru který není v kořenovém adresáři wordpressu ani v koncovém bodě ajaxu. Bez dalších souvislostí o tom, co vlastně chcete dělat, je těžké být konkrétnější.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *