Когда я вот в этом посте случайно 🙂 написал обзор плагинов, позволяющих добавлять кнопки редактирования текста в комментариях, чтобы все было в wysiwyg стиле tinymce, то я там упомянул Wysiwyg-редактор CKEditor For WordPress. Который кнопки, конечно, добавляет, но при этом до неузнаваемости меняет стандартный редактор TinyMCE, а вернее – подменяет его собою, и не могу сказать, что он мне очень уж сильно понравился. Слишком уж он навороченный, и не могу сказать, что эстетически сильно привлекательный. Тем не менее, некоторые кнопочки из него были бы полезны и в стандартном редакторе, например, я не отказался бы добавить в TinyMCE кнопку якорь, выделение цветом, суперскрипт и сабскрипт, которые там по умолчанию отсутствуют.
Вот как изначально выглядел мой редактор, единственное, что отметил бы отдельно, это то, что различные плагины уже успели запихать туде еще несколько своих кнопок.
Так что, приступим-с. Сначала – для тех, кто не ищет легких путей 🙂 Т.е., хотя я ни разу ни программист, полезем ломать код – тем более, опция добавления этих кнопок присутствует в TinyMCE изначально.
Берем файл functions.php из папки с нашей темой, у меня, к примеру, он лежит по пути /httpdocs/wp-content/themes/coffeedesk/. Делаем его бэкап, и в самый конец файла добавляем код следующего вида, утащенный мною с одного англоязычного ресурса:
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php function enable_more_buttons($buttons) { $buttons[] = 'fontselect'; // какой шрифт использовать $buttons[] = 'fontsizeselect'; // размер шрифта $buttons[] = 'backcolor'; // цвет фона $buttons[] = 'sup'; // верхний индекс $buttons[] = 'sub'; // нижний индекс $buttons[] = 'anchor'; // якорь $buttons[] = 'hr'; // разделительная черта return $buttons; } add_filter("mce_buttons_3", "enable_more_buttons"); ?> |
mce_buttons_3 означает, что мы вставляем эти дополнительные кнопки третьим рядом, остальное – понятно из комментариев. Если мало указанных кнопок, то на сайте TinyMCE есть список всех кнопок, которые можно добавить таким образом.
Таким образом, у нас получается что-то в таком духе:
Однако что делать, если по эстетическим причинам нам не нравится третий ряд кнопок, и пустующее пространство в первом и втором ряду? Методом проб и ошибок выясняется, что можно весьма несложно модифицировать данный код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php add_filter("mce_buttons", "enable_more_buttons"); function enable_more_buttons($buttons) { $buttons[] = 'fontselect'; // какой шрифт использовать $buttons[] = 'fontsizeselect'; // размер шрифта return $buttons; } add_filter("mce_buttons_2", "enable_more_buttons_2"); function enable_more_buttons_2($buttons_2) { $buttons_2[] = 'backcolor'; // цвет фона $buttons_2[] = 'sup'; // верхний индекс $buttons_2[] = 'sub'; // нижний индекс $buttons_2[] = 'anchor'; // якорь $buttons_2[] = 'hr'; // разделительная черта return $buttons_2; } ?> |
Таким образом, mce_buttons будет означать, что мы вставляем эти дополнительные кнопки в первом ряду, а mce_buttons_2 – во втором. И вот что у нас получится:
Вроде ничего, можно оставить и так, да только хочется их, эти кнопочки, получше отсортировать, чтобы шли по порядку и блоками. Для чего необходимо добавить и поправить еще файлик advanced-wysiwyg.php, и editor_template.js. Кто хочет подробно разобраться – описано вот здесь и здесь, ну и гугль c форумом по TinyMCE, конечно, в помощь.
Но мы же не будем дальше страдать фигней, исследуя сферических коней в вакууме, а просто вернем на место исходный functions.php, да поставим плагин TinyMCE Advanced – это, наверное, самый простой и правильный путь, с которого и надо было начинать. Также его официальная страница находится здесь. Он дает возможность добавить, удалить, и расположить по порядку (то бишь – сортировать) все кнопки в Tinymce editor, просто таская их мышкой в настройках. И вот как красиво все в результате получилось. Как говорится, найдите десять отличий, кликнув на картинке, и после того, как она выплывет на пол-экрана, попереходите между ними стрелочками:
Ну, а если уж очень сильно захочется, чтобы был третий ряд кнопок, то можно и его добавить (табличный редактор занимает чуть-ли не пол-ряда.
Вот, вроде и все. Ну а тем, кто нам скажет, что плагины тормозят работу сайта – мы ответим: нефиг пенять на машины с автоматами, мол, медленно едут – надо просто брать их с двигателями помощнее!
Добавить комментарий