Скрыть класс 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>
Другие вопросы по тегам