Більше результатів...

Загальні селектори
Тільки точні збіги
Шукати у заголовках
Шукати у контенті
Вибір типів постів
Фільтрувати за категоріями
FAQ
Hostenko
Натхнення
Відео уроки
Новини
Плагіни
теми
Уроки
Хакі

Напевно, ви неодноразово стикалися з тим, що потрібно додати якийсь шматок коду для вашого сайту на WordPress, щоб додати нову функціональність. Я говорю зараз не про скрипти Google аналітики, які ви вставляєте в header частину вашої теми. Ні. Я про ті маленькі фрагменти коду, які ви знайшли на форумах в інтернеті і одразу ж побігли додавати їх до свого файлу functions.php.

Давайте будемо чесні, адже ви хоч раз робили це, чи не так? І це зрозуміло, адже на форумі так і було написано – додайте цей код до functions.php вашої теми на WordPress.

inet.ws - Powerful VPS Hosting в США, Canada, UK та DE!

Як краще додати свій код у functions.php або створити кастомний плагін на WordPress?

Дивіться також:

Правда в тому, що додавати кожен знайдений в інтернеті код у functions.php не завжди гарна ідея. Більш безпечним рішенням буде створити свій кастомний міні плагін із цим кодом.

У цьому уроці ми розповімо, в яких випадках можна додавати код до functions.php, а в яких краще використовувати окремий плагін. Також ми покажемо, як ви можете створити кастомний плагін і додати в нього свій код.

Що таке functions.php

Якщо ви коли-небудь лазили файлами вашого WordPress сайту, ви могли натрапити на кілька файлів functions.php. Файл functions.php, про який ми говоритимемо в цьому уроці, знаходиться в папці: wp-contentthemesваша_темаfunctions.php.

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

Чому завжди використовувати functions.php - це погана ідея

Не зрозумійте неправильно використовувати functions.php для маленьких шматочків коду в пару рядків - це цілком нормальна ситуація. Ми говоримо про те, що небажано використовувати functions.php як склад для всього доданого вами коду. Це не є універсальним рішенням для будь-якої ситуації.

Причина №1.

Якщо вийде оновлення для теми оформлення, ви втратите все, що ви дописали у файлі functions.php. Я знаю, про що ви тільки-но подумали — але ж є дочірні теми саме для таких ситуацій?

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

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

Причина №2.

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

Причина №3.

Якщо ви додали код до functions.php, який абсолютно несподіваним чином повністю зламав ваш сайт, і ви бачите порожній білий екран — вам знадобиться FTP клієнт, щоб закачати "зіпсований" functions.php, відредагувати його та завантажити назад на сайт. Насолода таке собі.

Коли можна використовувати functions.php

Правильне використання functions.php для дочірньої теми, активної на даний момент – це допустимий варіант. Але пам'ятайте, я акцентував увагу на цьому словіактивною"?

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

  • Додавання ще одного файлу стилів (.css) для вашої теми
  • Зміна довжини для анонсу запису (post excerpt), щоб сайт виглядав краще
  • Додавання кастомних шрифтів для поточної теми
  • Додавання файлу локалізації для перекладу поточної теми

Іншими словами, щоразу при додаванні або зміні чогось, пов'язаного з конкретною поточною темою, ви можете сміливо використовувати functions.php.

Коли краще обійтись без functions.php

Використовувати functions.php для додавання більш глобальних речей та функцій, які вам теоретично можуть стати в нагоді і для іншої теми – ось це погана ідея.

Ось кілька прикладів, коли краще обійтися без functions.php:

  • Створення кастомних віджетів, які ви часто будете використовувати
  • Створення кастомних шорткодів
  • Додавання коду, який не залежить від теми оформлення (код Google Analytics тощо)

У таких випадках краще зберігати цей код незалежно від вашої теми оформлення. І ви можете зробити це за допомогою кастомних плагінів.

Ви зараз подумали – ламати голову над створенням плагіна, коли можна відредагувати functions.php? Це дуже складно! Повірте, це негаразд. Це робиться дуже легко та швидко.

Як настроїти кастомний плагін замість functions.php

Щоб створити свій кастомний плагін для зберігання вашого коду, вам потрібно:

  1. Створити текстовий файл із вашим кодом і зберегти його як .php файл
  2. Запакувати отриманий .php файл у .zip архів
  3. Встановити цей архів як звичайний WordPress плагін у меню Плагіни → Додати новий

Ось і все, лише 3 дії.

Крок 1. Створення .php файлу з кодом

Відкрийте Блокнот на комп'ютері та вставте наступний текст:

<?php

/*
Plugin Name: WPcafe Custom Plugin
*/

/* Добавьте ваш код сразу под этой строчкой */

?>

Звичайно, ви можете використовувати своє ім'я для плагіна у рядку Plugin Name:

Як краще додати свій код у functions.php або створити кастомний плагін на WordPress?

Збережіть файл і дайте йому якесь унікальне ім'я, щоб WordPress не переплутав вашу плагін з уже встановленими. Наприклад: wpcafe-custom-functions.php.

Так, не забудьте при збереженні вибрати тип файлів "Всі файли" і дописати розширення .php:

Як краще додати свій код у functions.php або створити кастомний плагін на WordPress?

Крок 2. Створіть .zip архів

Думаю, тут не потрібно жодних пояснень. Просто створіть .zip архів із вашим файлом будь-яким зручним архіватором.

Як краще додати свій код у functions.php або створити кастомний плагін на WordPress?

Крок 3. Встановіть як звичайний плагін

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

Як краще додати свій код у functions.php або створити кастомний плагін на WordPress?

Як тільки ви активуєте його, ви зможете побачити свій новий плагін у списку всіх інших встановлених плагінів:

Як краще додати свій код у functions.php або створити кастомний плагін на WordPress?

Як додавати свій код

Щоб додати свій фрагмент коду, просто вставляйте його у .php файл, який ви створили. Або ви завжди можете зробити ще один окремий плагін для двох різних функцій.

Наприклад, ось так виглядатиме ваш файл .php, якщо ви захочете зробити шорткод "Hello World!":

Як краще додати свій код у functions.php або створити кастомний плагін на WordPress?

Ми також рекомендуємо додавати свій коментар до кожного фрагмента коду у кожному кастомному плагіні, який ви створюєте.

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

Просто оберніть свій коментар у синтаксис із косої та зірочки: /* Ваш коментар */

Після внесення змін до вашого коду ви можете перезавантажити .php файл через FTP або просто створити новий .zip архів і завантажити як новий плагін, а старий видалити.

Інші способи уникати правок functions.php

За великим рахунком, якщо ви досить впевнені у своїх силах і знаєте, як додавати код до functions.php, у вас не повинно виникнути жодних труднощів і з кастомними плагінами. Тут нема нічого складного.

Але ми чудово розуміємо, якщо у вас немає бажання вовтузитися з усім цим вручну. Тим не менш, це WordPress. Тому вам може стати в нагоді безкоштовний плагін Фрагменти коду, який дозволяє легко додавати ваш додатковий код на сайт:

Як краще додати свій код у functions.php або створити кастомний плагін на WordPress?

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

Інша класна особливість полягає в тому, що ви можете імпортувати/експортувати фрагменти коду між сайтами.

Підсумки

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

Так що, цей метод дійсно заслуговує на увагу.

inet.ws - Powerful VPS Hosting в США, Canada, UK та DE!
Олексій Шевченко
редактор wpcafe
Вивчає сайтобудування з 2008 року. Практикуючий вебмайстер, що спеціалізується на створенні сайтів WordPress. Задати питання Олексію можна на https://profiles.wordpress.org/wpthemeus/

Коментарі до запису: 6

Otshelnik-Fm:

Про UTF-8 без BOM не сказано нічого. Ну а навіщо ... Піде потім користувач шукати в чому проблема з кодуванням або інші проблеми

Бориска:

Я створив костомний плагін і додав код для Related Post. Як тепер мені показати схожі записи у темі під статтею? У файл теми single.php потрібно вставити якийсь код, щоб підключити мій плагін або як?

Сергій:

Навіщо тут згадувати UTF-8, якщо це спочатку налаштовано вами при установці самої CMS WORDPRESS на хостингу? А створюючи качтомний плагін через txt, де ви вказуватимете utf-8 при збереженні файлу? Ха-ха-ха… Краще думати перед тим, як написати «розумний» коментар :)

Сергій:

Олексію, велике спасибі за докладне пояснення створення свого плагіна! Вирішило безліч проблем моїх. Зараз шукаю, де ви можете підписатися на оновлення вашого сайту. Дуже багато всяких корисностей я бачу тут у вас. Спасибі вам ще раз, від щирого серця!

Сергій:

Забув запитати. Колись дуже давно був сайт у мене, на якому якимось чином я налаштував за допомогою коду або плагіна (зараз вже не пам'ятаю) отримання листів на пошту з відповідями на залишені коментарі під будь-якою статтею на сайті.
НПРИКЛАД: Людина прокоментувала статтю і пішла далі гуляти інтернетом. Забувши і свій коментар і сайт на якому він писав. Але, на його коментар відповіли або просто написали теж комент під тією самою його статтею. І про це коментатор дізнається з листа, отриманого на його вказану під час коментування пошту (email). Інша річ, якщо коментатору начхати на відповіді і він вказав під час коментування email «відліхтаря».

Ще не шукав у вас на сайті, Олексію, цього рішення і чи воно на сайті я не знаю. Якщо є рішення, підкажіть, де подивитися. Спасибі заздалегідь!

WPcafe:

Плагін називається Subscribe To Comments.
https://txfx.net/wordpress-plugins/subscribe-to-comments/

Додати коментар або відгук