Функция path_join()
в WordPress используется для объединения двух файловых путей. Она позволяет создать полный путь, добавляя недостающий разделитель между базовым и относительным путем, либо возвращает абсолютный путь, если таковой уже указан. Это удобно для организации структуры файлов и работы с путями, не заботясь о правильности расположения разделителей.
path_join( string $base, string $path ): string
path_join()
принимает два обязательных параметра:
$base
— базовый путь, который будет использоваться в начале.$path
— относительный путь, который добавляется к$base
. Если$path
абсолютный, он возвращается без изменений.
Функция возвращает:
- Скомбинированный путь из
$base
и$path
, если$path
относительный. - Абсолютный путь, если
$path
уже абсолютный.
Функция использует path_is_absolute()
, чтобы определить, является ли $path
абсолютным.
Объединение относительных и базовых путей
Если второй параметр $path
— относительный, то он будет добавлен к базовому $base
, разделенный символом /
.
$base = '/var/www/example.com';
$path = 'wp-content/uploads';
echo path_join($base, $path);
// Вывод: /var/www/example.com/wp-content/uploads
2. Обработка абсолютного пути
Если $path
является абсолютным, функция просто возвращает его, игнорируя $base
.
$base = '/var/www/example.com';
$path = '/home/user/uploads';
echo path_join($base, $path);
// Вывод: /home/user/uploads
3. Использование с пустым значением $path
При передаче пустого значения в $path
, функция вернет $base
с добавленным завершающим слэшем /
.
$base = '/var/www/example.com';
$path = '';
echo path_join($base, $path);
// Вывод: /var/www/example.com/
4. Использование в подключении файлов
Функция path_join()
полезна для подключения файлов, путь к которым может быть абсолютным или относительным. Если передан относительный путь, path_join()
добавит к нему базовый путь; если путь абсолютный, он будет подключен как есть.
$base_path = '/var/www/site/wp-content/';
$file_path = 'themes/mytheme/functions.php';
$full_path = path_join($base_path, $file_path);
require_once($full_path);
// Подключит: /var/www/site/wp-content/themes/mytheme/functions.php
5. Совместимость с путями Windows и Unix
Функция корректно обрабатывает пути как в формате Windows (C:\path\to\file
) так и Unix (/path/to/file
). Например, если $path
— это путь с обратным слэшем, функция вернет его, игнорируя $base
.
$base = '/var/www/site';
$path = 'C:\\Program Files\\MyApp';
echo path_join($base, $path);
// Вывод: C:\Program Files\MyApp
Заключение
Функция path_join()
— простой и удобный способ работы с путями в WordPress. Она позволяет корректно объединять базовый и относительный путь, учитывая систему, на которой запущен WordPress.