Скрыть класс 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>

Большое спасибо за внимание! Очень признателен.

0

Решение

Из документации 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>
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]