Сделайте идентификатор видимым только для администратора wordpress, вошедшего в систему

#javascript #wordpress #element #display

Вопрос:

Я хотел бы, чтобы следующая функция работала, но не для администратора WordPress.

document.getElementById("my_id").style.display = 'none';

Кто-нибудь может мне здесь помочь?

Ответ №1:

Для этого вам не требуется javascript.

Если вы вошли в систему как администратор. WordPress добавит logged-in admin-bar классы в элемент тела. Вы можете использовать это для изменения значения отображения в style.css элементах для скрытия.

 #my-id {
  display: none;
}

body.logged-in.admin-bar #my-id {
  /* Admin is logged in */
  display: block;
} 

Заказ очень важен!

Если вы хотите использовать javascript. Используйте PHP, чтобы проверить, является ли пользователь администратором или нет, и запишите javascript в документ. Добавить, например, на index.php :

 <?php if( !current_user_can('editor') || !current_user_can('administrator') ) {  ?>
    <script>/* Will be there if user is not admin or editor */</script>
<?php } ?>
 

Вы можете объединить это с утверждением else.