Як підключати файли і шаблони в WordPress

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

У сьогоднішній статті ми розглянемо чотири способи, які є в PHP для підключення файлів, а також розглянемо способи підключення файлів і шаблонів, які є в WordPress.

 

 

Способи підключення файлів в PHP

Підключення файлів в PHP можна охарактеризувати як дію по додаванню іншого файлу у вміст поточного файлу. Це можна уявити як імпорт файлу; в результаті файли об’єднуються, а потім інтерпретуються як один файл.

 

include()

Цей вираз включає і виконує зазначений файл. Якщо файл не знайдений, з’явиться попередження PHP.

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

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

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

Коли файл завантажується за допомогою include(), він буде мати доступ до всіх змінних, які були визначені в поточному скрипті.

 

 

include_once()

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

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

 

 

Залежне підключення файлів в PHP

Залежне підключення файлів аналогічно включенню файлів, але воно має ряд власних наслідків, пов’язаних з помилками і безпекою.

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

 

require()

Ця конструкція схожа з include(), але вона видає фатальну помилку PHP, якщо файл не буде знайдений. Вона буде виконувати ту саму дію, що і include(), тобто, імпортувати зовнішній скрипт в контекст поточного файлу, але якщо функція не зможе знайти інший файл, вона видасть помилку і повністю зупинить виконання скрипта. За допомогою include() ви отримаєте попередження, і скрипт зможе продовжити роботу, а тут ваш скрипт не буде далі продовжувати своє виконання.

 

 

require_once()

Ця конструкція виконує те ж саме, що і require(), але вона не буде підключати файл вдруге, якщо він вже був підключений.

 

 

Рекомендації по функціям підключення в PHP:

  • Конструкція require_once() краще підходить для великих сайтів, так як на більш низькому рівні виконує додаткову роботу, яка впливає на безпеку і продуктивність.
  • Конструкція include_once() швидше і вважається прийнятною для невеликих сайтів
  • Не існує жорстких правил, коли використовувати розглянуті конструкції, але ви повинні виходити з власних вимог і умов.

 

 

Підключення файлів в WordPress

Якщо вам потрібно підключати інші файли в WordPress, є інший, більш ефективний спосіб, ніж використання include() і require().

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

include_once( 'shablon.php' );

 

Але це не є кращою практикою в WordPress.

Ось функція, яку краще використовувати в WordPress: get_template_part()

Ця функція є частиною API двигуна і використовується спеціально для повторного використання розділів, шаблонів або коду (крім блоків для хедера, футера і бічної панелі) у вашій темі. Для цього вам потрібно просто додати в потрібному шаблоні код виду:

get_template_part('shablon');

 

Функція приймає два аргументи:

  • Перший аргумент – це слаг (slug) для шаблону. У наведеному вище прикладі слаг не використовується
  • Другий аргумент – це ім’я шаблону. У наведеному вище прикладі це буде shablon. В результаті підключиться файл shablon.php, який знаходиться на одному рівні із поточним файлом (в якому відбувається підключення)

 

Дотримуючись прикладу вище, ви можете підключати інші шаблони в потрібний шаблон, наприклад в footer.php, index.php, single.php, archives.php і т.д.

 

 

 

У WordPress є функція підключення, яка є іншим представленням конструкції require_once() – це функція load_template().

Її синтаксис виглядає наступним чином:

load_template( $_template_file, $require_once );

 

  • $_template_file: шлях до файлу, який потрібно підключити.
  • $require_once: true – буде підключати файл за допомогою require_once, false – за допомогою require.

 

Приклад:

load_template( get_template_directory() . '/shablon.php', true );

 

 

Ось і все на сьогодні. Дякуємо за увагу!

 

Share

Останні пости

Чак Поланік

Хто може — той робить. Хто не може — той критикує Чак Поланік   Читати далі

17/04/2024

Річард Бах

Жодне бажання не дається тобі окремо від сили, що дозволяє його здійснити. Хоча, можливо, для… Читати далі

16/04/2024

Стівен Кінг

Життя — це безперервний досвід, і навіть найгірші моменти займають своє місце у пазлі нашого… Читати далі

15/04/2024

невідомий автор

Люди, які люблять самотність, дорого заплатили за дружбу з кимось... (невідомий автор)   Читати далі

14/04/2024

Наполеон Гілл

Що розум людини може осягнути і в що він може повірити, того він здатен досягти… Читати далі

13/04/2024

Дейл Карнегі

Поводься так, ніби ти вже щасливий, і ти справді станеш щасливішим Дейл Карнегі   Читати далі

12/04/2024