Работая с шаблонами WordPress пришлось разобраться с тем, какие существуют способы включения дополнительных файлов в стандартные файлы шаблона. Конечно можно вставлять код непосредственно в сами файлы шаблона, например index.php  ( отвечает за вывод главной страницы) или single.php (отвечает за вывод одиночной статьи). Но это касается тех случаев когда нужно вставить одну-две строки кода и точно известно, что вторично такой код не будет использован. Во всех остальных случаях лучше воспользоваться инструкциями или функциями PHP.

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

Первый и самый распростаненный способ подключить дополнительный файл ( в этом случае файл содержащий навигацию на блоге ) в WordPress шаблон, это использовать вызов include

1include(TEMPLATEPATH.'/pagenavi.php');
2или
3include TEMPLATEPATH.'/pagenavi.php';

Второй способ

Второй способ — использовать функцию require(). Она идентична функции описанной в первом способе, c разницей в обработке исключений

1require (TEMPLATEPATH.'/pagenavi.php');
2или
3require TEMPLATEPATH.'/pagenavi.php';

Третий способ

Использовать load_template(). Этот способ подобен первому. Включение происходит без предварительной проверки на факт существования включаемого файла

1load_template(TEMPLATEPATH . '/template-name.php');

Четвертый способ

Для проверки существования файла, который необходимо включить можно использовать функцию locate_template()

1locate_template($template_names, $load);

где переменная $template_names — это массив строк, содержащих имена необходимых к включению файлов. Эта функция просматривает массив и как только найден первый существующий файл, выполнение функции останавливается и, в зависимости от значения второго параметра, будет либо возвращен путь до этого файла, либо он будет включен в шаблон.
Второй параметр $load может принимать значения true для включения в шаблон найденного файла или значение false для получения пути доступа к файлу.
Пример использования:

1locate_template(array( 'download.php', 'custom-download.php', 'mytheme-download.php'
2), true);

При значении $load равного true, для включения в шаблон будет использована функция load_template() описанная выше.

Пятый способ

Использовать функцию get_query_template() для получения пути доступа к файлу без необходимости указывать расширение. К примеру, вам нужно включить файл template_name.php, который расположен в папке шаблона, тогда вы используете следующий код

1include( get_query_template( 'template-name' ) );

Имейте ввиду, что сама функция get_query_template() только возвращает путь до файла.
Кроме того существуют родственные функции вида get_*_template(), где * может принимать следующие значения:

  • index
  • 404
  • archive
  • author
  • category
  • tag
  • taxonomy
  • date
  • home
  • front_page
  • page
  • paged
  • search
  • single
  • attachment
  • comments_popup

И использованы они могут быть двумя способами как в примере

1    include( get_404_template() );
2//  или
3
4      include( get_query_template('404') );

Шестой способ

В WordPress третьей версии появилась еще одна фунция, которая позволяет включать файлы — get_template_part(). Её вызов с аргументами выглядит так —

1get_template_part( $slug, $name );

В результате работы этой функции будут подключаться файлы, имеющие в своем названии сочетание {slug}-{name}.php. Но, поскольку второй аргумент является не обязательным, то может быть подключен только файл {slug}.php
Пример использования

1get_template_part('loop'); // будет включен файл 'loop.php'
2
3get_template_part('loop', 'index'); // будет включен файл 'loop-index.php'
4
5get_template_part('loop', 'single'); // будет включен файл 'loop-single.php'

 

Источник: http://wp-starter.ru/6-ways-to-include-files-in-wordpress-template.html