Функция GET_TEMPLATE_PART() в WordPress: Примеры использования и дочерние темы

# Функция GET_TEMPLATE_PART() │ WP 3.0.0

Функция get_template_part() используется для подключения определённого файла шаблона в WordPress, сначала проверяя наличие файла в дочерней теме, если она есть. Это похоже на команду include в PHP, но вам не нужно указывать путь к файлу шаблона.

Эта функция позволяет включать различные части шаблона, например, такие как хлебные крошки, нумерация страниц, меню и так далее.

### Примеры использования

```php
// подключает breadcrumbs.php из директории текущей темы
get_template_part( 'breadcrumbs' );

// подключает breadcrumbs-footer.php из директории текущей темы
get_template_part( 'breadcrumbs', 'footer' );

Если указанный файл не существует, ничего не произойдет.

Дочерние темы

При использовании дочерней темы, функция get_template_part() сначала попытается включить файл из дочерней темы. Если такой файл отсутствует, то будет использован файл из родительской темы.

Это позволяет пользователям изменять файлы родительской темы в дочерней теме. Вам нужно просто создать файл с тем же именем в дочерней теме, и изменения сохранятся даже после обновлений родительской темы.

Примеры работы в дочерней теме

Допустим, родительская тема называется twentyten, а дочерняя — twentytenchild. Следующий код будет пытаться подключить файлы в следующем порядке:

  1. wp-content/themes/twentytenchild/loop-index.php
  2. wp-content/themes/twentytenchild/loop.php
  3. wp-content/themes/twentyten/loop-index.php
  4. wp-content/themes/twentyten/loop.php

Подсказки по функции

Как работает функция

Функция get_template_part() выглядит примерно так:

function get_template_part( $slug, $name = null, $args = array() ) {
    do_action( "get_template_part_{$slug}", $slug, $name, $args );

    $templates = array();
    $name = (string) $name;
    if ( '' !== $name ) {
        $templates[] = "{$slug}-{$name}.php";
    }

    $templates[] = "{$slug}.php";

    do_action( 'get_template_part', $slug, $name, $templates, $args );

    if ( ! locate_template( $templates, true, false, $args ) ) {
        return false;
    }
}

Параметры функции

  • $slug (обязательный): название общего шаблона.
  • $name (необязательный): название специализированного шаблона; по умолчанию null.
  • $args (необязательный): дополнительные аргументы, передаваемые в шаблон; по умолчанию это пустой массив.

Примеры использования с параметрами

Если нужно передать параметры в подключаемый файл:

$params = [ 'param1' => 'привет', 'param2' => [ 1, 2 ] ];

get_template_part( 'inc/nav-single.php', 'single', $params );

Теперь в файле inc/nav-single.php параметры будут доступны через переменную $args. Пример кода для такого файла:

 привет
?>

Возвращаемое значение

Функция возвращает:

  • null или false: ничего не возвращает при успешном выполнении, false, если шаблон не существует.

Изменения в функции

  • С версии 3.0.0: Функция была введена.
  • С версии 5.5.0: Добавлено возвращаемое значение и параметр $args.

Связанные функции

Если вам нужны другие функции для работы с файлами тем, вы можете использовать:

  • comments_template()
  • get_footer()
  • get_header()
  • get_sidebar()
  • get_template_directory()
  • и многие другие функции, связанные с шаблонами и темами.

Эти функции помогут вам более эффективно работать с вашей темой в WordPress.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *