Від автора: вітаю вас, друзі. Якщо ви вже можете створювати теми для WordPress і досить впевнено програмуєте на PHP, тоді вас може зацікавити перехід на наступний рівень, може зацікавити таке питання, як створення плагіна WordPress. Дана стаття покликана дати загальне розуміння того, як створити плагін для WordPress.
WordPress розробка плагіна
Для початку давайте визначимося з тим, що таке плагін щодо WordPress і для чого потрібні плагіни. Плагін — це ні що інше, як розширення для WordPress, який надає для сайту додатковий функціонал, наприклад: симпатична галерея, висновок схожих записів, організація голосування на сайті, рейтинг статей і т. д. і т. п. це Розширення, тобто плагін, взаємодіє з ядром WordPress завдяки API WordPress.
Плагінів для WordPress написано тисячі. Тільки в офіційному репозиторії на сьогоднішній день перебуває понад 40 тисяч плагінів.
Вони дозволяють вирішити величезний коло завдань. Але рано чи пізно перед нами може виникнути завдання, для якої поки немає коробкового рішення. У цьому випадку нам доведеться писати власне і оформити його краще у вигляді плагіна.
Тут варто відзначити, що дане рішення можна написати банально у файлі functions.php вашої теми. І код буде працювати так само добре, як і у випадку написання плагіна. Ось тільки цей код буде не універсальним. Адже код, написаний в functions.php теми буде працювати тільки в рамках цієї теми. Варто нам змінити тему і написане нами розширення вже перестане працювати. Доведеться лізти в код теми і додавати код в файл функцій.
У випадку ж з плагіном ми отримуємо універсальне рішення, яке буде працювати з будь-якою темою, оскільки це буде глобальне, не залежне від теми рішення. Крім того, плагін можна в будь-який момент відключити, якщо він вам більше не потрібен і для цього не потрібно лізти в код теми, плагін відключається з меню керування плагінами.
Крім того, функціоналом, оформленим у вигляді плагіна, ви завжди можете поділитись із знайомими, просто віддавши їм архів з плагіном, який можна встановити на будь-який сайт WordPress. Це дуже зручно. Ну і, звичайно ж, ви можете писати в цьому випадку код на замовлення. Наприклад, ви можете написати красиву галерею і оформити своє рішення у вигляді плагіна, створивши тим самим плагін галереї для WordPress. Загалом, думаю, цілком очевидна вигода оформлення коду у вигляді плагіна, насамперед вона полягає в універсальності.
Як створити плагін для WordPress
У цій частині статті поговоримо про загальні засади створення плагінів. Всі плагіни розміщуються в папці \wp-content\plugins\. Давайте створимо тут папку і постараємося дати їй назву, що відображає суть плагіна, який ви будете писати. В якості прикладу ми будемо писати плагін, який додає підпис до статей, тому я назву папки wfm-sign. Оскільки слово sign (або будь-яке інше значуще слово) цілком може використовуватися в інших плагінах, доброю практикою вважається додавати до назв файлів, папок, функцій, змінних і т. д. певного префікса. Наприклад, я використовую префікс wfm, щоб уникнути можливих конфліктів з іншими розширеннями.
Отже, створимо папку і додамо в неї однойменний файл — wfm-sign.php. Це буде головний файл плагіна. Файл можна назвати і index.php, але мені звичніше називати його по імені папки. Якщо ваш плагін передбачає наявність файлів стилів, клієнтських скриптів або картинок, то під них краще створити відповідні папки всередині папки плагіна.
Йдемо далі. Для того, щоб WordPress працював з нашим розширенням, в головному файлі плагіна необхідно додати відповідний заголовок, приблизно так само, як це робиться у файлі стилів теми. За великим рахунком, достатньо вписати тільки назву плагіна — Plugin Name. Але можна вписати і додаткові дані: автора, версію і т. п.
Зверніть увагу на те, що кодування файлу повинна бути UTF-8 без BOM, тільки в цьому випадку кириличні символи будуть відображатися коректно на сайті. Після збереження файлу ми повинні побачити новий плагін в списку доступних і можемо навіть активувати його.
Поки що наш плагін не виконує жодної корисної роботи. Давайте додамо йому необхідну функціональність. Як ви пам’ятаєте, вище я говорив про те, що взаємодія плагіна з ядром WordPress здійснюється завдяки API WordPress. Зокрема, взаємодіяти з ядром ми можемо завдяки механізму зачіпок або хуків (hook — з англ. «гачок», «зачіпка»).
Для розв’язання задачі нам потрібно хук the_content, до якого ми причепимо власну функцію. Зробити це можна за допомогою спеціальної функції add_filter. Фактично ми додамо до функції the_content власну функцію-фільтр. Підсумковий код головного файлу плагін буде виглядати так:
Підпис до статті, додана плагіном…