Wordpress: Заменяем TinyMCE на NicEdit
Поднимите руки, владельцы блогов на движке Wordpress! Так я и знал, не я один такой в этом мире. =) А какой у Вас в админке редактор текста? Дайте угадаю: TinyMCE? Почти для любого случая это будет истиной. Лично меня такая ситуация не устраивает.
Сегодня я расскажу Вам, как можно здорово облегчить себе жизнь и вырезать этот ужасный TinyMCE из админки, заполнив пустое место недавно появившимся, но зарекомендовавшим себя NicEdit. Прямо на главной странице можно потрогать за функциональность этот маленький WYSIWYG-редактор, а на странице с примерами увидеть более сложные варианты его использования. Сразу оговорюсь, редактор больше подходит людям, которые умеют и желают контролировать HTML-код своих статей. Но для общего использования он тоже максимально пригоден.
Меня скорость, размер, гибкость и дружелюбность этого скрипта впечатлили, и я решил заменить давно надоевший TinyMCE в админках своих проектов, среди которых, естественно, и мой WP-блог. Итак, приступим.
Если посмотреть шаблоны редактирования и создания записей в WP (которые, кстати, шаблонами можно обзывать с большим натягом), то можно увидеть, что отрисовка самого редактора возложена на функцию the_editor, находящуюся в файле wp-includes/general-template.php. Её-то и следует править.
Распаковываем nicEdit-full.zip в папку wp-includes/js и переписываем функцию the_editor примерно следующим образом: http://huze.ru/the_editor.txt.
Её (функцию), конечно, можно было бы и сократить (убрать проверку user_can_richedit, например), но суть ясна, дальше экспериментируйте сами. =) Конечно, редактор не идеален и имеет свои проблемы, но где их нет? К примеру, для полноценной работы сильно не хватает кнопки “more”, позволяющей обрезать статью для отображения на главной странице. Но это решается ручным добавлением тега <––more––> в HTML-исходник статьи. Кто понимает, тот понимает. =)
Этот пост я писал уже в замечательном NicEdit, чего и всем желаю. В следующих статьях я, вероятно, опишу, как добавить кнопки на панель инструментов, а также дам небольшой мануал по настройке скрипта.