Как передать параметры в get_template_part() в WordPress

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

Сделать это можно несколькими способами:

  • заменить функцию на более низкоуровневую;
  • переписать функцию get_template_part().

 Способ первый

Заключается в прямом использовании функции locate_template(). Пример:

$array = array( 1, 2, 3 ); // Этот масссив будет доступен в файле my_template.php

include(locate_template('templates/my_template.php'));

Способ второй

Можно написать свою функцию:

function my_get_template_part($template, $data = array()){
    extract($data);
    require locate_template($template.'.php');
}

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

// Подключение шаблона my_template.php
my_get_template_part('my_template', array(
    'data' => 'Some data'
));

// Таким образом в шаблоне my_template.php будет доступна переменная $data.