Я прочитал о 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');
?>
php
wp-load.php
wp-blog-header.php
alhoseany
источник
источник
Ответы:
Есть небольшая разница между файлами. Когда вы просматриваете страницу WordPress, первый файл называется
index.php
. И это, по сути, ваш «Метод 1:»Заголовочный файл блога (который ставит в очередь остальную часть WordPress) загружается
wp-load.php
напрямую и запускает сам WordPress. Вот большая частьwp-blog-header.php
:Так что разница между вашими двумя методами заключается в том ... что загружено.
Метод 1 - это именно то, что WordPress делает для загрузки самого себя (за исключением отключения тем). Так что если вам нужен весь WordPress и вы хотите запустить все стандартные хуки / действия, следуйте по этому пути.
Метод 2 - это еще один шаг вниз по линии. Он загружает все WordPress, но не вызывает
wp()
и не вызывает загрузчик шаблонов (используется темами). Метод 2 будет немного легче, но даст вам ту же функциональность.источник
Способ 2 из вашего вопроса:
wp-load.php
это доступ ко всем функциям WordPress, вот и все. Первая строка говорит WordPress загружать не файлы Theme; Может быть, файлы необходимы для ваших требований, затем удалите строку.источник
wp-blog-header.php прикрепит статус заголовка, вернет код статуса http 404
wp-load.php не будет
Полезно отметить при использовании ajax, поскольку он проверяет код состояния http
источник
Иногда загрузка functions.php темы может вызвать некоторые проблемы. Это нарушало HTML мою другую страницу. Вот что я сделал и решил свою проблему:
источник
@ ninja08
Мы можем использовать расширение php xDebug для анализа скрипта.
просто включите
;xdebug.profiler_enable = 1
в свойphp.ini
файл, удалив;
из первой строки и после этого перезапустите сервер apache и запустите ваш сайт WordPress ... теперь файл, созданный в каталоге tmp вашего сервера xampp .. откройте этот файл с помощью приложения WincachGrind .теперь вы можете увидеть карту вашего скрипта
источник