Intereting Posts
Создайте страницу администратора в WordPress без меню администратора («боковые панели WordPress») Защищать изменения, внесенные в тему при обновлении Предел символов w / Excerpt удаляет изображения Почему? GoDaddy хостинг wp-admin проблема Пустые страницы «Форумы» страница форума BuddyPress форум – bbPress Пользовательский каталог загрузки на CPT; при удалении файл не удаляется Как я могу автоматически войти с помощью URL? Попытка использовать AngularJS с WordPress без API Как создать пользовательский метабокс с полями ввода имени пользователя / значения? Сообщения – отображать все сообщения, кроме сообщения по ID Как отображать обычные сообщения и настраиваемые типы сообщений, которые попадают под категорию, используя шаблон общей категории? Переадресация нескольких видов для только домашней страницы Пользовательский контроллер для видео, который добавляется из редактора Короткое обозначение из виджета обернуто в нежелательный элемент <p> Установить главную страницу, чтобы отображать сообщения только из одного тега

Скрыть div для подписчиков (роль пользователя) на одной странице (is_page)

Привет, я смотрел на это довольно долгое время и, похоже, не решил, что надеется, что кто-то более знакомый с ядром wordpress и php может поделиться некоторой идеей.

То, что я хочу выполнить, заключается в том, чтобы скрыть div, позволяющий пользователям buddypress (subscrivers) добавлять новые темы в групповой форум. Но я не хочу, чтобы это было скрыто от всех форумов только 1 из них. Поэтому мне нужно 2 штуки 1, которые определяют, является ли кто-то подписчиком или администратором. поэтому его единственное скрытое для абонента. и 2, что он скрывает его только с 1 страницы.

Пример потенциального кода просто должен соответствовать ему (весь код будет идти в функции.php, если нет другого способа)

<?php /* If this is the frontpage */ if ( is_home() || is_page() ) { ?> have info link or whatever in here <?php } ?> 

Thats для главной страницы, но аналогичным образом вы можете получить страницу по ID

Для роли я видел это

 is_admin() 

Я бы предположил, что есть

 is_subscriber() 

и оттуда вы можете сделать if, если в php что-то вроде if is_subscriber () и is_page (42) вызвать .js-файл, а оттуда добавить класс, который скрывает div, который я хочу скрыть jquery

То, насколько я понял, что знаю и оглядываюсь. Я был бы очень признателен за любую помощь.

Solutions Collecting From Web of "Скрыть div для подписчиков (роль пользователя) на одной странице (is_page)"

Просто скрывать div небезопасно – они могут легко отобразить его, отредактировав исходный код или выполнив некоторый Javascript в строке URL браузера. Я считаю, что это может быть то, что вы ищете:

 <?php if (current_user_can('subscriber')){ ?> [html here] <?php } ?> 

Источник: использование WordPress для отображения содержимого в зависимости от уровня пользователя

Если вам известен идентификатор страницы, на которой вы хотите скрыть кнопку, вы можете использовать is_page() в цикле. Вне цикла используйте следующее:

 global $post; $post_id = $post->ID; 

Хотя ответ @ JamesF должен работать, использование ролей считается менее стабильным, чем тестирование против определенных возможностей. Вы можете найти таблицу, сравнивающую роли и возможности в Codex. Доступны только те возможности, которые read подписчикам, поэтому вы можете протестировать их.

Ваш последний код будет выглядеть следующим образом:

 global $post; $post_id = $post->ID; if( $post_id = 42 && current_user_can( 'read' ) { // do stuff } 

Заключительный шаг – вот где это сделать. Если вы программно не добавляете кнопку через functions.php, вы будете вынуждены обернуть кнопку (aka « // do stuff ») в указанном выше коде в существующем файле темы. Это потребует отслеживания кнопки в вашей теме или, возможно, нахождения там, где это делается с помощью функции PHP в BuddyPress.