Intereting Posts
Извлеките однолетнюю слизню Как интегрировать таблицу пользовательских баз данных в WordPress и использовать функции WordPress Создание страницы «Теги» с опцией поиска, вместо использования виджета Получить сообщения по метаданным ИЛИ заголовок Функция переопределения (переопределение) Предупреждение: join (): недопустимые аргументы, переданные в post-template.php Установите загружаемые файлы или каталог wp-содержимого на другой диск в Windows Server 2003 wordpress – добавьте настраиваемый раздел admin с полями для имени, адреса, города, состояния и загрузки фотографий Показать размер пользовательского изображения меньше в редакторе динамическая страница не проиндексирована Форма RSVP для событий Facebook из сообщения WordPress? Сайт не найден с использованием поддоменов Загрузка страниц через Ajax и отображение названий Поиск страниц, которые являются дочерними элементами текущей страницы Как изменить страницу архива таксономии с параметром поиска?

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

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

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