Intereting Posts
Создание структуры константной ссылки для одного архива таксономии на пользовательский тип сообщения Проверьте, подключен ли пользователь и получает ли он ID без полной загрузки wordpress Как сообщать wp_query с помощью ajax Проблема с «условным тегом»: если пустая wp_insert_post, чтобы запланировать запись, но ничего не происходит? Добавить раздел в пользовательскую панель меню Ajax-вызов не работает для этого простого кода Сплит-пост для стилизации Очень медленная страница – как оптимизировать количество запросов? Как проверить, создан ли сайт wordpress? Возвращать вложения из пользовательского типа сообщения Есть ли способ поделиться потоком вашей Facebook-страницы на странице WordPress или публикации? Защита паролем пользовательского шаблона Получение только прямых дочерних страниц в WordPress с помощью get_pages Удалить «родительский» выбор при добавлении / редактировании категорий?

Возможно ли это показать сообщение пользователя после входа в систему

У меня есть веб-сайт, администратор настраивает одно сообщение для каждого пользователя регистра, только этот пользователь может видеть его при входе в систему (автор сообщения – это имя пользователя). Я думаю, что при входе пользователя в систему просто поиск имени пользователя, равного имени автора, будет в порядке.

Вопрос в том, как это сделать, я не слишком много знаю о PHP, трудно заставить его работать.

Он какой-то код, может быть, полезен.

<?php if ( is_user_logged_in() ) { echo 'Welcome, registered user!'; } else { echo 'Welcome, visitor!'; } ?> 

Solutions Collecting From Web of "Возможно ли это показать сообщение пользователя после входа в систему"

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

 $user_id = get_current_user_id( ); 

Идентификатор пользователя может использоваться для получения пользовательских данных с помощью get_userdata( ) :

 $user_data = get_userdata( $user_id ); 

С помощью этой информации вы сможете получить запрашиваемое сообщение с WP_Query .
Например (пользователи nicename):

 $query = new WP_Query( 'author_name=rami' ); 

Объединив все это вместе, вы можете создать что-то вроде:

 if ( is_user_logged_in( ) ) { $user_id = get_current_user_id( ); $user_data = get_userdata( $user_id ); $query = new WP_Query( 'author_name=' . $user_data->user_nicename ); if( $query->have_posts( ) ) { while( $query->have_posts( ) ) { $query->the_post( ); // The Loop } } } else { // A visitor } 

Вы можете немного поиграть с кодом, чтобы получить ровно одно сообщение с WP_Query но вы наверняка немного дальше по этому пути.

Я бы рассмотрел поиск user_id, а не user nicename. Пользователь может изменить свое имя, поэтому вам придется синхронизировать его (обновлять страницу пользователя каждый раз, когда пользователь меняет свое имя).

Выбор по nicename также намного медленнее, чем выбор по идентификатору пользователя.

использование

 $query = new WP_Query( array('author'=>$user_id, ...<OTHER QUERY PARAMS YOU ALREADY USE>) ); 

Конечно, вы также должны позаботиться о том, чтобы не показывать этот пост / страницу другим пользователям.