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
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ší.
wp-admin/mypage.php
co to je?wp-admin
a pokouší se načíst WordPress ručně. @Meenal Gupta PROČ TO DĚLÁTE !?