n-wp.ru — блог о WordPress

Как показывать текст только зарегистрированным

Простой код, добавленный в файл functions.php, создаст шорткод, с помощью которого можно в публикации вставлять содержимое, которое увидят только зарегистрированные пользователи.

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

Вставьте в файл functions.php такой код:

Теперь чтобы скрыть текст от незарегистрированных посетителей, его нужно просто обозначить метками:

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

14 комментариев

    • Как показать часть публикации только зарегистрированным | RestrictedArea Plugin for WordPress: http://n-wp.ru/4410
      Как показывать часть содержимого при определенных условиях | Optional Content: http://n-wp.ru/4251
      Как скрыть текст от зарегистрированных пользователей | Hidden Content: http://n-wp.ru/2391
      Как скрыть часть публикации | Show Content by User Level: http://n-wp.ru/2219
      Как показывать текст только зарегистрированным: http://n-wp.ru/2082
      Как запретить читать блог незарегистрированным пользователям | Members Only: http://n-wp.ru/1823
      Как скрыть часть публикации от незарегистрированных пользователей | HidePost: http://n-wp.ru/1788

      • к сожалению, это все не то. Мне нужно не часть скрывать, а целые посты!
        Вот, как на хабрахабре топики из блога «Юмор на хабрахабре» — эти топики видят, только те, кто подписан на этот блог.
        Вот я и ищу такое решение, чтобы посты из определенной категории не показывались для обычных посетителей ни в rss, ни на страницах всевозможных архивов, ни на карте сайта, ни в каких то не было плагинах-виджетах и т.п., а вот, если человек зарегистрирован на вордпресовском сайте, то он видит эти посты.

        • Хабрахабр работает не на WordPress, а на движке LiveStreet, у которого принцип работы совершенно другой.
          Если хотите, чтобы в вашем блоге было много под-блогов, установите сначала WordPress MU, и в нем уже закройте блоги от просмотра для незарегистрированных, используя, например, плагин Members Only.

          • подблогов мне не нужно, да и они (подблоги) скоро будут доступны в wordpress 3.0 (там будет wordpress и wordpress MU собраны воедино).

            И хабрахабр не на liveStreet – «ТМ» создало собственную цмску для хабра, а livestreet, bigstreet и explay cms были созданы уже после появления хабрахабра, как бесплатные cms позволяющие создать свой хабрахабр с блекджеком и шлюхами :)

          • да, этот плагин я знаю и использую на некоторых сайтах, но он не решает мою задачу.
            Мне бы, что-то такое, как есть в вордпрессе «видимость: личная» при редактировании поста, только для группы пользователей, а не как сейчас — только для автора поста.

            Наверное, такого не существует. Зря только ищу, надо самому изобретать и писать.

    • Этим занимается плагин. Но сильно я не расстраиваюсь: все равно трекбэки закрыты для индексации. Раньше я не пользовался защитой трекбэков, поэтому некоторый спам еще остался. Сейчас же спаму пройти в блог очень трудно.

  • А как быть если я хочу спрятать видео. Проигрыватель uppod когда прячу код оно выводт [uppod video=ссылка на видео]

  • Я решил применить это в шаблоне — показывать маленькую, неприметную иконку WordPress в подвале, ведущую на страницу входа. Решил не выпендриваться с шорткодом, а просто использовать функцию WordPress ‘is_user_logged_in()’. Получилось так:

    Восклицательный знак перед функцией служит отрицанием, что читается так: «если ( не вошёл пользователь ) {».