Тренування роботи з редактором TinyMCE – урок 32

Мені дуже подобаються можливості CMS WordPress для роботи з візуальним редактором TinyMCE, дані можливості були представлені для тих, хто користується версією WP вище 3,9. Не обіцяю дати вам повну інформацію щодо TinyMCE API, але дам приклади коду, який ви зможете використовувати у своїй роботі.

Почнемо наш довгий та цікавий урок!

Додаємо поле вибору сімейства шрифтів та розміру шрифту

Для додавання елементів для роботи зі шрифтами та їх розмірів використовуйте код нижче.

Ось що в нас вийшло:

wordpress TinyMCE - добавляем размер текста и семейство шрифтов

wordpress TinyMCE - додаємо розмір тексту та сімейство шрифтів

Ми можемо змінювати mce_buttons_2 на mce_buttons_3 або mce_buttons_1, це дасть можливість переміщати нові елементи між першою, другою та третьою панеллю.

add_filter mce_buttons_3 переміщення елементів між панелями TinyMCE

Додавання розмірів користувача шрифту

За замовчуванням розміри шрифту не завжди підходять для оформлення тексту на сайті. Ще одна проблема шрифтів за замовчуванням, це те що вони налаштовуються у пунктах, а не пікселях, як ми до цього звикли. Я волію використовувати піксельні значення (10px, 12px, 13px, 14px..). Нижче я даю приклад функції, яка змінить розміри шрифту та одиниці вказані в WordPress за замовчуванням.

WordPress розмір шрифту за замовчуванням у пунктах ptWordPress TinyMCE розмір шрифту за замовчуванням у пікселях px

Додавання шрифтів користувача

За промовчанням у движку не можна використовувати свої імена шрифтів, хоча вони часто потрібні. Якщо ви створили свій шаблон і хочете настроїти вибір шрифту для користувача, то вам знадобиться наступна функція.

Новий шрифт у TinyMCE

Оскільки деякі шрифти можуть не опинитися на комп'ютері користувача, нам потрібно не лише надати вибір цих шрифтів, але і підключити їх до WordPress? щоб вони коректно відображалися в адмінці. Наприклад, можна підключити шрифт Лато який я використовую вище.

Нове та зручніше багаторівневе меню формати

Якщо ви ще не користувалися цією функцією, то раджу спробувати її у дії, а результатом цієї функції буде меню, показане на малюнку нижче.

меню формати у редакторі pwВключаємо формати меню в wp

 

Додаємо нові пункти у меню, що випадає

Додати нові пункти в меню дуже просто і перше що необхідно знати це надбудову, яку ми будемо використовувати в коді який буде нижче $налаштування[‘style_formats_merge’] = правда; ця надбудова допоможе не створювати окреме меню, але доповнити вже існуюче меню формати.

Додавання нового підменю до wordpress

Під номером (2) є активний пункт, який укладає виділений текст у тег проліт з класом виділення тексту.

Під номером (1) неактивний пункт, тому що цей пункт буде працювати тільки в тому випадку, якщо текст укладено в тег <a> і виділено. Я показав це на малюнку нижче. Уважно досліджуйте код, щоб розібратися чому так відбувається, тут я даю ви самі розберетеся, а ми підемо далі.

wordpress робота з меню MCE

Створення кнопки у редакторі TinyMCE

Створення кнопок особливо для нас корисне, так як створюючи тему для wordpress ми часто створюємо шорткоди, а користувачеві необов'язково знати всі шорткоди напам'ять. Створюючи кнопку користувачеві, достатньо буде на неї натиснути, щоб додати шорткод або певний текст.. Створення кнопки буде поділено на дві частини.

  1. Код для оголошення нового плагіна у functions.php.
  2. Скрипт JS для додавання кнопки до редактора;

Перший скрипт буде тісно пов'язаний із файлом JS. Отже давайте я представлю вам 2 коду:

Додаємо скрипт у файл functions.php

Додаємо javascript за адресою /wp-content/themes/intrepidity/js/mce-button.js

Кнопка створена та вставляє текст.

Кнопка вставляє текст або шорткод

Єдиний мінус такої кнопочки в тому, що вона займає багато місця в редакторі., тому я пропоную зробити кнопочку з іконкою.

Для налаштування іконок можна використовувати нові підключені стилі, для панелі адміністратора, додайте їх у файл functions.php:

Якщо стилі треба вантажити з плагіна, можна використовувати наступний код:

Створіть папку images у папці теми, якщо її там ще немає. До створеної папки додайте іконку з назвою check.png.

Далі додаємо стиль для майбутньої іконки у файл css/my-mce-style.css.

Переробте раніше створений скрипт у папці js/mce-button.js, коментуйте напис для кнопки text: «Нова кнопка» і значок: false.

Додати новий параметр icon: «mce-i-my-mce-icon», який додасть до нової кнопки створений раніше клас у файлі стилів панелі адміністратора.

Якщо все зроблено правильно, то у вас з'явиться кнопка з іконкою, яка при натисканні буде додавати напис.

wordpress MCE додавання кнопки з іконкою

Додавання кнопку до редактора з підменю

Ми з вами створили кнопку з іконкою, але при необхідності створити складний функціонал шаблону та безліч кнопок цей спосіб буде скрутним. До того ж незручно працювати коли багато кнопок на панелі. Зараз ми з вами постараємося розібратися у питанні “як додати більше вільного місця на панелі редактора?». Змініть код кнопки у файлі js/mce-button.js на який бачите нижче.

Якщо ви уважно придивіться до структури коду, то зрозумієте що в ньому немає нічого складного і переробити його не складе великої праці. Ось результат, який ми отримаємо:

спадне меню редактора tinymce wordpress

Якщо ви до цього зробили все правильно, то побачите, що при виборі одного з підпунктів меню в полі для тексту з'явиться напис “wp-admin.com.ua – уроки wordpress!».

Найчастіше вставка тексту без зміни не дуже корисна, оскільки при вставці шорткоду необхідно вказувати додаткові опції, які керуватимуть роботою шорткоду. Для вказівки опцій у шорткоді можна використовувати спливаюче вікно, давайте розберемося разом як його створити.

Спливне вікно tinymce WordPress

Для створення спливаючого вікна необхідно змінити код у файлі js/mce-button.js на вказаний нижче. Впевнений, якщо до цього ви читали уважно і все у вас виходило, то проблем розібратися в коді нижче у вас не виникне.

Ось що вийшло в результаті виконаної роботи зі спливаючою вікном.

спливаюче вікно tinymce

Висновки уроку

Що далі? Далі все у ваших руках, ви можете самі придумати яким чином будете використовувати шорткод і панель інструментів редактора tinymce. Урок вийшов непростий і трохи плутаний, але ми і не на першому уроці., час вчитися розбиратися в коді, якщо не вийде, але захочете розібратися як вбудовувати код у вашу тему можу виділити час і провести платне заняття.

Джерело ідей та натхнення до уроку:

WordPress 3.9+ TinyMCE 4 Твіки: Додавання стилів, кнопки, Шрифти, Випадаючі списки & Спливаючі вікна


Купити хостинг WordPress
/* Репетитор по wordpress
Послуги репетитора онлайн. Список курсів, які я веду
  • Базовий курс з веб-дизайну;
  • Верстка сайтів;
  • Загальний курс CMS WordPress та продовження курсу з розробки шаблонів;
  • Розробка сайтів на PHP.
Докладніше читайте на сторінці репетитор по WordPress
*/

Ніколаєнко Максим

Директор веб-студии ProGrafika. Займаюсь розробкою, дизайном та просуванням веб-сайтів. Завжди радий новим читачам блогу та добрим клієнтам.


Вам також може сподобатися...

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.

Шаблони для WordPress
Найкращий хостинг в Україні
Стабільний хостинг для Drupal