Как в wordpress шаблон подключить файл api.php если шаблон хранится в базе а не в файлах?
Попался сайт на вордпресс, и не могу понять где у него файлы шаблона, сайт одностраничник.
В папках wp-content/themes/twentytwentyfour/templates/index.html пустой, других файлов нет. Не могу понять где искать файлы шаблона, такое ощущение что вся разметка в базе хранится, в админке редактируется только через визуальный редактор, и все.
Структура такая папок шаблона,
Мне нужно в шапке подключить php файл, но не могу понять где и как это сделать.
Дополнительно:
Учим матчасть
1. https://codex.wordpress.org/%D0%A7%D0%90%D0%92%D0%...
2. https://codex.wordpress.org/%D0%A1%D0%BE%D0%B7%D0%... (тут достаточно почитать "Анатомия Темы")
3. https://codex.wordpress.org/%D0%98%D0%B5%D1%80%D0%...
Мне нужно в шапке подключить php файл, но не могу понять где и как это сделать, подскажите пожалуйста решение. Любые советы.
В 99% случаев не нужно этого делать.
https://ru.wordpress.org/plugins/what-the-file/
С помощью этого плагина можно узнать какой используется файл темплейта
- О супер, спасибо, попробую!
- Cheizer, отметь решение если помог
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос

В современных блочных темах WordPress часть шаблонов действительно хранится не как PHP-файлы, а как HTML-шаблоны и записи в базе. Это Full Site Editing. Но подключать произвольный
api.phpпрямо из такого шаблона — плохая идея. Лучше вынести API-логику в плагин, shortcode, block или REST endpoint.Если нужно выполнить PHP внутри шаблона, в FSE-шаблон напрямую PHP не вставляется. HTML-шаблоны не исполняют PHP-код. Поэтому варианты такие:
Простой shortcode:
add_shortcode('my_api_block', function () { ob_start(); include plugin_dir_path(__FILE__) . 'api.php'; return ob_get_clean(); });
После этого в редакторе можно вставить:
[my_api_block]
Но если
api.phpобрабатывает запросы, а не выводит блок, лучше сделать REST endpoint:add_action('rest_api_init', function () { register_rest_route('site/v1', '/data', [ 'methods' => 'GET', 'callback' => 'my_api_callback', 'permission_callback' => '__return_true', ]); });
И обращаться к нему по URL:
/wp-json/site/v1/data
Искать шаблоны FSE можно в админке “Внешний вид → Редактор”, а в базе они хранятся как
wp_templateиwp_template_part. Но руками править их в базе не нужно.Итог: если шаблон в базе, PHP в него не подключается напрямую. Делайте shortcode, динамический блок или REST endpoint. Это безопаснее и переживёт обновления темы.