У меня есть WordPress, и я хочу добавить его верхний и нижний колонтитулы в другой файл шаблона скрипта. Самый простой способ — просто скопировать и вставить HTML-код, но тогда я потеряю все динамические изменения и так далее.
WordPress дает возможность добавить верхний и нижний колонтитулы снаружи с помощью следующих двух файлов:
<?
require('wp-load.php');
include('wp-content/themes/theme/header.php');
?>
Но это показывает мне переопределенные функции ошибка 0 две функции с одинаковым именем, так что это конфликт. Поскольку я действительно не могу редактировать имена функций, я ищу другое решение.
Поэтому я решил выполнить скрипт на стороне в другом файле (test.php), а затем добавить чистый HTML в свой заголовок (header.html — файл с разбором php)
Итак, я сделал что-то вроде этого:
<?
ob_start();
require('wp-load.php');
include('wp-content/themes/theme/header.php');
$header_output = ob_get_contents();
ob_get_clean();
?>
Я включаю его в мой header.html так:
<?
include('test.php');
echo($header_output);
?>
Но, к сожалению, это не помогло — все еще конфликт, поэтому он включает в себя не исполняемый скрипт (html), а все еще функции …
Я проверил test.php, как показано ниже, чтобы посмотреть, работает ли он:
<?
ob_start();
require_once('wp-load.php');
include_once('wp-content/themes/theme/header.php');
$header_output = ob_get_contents();
ob_get_clean();
echo($header_output);
?>
Затем для теста я сохранил $ header_output в текстовый файл (используя fwrite ()) — все заработало, чистый HTML! Так что я думаю, что что-то не так с моими включениями …
Конечно, я могу каждый раз генерировать новое содержимое текстового файла и включать его в мой header.html, но я думаю, что это неэффективно.
Что я могу сделать, чтобы wp-load.php не был включен в мой header.html?
Задача ещё не решена.
Других решений пока нет …