Другой css для зарегистрированных Wordpress

nikonlay
На сайте с 11.12.2006
Offline
183
1535

Доброго дня!

Подскажите пожалуйста - можно ли в Wordpress сделать у какого-нибудь блока разный css при просмотре зарегистрированными (авторизованными) пользователями и незарегистрированными?

Чтобы, например скрывать блок от неавторизованных пользователей. Для них делать в css у этого блока display none, а для авторизованных соответственно display block

Мощные бинокли и монокуляры: https://market.yandex.ru/store--volny-i-veter?businessId=79203856
LM
На сайте с 18.10.2009
Offline
117
#1

Как-то так.

<div <?php if ( is_user_logged_in() ) { echo ' style="display:block;" '; } else { echo ' style="display:none" '; } ?> > i am block</div>

Или вообще не показывать ничего не авторизованным. :)

<?php if ( is_user_logged_in() ) { echo ' <div>i am block for logged in</div> '; } ?>
S3
На сайте с 29.03.2012
Offline
330
#2

Правильное формулирование задачи содержит в себе 90% ответа!

Что значит другой цсс? Другой файл, другие стили?

Вам выше уже подсказали примерный ход - проверяете авторизацию, в зависимости от этого подгружаете дивы с различными стилями или вообще не показываете

SeVlad
На сайте с 03.11.2008
Offline
1609
#3
nikonlay:
Чтобы, например скрывать блок от неавторизованных пользователей. Для них делать в css у этого блока display none, а для авторизованных соответственно display block

Это не скрытие, а филькина грамота.

Хочешь действительно что-то скрыть - юзай плагины для показа контента в зависимости от роли.

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
nikonlay
На сайте с 11.12.2006
Offline
183
#4

LinuxMan, спасибо, сейчас попробую!

Sly32 - главная задача - скрыть блок от неавторизованных пользователей. а по исполнению уже - что проще и быстрее.

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

nikonlay
На сайте с 11.12.2006
Offline
183
#5

В общем, сделал так: в главном style.css для нужного блока прописал

.mydiv { display: none !important; }

и блок пропал для всех

а потом в header.php прописал

<?php if ( is_user_logged_in() )  echo '<style type="text/css">.mydiv { display: block !important; }</style>'; ?>

и все заработало ок, блок теперь отображается только для вошедших в сайт. так что, кому понадобится - применяйте!

R
На сайте с 20.02.2015
Offline
59
#6
nikonlay:
В общем, сделал так: в главном style.css для нужного блока прописал
.mydiv { display: none !important; }
и блок пропал для всех

а потом в header.php прописал
<?php if ( is_user_logged_in() )  echo '<style type="text/css">.mydiv { display: block !important; }</style>'; ?>


и все заработало ок, блок теперь отображается только для вошедших в сайт. так что, кому понадобится - применяйте!

Шустрый юзер откроет firebug или аналог и посмотрит ваш секретный блок :)

SeVlad
На сайте с 03.11.2008
Offline
1609
#7
nikonlay:
просто тут задача - не то чтобы вообще разные версии сайтов показывать разным пользователям, а просто небольшой блок скрыть от неавторизованны

Я тебе об этой "просто задаче" и писал. Перечитай и попробуй понять.

rereg:
Шустрый юзер откроет firebug или аналог и посмотрит ваш секретный блок

Да не надо даже так усложнять. Есть простых 2 варианта, доступных каждому:

psics
На сайте с 02.04.2009
Offline
130
#8

<body <?php body_class(); ?> >

и для залогиненых добавится класс в бади

SeVlad
На сайте с 03.11.2008
Offline
1609
#9
psics:
<body <?php body_class(); ?> >
и для залогиненых добавится класс в бади

ерунду ты написал.*

1. ТСу нужно скрыть часть поста.

2. CSSом реально ничего не скрывается. Ну т.е. вообще. ЦСС служит для помощи ЮА в формирования вешнего вида (но ЮА всего этого слушаются постольку поскольку)

*АПД. Сорри, не сразу дошло, что ты хотел сказать. :) Да, такая же филькина грамота.

psics
На сайте с 02.04.2009
Offline
130
#10

Ну если ему чисто от "обычных" смертрых в display: none - то подойдет) а так ты или я полюбе сможем прочесть код и найти то, что ТС хотел спрятать)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий