Добрый всем! У меня такая проблемка. Если я закрываю комментарии от незарегистрированных пользователей, то тогда они полностью скрываются со страницы и показывается только ссылка на вход
Если регистрация открыта, то тогда остается возможность простому гостю оставить коммент вписав свой 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Методом тыка 🙂 , незнаю конечно правильно это или нет, напишу автору темы, но вроде все работает как надо
Нет, что то не то, у залогиненных не показываются комментарии, буду дальше разбираться, еще раз благодарю за ответы!