Плагин для WordPress “Предпросмотр комментария” на jQuery

18 декабря 2008 г.

Описание

Плагин “Предпросмотр комментария” (jQuery Comment Preview) подключает к форме комментирования WordPress функцию предпросмотра комментария без перезагрузки страницы. Работает на популярном фреймворке jQuery.

Для работы плагина требуется версия WordPress: 2.9 или выше.

Пример работы данного плагина вы можете наблюдать на настоящем блоге.

Особенности плагина

  • Реализует красивый “живой” предпросмотр комментария, не занимая при этом дополнительного пространства на странице.
  • Позволяет подключить простенький HTML-редактор, с помощью которого можно быстро вставлять HTML-теги в текст комментария (инструкции по работе с HTML-редактором находятся на странице настроек плагина).
  • В предпросмотре можно отобразить: имя комментирующего, его аватар (статический или динамический через сервис gravatar.com), время и дату комментария, текст комментария. Все это можно оформить с помощью CSS под дизайн вашего сайта.
  • Если вы хотите снизить количество запросов к серверу вашего хостинга, в настройках можно запретить подключение файла стилей плагина.
  • Скрипт плагина и файл стилей подключаются только на страницах, где присутствует форма комментариев.

Скачать

Внимание: для полноценной работы плагина могут потребоваться знания технологий CSS и HTML.

Плагин “jQuery Comment Preview” (предпросмотр комментария на WordPress)

Последняя версия: 0.5 | Последнее обновление: 10.09.2011

Установка

  1. Скопировать папку jquery-comment-preview в папку с плагинами: /wp-content/plugins/.
  2. Активировать плагин через меню “Плагины” в админке WordPress.
  3. Если понадобится, настроить опции в админке на странице Параметры -> jQuery Comment Preview.
  4. Если необходимо, отредактировать CSS-стили для блока предпросмотра в файле jquery-comment-preview.css.
  5. Готово.

HTML-код блока предпросмотра

Плагин создает следующую структуру HTML-кода для блока предпросмотра (это может пригодиться при оформлении через CSS):

1
2
3
4
5
6
7
8
9
10
11
<div id="jcpWrap">
  <div id="jcpToolbar">
    <div id="htmlEditor">
      <a>кнопка</a>
      <a>кнопка</a>
      ...
    </div>
    <div id="previewTab">Предпросмотр</div>
  </div>
  <textarea name="comment"></textarea>
</div>

Если ничего не работает

  1. Убедитесь, что используете соответствующую версию WordPress, которая требуется для работы плагина.
  2. Убедитесь, что в файле header.php вашей темы присутствует следующий код:

    1
    <?php wp_head(); ?>

    Если его нет, то вставьте перед тегом </head>.

  3. Если выполнение первых 2-х пунктов не решило проблему, сообщайте подробности в комментарии к этому посту.

История версий

  • Версия 0.5 (10.09.11):
    • теперь, если при вставке ссылки не выделен текст, то анкором становится сама ссылка;
    • добавлена возможность вставки ссылки на изображение через диалоговое окно.
  • Версия 0.4 (19.03.11):
    • оптимизирован jQuery-скрипт;
    • изменены названия идентификаторов блоков, внесены соответствующие изменения в CSS-файл;
    • устранен баг при использовании одинарной кавычки в файле перевода и в шаблоне блока предпросмотра;
    • изменен шаблон блока предпросмотра по умолчанию;
    • из шаблона блока предпросмотра теперь вырезается тег <script></script>;
    • изменен путь к файлу jquery-comment-preview.js;
    • сделан уменьшенный вариант файла md5.js.
  • Версия 0.3 (23.09.10):
    • данная версия предназначена для WordPress 2.9 и выше;
    • исправлено: плагин не работал, если “Адрес WordPress” и “Адрес сайта” различались;
    • в тексте кнопки предпросмотра сделана возможность использовать одинарную кавычку;
    • добавлена кнопка “О плагине”;
    • оптимизирована система сохранения настроек.
  • Версия 0.2 (02.05.10):
    • текстовые ссылки в предпросмотре становятся кликабельными;
    • новая опция: “Добавлять параметр target=”_blank” к внешним ссылкам”;
    • новая опция: “Показывать кнопку с WordPress смайлами” - использует встроенные в WordPress смайлы;
    • добавлена французская локализация.
  • Версия 0.1.7 (18.03.10):
    • исправлена ошибка, когда предпросмотр не работал до тех пор, пока не была нажата кнопка “Сохранить настройки” на странице опций плагина;
    • вместо jQuery 1.3.2 теперь подключается jQuery 1.4.2.
  • Версия 0.1.6 (05.01.10):
    • исправлена ошибка, когда теги HTML-редактором вставлялись некорректно в Internet Explorer;
    • при нажатии на кнопку “ссылка” открывается окно для ввода ссылки, как HTML-редакторе WordPress.
  • Версия 0.1.5 (20.12.09):
    • изменен дизайн панели предпросмотра, теперь он в стиле HTML-редактора WordPress;
    • изменена структура шаблона HTML-редактора;
    • скрипт прицепляется теперь по параметру name тега textarea, a не по id;
    • решена проблема, когда в ряде случаев предпросмотр не работал;
    • скрипты и файл стилей плагина подключаются теперь в head-секции кода страниц;
    • jQuery теперь берется с Гугла.
  • Версия 0.1.4 (20.06.09): добавлена опция “Значение параметра id тега textarea:”; добавлена возможность вставки даты и времени комментария в шаблон блока предпросмотра; добавлена опция показа аватара с сервиса gravatar.com.
  • Версия 0.1.3 (07.02.09): доработаны фильтры форматирования текста в предпросмотре; удалена автоматическая подгонка ширины панели предпросмотра под ширину поля <textarea>, теперь ее ширину нужно изменять через CSS, для этого нужно поиграться с параметром width идентификаторов #jquery-comment-wrap и #jquery-comment-preview, которые находятся в файле jquery-comment-preview.css.
  • Версия 0.1.2 (18.12.08): изменения, связанные с некорректным отображением формы комментирования в IE на некоторых WordPress-темах.
  • Версия 0.1.1 (17.12.08): пофиксен баг: невозможно было отправить комментарий.
  • Версия 0.1 (16.12.08): исходная версия.

Комментарии (168): »

  1. Хм, кстати. А где физически лежит jquery-comment-preview.js ? А то я его код беру из исходного кода страницы, но подозреваю, что из файла то он будет другой.. А вот файла что-то не вижу.

  2. Что характерно, если дергать код из http://dimox.name/jquery-comment-preview-script-2/ , то предпросмотр работает. А вот если из плагина, то нет :(

  3. Он формируется динамически из файла jquery-comment-preview.php.

  4. Здравствуйте.
    1. Подскажите пожалуйста, как сделать, чтобы при нажатии кнопки между тегами уже стояла надпись, например при нажатии code появлялось надпись” (без точек :))
    2. Вставляю код для кнопки картинки

    1
    <button tag="img" id="ed_img">Картинка[src="" alt=""]</button>

    , но при нажатии не появляется java форма для ввода ссылки, побовал Ваш вариант

    1
    <button id="ed_img" title="Изображение">img[src="" alt=""]</button>

    но пишет

    1
    <undefined src="" alt=""></undefined>

    В чем может быть проблема или я не так что-то ввожу?
    3. У меня стоит плагин Simle Local Avatar (пользователи могут залить себе аватарку в профиле), но в предпросмотре все равно отображаются gravatar. Для отображения SLA я использую код в фале comments.php

    1
    2
    3
    <ol class="avatar">
    <?php echo get_avatar($comment); ?>
    </ol>

    Можно ли как-нибудь сделать, чтобы в предпросмотре отображались локальные аватарки а не gravatar.

  5. 1. Такой возможности нет.

    2. Правильным является первый код, который вы указали. А то, что не появляется java форма для ввода ссылки - это потому, что такая функция в плагине не заложена. Возможно, что в будущем ее добавлю.

    3. Это потребует много изменений в плагине, так что никак.

  6. Спасибо за ответ. Несмотря на эти маленькие недостатки, все равно предпочел ваш плагин остальным. Надеюсь, что он получит дальнейшее развитие.

  7. Потестил плагин, - плагин крутой. но нашел небольшие изьяны:

    1. Не совсем совместим с Search Meter забивает базу поисковых запросов надписьями jquery-comment-preview.js?879879782 (цифры)

    2. При нажатии обновить панель исчезает вовсе.

    3. На локальном компе с кодировкой проблем не было, выложил в интернет и все записи которые можно поменять в панели в настройках в том числе название “предпросмотр”, “скрыть предпросмотр” вылазит в виде каракулей. перевел все файлы в utf-8 без бом, прописал в htaccess кодировку ютф8 по умолчанию - не помогает.

  8. 1. Ничем не могу помочь.

    2. Непонятно, о чем речь.

    3. Проблема в вашем сайте, а не в скрипте.

  9. Спасибо Вам за этот отличный плагин.
    Установил, всё отлично работает, но проблема в том, что когда я отправляю комментарий, он выводится без HTML тегов, т.е. если я выделил слово курсивом, то в предпросмотре всё ОК, а вот в готовом виде на странице всё обрезается. Я так понимаю что где-то стоит запрет на HTML в комментах. Подскажите, пожалуйста где это может быть?

  10. Можно попробовать это, но не уверен, что поможет.

  11. Не помогло. Ошибку выдаёт. Я так понял запрет реализован в файле functions.php ? и относиться только к данной теме сайта, в смысле к той что у меня используется?

  12. Возможно, что да. Либо какой-то плагин, который их обрезает.

  13. Всё сделал.
    Удалил вот этот участок кода в functions.php:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    //remove html tag when saving comments
    function preprocess_comment_striptags($commentdata) {
        $commentdata['comment_content'] = strip_tags($commentdata['comment_content']);
        return $commentdata;
    }
    add_filter('preprocess_comment', 'preprocess_comment_striptags');

    // remove html tag when showing comments
    function comment_text_striptags($string) {
        return strip_tags($string);
    }
    add_filter('comment_text', 'comment_text_striptags');
  14. Прекрасный плаг, давно его юзаю. Одно непонятно: почему он не сообщает, что есть обновление? :(
    У меня до сих пор стояла версия 0.2, сюда забрела совершенно случайно, а тут уже разговор за 0.5 :)

  15. Вот уж не знаю, от меня тут ничего не зависит.

  16. Странно, вообще-то.. А почему другие плаги сообщают, что есть обновление?
    Не все, кстати. Я думала, тут дело в том, лежит плаг на wordpress.org или не лежит..

  17. Да, от этого и зависит. Но мой плагин там есть, поэтому действительно странно.

  18. 168
    Гость
    Гость

    Плагин работает, спасибо большое :)
    Есть один косяк - появляется он в ГуглХроме и Сафари. Опера и файрфокс не повторяют.
    Косяк: при нажатии на кнопку “Предпросмотр”, при наличии введенных в textarea comment’ов любых символов, появляется два символа перевода строки. Короче два новых абзаца вставляется, ну или один .

Присоединяйтесь к обсуждению!

Отправляя кoммeнтapий, вы автоматически принимаете правила кoммeнтиpoвaния на этом блоге.

Правила кoммeнтиpoвaния на блоге dimox.name:

  1. Первый кoммeнтapий всегда проходит премодерацию.
  2. В поле "URL блога" можно указывать только ссылку на главную страницу вашего блога. Ссылки на прочие веб-ресурсы (в том числе блоги/сплоги, созданные не для людей) будут удалены.
  3. Запрещается использовать в качестве имени комментатора слоганы/названия сайтов, рекламные фразы, ключевые и т.п. слова. В случае несоблюдения этого условия имя изменяется по усмотрению владельца блога. Просьба указывать нормальное имя или ник.
  4. Весьма вероятно, что короткий и неинформативный кoммeнтapий вида "Спасибо!", "Интересная статья", будет удален. Исключение составляют знакомые автору блога комментаторы.
  5. Комментарии не по теме удаляются.

Подписаться, не комментируя
  • Похожие статьи
  • Предыдущие из рубрики