Jestem nowicjuszem w tworzeniu stron internetowych, od kilku dni mam problemy z zaloguj się za pomocą kodu php. Mój kod PHP jest następujący
//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();
Kiedy kod PHP jest wykonywany na serwerze, pojawia się poniższy błąd.
Błąd krytyczny: nieprzechwycony błąd: wywołanie niezdefiniowanej funkcji do_action_ref_array () w / Users / meenalgupta / Sites / wordpress / mysite / wp-include / user. php: 57 Ślad stosu: # 0 /Users/meenalgupta/Sites/wordPress/mysite/wp-admin/mypage.php(38): wp_signon (Array, 0) # 1 {main} wrzucony w / Users / meenalgupta / Sites / wordpress / mysite / wp-includes / user.php on line 57
Moja wersja wordpress to 4.4.1.
Pozwól wiem, co mam robić?
Komentarze
Odpowiedź
Powinieneś BIND kody do działania (możesz użyć plugins_loaded
na najwcześniejszym etapie):
add_action("plugins_loaded", "my_func"); function my_func(){ // ======== HERE YOUR CODES =========// }
ps musisz poprawnie załączyć plik!
include_once(ABSPATH."wp-includes/user.php");
Odpowiedź
Prawdopodobnie dzwonisz wp_signon
za wcześnie. Najpierw musisz załadować cały rdzeń wordpress, zanim go wywołasz.
Komentarze
- Dziękuję za odpowiedź, ale czy możesz mi pomóc aby załadować cały rdzeń WordPressa?
- @MeenalGupta, z twojego komentarza do pytania, po prostu robisz to źle, nie powinieneś niczego dodawać do głównych katalogów wordpress i nie powinieneś bezpośrednio uzyskiwać dostępu do żadnego pliku który nie znajduje się w głównym katalogu wordpress ani w punkcie końcowym Ajax. Bez większego kontekstu na temat tego, co naprawdę chcesz zrobić, trudno jest być bardziej szczegółowym.
wp-admin/mypage.php
co to jest?wp-admin
i próbuje ręcznie załadować WordPress. @Meenal Gupta DLACZEGO TO ROBISZ !?