Косяк с ДИСКУСом, как исправить или что лучше Дискуса для блога?

Автор Alexandr Vagenleyter, 06-01-2012, 12:49:56

« назад - далее »

Alexandr VagenleyterTopic starter

Проблема такая, обратил внимание, что установленная на блоге система комментирования DISQUS глюканула,

система должна автоматически комментарии записывать в модуль комментариев блога, а она зависла пару недель назад, т.е. комментарии на блоге идут, в ДИСКУС тоже пишутся - а в админ панеле движка они зависли пару недель назад.

Что делать? как синхронизировать комменты с ДИСКУСА - т.к. они должны писать на модуль коменто движка ворпресс, и до поры они так и делали.

И второй вопрос, я хочу сменить Дискус, вернуть на блог стандартую систему коментов после восстановления коментов из дискуса, и впрос такой - какой лучше модуль, плагин или что установить чтобы со спамом было все нормуль?

помогите пожалуйста.


nemetc

Стандартные комментарии с подменой полей+akismet, вполне хватает


Alexandr VagenleyterTopic starter

#2
Цитата: nemetc от 06-01-2012, 12:55:30Стандартные комментарии с подменой полей+akismet, вполне хватает

"с подменой полей" - это что?
и akismet - он платный?

и как вернуть коменты из дискуса на блог?


Добавлено: 06-01-2012, 13:14:27


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

вот такие проблемы...


nemetc

Цитата: Alexandr Vagenleyter от 06-01-2012, 13:04:47"с подменой полей" - это что?
стандартная форма комментирования в WordPress имеет следующий вид
<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">

<?php if ( $user_ID ) : ?>

<p>Вы вошли как <a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"><?php echo $user_identity?></a>. <a href="<?php echo wp_logout_url(get_permalink()); ?>" title="Выйти из аккаунта">Выйти &raquo;</a></p>

<?php else : ?>

<label for="author"><small>Имя или псевдоним <?php if ($req) echo "(обязательно)"?></small></label>
<input type="text" name="author" id="author" value="<?php echo $comment_author?>" tabindex="1" <?php if ($req) echo "aria-required='true'"?> />

<label for="email"><small>E-mail (не публикуется) <?php if ($req) echo "(обязательно)"?></small></label>
<input type="text" name="email" id="email" value="<?php echo $comment_author_email?>" tabindex="2" <?php if ($req) echo "aria-required='true'"?> />

<label for="url"><small>URL персонального блога</small></label>
<input type="text" name="url" id="url" value="<?php echo $comment_author_url?>" tabindex="3" />

<?php endif; ?>

<textarea name="comment" id="comment" tabindex="4"></textarea>

<input name="submit" type="submit" id="submit" tabindex="5" value="Отправить комментарий!" /><?php comment_id_fields(); ?>

<?php do_action('comment_form'$post->ID); ?>

</form>

Здесь нас интересуют только три инпута со следующими именами: name="author", name="email", name="url".
Их нужно изменить
<label for="author"><small>Имя или псевдоним <?php if ($req) echo "(обязательно)"?></small></label>
<input type="text" name="bname" id="author" value="<?php echo $comment_author?>" tabindex="1" <?php if ($req) echo "aria-required='true'"?> />

<label for="email"><small>E-mail (не публикуется) <?php if ($req) echo "(обязательно)"?></small></label>
<input type="text" name="bmail" id="email" value="<?php echo $comment_author_email?>" tabindex="2" <?php if ($req) echo "aria-required='true'"?> />

<label for="url"><small>URL персонального блога</small></label>
<input type="text" name="bsite" id="url" value="<?php echo $comment_author_url?>" tabindex="3" />

Но этого недостаточно, потому что теперь движку непонятно, что это за поля и информацию он собрать с них не сможет, он по прежнему ищет данные, отправленные из стандартных полей. Поможем ему?
Заходим к себе на сервер по ftp (или ssh, кто как привык) и в корне сайта находим файл wp-comments-post.php
В этом файле в районе 37 строки видим следующее:
$comment_author       = ( isset($_POST['author']) )  ? trim(strip_tags($_POST['author'])) : null;
$comment_author_email = ( isset($_POST['email']) )   ? trim($_POST['email']) : null;
$comment_author_url   = ( isset($_POST['url']) )     ? trim($_POST['url']) : null;
$comment_content      = ( isset($_POST['comment']) ) ? trim($_POST['comment']) : null;

И делаем вот так:
$comment_author       = ( isset($_POST['bname']) )  ? trim(strip_tags($_POST['bname'])) : null;
$comment_author_email = ( isset($_POST['bmail']) )   ? trim($_POST['bmail']) : null;
$comment_author_url   = ( isset($_POST['bsite']) )     ? trim($_POST['bsite']) : null;
$comment_content      = ( isset($_POST['comment']) ) ? trim($_POST['comment']) : null;


Цитироватьakismet - он платный?
он бесплатный


Добавлено: 06-01-2012, 13:32:43


или ещё один способ
Открываем файл functions.php нашей темы оформления и добавляем следующую функцию:
function check_referrer() {
    if (!isset($_SERVER['HTTP_REFERER']) || $_SERVER['HTTP_REFERER'] == "") {
        wp_die( __('Реферер не определен в вашем браузере. Пожалуйста, активируйте опцию передачи реферера. Но скорее всего вы гребaный спамер, но попали не по адресу! ') );
    }
}

add_action('check_comment_flood', 'check_referrer');

Alexandr VagenleyterTopic starter

чувак это круто)
я до сих пор в шоке.. от ответа..
я ссылку отдал на тему Яру скинул, он мне блог помогает делать, вот этот момент мы еще не закончили.
круто чё


VladChV

Для решения проблемы с DISQUS вам рекомендуется выполнить следующие действия:

1. Убедитесь, что у вас установлена последняя версия плагина DISQUS для WordPress. Если нет, обновите его.

2. Проверьте настройки плагина DISQUS в административной панели WordPress. Убедитесь, что все параметры настроены правильно и соответствуют вашему блогу.

3. Если проблема все еще не решена, рекомендуется связаться с технической поддержкой DISQUS или форумом сообщества пользователей DISQUS, чтобы получить помощь.

Что касается смены системы комментариев на стандартную систему WordPress, вы можете выполнить следующие действия:

1. Создайте резервную копию всех комментариев, которые были оставлены через DISQUS.

2. В административной панели WordPress найдите раздел "Комментарии" или "Настройки комментариев" и выберите стандартную систему комментариев WordPress.

3. Восстановите резервную копию комментариев из DISQUS в стандартную систему комментариев WordPress.

Чтобы бороться со спамом, вы можете установить плагин Akismet. Он является одним из наиболее популярных и эффективных плагинов защиты от спама для WordPress. С помощью Akismet вы сможете фильтровать нежелательные комментарии и сохранить ваш блог в чистоте.

Мой SEO блог со всеми вытекающими: услуги по продвижению, аудит сайта, верстка и пр.
  •  

HOSTiQ

Цитата: nemetc от 06-01-2012, 13:30:14
Цитата: Alexandr Vagenleyter от 06-01-2012, 13:04:47и akismet - он платный?
он бесплатный
Ну не совсем. Вернее будет сказать, что в нем есть бесплатный функционал, которого для большинства блогов вполне будет достаточно.

Цитата: VladChV от 08-11-2014, 09:30:18АП... тема актуальна, у меня тоже не дублирует сообщения на блог, может кто сталкивался? переустановка не помогла((
Синхронизировать пробовали? Переходим в админку WP -> Комментарии -> Disqus -> Plugin Settings (справа вверху) -> Sync Disqus with WordPress (внизу кнопка)