get_template_part()
Шукає та підключає вказаний файл теми. Схожа на функцію PHP include() , тільки не потрібно вказувати шлях до теми.
Зазвичай ця функція використовується для підключення файлу (частини шаблону) до самого шаблону, наприклад для підключення файлу, що відповідає за: хлібні крихти, меню навігації, блок посилань пагінації, цикл виведення постів і так далі. Розглянемо приклад:
// підключить файл breadcrumbs.php із каталогу поточної теми get_template_part('breadcrumbs'); // підключить файл breadcrumbs-footer.php із каталогу поточної теми get_template_part( 'breadcrumbs', 'footer' );
Якщо файлу, вказаного для підключення, не існує, то функція нічого не підключить і не викликає жодних PHP помилок.
Дочірні теми
При використанні дочірніх тем ця функція спочатку спробує підключити файл із дочірньої теми, якщо його немає, буде підключено файл із батьківської теми.
Використання цієї функціональності при розробці тем дозволяє користувачам цих тем перевизначати файли теми в дочірній темі, а це в свою чергу дає можливість повноцінно використовувати дочірні теми і не змінювати файли основної теми, щоб при оновленні зміни не злетіли. Для цього користувачеві потрібно просто створити файл із відповідним ім’ям у дочірній темі.
locate_template()
(дуже швидко) | 50000 разів – 0.16 сек
(дуже швидко) |
PHP 7.1.2, WP 4.7.3
Хуки з функції
Повертає
null|false
. null при вдалому підключенні файлу, false якщо файл шаблону не існує.
Використання
get_template_part ($ slug, $ name, $ args);
-
$slug
(рядок) (обов’язковий) - Назва файлу, який потрібно підключити.
-
$name
(рядок) -
Додаткова назва файлу. Теж саме, що параметр
$name у функціях
get_footer() ,
get_header() тощо.
Типово: null -
$args
(масив)
(з 5.5.0) -
Додаткові параметри для файлу, що підключається. Використовуйте змінну
$args у файлі, що підключається.
За замовчуванням: array()
Приклади
#1 Використання файлу loop.php у дочірній темі
Допустимо шаблони лежать у каталозі wp-content/themes
, батьківська тема називається twentyten
, а дочірня twentyten-child
, тоді наступний код намагатиметься підключити файли в наступному порядку:
<?php get_template_part( 'loop', 'index' ); ?>
wp-content/themes/twentyten-child/loop-index.php
wp-content/themes/twentyten-child/loop.php
wp-content/themes/twentyten/loop-index.php
wp-content/themes/twentyten/loop.php
#2 Підключення навігації до шаблону з використанням файлуnav.php
get_template_part('nav'); // Navigation bar (nav.php)?> get_template_part( 'nav', '2'); // Navigation bar #2 (nav-2.php)?> get_template_part( 'nav', 'single' ); // Navigation bar to use in single pages (nav-single.php) ?>
#3 Файл із підпапок
Якщо частини, що підвантажуються, знаходяться в папках то в перший параметр потрібно вказати відносний шлях до файлу:
get_template_part( 'inc/nav'); // підключить файл inc/nav.php
А якщо потрібно підключити файл inc/nav-single.php
, то:
get_template_part( 'inc/nav-single'); // перевірятиметься файл inc/nav-single.php // або get_template_part( 'inc/nav', 'single'); // Спершу перевірятиметься файл inc/nav-single.php // якщо його немає то inc/nav.php.
#4 Передача параметрів
$params = [ 'param1' => 'hello', 'param2' => [ 1, 2 ] ]; get_template_part( 'inc/nav-single', null, $params);
Тепер у файлі inc/nav-single.php
зазначені параметри перебувають у змінній $args
. Приклад коду такого файлу:
<?php echo $args['param1']; // виведе hello
список змін
З версії 3.0.0 | Введено. |
З версії 5.5.0 | A return value був added. |
З версії 5.5.0 | The $args parameter був added. |