wp_upload_dir()
Отримує дані про каталог (папку) завантажень як масиву параметрів.
Папка завантажень зазвичай називається uploads і розташована в папці контенту wp-contents .
Перевіряє опцію ” upload_path “, яка має бути шляхом від кореня сайту і якщо опція встановлена, буде використана вона, а якщо не встановлена, тоді шлях дорівнюватиме: WP_CONTENT_DIR/uploads . Однак, якщо визначено константу UPLOADS
, тоді вона перепише опцію upload_path і шлях WP_CONTENT_DIR/uploads .
УРЛ каталогу завантажень встановлюється через опцію upload_url_path
або використовується конструкція WP_CONTENT_URL/uploads
.
Якщо опцію uploads_use_yearmonth_folders
встановлено (галочка в налаштуваннях медіафайлів в адмін-панелі), тоді до шляхів та посилань буде додано поточний рік та місяць, у форматі /ГГГГ/ММ
.
Якщо WordPress не зможе визначити шлях, елемент масиву error
міститиме повідомлення про помилку. Помилка можлива, коли батьківська директорія забороняє створювати дочірні (бракує прав на запис).
Швидший аналог цієї функції: wp_get_upload_dir() .
_wp_upload_dir()
(швидко) | 50000 разів – 0.23 сек
(дуже швидко) |
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_upload_dir($time);
-
$time
(рядок) -
Піддиректорія каталогу завантажень. Зазвичай, це папки
/ГГГГ/ММ
в каталозі uploads. Тут ми можемо вказати будь-яку піддиректорію у форматі
/ГГГГ/ММ
, від цього параметра залежать дані одержуваного масиву: [path] [url] [subdir].
Типово: null (папка поточного місяця) -
$create_dir
(логічний) -
Чи потрібно перевіряти та створювати каталог завантажень, якщо його немає?
Типово: true -
$refresh_cache
(логічний) -
Чи потрібно оновити кеш? Результат роботи функції зберігається та віддається з кешу. Якщо встановити тут true, то кеш буде перестворено.
Типово: false
Приклади
#1 Що поверне масив
$upload_dir = wp_upload_dir(); print_r($upload_dir); // Поверне: /* Array ( [path] => /home/k/wp-example.com/public_html/wp-content/uploads/2014/02 [url] => http://wp-example.com/wp-content/uploads/2014/02 [subdir] => /2014/02 [basedir] => /home/k/wp-example.com/public_html/wp-content/uploads [baseurl] => http://wp-example.com/wp-content/uploads [error] => ) */
#2 Отримання всіх елементів у вигляді об’єкта
Зручніше отримувати елементи як об’єкта, так із ними зручно працювати:
$upload_dir = (object) wp_upload_dir(); if( ! $upload_dir->error ){ echo $upload_dir->path ."n"; echo $upload_dir->url ."n"; echo $upload_dir->subdir ."n"; echo $upload_dir->basedir ."n"; echo $upload_dir->baseurl ."n"; } /* Отримаємо: /home/wp-example.com/public_html/wp-content/uploads/2015/08 http://wp-example.com/wp-content/uploads/2015/08 /2015/08 /home/wp-example.com/public_html/wp-content/uploads http://wp-example.com/wp-content/uploads */
#3 УРЛ каталогу завантажень WordPress
Отримаємо УРЛ каталогу завантажень WordPress:
$upload_dir = wp_upload_dir(); echo $upload_dir['baseurl']; //> http://wp-example.com/wp-content/uploads
нотатки
#1 Функція створює папки
Функція wp_upload_dir() створює піддиректорію, якщо її не існує. Якщо вказано параметр $time , то буде створена вказана піддиректорія, інакше директорія цього місяця. Щоб директорія була створена, не обов’язково потрібно зберегти файл.
#2 Назва папки
Якщо вам потрібно перенести папку завантажень /uploads , вам потрібно визначити константу UPLOADS у файлі wp-config.php . Наприклад так:
define( 'UPLOADS', trailingslashit( WP_CONTENT_DIR ).'custom_uploads_name' );
#3 Назви каталогу завантажень
Щоб отримати назву папки завантажень щодо каталогу контенту, зазвичай можна використовувати таку конструкцію. Тут мається на увазі, що каталог завантажень знаходиться в каталозі контенту:
$upload_dir_name = false; if ( defined( 'UPLOADS' ) ) str_replace( trailingslashit( WP_CONTENT_DIR ), '', untrailingslashit( UPLOADS ) );
список змін
З версії 2.0.0 | Введено. |