Главная JavaScript

jQuery: решение проблемы с куками на WordPress при использовании MaxCache

Этот пост адресован пользователям WordPress, у которых стоит кэширование с помощь MaxCache. WordPress имеет в своем функционале две очень хорошие особенности, которые повышают юзабилити сайта для посетителей, оставляющих комментарии: Однажды оставив одобренный администратором сайта комментарий, посетитель избавляется от необходимости при каждом следующем комментарии вновь вводить ...

Комментарии (75)

  1. Здравствуйте! Действительно полезный код, но я никак не могу разобраться с его установкой. Подскажите, пожалуйста, может я что-то сделал не так?
    Первым делом я вставил код

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
     <script type="text/javascript" src="http://health-bit.ru/comment.js"></script>

    В файл header. php прямо перед тегом

    </head>

    Затем сохранил Ваш код в файл comments. js и закинул на фтп своего блога (просто в папку httpdocs).
    Но ничего не работало. Потому я решил выполнить условия. Второе я сделал, т. е. вставил

    <a href="<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ) ?>"><?php printf(__('%1$s at %2$s'), get_comment_date(),  get_comment_time()) ?></a>

    в файл comments. php (почти в начало, после конструкции

    <?php "что то там" ?>

    Однако все равно не работает (проверял просто: разлогинившись оставляю коммент и опять перехожу в этот же пост — ни данные не введены, ни коммента не видно).
    Возможно, не выполнено первое условие, но я никак не пойму, где искать этот тег form и его идентификатор?
    Подскажите, пожалуйста, в чем может быть проблема?
    Спасибо.

  2. Хм, все сохраняется кроме е-мейла. Вместо введенного почтового адреса запоминается фраза «введите ваш E-mail». Комментарии стандартные от вордпресс. Никто не сталкивался с этим? В чем может быть причина?

  3. проверим как отображается. Жаль нет скриншота

  4. Получается что на этом блоге не так работает скрипт? У меня лично не работает 2-я часть. Условие не выполняется т.к. у меня создаются такие страницы: сайт/?p=49 409&cpage=1#comment-1444 тоесть выходит нумерация страницы. Пытался её туда засунуть — не выходит.

  5. У меня на блоге хоть и не запоминаются данные пользователя, но при двойном клике на поле имени или сайта, там появляются варианты. Можно выбрать свое имя, если вы уже раньше оставляли комментарий. Поэтому лишние скрипты использовать необязательно.

  6. Здравствуйте! Очень интересное решение! Я уже два дня не могу найти ответ на интересующий меня вопрос. Может вы сможете мне помочь. МаксКеш выводит внизу в футере ссылку с отображением статистики. Как её можно убрать? Почитал инструкцию. не фига не понял. Помогите, если можете, пожалуйста.

  7. Подскажите, пожалуйста, может не работать функция № 2 из-за того, что вместо
    site.ru/postname/#comment-123
    ссылка имеет вид
    site.ru/postname.html#comment-123
    Если да, то как это исправить?

  8. Дмитрий, восхищаюсь вашим умением находить великолепные решения! Можете ли вы помочь в моей ситуации? На записях, в которых уже имеются комменты — уведомление о том, что комментарий ожидает проверки успешно работает. Если же коммент первый — посетитель ничего не видит, и часто отправляет по два комментария. Не видит ли ваш меткий глаз, где искать проблему отсутствия премодерации у первого комментария?

  9. Добрый день.
    WP 4 — в файлах comments. php не смогла найти описанную вами конструкцию.
    Но реализация вашей идеи важна. Не могли бы вы мне помочь?

  10. Здравствуйте. Переделал вот так из-за нужды сохранять имя пользователя и почту, но почему-то не работает, пишет ошибку в консоле

    «readCookie» не определено

    <script>
    jQuery(function() {
    
      var author = readCookie('wp_commenter_author');
      var email = readCookie('wp_commenter_email');
    
      if (author) jQuery('input[name="author"]').val(author);
      if (email) jQuery('input[name="email"]').val(email);
    
      jQuery('#commentform').submit(function() {
        if (jQuery('input[name="author"]').length) createCookie('wp_commenter_author', jQuery('input[name="author"]').val(), 365);
        if (jQuery('input[name="email"]').length) createCookie('wp_commenter_email', jQuery('input[name="email"]').val(), 365);
      });
    
    })
    </script>

    Где ошибка?

    • Могу только предположить, что добавили не весь код. Не находит функцию readCookie.

      • И действительно, смутил текст

        вот такой конечный скрипт

        Голову не включил… а ведь вызов функции, которая отсутствует в коде априори невозможен :-) Спасибо за решение, оно работает, и в современном фаерфоксе нет никаких проблем с кириллическими никами.

Ваш комментарий