Может ли кто-нибудь сказать мне, имеет ли какой-либо из этих двух методов преимущество перед другим и почему?
$mydir = ABSPATH.'/wp-content/themes/mytheme/images';
$mydir = dirname(__FILE__).'/images';
Они оба могут использоваться для получения и абсолютного пути к каталогу изображений «mytheme» независимо от структуры того, установлен ли WordPress в корневом каталоге или в подкаталоге с корнем. В обоих случаях они вызываются из файла functions.php, который находится в папке «mytheme».
Я лично предпочел бы dirname()
поскольку всегда гарантированно дает мне правильный результат, в то время как метод ABSPATH использует фиксированный путь темы и имя темы, которые могут меняться.
Кстати, вы можете использовать __DIR__
вместо dirname(__FILE__)
.
ABSPATH
) не рекомендуется. См. Раздел « Определение плагинов и каталогов содержимого WordPress Codex». Начиная с PHP 4.0.2, символические __FILE__
разрешаются для магических констант __FILE__
и __FILE__
, поэтому __FILE__
это.
Нижняя строка . Чтобы определить абсолютный путь к каталогу темы, я бы предложил использовать get_template_directory()
которая также применяет фильтры и внутренне объединяет get_theme_root()
и get_template()
.
Для моих собственных проектов я бы выбрал dirname(__FILE__)
, также есть новая константа в PHP:
__DIR__ === dirname(__FILE__)