Я прочитал о 2 методах инициализации функции WordPress вне файлов WordPress, чтобы можно было использовать эти функции на любой странице или веб-сайте вне блога WordPress.
Какой из этих двух методов является правильным? Каковы варианты использования для каждого метода, если оба являются правильными? В чем разница между использованием этих методов?
Метод 1:
<?php
define('WP_USE_THEMES', false);
require('./wp-blog-header.php');
?>
Метод 2:
<?php
define('WP_USE_THEMES', false);
require('./wp-load.php');
?>
Есть небольшая разница между файлами. Когда вы просматриваете страницу WordPress, первый файл называется
index.php
. И это, по сути, ваш «Метод 1»:Заголовочный файл блога (который помещает в очередь остальную часть WordPress) загружает
wp-load.php
напрямую и запускает сам WordPress. Вот небольшая частьwp-blog-header.php
:Итак, разница между вашими двумя методами заключается в том … что загружено. p>
Метод 1 — это именно то, что WordPress делает для загрузки самого себя (за исключением отключения тем). Поэтому, если вам нужен весь WordPress и вы хотите запустить все стандартные хуки / действия, следуйте по этому пути.
Метод 2 — это еще один шаг вниз по линии. Он загружает все WordPress, но не вызывает
wp()
и не вызывает загрузчик шаблонов (используется темами). Метод 2 будет немного легче, но должен дать вам ту же функциональность. з>Метод 2 вашего вопроса:
wp-load.php
— это доступ ко всем функциям WordPress, вот и все. Первая строка говорит WordPress не загружать файлы темы.wp-blog-header.php прикрепит статус заголовка, вернет http-код состояния 404
А wp-load.php нет
Полезно отметить, что при использовании ajax проверяется код статуса http