Connecting Files, а попросту подключение файлов в шаблонах (основном активном и дочернем) весьма важное мероприятие, о котором неплохо знать! Дело в том, что некоторые админы, которые обращаются за помощью, знают о важности дочернего шаблона, однако, активация его, это только первое дело — второе, это его настройки и, по требованию, добавление дополнительного функционала на сайт, а это уже вызывает трудности в реализациях, вопросы…
Установка child theme (дочернего шаблона), активация, перенос файлов из основного шаблона в дочерний — подключение директорий, файлов — и их коррекция, доработки по своим требованиям — вот цели этого поста:
- Как подключить файлы шаблона WordPress — примеры, технические руководства
- еще вариант подключить файлы шаблона:
- дочерние шаблоны подключение файлов
- ниже только примеры логики подключений
- require_once или include_once
- подключаем файлы элементов сайта
- подключение файлов в текущем каталоге
- get_template_directory() или get_template_directory_uri()
- закругляясь, выскажусь так…
…о важных моментах доработок сайта на WP.
Как подключить файлы шаблона WordPress — примеры, технические руководства
Ниже представлены варианты подключения директорий и файлов шаблонов. Например, админы, предпочитают организовывать функционал на сайте структурированно (по логически ясным папкам и файлам, что весьма резонно!), а не пихать в файл функций (functions.php) все что ни попадя… Почитайте это…
Подключение файлов/папок в плагинах — дело немного иное, об этом в следующем посте…
// подключение папки Framework и файлов
require_once( dirname( __FILE__ ) . '/framework/load.php' ); // абсолютный пут подключения (в load.php файле как правило доп. подключения)
require_once( APP_FRAMEWORK_DIR . '/includes/stats.php' );
require_once( APP_FRAMEWORK_DIR . '/admin/class-meta-box.php' );
__FILE__ — константа представляет запущенный скрипт. Она возвращает полный путь и имя файла запущенного скрипта
// папка scb внутри Framework
require_once dirname( __FILE__ ) . '/scb/load.php';
require_once dirname( __FILE__ ) . '/другая папка/functions.php'; // скажем так, подключение по внутренним директориям
Обратите внимание на require_once dirname отличное от require_once !!
еще вариант подключить файлы шаблона:
Следует разобраться с логикой подключений, и тогда все станет ясно понятно — можно приступать к организации документов шаблона. Советую изучить прежде чем что-то делать, иначе в последствии сами запутаетесь в своих деяниях!
$load_files = array( // ниже имена файлов
'payments/load.php',
'options.php',
'stats.php',
);
appthemes_load_files( dirname( __FILE__ ) . '/includes/', $load_files );
Подключено будет по пути: /wp-content/themes/имя/framework/includes/ ну и подключенные файлы в переменной $load_files
Вариант для:
// Admin only = Только для администратору
if ( is_admin()) {
require_once( APP_FRAMEWORK_DIR . '/admin/importer.php' );
$load_files = array(
'dashboard.php',
'system-info.php',
'updates.php',
);
appthemes_load_files( dirname( __FILE__ ) . '/includes/admin/', $load_files );
Подключено будет по пути: /wp-content/themes/имя/framework/includes/admin/ ну и подключаемые файлы через переменную $load_files
возможно, пригодится:
Условные теги WordPress: наиболее полная подборка, пояснения
А это по Условные теги woocommerce …
… ошибки шаблона … или это … подключения js скриптов в файлах шаблона …
дочерние шаблоны подключение файлов

Ниже примеры для подключения файлов в дочерних шаблонах:
// регистрируем стили
add_action( 'wp_enqueue_scripts', 'register_plugin_styles' );
// регистрируем файл стилей и добавляем его в очередь
function register_plugin_styles() {
wp_enqueue_style('my-script-slug', '/wp-includes/css/custom-styles.css');
}
/**/
обратите внимание на отличительные особенности:
// подключение файла из основного шаблона
add_action( 'wp_enqueue_scripts', 'child_theme_configurator_css', 10 );
if ( !function_exists( 'child_theme_configurator_css' ) ):
function child_theme_configurator_css() {
wp_enqueue_style( 'chld_thm_cfg_child', trailingslashit( get_stylesheet_directory_uri() ) . 'style.css', array( 'chld_thm_cfg_parent' ) ); // (подробности ниже) это для подключения файла из основной активной темы: get_template_directory_uri
}
endif;
ниже только примеры логики подключений
/*пример подключений*/
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
if(is_rtl()){
wp_enqueue_style( 'child-rtl', get_stylesheet_directory_uri() . '/rtl.css' ); // для подключения файла из дочерней темы
}
$parent_style = 'parent-style';
wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' ); // для подключения файла из основной темы
wp_enqueue_style( 'child-style',
get_stylesheet_directory_uri() . '/style.css',
array( $parent_style )
);
wp_enqueue_script('classiera-child', get_stylesheet_directory_uri() . '/classiera-child.js', 'jquery', '', true);
}
/**/
require_once или include_once
Читаем пояснения основного отличия — require_once или include_once — в комментарии в коде ниже:
include_once 'my-func/func-avatars.php'; // include_once: при критической ошибке в подключаемом файле сайт не упадет - скрипт прервется
require_once 'my-func/func-avatars.php'; // если так, то на сайте будет критическая ошибка - сайт упадет при критических ошибках в подключаемых файлах (или удалении файла)
require_once — функция php подключает указанный файл.
Include_once — функция php подключает файл.
подключаем файлы элементов сайта
/*подключаем файлы элементов сайта*/
// get_template_part( '/my-func/func-avatars' ); // подключаем файл: к примеру уникальный сайдбар
Для подключения внутренних папок/подпапок шаблона (директорий) возможно воспользоваться переменными $func_path, и т.д. в которой сохраняем путь. Переменным присваиваем ясные и понятные имена (стараться исключать используемые /зарезервированные/ переменные php и WP) — обращайте внимание на синтаксис (и комментарии в примерах кода), вариации ниже…
// создаем переменную Пути:
$func_path = 'framework/functions'; // папки без слеш в финале
$glob_path = 'framework/functions/global';
$admn_path = 'framework/functions/global/admin';
$tmgp_path = 'framework/functions/global/admin/tmg';
$eque_path = 'framework/functions/global/enqueue';
$plgn_path = 'framework/functions/global/plugins';
// Require Files
// Helpers, conditionals, and stack data = примеры подключения внутренних папок/файлов
require_once( $glob_path . '/debug.php' ); // подключаемый файл со слеш в начале имени
require_once( $glob_path . '/helper.php' );
require_once( $glob_path . '/conditionals.php' );
require_once( $glob_path . '/stack-data.php' );
// и т.д.
В контексте примера выше подключение внутренней директории и файла:
// и т.д.
require_once( $admn_path . '/thumbnails/setup.php' ); // подключение внутренней директории и файла
require_once( $admn_path . '/setup.php' );
require_once( $admn_path . '/addons/setup.php' );
Например, так подключено в шаблоне Астра, который иногда встречаю на сайтах заказчиков — ASTRA_THEME_DIR константа шаблона:
require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-starter-content.php';
require_once ASTRA_THEME_DIR . 'inc/addons/transparent-header/class-astra-ext-transparent-header.php';
require_once ASTRA_THEME_DIR . 'inc/addons/breadcrumbs/class-astra-breadcrumbs.php';
подключение файлов в текущем каталоге
get_stylesheet_directory() // функция WordPress возвращает абсолютный путь к директории активной темы
get_stylesheet_directory_uri() // URL-адрес к текущему каталогу темы
get_template_directory() или get_template_directory_uri()
get_template_directory() // функция WordPress возвращает полный путь к директории активной темы
get_template_directory_uri() // функция WP возвращает URI (Uniform Resource Identifier) директории текущей активной темы
закругляясь, выскажусь так…
Принцип отработки шаблонов сайтов, подключение файловой системы и пр. пр… следует знать! И использовать, основываясь на знаниях, в полной зависимости от своих целей и сообразностей!..

Что такое WordPress? подробненько и по порядку об этой платформt
REST API WordPress что это, для чего и как работает; нужно ли отключать?
mihalica.ru !



