wp_get_upload_dir()WP 4.5.0

Получает данные о папке загрузок (upload) в виде массива параметров.

Это точно такая же функция как и wp_upload_dir(), но менее «требовательная к ресурсам» - она не пытается создать папку загрузок, если такой папки нет.

Функцию нужно использовать в темах, когда нужны только данные: basedir и baseurl - т.е. когда не нужно загружать файл, а нужно только получить данные каталога загрузок.

Мультисайт

Для мультисайта функция вернет данные папки загрузок текущего сайта. Например:

[basedir] => /var/app/www/wp-content/uploads/sites/2
[baseurl] => https://example.com/wp-content/uploads/sites/2

Подробнее об этой функции читайте в описании wp_upload_dir().

Папка загрузок обычно называется upload и находится в папке контента wp-content.

Работает на основе: wp_upload_dir()
Основа для: wp_get_attachment_url()
1 раз — 0.000125 сек (быстро) | 50000 раз — 0.18 сек (очень быстро) | PHP 7.0.5, WP 4.5

Хуков нет.

Возвращает

Массив. Массив данных о каталоге загрузок:

array (
  'path'    => '/home/example.com/public_html/wp-content/uploads/2016/04',
  'url'     => 'http://example.com/wp-content/uploads/2016/04',
  'subdir'  => '/2016/04',
  'basedir' => '/home/example.com/public_html/wp-content/uploads',
  'baseurl' => 'http://example.com/wp-content/uploads',
  'error'   => false,
)

где

  • path - путь на сервере до каталога загрузок с учетом года и месяца, если соответствующая опция включена в админке.

  • url - УРЛ каталога загрузок с учетом года и месяца, если соответствующая опция включена в админке.

  • subdir - название конечного каталога загрузок внутри wp-content/uploads.

  • basedir - путь на сервере до общего каталога загрузок.

  • baseurl - УРЛ до общего каталога загрузок.

  • error - в случае ошибки при получении данных элемент массива error будет равен true.

Использование

$upload_dir = wp_get_upload_dir();

Примеры

0

#1 Получим данные каталога загрузок

$dir = wp_get_upload_dir();

print_r($dir);
/* Выведет
Array
(
	[path]    => /home/example.com/public_html/wp-content/uploads/2016/04
	[url]     => http://example.com/wp-content/uploads/2016/04
	[subdir]  => /2016/04
	[basedir] => /home/example.com/public_html/wp-content/uploads
	[baseurl] => http://example.com/wp-content/uploads
	[error]   =>
)
*/

// Выведем данные
echo $dir['basedir']; // /home/example.com/public_html/wp-content/uploads
echo $dir['baseurl']; // http://example.com/wp-content/uploads

Для мультисайта данные будут такие:

Array
(
	[path] => /var/app/www/wp-content/uploads/sites/2/2023/09
	[url] => http://example.com/wp-content/uploads/sites/2/2023/09
	[subdir] => /2023/09
	[basedir] => /var/app/www/wp-content/uploads/sites/2
	[baseurl] => http://example.com/wp-content/uploads/sites/2
	[error] => 
)
0

#2 Еще пример с папкой загрузок

Смотрите в описании wp_upload_dir().

Заметки

Список изменений

С версии 4.5.0 Введена.

Код wp_get_upload_dir() WP 6.6.2

function wp_get_upload_dir() {
	return wp_upload_dir( null, false );
}