Ik ben een nieuweling in webontwikkeling, sinds de afgelopen dagen heb ik moeite om login via php-code. Mijn PHP-code is als volgt
//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();
wanneer de PHP-code wordt uitgevoerd op de server krijg ik de onderstaande foutmelding.
Fatale fout: niet-afgevangen fout: oproep naar ongedefinieerde functie do_action_ref_array () in / Users / meenalgupta / Sites / wordpress / mijnsite / wp-include / user. php: 57 Stack-trace: # 0 /Users/meenalgupta/Sites/wordPress/mysite/wp-admin/mypage.php(38): wp_signon (Array, 0) # 1 {main} gegooid in / Users / meenalgupta / Sites / wordpress / mysite / wp-include / user.php on line 57
Mijn wordpress-versie is 4.4.1.
Laat weet ik wat ik moet doen?
Reacties
Answer
U moet de codes tot actie BINDEN (u kunt plugins_loaded
voor de vroegste fase):
add_action("plugins_loaded", "my_func"); function my_func(){ // ======== HERE YOUR CODES =========// }
ps je moet het bestand correct opnemen!
include_once(ABSPATH."wp-includes/user.php");
Antwoord
Je belt waarschijnlijk wp_signon
te vroeg. Je moet eerst de volledige wordpress-kern laten laden voordat je hem belt.
Reacties
- bedankt voor het antwoord, maar kun je me helpen met hoe om alle wordpress core te laten laden?
- @MeenalGupta, vanuit je commentaar op de vraag doe je het gewoon verkeerd, je zou niets moeten toevoegen aan de wordpress core directories, en je zou niet rechtstreeks toegang moeten krijgen tot een bestand die niet in de hoofdmap van wordpress of het eindpunt van ajax staat. Zonder meer context over wat u eigenlijk wilt doen, is het moeilijk om specifieker te zijn.
wp-admin/mypage.php
wat is dat?wp-admin
en probeert WordPress handmatig te laden. @Meenal Gupta WAAROM DOET JE DIT !?