Скрыть класс CSS для конкретной страницы, НО не для URI / путей этой страницы
Справочная информация:
У меня есть плагин Wordpress для отображения каждого профиля пользователя (интерфейс) . Когда вошедший в систему пользователь посещает свой профиль. URL-адрес / профиль /. Когда пользователь посещает другой профиль, путь остается тем же, за которым следует его имя пользователя / профиль /bob1/ (например) .
Используя некоторые классы div, я создал размытый фон с другим изображением сверху, чтобы заблокировать некоторых пользователей Wordpress от просмотра информации профиля.
Эта проблема:
Я хотел бы знать, как скрыть эти div-классы не на их собственной странице профиля: / profile /, а во всех других путях из этого / profile /bob1/ (например) вместе с другим условием "если", которое вы можете увидеть ниже:
(Как вы видите, мне удалось отобразить класс div только для определенных пользователей, которые имеют возможность Wordpress "читать"...)
<div class="back"<?php if (current_user_can('read')){ echo 'style="display:none;"'; } ?>></div>
Большое спасибо за внимание! Очень признателен.
1 ответ
Из документации WordPress для шаблонов авторов.
<?php
$curauth = (isset($_GET['author_name'])) ? get_user_by('slug', $author_name) : get_userdata(intval($author));
?>
Так что применяйте ту же логику.
<?php
$viewother = (isset($_GET['author_name'])) ? true : false;
?>
Или вы можете проверить идентификаторы пользователя.
<?php
$style = '';
$curauth = get_userdata(intval($author));
$otherauth = (isset($_GET['author_name'])) ? get_user_by('slug', $author_name) : false;
if($otherauth && $otherauth->ID != $curauth->ID) {
// user is viewing another profile
$style = ' style="display:none;"';
}
?>
<div class="back"<?php echo $style; } ?>></div>