- Описание функции
- Примеры использования
- Загрузка общего шаблона
- Вставка специализированного шаблона
- Передача дополнительных аргументов в шаблон
- Проверка существования шаблона
- Использование функции get_template_part() в цикле
- Создание множественных вариантов шаблонов
- Вопросы и ответы
- Как использовать разные шаблоны для разных страниц?
- Как изменить путь к файлу шаблона?
- Как использовать шаблон только для определенного типа записи?
- Как использовать шаблон только для определенной категории?
- Как использовать шаблон только для определенного термина таксономии?
- Как использовать шаблон только для определенного автора?
- Как использовать шаблон только для определенного постформата?
- Как использовать шаблон только для определенного поста?
- Связанные элементы
Описание функции
Функция get_template_part() используется для загрузки отдельной части шаблона в текущий шаблон WordPress. Она позволяет разделить шаблон на более мелкие части, что делает его более модульным и удобным для поддержки и разработки. Функция ищет файлы шаблонов в директории темы и позволяет использовать разные файлы шаблонов для разных ситуаций или условий.
Использование
get_template_part( string $slug, string|null $name = null, array $args = array() ): void|false Функция get_template_part() принимает три параметра: $slug, $name и $args. Она не возвращает значение, но может вернуть false, если файл шаблона не существует.
$slug(string, обязательный): Имя шаблона, которое будет использоваться. Это может быть путь к файлу шаблона относительно директории темы или просто имя файла шаблона без расширения.$name(string|null, необязательный): Имя специализированного шаблона. По умолчанию равноnull. Это может быть полезно, если вы хотите использовать разные файлы шаблонов для разных типов записей или категорий.$args(array, необязательный): Дополнительные аргументы, передаваемые в шаблон. По умолчанию равен пустому массиву.
Функция не возвращает значение, но может вернуть false, если файл шаблона не существует.
<?php
// Загрузка шаблона header.php
get_template_part( 'header' );
// Загрузка шаблона content.php с именем "single"
get_template_part( 'content', 'single' );
// Загрузка шаблона footer.php с дополнительными аргументами
get_template_part( 'footer', null, array( 'arg1' => 'value1', 'arg2' => 'value2' ) );
?> В этом примере мы используем функцию get_template_part() для загрузки разных частей шаблона. В первом случае мы загружаем шаблон header.php без специализированного имени. Во втором случае мы загружаем шаблон content.php с именем «single». В третьем случае мы загружаем шаблон footer.php с дополнительными аргументами, переданными в массиве.
Примеры использования
Загрузка общего шаблона
get_template_part( 'template-parts/content' );
Этот пример загружает общий шаблон с именем «content.php» из папки «template-parts» в текущем тематическом каталоге. Функция get_template_part() автоматически добавляет префикс «template-parts/» к указанному имени файла, поэтому нет необходимости указывать полный путь к файлу.
Вставка специализированного шаблона
get_template_part( 'template-parts/content', 'single' );
Этот пример загружает специализированный шаблон с именем «content-single.php» из папки «template-parts» в текущем тематическом каталоге. Функция get_template_part() автоматически добавляет префикс «template-parts/» к указанному имени файла и суффикс «-single» к указанному имени, поэтому нет необходимости указывать полный путь к файлу.
Передача дополнительных аргументов в шаблон
get_template_part( 'template-parts/content', null, array( 'post_type' => 'page' ) );
Этот пример загружает общий шаблон с именем «content.php» из папки «template-parts» в текущем тематическом каталоге и передает дополнительный аргумент ‘post_type’ со значением ‘page’ в шаблон. Аргументы передаются в виде ассоциативного массива в третьем параметре функции get_template_part().
Проверка существования шаблона
if ( get_template_part( 'template-parts/content' ) !== false ) {
// Шаблон существует
} else {
// Шаблон не существует
}
Этот пример проверяет существование общего шаблона с именем «content.php» из папки «template-parts» в текущем тематическом каталоге. Функция get_template_part() возвращает false, если шаблон не существует, поэтому можно использовать эту проверку для выполнения определенных действий в зависимости от наличия шаблона.
Использование функции get_template_part() в цикле
while ( have_posts() ) {
the_post();
get_template_part( 'template-parts/content', get_post_type() );
}
Этот пример использует функцию get_template_part() внутри цикла, чтобы загрузить специализированный шаблон для каждого типа записи. Функция get_post_type() возвращает тип текущей записи, который затем используется в качестве имени шаблона.
Создание множественных вариантов шаблонов
get_template_part( 'template-parts/content', get_post_format() );
Этот пример загружает специализированный шаблон в зависимости от формата текущей записи. Функция get_post_format() возвращает формат текущей записи, который затем используется в качестве имени шаблона. Например, если формат записи — «gallery», будет загружен шаблон с именем «content-gallery.php».
Вопросы и ответы
Как использовать разные шаблоны для разных страниц?
Функция get_template_part() позволяет загружать разные шаблоны для разных страниц в WordPress. Для этого необходимо передать в функцию два параметра: $slug и $name.
Параметр $slug — это обязательный параметр, который указывает на общий шаблон. Например, если у вас есть шаблон с названием «content», то $slug будет равен «content».
Параметр $name — это необязательный параметр, который указывает на специализированный шаблон. Если вы хотите использовать специализированный шаблон с названием «special», то $name будет равен «special».
Пример использования функции get_template_part() для загрузки шаблона «content-special.php»:
get_template_part( 'content', 'special' );
Как изменить путь к файлу шаблона?
По умолчанию, функция get_template_part() ищет шаблоны в папке текущей темы. Вы можете изменить путь к файлу шаблона, указав его полный путь от корневой директории WordPress.
Пример использования функции get_template_part() для загрузки шаблона «template-parts/content-special.php» из папки «template-parts» в корневой директории WordPress:
get_template_part( 'template-parts/content', 'special' );
Как использовать шаблон только для определенного типа записи?
Вы можете использовать функцию get_template_part() для загрузки шаблона только для определенного типа записи. Для этого необходимо указать название типа записи в параметре $slug.
Пример использования функции get_template_part() для загрузки шаблона «content-special.php» только для типа записи «portfolio»:
get_template_part( 'content', 'special', array( 'post_type' => 'portfolio' ) );
Как использовать шаблон только для определенной категории?
Функция get_template_part() также позволяет загружать шаблон только для определенной категории. Для этого необходимо указать ID или название категории в параметре $slug.
Пример использования функции get_template_part() для загрузки шаблона «content-special.php» только для категории с ID 5:
get_template_part( 'content', 'special', array( 'category' => 5 ) );
Как использовать шаблон только для определенного термина таксономии?
Для использования шаблона только для определенного термина таксономии, вы можете использовать функцию get_template_part() с указанием соответствующего слага и имени специализированного шаблона.
get_template_part( 'taxonomy', 'term' ); Как использовать шаблон только для определенного автора?
Для использования шаблона только для определенного автора, вы можете использовать функцию get_template_part() с указанием соответствующего слага и имени специализированного шаблона.
get_template_part( 'author', 'john' ); Как использовать шаблон только для определенного постформата?
Для использования шаблона только для определенного постформата, вы можете использовать функцию get_template_part() с указанием соответствующего слага и имени специализированного шаблона.
get_template_part( 'content', 'aside' ); Как использовать шаблон только для определенного поста?
Для использования шаблона только для определенного поста, вы можете использовать функцию get_template_part() с указанием соответствующего слага и имени специализированного шаблона.
get_template_part( 'single', 'post' ); Функция
get_template_part()в WordPress позволяет загружать части шаблона в основной шаблон. Она полезна для создания переиспользуемых компонентов и упрощает организацию кода. Вы можете использовать эту функцию для загрузки шаблонов только для определенных терминов таксономии, авторов, постформатов или постов. Если указанный шаблон не существует, функция вернет false. В противном случае, она вернет void.
Связанные элементы
- Функция
get_header(): Подключает шаблон заголовка сайта. - Функция
get_footer(): Подключает шаблон подвала сайта. - Функция
get_sidebar(): Подключает шаблон боковой панели сайта. - Функция
get_search_form(): Выводит форму поиска. - Функция
get_template_directory_uri(): Возвращает URI каталога текущей темы. - Функция
get_stylesheet_uri(): Возвращает URI файла стилей текущей темы. - Функция
get_post_format(): Возвращает формат записи текущего поста. - Хук
template_redirect: Вызывается перед выводом шаблона страницы. - Хук
template_include: Позволяет изменить путь к файлу шаблона перед его подключением. - Класс
WP_Query: Используется для выполнения запросов к базе данных WordPress.