👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →
Для того, чтобы показывать текст только зарегистрированным посетителям, можно применить специальный код, который создает короткие метки. С помощью этих меток можно разграничивать показ содержимого между зарегистрированным и не очень зарегистрированными.
Вставьте в файл functions.php такой код:
add_shortcode( 'member', 'member_check_shortcode' ); function member_check_shortcode( $atts, $content = null ) { if ( is_user_logged_in() && !is_null( $content ) && !is_feed() ) return $content; return ''; }
Теперь чтобы скрыть текст от незарегистрированных посетителей, его нужно просто обозначить метками:
[member] этот текст будет виден только зарегистрированным пользователям [/member]
Этот достаточно удобный, понятный и простой шорткод без каких-либо аргументов можно использовать для того, чтобы сделать зарегистрированных пользователей привилегированными – показывать им контент, недоступный обычным пользователям.
а какие ты знаешь решения, чтобы показывать отдельные посты, только зарегистрированным?
Как показать часть публикации только зарегистрированным | RestrictedArea Plugin for WordPress: https://n-wp.ru/4410
Как показывать часть содержимого при определенных условиях | Optional Content: https://n-wp.ru/kak-pokazyivat-chast-soderzhimogo-pri-opredelennyih-usloviyah-optional-content/
Как скрыть текст от зарегистрированных пользователей | Hidden Content: https://n-wp.ru/kak-skryt-tekst-ot-zaregistrirovannyx-polzovatelej-hidden-content/
Как скрыть часть публикации | Show Content by User Level: https://n-wp.ru/kak-skryt-chast-publikacii-show-content-by-user-level/
Как показывать текст только зарегистрированным: https://n-wp.ru/kak-pokazyvat-tekst-tolko-zaregistrirovannym/
Как запретить читать блог незарегистрированным пользователям | Members Only: https://n-wp.ru/kak-zapretit-chitat-blog-nezaregistrirovannym-polzovatelyam-members-only/
Как скрыть часть публикации от незарегистрированных пользователей | HidePost: https://n-wp.ru/kak-skryt-chast-publikacii-ot-nezaregistrirovannyx-polzovatelej-hidepost/
к сожалению, это все не то. Мне нужно не часть скрывать, а целые посты!
Вот, как на хабрахабре топики из блога «Юмор на хабрахабре» — эти топики видят, только те, кто подписан на этот блог.
Вот я и ищу такое решение, чтобы посты из определенной категории не показывались для обычных посетителей ни в rss, ни на страницах всевозможных архивов, ни на карте сайта, ни в каких то не было плагинах-виджетах и т.п., а вот, если человек зарегистрирован на вордпресовском сайте, то он видит эти посты.
Хабрахабр работает не на WordPress, а на движке LiveStreet, у которого принцип работы совершенно другой.
Если хотите, чтобы в вашем блоге было много под-блогов, установите сначала WordPress MU, и в нем уже закройте блоги от просмотра для незарегистрированных, используя, например, плагин Members Only.
подблогов мне не нужно, да и они (подблоги) скоро будут доступны в wordpress 3.0 (там будет wordpress и wordpress MU собраны воедино).
И хабрахабр не на liveStreet – «ТМ» создало собственную цмску для хабра, а livestreet, bigstreet и explay cms были созданы уже после появления хабрахабра, как бесплатные cms позволяющие создать свой хабрахабр с блекджеком и шлюхами :)
Кстати, возможно вам будет полезен пост Как скрыть посты определенной категории с главной страницы.
да, этот плагин я знаю и использую на некоторых сайтах, но он не решает мою задачу.
Мне бы, что-то такое, как есть в вордпрессе «видимость: личная» при редактировании поста, только для группы пользователей, а не как сейчас – только для автора поста.
Наверное, такого не существует. Зря только ищу, надо самому изобретать и писать.
Я думаю, такое уже существует. Надо искать.
Подскажите, как добавить надпись для гостей “Чтобы увидеть контент, зарегистрируйтесь или авторизуйтесь”? А иначе на странице скрытого контента просто пустая страница.
а спамные трекбеки ты не удаляешь? :)
Этим занимается плагин.
Этим занимается плагин. Но сильно я не расстраиваюсь: все равно трекбэки закрыты для индексации. Раньше я не пользовался защитой трекбэков, поэтому некоторый спам еще остался. Сейчас же спаму пройти в блог очень трудно.
А как быть если я хочу спрятать видео. Проигрыватель uppod когда прячу код оно выводт [uppod video=ссылка на видео]
Используйте Hidden Content – https://n-wp.ru/kak-skryt-tekst-ot-zaregistrirovannyx-polzovatelej-hidden-content/
Я решил применить это в шаблоне — показывать маленькую, неприметную иконку WordPress в подвале, ведущую на страницу входа. Решил не выпендриваться с шорткодом, а просто использовать функцию WordPress ‘is_user_logged_in()’. Получилось так:
Восклицательный знак перед функцией служит отрицанием, что читается так: «если ( не вошёл пользователь ) {».