плагин wordpress -> Вызов неопределенной функции wp_get_current_user ()

Я пытаюсь получить текущую информацию о пользователе в своем плагине, используя func wp_get_current_user (). Но я получаю Call to undefined function wp_get_current_user()

По-видимому, это происходит потому, что файл /wp-includes/pluggable который содержит эту функцию, не загружается до загрузки плагинов.

Кто-нибудь знает, как получить информацию о пользователе в моем плагине?

По-видимому, это происходит потому, что файл / wp-includes / pluggable, который содержит эту функцию, не загружается до загрузки плагинов.

В самом деле. Так что оберните любую вещь, которую вы выполняете в функции, и зацепите ее за плагин plugins_loaded или init. (см. файл wp-settings.php)

Пример:

 add_action('init','do_stuff'); function do_stuff(){ $current_user = wp_get_current_user(); // ... } 

Вы можете использовать это,

 <?php if(!function_exists('wp_get_current_user')) { include(ABSPATH . "wp-includes/pluggable.php"); } ?> 

это должно решить вашу проблему 🙂

После установки wp 3.8 у меня была та же проблема со страницей, которую я получаю с помощью ajax. Я исправил его следующим кодом:

 if(!function_exists('wp_delete_user')) { include(ABSPATH . "wp-admin/includes/user.php."); } 

По-видимому, функция перемещается из pluggable.php в user.php. Тем не менее я не понимаю, почему это не работает после включения wp-blog-header.php.

попробуйте добавить также

 require_once('../../../wp-load.php'); 

вместе с

 require_once(ABSPATH.'wp-includes/pluggable.php'); 

После обновления WP я получил такое же сообщение об ошибке. Исправление, которое сработало для меня, быстро и просто:

Найдите options.php в каталоге wp-includes (WP 3.8.x). Добавьте вверху вверх, после открытия php-тега:

 require_once('pluggable.php'); 

моя проблема решена с помощью этого кода, пожалуйста

 include_once(ABSPATH . 'wp-includes/pluggable.php'); 

NOT wp-includes но:

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

Быстрое исправление include_once(ABSPATH . 'wp-includes/pluggable.php'); добавьте эту строку в свои возможности. php