Intereting Posts
Перемещение небольших обновлений между локальными и живыми сайтами – просто база данных? Объединение «глубины» с «include» в wp_list_pages () Редактирование комментариев WordPress: создание комментария от выбора Показать окно обрезки изображения при загрузке изображения Как отображать виджет на странице без темы? Включить название в div? Magic Fields дает ошибку Файл ___ не существует? Настройка WordPress the_title с помощью add_filter Могу ли я отключить автозаполнение? Пользовательский SQL-запрос: получить все сообщения с идентификатором категории и укромный список тегов для каждого сообщения Где я могу найти реальный архитектурный документ в WordPress? Тестирование ошибок create_empty_blog () через PHPUnit + Unit Tests Установите стандартный тип почтового по умолчанию для XML-RPC get_shortcode_regex () соответствует только первому короткому коду Как удалить тег заголовка с помощью этого фильтра

проверьте, является ли пользователь владельцем текущей страницы

Я боюсь этой маленькой проблемы. У меня есть страница профиля пользователя, и я хочу изменить часть контента на основе того, является ли это моим собственным профилем для кого-то. Это мой код для добавления короткого кода, который в конечном итоге вызовет другие короткие коды.

function is_mine_func() { if (is_author() ) { echo 'it is my site'; // echo do_shortcode('[wpfepp_submission_form form="2"]' ); } else { echo 'its not your site'; //echo do_shortcode('[userpro template=postsbyuser postsbyuser_mode=grid]' ); } } add_shortcode( 'minminmin', 'is_mine_func' ); 

У меня такое чувство, что is_author – неправильный способ сделать это, так как я всегда получаю сообщение «не ваш сайт» независимо от того, являюсь ли я автором страницы или нет.

Должен ли is_author () не оценивать, являюсь ли я автором этой «страницы» или нет?

Solutions Collecting From Web of "проверьте, является ли пользователь владельцем текущей страницы"

Для Codex is_author() проверяет, находится ли вы на странице « is_author() например, страница, в которой перечислены все сообщения / страницы / etc, которые данный автор создал). Если вы используете какой-либо другой тип страницы, is_author() вернет false .

То, что вы ищете, звучит по следующим направлениям:

 if ( in_the_loop() ) { get_currentuserinfo(); print ( get_the_author() === $GLOBALS['current_user']->display_name ) ? 'It is my site.' : 'It is not my site.'; } 

Этот код должен использоваться в Loop.

Рекомендации

  • is_author()
  • get_the_author()
  • get_currentuserinfo()
  • in_the_loop()

Я бы попытался использовать идентификаторы автора, а не имя пользователя:

 if ( get_current_user_id() == get_the_author_meta( 'ID' ) ) { echo "It is my site."; else { echo "It's not my site"; }; 

Рекомендации

  • get_current_user_id
  • get_the_author_meta