Intereting Posts
Использовать WP-CLI изнутри WordPress, а не SSH Показать Blogroll другого сайта WordPress Добавление другой кнопки «Добавить сообщение» для администратора Отображать категории из массива сообщений с значением поля ACF Дублируйте установку WordPress для целей тестирования Отображать пользовательскую таксономию, условия для детей и сообщения в шаблоне. Новый пользователь, созданный как Участник, а не Участник Изменение персонализированного типа сообщения в иерархическом порядке после регистрации Лучшая практика: что принадлежит теме и что в плагине для большого веб-сайта электронной коммерции Как вызвать ajax в файле плагина Изменить сообщение Meta через AJAX из таблицы списков сообщений Построен в аджак-админах администратора? Проблема с постоянными ссылками для пользовательского типа сообщения Получить термин имя и термин родительский в пользовательский пост тип permalink дата автоматического изменения, когда почта составляет 30 дней

Каждый раз, когда я использую wp_get_current_user (), мои плагины прерываются

Я пытаюсь сделать плагин для выписки, который позволяет пользователям выходить из военных учебных мероприятий, в которых они должны быть. После того, как они заполняют форму, объясняющую, почему они не собираются заниматься какой-либо деятельностью, они отправляют ее и помещают все данные в базу данных mysql. Я пытаюсь сохранить идентификатор пользователя в своих других данных, чтобы мы могли сказать, кто выйдет, но все, что я пробовал, ломает плагин и дает мне белый экран смерти.

Спасибо за вашу помощь. Вот мой код, чтобы получить идентификатор пользователя:

function f2user() { // Get the current user's info $current_user = wp_get_current_user(); if ( !($current_user instanceof WP_User) ) return; return $current_user->ID; } $usersid = f2user(); $activity = $_POST['activity']; $reason = $_POST['reason']; $explanation = $_POST['explanation']; 

Вы можете легко получить текущий идентификатор пользователя, используя get_current_user_id() .

 $usersid = get_current_user_id(); $activity = $_POST['activity']; $reason = $_POST['reason']; $explanation = $_POST['explanation']; 

Для вашей функции f2user() вы можете изменить свой код на это:

 $current_user = wp_get_current_user(); return $current_user->ID; 

Согласно документу wp_get_current_user() , если пользователь не wp_get_current_user() , $current_user->ID вернет 0.

Попробуй это. Если ни один пользователь не подписан, то wp_get_current_user получает фатальную ошибку, поэтому ваш плагин ломается. Но если вам нужен только идентификатор пользователя, используйте get_current_user_id. Если ни один пользователь не зарегистрировался, он вернет 0. Таким образом, ваш плагин не сломается. благодаря

 function f2user() { // Get the current user's info $current_user = get_current_user_id(); return $current_user; } $usersid = f2user();