Добрый всем! У меня такая проблемка. Если я закрываю комментарии от незарегистрированных пользователей, то тогда они полностью скрываются со страницы и показывается только ссылка на вход
Если регистрация открыта, то тогда остается возможность простому гостю оставить коммент вписав свой email и ник
Но мне нужен результат как на сайте codeseller (https://prnt.sc/i1t0kq) чтобы гости видели все комменты, но если захотели бы оставить свой или написать ответ, то нужно было бы зарегистрироваться с помощью всплывающей формы. Что я нашел два плагина:
Как я понял именно эту задачу они могут решить. Но У меня стоит так же плагин comments tuner, и в comments.php вывод вроде тот что нужен. Просто перед покупкой хотелось бы уточнить, чтобы в просак не попасть))
if ( comments_open() || get_comments_number() ) { if ( get_option('comment_registration') && !is_user_logged_in() ) { echo '<div id="comments" class="comment-wrapper section">'; echo "<span class='comment-login'>" . sprintf(jnews_return_translation("Please <a href='%s'>login</a> to join discussion", "jnews", 'please_login_join_discussion', false), wp_login_url(home_url(), false)) . "</span>"; echo '</div>'; } else { if (have_comments()) { ?> <div id="comments" class="jeg_comments"> <h3 class="comments-title"> <?php jnews_print_translation('Comments', 'jnews', 'comments'); ?> <span class="count"><?php echo esc_html(number_format_i18n(jnews_get_comments_number())); ?></span> </h3> <div class="jeg_commentlist_container"> <ol class="commentlist"> <?php wp_list_comments(array( 'avatar_size' => '45', 'short_ping' => true, 'walker' => new \JNews\Comment\CommentWalker )); ?> </ol> </div> <?php if (get_comment_pages_count() > 1 && get_option('page_comments')) : ?> <div class="comment-navigation navigation"> <div class="prev-comment"> <?php next_comments_link(jnews_return_translation('Previous', 'jnews', 'previous')) ?> </div> <div class="next-comment"> <?php previous_comments_link(jnews_return_translation('Next', 'jnews', 'next')) ?> </div> </div> <?php endif; ?> </div> <?php } comment_form(); }
Здравствуйте.
QbiQ сказал(а)
Если я закрываю комментарии от незарегистрированных пользователей, то тогда они полностью скрываются со страницы и показывается только ссылка на вход
т.е. не только форма добавления нового комментария исчезает - но и все комментарии?
Если так - меняйте ВП тему на дефолтную - смотрите на поведение там.
У меня стоит так же плагин comments tuner, и в comments.php вывод вроде тот что нужен
Со страницы you need to login:
В шаблоне комментариев вашей вордпресс темы должен стоять вывод формы комментариев через функцию comment_form(); и аргументы этой функции не должны переопределяться шаблоном.
в вашем приведенном фрагменте просто comment_form();
- т.е. все нормально.
Отличия двух допов что вы привели по ссылкам:
Функционал логина у них абсолютно одинаковый. Только в kill wp-login еще функционал защиты wp-login.php файла.
т.е. если вы возьмете kill wp-login, то брать you need to login не имеет смысла
т.е. не только форма добавления нового комментария исчезает - но и все комментарии?
Да все верно, комментарии тоже скрываются, на стандартной теме коментарии остаются. Получается мне нужно в сторону шаблона комментариев в текущей теме смотреть и исправлять, чтобы комментарии оставались?
в вашем приведенном фрагменте просто comment_form(); - т.е. все нормально.
Отличия двух допов что вы привели по ссылкам:
Функционал логина у них абсолютно одинаковый. Только в kill wp-login еще функционал защиты wp-login.php файла.т.е. если вы возьмете kill wp-login, то брать you need to login не имеет смысла
Благодарю за разъяснения
QbiQ сказал(а)
Получается мне нужно в сторону шаблона комментариев в текущей теме смотреть и исправлять, чтобы комментарии оставались?
- конечно. Кто же по вашему регулирует их вывод - ваша тема. Может где в ее настройках есть опция - вкл/выкл их показ для гостей. Обратитесь к разработчику шаблона
- конечно. Кто же по вашему регулирует их вывод - ваша тема. Может где в ее настройках есть опция - вкл/выкл их показ для гостей. Обратитесь к разработчику шаблона
Убрал из шаблона comments.php условие
{ echo '<div id="comments" class="comment-wrapper section">'; echo "<span class='comment-login'>" . sprintf(jnews_return_translation("Please <a href='%s'>login</a> to join discussion", "jnews", 'please_login_join_discussion', false), wp_login_url(home_url(), false)) . "</span>"; echo '</div>'; } elseМетодом тыка 🙂 , незнаю конечно правильно это или нет, напишу автору темы, но вроде все работает как надо
QbiQ сказал(а)
- конечно. Кто же по вашему регулирует их вывод - ваша тема. Может где в ее настройках есть опция - вкл/выкл их показ для гостей. Обратитесь к разработчику шаблона
Убрал из шаблона comments.php условие
{ echo '<div id="comments" class="comment-wrapper section">'; echo "<span class='comment-login'>" . sprintf(jnews_return_translation("Please <a href='%s'>login</a> to join discussion", "jnews", 'please_login_join_discussion', false), wp_login_url(home_url(), false)) . "</span>"; echo '</div>'; } elseМетодом тыка 🙂 , незнаю конечно правильно это или нет, напишу автору темы, но вроде все работает как надо
Нет, что то не то, у залогиненных не показываются комментарии, буду дальше разбираться, еще раз благодарю за ответы!