Створення плагіна WordPress

11

Від автора: вітаю вас, друзі. Якщо ви вже можете створювати теми для WordPress і досить впевнено програмуєте на PHP, тоді вас може зацікавити перехід на наступний рівень, може зацікавити таке питання, як створення плагіна WordPress. Дана стаття покликана дати загальне розуміння того, як створити плагін для WordPress.

WordPress розробка плагіна

Для початку давайте визначимося з тим, що таке плагін щодо WordPress і для чого потрібні плагіни. Плагін — це ні що інше, як розширення для WordPress, який надає для сайту додатковий функціонал, наприклад: симпатична галерея, висновок схожих записів, організація голосування на сайті, рейтинг статей і т. д. і т. п. це Розширення, тобто плагін, взаємодіє з ядром WordPress завдяки API WordPress.

Плагінів для WordPress написано тисячі. Тільки в офіційному репозиторії на сьогоднішній день перебуває понад 40 тисяч плагінів.

Створення плагіна WordPress

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

Тут варто відзначити, що дане рішення можна написати банально у файлі functions.php вашої теми. І код буде працювати так само добре, як і у випадку написання плагіна. Ось тільки цей код буде не універсальним. Адже код, написаний в functions.php теми буде працювати тільки в рамках цієї теми. Варто нам змінити тему і написане нами розширення вже перестане працювати. Доведеться лізти в код теми і додавати код в файл функцій.

У випадку ж з плагіном ми отримуємо універсальне рішення, яке буде працювати з будь-якою темою, оскільки це буде глобальне, не залежне від теми рішення. Крім того, плагін можна в будь-який момент відключити, якщо він вам більше не потрібен і для цього не потрібно лізти в код теми, плагін відключається з меню керування плагінами.

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

Як створити плагін для WordPress

У цій частині статті поговоримо про загальні засади створення плагінів. Всі плагіни розміщуються в папці \wp-content\plugins\. Давайте створимо тут папку і постараємося дати їй назву, що відображає суть плагіна, який ви будете писати. В якості прикладу ми будемо писати плагін, який додає підпис до статей, тому я назву папки wfm-sign. Оскільки слово sign (або будь-яке інше значуще слово) цілком може використовуватися в інших плагінах, доброю практикою вважається додавати до назв файлів, папок, функцій, змінних і т. д. певного префікса. Наприклад, я використовую префікс wfm, щоб уникнути можливих конфліктів з іншими розширеннями.

Отже, створимо папку і додамо в неї однойменний файл — wfm-sign.php. Це буде головний файл плагіна. Файл можна назвати і index.php, але мені звичніше називати його по імені папки. Якщо ваш плагін передбачає наявність файлів стилів, клієнтських скриптів або картинок, то під них краще створити відповідні папки всередині папки плагіна.

Йдемо далі. Для того, щоб WordPress працював з нашим розширенням, в головному файлі плагіна необхідно додати відповідний заголовок, приблизно так само, як це робиться у файлі стилів теми. За великим рахунком, достатньо вписати тільки назву плагіна — Plugin Name. Але можна вписати і додаткові дані: автора, версію і т. п.

Створення плагіна WordPress

Зверніть увагу на те, що кодування файлу повинна бути UTF-8 без BOM, тільки в цьому випадку кириличні символи будуть відображатися коректно на сайті. Після збереження файлу ми повинні побачити новий плагін в списку доступних і можемо навіть активувати його.

Створення плагіна WordPress

Поки що наш плагін не виконує жодної корисної роботи. Давайте додамо йому необхідну функціональність. Як ви пам’ятаєте, вище я говорив про те, що взаємодія плагіна з ядром WordPress здійснюється завдяки API WordPress. Зокрема, взаємодіяти з ядром ми можемо завдяки механізму зачіпок або хуків (hook — з англ. «гачок», «зачіпка»).

Для розв’язання задачі нам потрібно хук the_content, до якого ми причепимо власну функцію. Зробити це можна за допомогою спеціальної функції add_filter. Фактично ми додамо до функції the_content власну функцію-фільтр. Підсумковий код головного файлу плагін буде виглядати так:

Підпис до статті, додана плагіном…

‘;
return $content . $wfm_sign;
}

Наша функція wfm_sign_content приймає як параметр контент посту. Далі ми перевіряємо, проглядається повний текст статті і, якщо це не так (якщо функція is_single поверне false), тоді ми просто повернемо контент. В іншому випадку — повернемо контент, до якого додамо потрібний підпис.

Створення плагіна WordPress

Власне, найпростіший варіант плагіна готовий. При цьому ми розробили плагін, який буде працювати для будь-якої теми, тобто ми отримали універсальне рішення. Якщо вас зацікавила тема створення плагінів для WordPress, тоді пропоную вам наш курс з вивчення API WordPress і створення плагінів для WordPress. Ну а на цьому я з вами прощаюся. Удачі!