Каков правильный способ использования функций WordPress вне файлов WordPress?

Я прочитал около 2 методов для инициализации функции WordPress за пределами файлов WordPress, поэтому мы можем использовать эти функции на любой странице или веб-сайте за пределами блога WordPress.

Какой из этих двух методов является правильным? Каковы варианты использования для каждого метода, если оба они верны? Каково отношение между использованием одного или другого метода?

Метод 1:

& л;? PHP
    define ('WP_USE_THEMES', false);
    требуется ( './WP-блог-header.php');
? >

Метод 2:

& л;? PHP
    define ('WP_USE_THEMES', false);
    требуется ( './WP-load.php');
? >
48 голосов | спросил alhoseany 28 MaramWed, 28 Mar 2012 01:16:25 +04002012-03-28T01:16:25+04:0001 2012, 01:16:25

5 ответов


48

Между файлами мало различий. Когда вы просматриваете страницу WordPress, первый файл называется index.php. И это, по сути, ваш «Метод 1:»

define ('WP_USE_THEMES', true);

/** Загружает среду WordPress и шаблон * /
require ('./wp-blog-header.php);

Заголовок заголовка блога (который ставит очередь на остальную часть WordPress) напрямую загружает wp-load.php и запускает сам WordPress. Вот большинство wp-blog-header.php:

if (! isset ($ wp_did_header)) {

    $ wp_did_header = true;

    require_once (dirname (__ FILE__). '/wp-load.php');

    в.ч. ();

    require_once (ABSPATH. WPINC. '/template-loader.php');

}

Итак, разница между двумя вашими методами - это то, что загружено.

Метод 1 - это именно то, что делает WordPress для загрузки (за исключением отключения тем оформления). Поэтому, если вам нужно all WordPress и хотите запустить все крючки /действия по умолчанию, пойдите с этим маршрутом.

Метод 2 - это еще один шаг вниз по линии. Он загружает все WordPress, но не вызывает wp () или вызывает загрузчик шаблонов (используемый темами). Метод 2 будет немного более легким, но должен дать вам ту же функциональность.

ответил EAMann 28 MaramWed, 28 Mar 2012 02:57:02 +04002012-03-28T02:57:02+04:0002 2012, 02:57:02
10

Способ 2 из вашего вопроса:

& л;? PHP
define ('WP_USE_THEMES', false); //Не загружайте функциональность поддержки темы
require ('./wp-load.php);

wp-load.php - это доступ ко всем функциям WordPress, вот и все. В первой строке WordPress загружает не файлы темы; возможно, файлы необходимы для ваших требований, а затем удалите строку.

ответил bueltge 28 MaramWed, 28 Mar 2012 01:32:52 +04002012-03-28T01:32:52+04:0001 2012, 01:32:52
3

wp-blog-header.php привяжет статус заголовка, он вернет код состояния http из 404

wp-load.php не будет

Полезно отметить при использовании ajax при проверке кода состояния http

ответил RayLau135 11 PMpMon, 11 Apr 2016 13:42:04 +030042Monday 2016, 13:42:04
2

Иногда загрузка функции. php темы может вызвать некоторые проблемы. Это нарушало html моей другой страницы. Вот что я сделал и решил свою проблему:

define ('STYLESHEETPATH', '');
define ('TEMPLATEPATH', '');
require_once (RAIZ_WORDPRESS "/WP-load.php".);
ответил Wellington Lorindo 27 +03002015-10-27T14:19:27+03:00312015bEurope/MoscowTue, 27 Oct 2015 14:19:27 +0300 2015, 14:19:27
0

@ ninja08

Мы можем использовать расширение xDebug php для анализа скрипта.

просто включите ; xdebug.profiler_enable = 1 в ваш php.ini файл, удалив ; из первой строки и после этого перезапустите сервер apache и запустите ваш сайт WordPress ... теперь файл, созданный в каталоге tmp вашего сервера xampp. Откройте этот файл с помощью приложение WincachGrind .

теперь вы можете увидеть карту своего скрипта

 WincacheGrind Simple Wordpress Analyze

ответил Mostafa 14 MonEurope/Moscow2015-12-14T08:08:49+03:00Europe/Moscow12bEurope/MoscowMon, 14 Dec 2015 08:08:49 +0300 2015, 08:08:49

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132