Вопрос или проблема
Я читаю документацию Библиотеки медиа WordPress, и мне кажется, что она не позволяет разделить загруженные медиафайлы на директории. Это правда? Почему был сделан такой выбор?
Как я могу это реализовать?
Из вашего вопроса я понял, что вам нужно хранить медиафайлы в другом пользовательском расположении. Если это ваше сомнение, то это может помочь вам..
Чтобы изменить расположение загрузки медиафайлов по умолчанию, вам нужно отредактировать файл wp-config.php. Если вы хотите, чтобы директория загрузки была wp-content/example, тогда вам нужно вставить следующий код в wp-config.php
define( 'UPLOADS', 'wp-content/'.'example' );
Если вы хотите, чтобы директория загрузки была вне wp-content, например http://www.example.com/example/, то укажите это следующим образом
define( 'UPLOADS', ''.'files' );
или вы можете попробовать плагин media file manager для управления папками медиафайлов непосредственно из административной панели.
Правка:
Функция для создания подпапки внутри директории загрузки для каждой загрузки выглядит так:
function kv_custom_image_dir( $pathdata ) {
$subdir="/uploads_img".$pathdata['subdir'];
$pathdata['path'] = str_replace($pathdata['subdir'], $subdir, $pathdata['path']);
$pathdata['url'] = str_replace($pathdata['subdir'], $subdir, $pathdata['url']);
$pathdata['subdir'] = str_replace($pathdata['subdir'], $subdir, $pathdata['subdir']);
return $pathdata;
}add_filter( 'upload_dir', 'kv_custom_image_dir' );
если хотите узнать больше, проверьте этот блог
.
Ответ или решение
Как разделить загруженные медиафайлы на директории в WordPress?
Вам справедливо кажется, что WordPress изначально не позволяет разделять загруженные медиафайлы на директории, это связано с тем, что стандартная структура загрузок в WordPress организована по дате — файлы помещаются в папки по годам и месяцам. Тем не менее, это не означает, что вы не можете реализовать более сложную организацию директории. В этой статье мы рассмотрим несколько способов, как это сделать.
1. Изменение директории загрузки
Если вы хотите изменить стандартное местоположение для загрузки медиафайлов, вам необходимо внести изменения в файл wp-config.php
.
Например, чтобы установить папку для загрузок в wp-content/example
, добавьте следующую строку в wp-config.php
:
define( 'UPLOADS', 'wp-content/'.'example' );
Если же вам нужно, чтобы директория для загрузок находилась вне папки wp-content
, вы можете сделать это следующим образом:
define( 'UPLOADS', ''.'files' );
Этот метод изменит путь загружаемых файлов, но не решит проблему с разделением на подкаталоги.
2. Использование плагина
Одним из наиболее простых решений является использование плагина, который поможет управлять медиафайлами и создавать подкаталоги. Рекомендуем плагин Media File Manager. Он позволяет вам организовать ваши медиафайлы в папки непосредственно через административную панель WordPress.
3. Создание пользовательской функции для папок
Если вы хотите создать структуру папок специфическим образом, вы можете использовать фильтр upload_dir
. Вот пример функции, которая создает подкаталог внутри директории загрузки для каждого загружаемого изображения:
function kv_custom_image_dir( $pathdata ) {
$subdir = "/uploads_img" . $pathdata['subdir'];
$pathdata['path'] = str_replace($pathdata['subdir'], $subdir, $pathdata['path']);
$pathdata['url'] = str_replace($pathdata['subdir'], $subdir, $pathdata['url']);
$pathdata['subdir'] = str_replace($pathdata['subdir'], $subdir, $pathdata['subdir']);
return $pathdata;
}
add_filter( 'upload_dir', 'kv_custom_image_dir' );
При добавлении этой функции в functions.php
вашей темы, все загружаемые изображения будут помещаться в подкаталог uploads_img
в стандартной директории загрузок.
Заключение
Хотя WordPress не предоставляет встроенных инструментов для организации медиафайлов по каталогам, вы можете использовать вышеуказанные методы для создания структуры файловой системы, которая соответствует вашим потребностям. Изменение настроек загрузки через wp-config.php
, использование плагинов или добавление специального кода в вашу тему — все это позволит вам легче управлять вашими медиафайлами.
Для получения дополнительных сведений вы можете ознакомиться с документацией WordPress или записью в блоге, которые предоставляют более детальные указания по реализации различных настроек загрузок.