Как сделать скрытый контент на lolzteam

Обновлено: 04.07.2024

Очевидно, что весь контент (весь пост полностью) закрыть легко, всего лишь добавив условие в файл темы, а я вам покажу, как скрывать конкретные участки поста, будь то предложение, ссылка или картинка.

Рассмотренные в этой статье примеры закрывают контент не только от неавторизованных посетителей сайта, но и от поисковиков.

Сначала создаем шорткод, вставив этот код в functions.php текущей темы:

Теперь второй шаг, при написании поста, когда вы захотите скрыть какую-то часть текста, просто поместите его между [member] и [/member] , например:

Сюда можно засунуть не только текст, но также ссылки (например ограничить доступ к скачиванию файлов), картинки и прочий HTML.

Отображение контента в зависимости от роли пользователя

Тут действует тот же самый принцип, но только с некоторыми усовершенствованиями. Опять начинаем с создания шорткода через functions.php:

Сам шорткод на странице редактирования поста будет выглядеть следующим образом:

А в этом случае будут применяться значения по умолчанию из массива $defaults:

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Пишите, если нужна помощь с сайтом или разработка с нуля.

Комментарии — 74

спасибо! то , что надо! перекопала кучу плагинов, а тут такой простой и изящный метод!

рад, что смог помочь)

Почему то после вставки кода а functions.php и вывода шорткода в посте-ничего не происходит.только код не активный какой то-весь черный без подсветки.И этот код всплывает сверху в админке.Помогите разобраться в чем проблема.

это значит, что перед кодом надо добавить

сорри за долгий ответ.

Миша спасибо я уже разобрался) Действительно в этом проблема была.

ну я так и думал, ведь я почти через 5 дней ответил, реально не было возможности зайти на сайт и проверить комменты,
в след. раз постараюсь отвечать более быстро))

Миша подскажи пожалуйста.
А вот то же самое можно реализовать на Joomla .
Очень хотелось бы.

я джумлой не занимаюсь, но по идее должна быть такая возможность (или плагин какой-нибудь)

Добрый день! У меня противоположная проблема, после работы со страничкой вдруг стала активна эта функция входа на страничку через пароль. ПОдскажите как убрать это и сделать как прежде свободный вход

НЕ РАБОТАЕТ! Не в коем случае не пробуйте так сделать!

перед кодом и после вставь

Алексей 7 Окт 2013

Все работает,чего ты гонишь. Я на трех блогах проверял и никаких проблем.

Подскажите, как сделать так, чтобы скрыть один пункт в меню в шапке? На сайте есть меню: Главная Документы Контакты. Нужно сделать так, чтобы пункт "документы" становился видным после авторизации, а для гостей был скрыт.

Добрый день.
всё зависит от того, каким образом выводится это меню

Это отличное решение, но у него есть один существенный недостаток, поиск отлично видит скрытый контент и выводит страницу где он расположен, хоть сам блок и не виден.

Скажите, как сделать этот скрытый блок недоступным поиску?

чтобы сказать точно, нужно смотреть и тестировать, а так мне кажется вам следует в шаблоне поиска заменить get_the_content() на the_content() . Теоретически.

Михаил, добрый день.

У меня почему то не работает Ваш вариант.

Вставил код в Functions.php в конец файла.

До и после поставил Сергей 26 Авг 2014

после кода надо наверное ?> ставить

Михаил, добрый день.
А для полного сайта(контента) можете показать пример? Типа гости только видели одну статическую страницу. Спасибо!

Добрый день!
Вот универсальное условие для администраторов / редакторов:

А вот для авторизованных пользователей:

Спасибо большое,все просто и все работает :)

Все перепробовал. Инструмент отнюдь не универсальный.

А что тебе нужно универсального? Миша дал рабочий вариант с помощью него я не 1 тысячу рубликов зарабатывал. нужен универсальный - купи Wish List Member и танцуй с бубном.

А что тебе нужно от меня? Считаешь нужной мне ту информацию, которую выдал под комментарием?:)

Михаил, может, подскажете, почему у меня все-таки не получается:

Установил шорткод, и он отлично работает на страницах. Вот код из файла functions.php:

Однако на странице редактирования шаблона (page.php) обычный шорткод не работает. Использую следующий вариант: Текст, который нужно скрыть, и получается вот такое: Требуется регистрацияТекст, который нужно скрыть. Естественно, фраза "Текст, который нужно скрыть" и должна скрываться фразой "Требуется регистрация".

Обычный вариант [member]Текст[/member] не работает, естественно. Как же "зажать" текст в эти теги на php-странице?

он отлично работает на страницах

Однако на странице редактирования шаблона (page.php) обычный шорткод не работает

Так где он в итоге у вас работает, а где нет?

Работал в записях, не работал на страницах. Разобрался. Спасибо за пост.
Чтобы добавить "универсальности", советую отредактировать статью. Добавьте прямой пример рабочего кода для страниц .php:

Рад, что вы разобрались. Рекомендую ознакомиться с теорией, как работают шорткоды.

Ну спасибо, пошла Вордпресс переустанавливать. Все слетело - пустая страница.

Уверяю вас, переустанавливать WP совсем ни к чему. Во-первых, можете вставить код именно после (почему-то мне кажется, что проблема в этом), во-вторых, вы можете просто удалить мой код, в третьих, вы можете зайти в wp-config.php , включить WP_DEBUG и посмотреть, где именно возникла ошибка :P

Миша в точку сказал. зачем WP то переустанавливать?

Да просто я только установила вордпресс, хостинг мне не знакомый, пока не могу понять как попасть в файловый менеджер, чтобы менять файлы, спасибо за совет, но быстрее будет переустановить заново.

все работает на 100% , скрывает кнопки например, подскажите, как сделать ссылку на страницу регистрации прямо с надписи которая закрывает контент "зарегистрируйтесь бла бла. "

Так не пробовали?

не пробовал, учусь только пробовать,затягивает)

Проблема в отображении текста ошибки, обвожу тегами, текст пропадает, но уведомления нет на месте скрытого текста

Можно взглянуть на вашу функцию?

Но он прячет не содержимое контейнера .private, а вообще всё содержимое записи.

Ну, чтобы не отвлекать маэстро глупостями, пишу ответ:

Кто-нибудь знает, как выбросит содержимое этого контейнера и из поиска тоже?

Здравствуйте!
А в поиске тоже функцией the_content() выводится?

Здравствуйте, Михаил. Код работает хорошо, но возникла ситуация.
Я обернул в данные теги контент, где содержатся другие теги с прямыми скобками, в частности, я спрятал таблицу, в ячейках которой вставлены аудиозаписи в теге [audio]Музон[/audio]
В итоге незарегенные все правильно - не видят ничего, а вот зареганные видят исходный код контента, ни плееров, ни ссылок. Что можно придумать?

Здравствуйте!
Вот в этой статье, в самом низу, о том, как наложить фильтры.

Спасибо, Михаил, благодаря этой статье начал раскуривать коды. Добра Вам

Подскажите пожалуйста, возможно ли сделать этот метод для мультиязычного сайта? Установлен WP Multisite, русский и английский, файл functions.php один для всех. Т. е. или на английском сайте будет отображаться русское оповещение о регистрации, или на русском английское. Ну и ссылку соответственно не вставить о регистрации. Была идея написать уведомление через слеш, мол: "Регистрируйся/Register", но всё же.

Возможно, просто почитайте про функции работы с мультисайтом. У меня на блоге к сожалению об этом совсем немного.

Благодарю за быстрый ответ. Вышел из положения дублированием функции, добавил: "true_logged_in_user_content_en".

Style.css? Открываем и. Как сослаться на функцию может подскажете? Методом тыка пытался менять стили, но меняется весь текст(

А потом в стилях:

Огромная благодарность! Всё работает как часы швейцарские! Всего Вам наилучшего!

Миш, объясни, что ты делаешь этой строчкой:

Я давно читал об этой функции, но что то не могу понять, что она здесь делает

функция shortcode_atts() заменяет элементы массива $defaults на элементы из $atts , но только в том случае и только на те, которые указаны.

Функция extract() "распечатывает" массив в переменные, то есть $attr['hello'] превратится в $hello и т.д.

Здравствуйте! А как вывести кастомное поле внутри шорткода?
Это поле можно вывести шорткодом [acf field="name"]

То есть как вместо контента поставить этот шорткод?)

Ну шорткод внутри шорткода, ez

При регистрации пользователя, ему должна присваиваться группа, опять таки "А" "Б" "В". При этом пользователь из группы "А" должен иметь доступ к контенту категории "А", но не к "Б" "В". Пользователь из группы "Б" - к контенту из категории "Б" и т.д.
Администратор, естественно, должен иметь доступ ко всему контенту.

Суть вопроса - что использовать для реализации данной задумки? Механизм ролей? Или существуют более подходящие решения? :)

А контент как будете скрывать? Через if / else ?

Я правильно понимаю? – вы используете шорткоды member и access и при использовании этих 2 шорткодов, один перестает работать?

А трудность у вас в чём конкретно?

Нужно все условия поместить в одну функцию.

А можно как-то скрыть ссылку в посте, но с условием к примеру "открыть после 5 комметов".

Да, можно получить количество комментариев пользователя например при помощи get_comments() :

Я искал хороший трюк, чтобы сделать Скрыть/показать контент или список только с CSS и без javascript. Мне удалось сделать это действие:

демо здесь:http://jsfiddle.net/6W7XD/ И это работает, но не так как надо. Вот это проблема: Когда содержимое отображается, его можно скрыть, нажав кнопку "в любом месте страницы". Как это отключить? как скрыть содержимое "только", нажав кнопку Скрыть? Заранее спасибо!

Я бы не использовал флажки, я бы использовал код, который у вас уже есть

таким образом, Текст скрыт только при щелчке элемента скрыть

есть 3 быстрых примера с чистым CSS и без javascript, где содержимое появляется "по щелчку", с "поддерживаемым щелчком" и третьим "onhover" (все только протестировано в Chrome). Извините за этот пост, но этот вопрос-первый результат seo, и, возможно, мой вклад может помочь новичку, как я

Я думаю (не проверено), но преимущество аргумента "содержание", что вы можете добавить большой значок, как из Шрифт Удивительным (его \F-код) или шестнадцатеричный значок вместо текста "скрыть" и "показать", чтобы интернационализировать трюк.

это то, что я использовал в последнее время.

надеюсь, что это поможет где-то.

во-первых, благодаря Уильяма.

Второй-мне нужна динамическая версия. И это работает!

вы можете увидеть и протестировать на демо JSFiddle

HTML-код:

CSS:

выполнить код фрагмент:

у меня есть еще одно простое решение:

HTML-код:

при нажатии [show] текст [show] будет скрыт и наоборот.

этот пример не работает в Chrome, я не знаю почему.

я начал с решения, предложенного @Vector я сохранил dom'situation представленный ky @Frederic Kizar

ответ ниже включает изменение текста для "показать / скрыть" и использует один флажок, две метки, в общей сложности четыре строки html и пять строк css. Он также начинается со скрытого содержимого.


Как назло сейчас не могу найти пример, надеюсь понятно из описания.

Каким ботом это делается? Не могу ничего нагуглить по теме.

Администрация форума не имеет отношения к пользователям форума и к публикуемой ими информации. Пользовательское соглашение


Форумчанин

Медали


Кажется такую функцию убрали


Пользователи

  • Cообщений: 3
  • Поинты: 13
  • Предупреждений: 0
  • Онлайн: 2ч 5м

Вот что я имею в виду:

0a24c1f51c2a.jpg

04bf62e466c8.jpg

6cf1afd64cb4.jpg


Активный

  • Cообщений: 1 458
  • Поинты: 0
  • Предупреждений: 30
  • Онлайн: 57д 7ч 24м

Как экономить деньги на продвижении? Покупать из первых рук!

partner.soc-proof — именно то, что тебе нужно. SМM панель, у которой покупают все уже более 6 лет.

Самая низкая стоимость на любые услуги:
- Телеграм Подписчики от 16 Р, Просмотры - бесплатно, эксклюзивные услуги (репосты, таргет);
- Инстаграм лайки от 3 Р, YouTube просмотры от 28 Р

Просмотры, комментарии, подписчики, лайки, репосты для ВК, YouTube, Instagram, Facebook, Telegram, Я.Дзен, ТикТок. Гарантированно лучшие цены от создателя услуг. Качественно - не значит дорого.
Присоединяйся. Будь частью лучшего.

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

Это не значит, что я рекомендую что-то скрывать, как раз наоборот, я за свободный доступ к информации. Но согласитесь, всякое бывает, и вполне возможно, что и вам придется когда-нибудь что-то скрывать от постороннего глаза.

Плагин Wp-private

Плагин Wp-private

Начну по порядку, от создателя этого замечательного плагина, до технических моментов.

Плагин Wp-private разработал индийский программист Namith Jawahar, руководитель проекта Smartlogix. Вот собственно и его фото:

Namith Jawahar

Думаю, вряд ли вам будет интересна его биография, поэтому сразу перейдем к плагину.

После того, как вы скачаете этот плагин, в настройках консоли вашей админки появиться раздел Premium Content , где и производятся все настройки плагина.

Настроек, как я уже говорил здесь немного, выглядит окно настроек следующим образом:

настройки wp_private

1. В первом разделе сразу идет подсказка, с помощью каких шорткодов, вам нужно будет закрывать контент. То есть с помощью шорткодов [protected] [/protected].

шорткод protected

2. Далее нужно указать, что показывать посетителю, который не имеет права просматривать данную страницу.

  • Форму авторизации;
  • Форму авторизации и ссылку на страницу регистрации;
  • Какой-то свой HTML-код;

страница для показа

поле видимости

5. Далее можно указать пользователей, которым вы хотите полностью запретить видеть скрытый контент.

запрещенные пользователи

6. Если у вас кастомная форма авторизации, то здесь можно указать адрес страницы и использовать шорткод .

шорткод loginform

7. И последний раздел – это поддержка SmartLogix, то есть поддержка разработчиков. Если хотите получать обновления, отметьте это пункт галочкой.

SmartLogix

Вот собственно и все настройки. Если вы не неплохо разбираетесь в коде. То можете немного под редактировать плагин, немного его русифицировать. По умолчанию же скрытая страница будет выглядеть примерно вот так:

закрытая страница

Может, вы знаете аналогичные, но русифицированные плагины? Поделитесь в комментариях, буду весьма признателен.

Читайте также: