Если вы хотите создать свой собственный файл .php и взаимодействовать с Wordpress без заголовков 404 и сохранить текущую структуру постоянных ссылок, НЕТ необходимости в файле шаблона для этой 1 страницы, я обнаружил, что этот подход лучше всего подходит для вашей. php файл:
<?php
require_once(dirname(__FILE__) . '/wp-config.php');
$wp->init();
$wp->parse_request();
$wp->query_posts();
$wp->register_globals();
$wp->send_headers();
// Your Wordpress Functions here...
echo site_url();
?>
После этого вы можете просто выполнять любые функции WordPress. Кроме того, это предполагает, что ваш файл .php находится в корне вашего сайта WordPress, где находится файл wp-config.php
.
Для меня это бесценное открытие, так как я использовал require_once(dirname(__FILE__) . '/wp-blog-header.php');
в течение самого длительного времени, так как Wordpress даже говорит вам, что это подход, который вы должны использовать для интеграции функций Wordpress, cept, он вызывает 404 заголовка, что странно, что они хотели бы, чтобы вы использовали этот подход. https://codex.wordpress.org/Integrating_WordPress_with_Your_Website
Я знаю, что многие люди ответили на этот вопрос, и на него уже есть принятый ответ, но вот хороший подход к файлу .php в корне вашего сайта WordPress (или технически в любом месте, где вы хотите на своем сайте), который вы можно просматривать и загружать без 404 заголовков!
EDIT
Просто быстрое обновление здесь. Есть способ использовать wp-blog-header.php
без 404 заголовков, но для этого необходимо добавить заголовки вручную, что-то вроде этого будет работать в корне вашей установки WordPress:
<?php
require_once(dirname(__FILE__) . '/wp-blog-header.php');
header("HTTP/1.1 200 OK");
header("Status: 200 All rosy");
// Your Wordpress Functions here...
echo site_url();
?>
Просто, чтобы проинформировать вас об этом, немного меньше кода, необходимого для этого подхода, но вам решать, какой 1 вы используете.