n-wp.ru — блог о WordPress
Как загружать изображения в папки, отдельные для каждого поста - код и плагин Custom Upload Dir | n-wp.ru

Как загружать изображения в папки, отдельные для каждого поста — код и плагин Custom Upload Dir

Код функции, создающей для изображений каждого поста в папке uploads отдельную папку с названием, соответствующим ID поста, а так же плагин, с помощью которого можно настроить произвольный путь для сохранения изображений.

Если посмотреть, как в блоге хранятся все изображения, которые вы загружали и использовали в постах, то станет понятно, что без дополнительного анализа понять, в каком посте какое изображение использовалось, не удастся — все изображения собраны в папки по месяцам и годам закачки. Если вы захотите изменить папки для сохранения изображений, сделав для каждого поста отдельную папку, то стандартными средствами решить этот воспрос не удастся, нужно будет прибегать либо к помощи плагинов, либо внедрять специальный код.

Для того, чтобы закачивать изображения в блог, и располагать их в папках, соответствующих постам, можно применить специальный код. Вставьте его в файл functions.php используемой темы:

Этот код создает для каждого поста с изображениями свою папку с названием, соответствующим ID поста. Все изображения из поста закачиваются в отдельную папку, и в дальнейшем легко понять, к какому посту относятся изображения.

www/blog/wp-content/uploads/ — это полный путь до папки с учетом того, как он формируется вашим хостингом.
site.com/blog/wp-content/uploads/ — это полный путь до папки uploads с учетом того, как он выглядит в браузере.

Код можно усовершенствовать, сделав более универсальным: функция будет сохранять изображения в папках, соответствующих, на ваш выбор, ID поста, автору поста, или типу файлов. Путь к файлам будет такой: /wp-content/uploads/выбранный_вами_шаблон/.

В этом случае изображения будут сохраняться в папку /wp-content/uploads/post_id/.

В данном случае изображения будут сохраняться в папку /wp-content/uploads/post_author/.

В данном случае изображения будут сохраняться в папку /wp-content/uploads/file_type/.

Любой из кодов нужно использовать в файле functions.php только один раз.

Если вы не хотите самостоятельно внедрять код в используемую тему, то есть более простой и универсальный для любой темы в блоге способ — плагин Custom Upload Dir. Этот плагин делает то же самое, что и вышеприведенный код, только вариантов шаблонов больше: вы можете сохранять изображения в папки по ID поста, автору, названию поста (slug), типу записи (пост, страница, страница вложения), году, месяцу, дню, текущему пользователю, категории, метке, и даже по произвольной структуре, которую вы сами придумаете.

Как загружать изображения в папки, отдельные для каждого поста - код и плагин Custom Upload Dir

Но что самое удобное, так это то, что все эти шаблоны можно комбинировать, используя один в другом. Например, можно сохранять изображения в папки с таким путем: /wp-content/uploads/YYYY/MM/DD/user/post_id/.

Скачать
Custom Upload Dir
вы перейдете по ссылке http://wordpress.org/extend/plugins/custom-upload-dir/

tiaurus

Являюсь создателем n-wp.ru — блога о WordPress для новичков. Мне интересно многое, поэтому еще я сделал 123-box.ru — блог о программах для Windows, и tiaurus.info — блог о красоте.

3 комментария

  • Классный вариант когда изображения сохраняться в папку /wp-content/uploads/file_type/

    Подскажите пожалуйста как добавить в адрес год и месяц?
    Чтобы получилось:
    /wp-content/uploads/file_type/год/месяц/

    Заранее спасибо!!!

  • Дорогой tiaurus. Спасибо за эту статью!! Была проблема с организацией медиафайлов по папкам на сервере через библиотеку по постам (ключ для поисковиков кхе-кхе). Перечитал кучу сайтов и отчаялся. Думал уже начинать пользоваться виртуальными папками, а не физическим на сервере. Спасибо еще раз!!

/* ]]> */