Використання функції get_template_part () в wordpress - wp magazine

Головна → Новини → Використання функції get_template_part () в WordPress

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

Функція get_template_part () вперше з'явилася в WordPress версії 3.0. Вона призначена для пошуку і підключення різних частин шаблону і схожа на внутрішні функції PHP include () або require (). але з деякими відмінностями:

  • get_template_part () знає де знаходиться директорія з вашими темами
  • Функція не викличе помилок або попереджень PHP в разі, якщо запитуваний файл не знайдений
  • Функція get_template_part () може підключити альтернативний файл в разі якщо, спочатку запитуваний файл не знайдений
  • Функція прекрасно працює з дочірніми темами в WordPress

Основи get_template_part ()

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

Розглянемо кілька простих прикладів:

Даний код виконає пошук файлу navigation.php в активній темі WordPress, і підключить його. На відміну від include () або require (). функція get_template_part () не викличе помилок або попереджень, якщо файл з такою назвою не знайдено.

У функції є так само другий необов'язковий аргумент:

Даний код виконає і підключить файл navigation-header.php в активній темі. Якщо файл з такою назвою не існує, то get_template_part () спробує підключити файл navigation.php.

дочірні теми

У дочірніх темах робота з функцією get_template_part () стає трохи складніше. наприклад:

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

При такому виклику з дочірньою теми, пошук і підключення файлів відбудеться в наступному порядку:

  • breadcrumbs-header.php в дочірньої темі
  • breadcrumbs-header.php в батьківській темі
  • breadcrumbs.php в дочірньої темі
  • breadcrumbs.php в батьківській темі

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

формати записів

Починаючи зі стандартною теми Twenty Eleven, при виведенні вмісту записів в шаблонах використовується функція get_template_part () разом з функцією get_post_format (). яка повертає формат поточного запису у вигляді рядка:

Даний підхід дозволяє розділити висновок різних форматів записів на різні файли, наприклад content-gallery.php для галерей, content-quote.php для цитат, content-image.php для зображень і т.д. Якщо той чи інший файл не існує, WordPress буде шукати файл з назвою content.php.

Використання функції get_template_part () в wordpress - wp magazine

Структура файлів в темі Twenty Twelve

Користувачам такої теми легко змінити висновок того чи іншого формату створивши новий файл з певним назвою в дочірньої темі WordPress.

Функція locate_template ()

Функція get_template_part (). як і багато інших функцій для роботи з файлами шаблонів WordPress (в тому числі get_header (). get_sidebar (). get_footer () та інші) використовує функцію ядра locate_template (). Саме ця функція дозволяє вибрати і завантажити перший-ліпший файл з заданого масиву в дочірньої або батьківської темі WordPress:

Даний код виконає пошук файлів в наступному порядку:

  • foo.php в дочірньої темі
  • foo.php в батьківській темі
  • bar.php в дочірньої темі
  • bar.php в батьківській темі
  • baz.php в дочірньої темі
  • baz.php в батьківській темі

Врахуйте, що на відміну від функції get_template_part (). функція locate_template () вимагає повна назва файлів в масиві, включаючи розширення .php. Саме функція locate_template () дозволяє реалізувати ієрархію шаблонів в темах для WordPress.

Схожі статті