Поддержка → Проблемы и решения → Запретить просмотр комментов гостям
Запретить просмотр комментов гостям
-
Можно добавить фрагмент в файл
functions.php
активной темы (или оформить в виде плагина):function hide_comments_for_guests( $comments ) { if ( ! is_user_logged_in() ) { $comments = array(); } return $comments; } add_filter( 'comments_array', 'hide_comments_for_guests' ); function hide_comments_number_for_guests( $count ) { if ( ! is_user_logged_in() ) { $count = 0; } return $count; } add_filter( 'get_comments_number', 'hide_comments_number_for_guests' ); function disable_comment_form_for_guests( $open ) { if ( ! is_user_logged_in() ) { $open = false; } return $open; } add_filter( 'comments_open', 'disable_comment_form_for_guests' );
Здесь три функции: первая скрывает существующие комментарии для гостей, вторая скрывает их количество, третья отключает форму комментирования.
Более короткий вариант (все три действия в одной функции):
function hide_comments_for_guests() { if ( is_user_logged_in() ) { return; } add_filter( 'comments_array', '__return_empty_array' ); add_filter( 'get_comments_number', '__return_zero' ); add_filter( 'comments_open', '__return_false' ); } add_action( 'init', 'hide_comments_for_guests' );
Спасибо, попробую
Работает, благодарю
++ Расширю вопрос (хотел отдельным постом, но теперь не знаю, как тут удалить)
Как скрыть посты от гостей, но не все, а которые нужно
Используются плагины:
— https://44gu.ru/wp-admin/plugin-install.php?tab=plugin-information&plugin=hide-for-group-roles&TB_iframe=true&width=600&height=550
— http://gndev.info/shortcodes-ultimate/ (ШК: «пользователи»)Почти все устраивает в обоих (в принципе первого хватает), за исключением — сами новости видны. Т.е. На главной видно новость например «Скрытая», к которой при формировании были назначены все роли кроме визитеров (1й плагин) или «вы можете прочесть если войти» (во втором). Т.е. заголовки новостей видно, а содержимое нет (надпись «войдите»). Как убрать и заголовки?
А нельзя ли сделать как тут (Решение, которое предложил Серега, работает на «ура», оч. понравилось (думаю, что многие оценят, кто искал). Может и для постов тоже можно так же)?
Чтобы без регистрации были видны только новости одобреные 1м плагином или например каким-то доп.полем (вкл»произвольные поля» при написании) в посте дополнительным (например добавить поле guest с volume 0\1)?
- Тема «Запретить просмотр комментов гостям» закрыта для новых ответов.
(@gusoft)
8 лет, 5 месяцев назад
Собственно сабж.
Везде в ответах только как отключить. А надо, чтобы комменты к постам не были видны не авторизованным (или хотябы их содержимое). Среди плагинов тоже ничего не нашел, только содержимое постов как скрыть.
Помогите пожалуйста.