Плагин: ExpandingText для записей и комментариев

Выкладываю плагин, который написал сам для себя и использую здесь же на сайте. Пример его работы вы все видели на странице Скачать правильный русский BuddyPress 1.0.1. Я говорю об обычном спойлере ExpandingText, что так часто используется на различных форумах (на torrents.ru, к примеру).

Этот плагин не имеет красивых эффектов работы, типа медленного выезжания текста. Я просто посчитал, что первым делом нужна функциональность, а затем все остальное. Зато я могу похвастаться, что использую всего 3 строки кода на javascript, а это не влияет на скорость загрузки сайта. А это огромный плюс!

И еще о некоторых достаточно интересных на мой взгляд особенностях плагина.

1. Плагин работает как в записях, так и в комментариях! Вот как это выглядит. Оранжевая полоса – мои css настройки. Их можно менять, ниже напишу, где именно. Для работы спойлера в комментариях надо вставить вот такой код в текст комментария (используйте английские буквы внутри квадратных скобок):

[ЕТ Заголовок спойлера]Текст спойлера.[/ЕТ]

2. Можно вставлять рисунки. Демо вы видели на странице скачивания BuddyPress.

3. Даже если у пользователя отключен Javascript (это меньше 5% людей, из которых большинство – боты), текст будет все равно отображаться.

4. Текст не прячется нигде физически, а это означает, что он замечательно индексируется поисковиками.

5. Далеко не все при написании поста в админке любят вручную вставлять код, который к тому же надо еще и помнить (а он именно такой, какой указан в первом пункте). Поэтому я внедрил 2 кнопки в ваши редакторы: как визуальный, так и для HTML. Вот как он выглядят.

ВизуалHTML

При нажатии на них появится окно:

где вы вводите заголовок. После этого в тексте записи появляется код и вам остается просто между квадратными скобками ввести то, что вам нужно спрятать в спойлер.

6. Плагин сделан на английском, внедрена локализация и добавлен русский перевод. Если используете на WPMU вместе с языком (locale) ru, а не ru_RU, тогда открываем папку, и переименовываем файл expandingtext-ru_RU.mo на expandingtext-ru.mo.

Вроде бы все. По поводу CSS: мне было лень делать админку для css или выделять все в отдельный файл. Я планирую адаптировать его для BuddyPress – вот тогда он и будет полностью настраиваемый. На данный момент я вырезал все стили из архива, который даю вам скачать, вам надо будет написать собственные стили, основываясь на моем примере:

[css]#etlink a {text-transform:uppercase;} /*заголовок*/<br />
div.et_div {border-left:4px solid #FF7400;} /*сам текст*/[/css]

Добавляете ваши стили в файл style.css.

Извините, этот файл сильно устарел и больше нет возможности его скачать.

комментариев 11

  1. максим:

    скачал, посмотрю что получится

  2. shirs:

    СУПЕР!
    СПАСИБО!!!

  3. shirs:

    а как вызывать прямой функцией в коде?
    Я хочу к форме комментирования прикрутить (в comments.php), например

    [ET форматирование] ЗДЕСЬ КНОПОЧКИ QUICKTAGS, вызываются функцией квиктагз [/ET]

  4. Прочитайте еще раз первый пункт особенностей плагина.

  5. shirs:

    я понимаю, что он работает в публикациях и комментариях.
    Мне бы хотелось дополнительно научиться вызывать его прямой функцией для вставки в код.
    Если я правильно понимаю, то надо использовать функцию
    et_process($content)

    Или это совсем невозможно?

  6. Александр:

    Обновился до BP 1.0.1. Появилось:

    Fatal error: Cannot redeclare class bp_activity_activity in /www/psystyle/www/htdocs/wp-content/plugins/buddypress/bp-activity/bp-activity-classes.php on line 3

    Что это, Вячеслав?

  7. @shirs:
    Эта функция не вызывается напрямую. Она работает в качестве фильтра для блока данных: фильтрует блок текста на предмет спец кода, обрабатывает его, и только потом выводит немного другой вариант текста с добавленным спойлером. Вам необходимо отредактировать файл плагина по образу и подобию (смотрите последние строки, где функция add_filter). Добавьте фильтр на блок вашего текста.

    @Александр:
    Немного не в той записи вы опубликовали проблему :) Что это за проблема – подумаю. Попробуйте банально отключить BuddyPress и заново его включить. Может помочь (переопределятся функции).

  8. shirs:

    @slaFFik:
    Получается, что у меня не текст, а внутри формы commentform вызывается функция, ее вызов нужно вставить в спойлер.
    Сделал фильтр на commentform, не работает… :-(
    Также просто в комментариях не работает, видимо по-другому называется текст комментария, не comment_text.
    А как бы это проверить?…

  9. @slaFFik: Из админки всё работает, а в комментариях не работает. Не родскажешь в чём может быть причина ?

  10. алекс:

    Блеск! Спасибо!

  11. Снежана:

    Жаль, что сейчас этот плагин не работает…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *