Ответы:
Они определены следующим образом:
define( 'ABSPATH', dirname(dirname(__FILE__)) . '/' );
define( 'WPINC', 'wp-includes' );
dirname
является функцией PHP, которая возвращает путь к родительскому каталогу, и wp-includes
довольно понятна
Я бы сказал, ABSPATH
что лучше, потому что это одна из первых вещей, которую загружает WP, и она также выглядит лучше :) Но нет реального «правильного пути», потому что они оба работают.
if ( ! defined( 'WPINC' ) ) die;
и if ( ! defined( 'ABSPATH' ) ) exit;
добавьте дополнительный уровень безопасности, предотвращая любой прямой доступ к вашему файлу плагина. ABSPATH
константа PHP, определенная WordPress в его ядре
Если ваш файл плагина доступен из-за пределов WordPress, константа ABSPATH
или WPINC
не будет определена, поэтому она выходит из кода плагина, предотвращая любой несанкционированный доступ к вашему коду.
ABSPATH
и WPINC
определены в ядре WordPress как:
define( 'ABSPATH', dirname(dirname(__FILE__)) . '/' );
define( 'WPINC', 'wp-includes' );
Оба используются для одной цели.
Каковы различия между WPINC и ABSPATH?
Вы можете проверить себя. Просто посмотритеwp-load.php
на зеркало WordPress на GitHub.
Даже быстрый взгляд покажет, что выбранный в данный момент ответ больше не верен относительно того, как ABSPATH
он определен. И если вы сравните различные теги на GitHub, вы увидите, что ABSPATH
определение действительно меняется со временем.
Какой «правильный» способ сделать это?
Учитывая, что они используются для безопасности, я бы пошел на ABSPATH
. Обоснование заключается в том, что ABSPATH
он не только определяется первым в загрузчике WP, WPINC
но определяется условным условием в том же файле и, как следствие, с большей вероятностью подвергнется будущей регрессии.
Кроме того, хотя это и не было явно задано, вы предоставили примеры, использующие оба die
и exit
. Согласно devdocs.io
, который опирается на официальную документацию API, die
эквивалентен exit
, так что вы можете выбрать любой из двух, и это не будет иметь значения.
И те, die
и другие exit
принимают аргументы, поэтому вы можете использовать их для вывода некоторой полезной информации, такой как зашифрованный тег версии или контактная информация, после завершения или передачи кода выхода, такого как 0
или -1
для дальнейшей обработки.
Также стоит отметить, что wp_die
это тоже вещь. Не путать со встроенными модулями PHP, но дополняет их для использования при выводе HTML в дополнение к простому тексту и в настоящее время широко используется в ядре WordPress. Узнайте больше оwp_die
на WordPress.org.
if ( ! defined( 'ABSPATH' ) ) exit;
... но, возможно, считает , что сфера применения этого кода является то, убедитесь , что WordPress загружен «WPINC» лучше , потому что больше wordpressfull смотрящую с «РГ».