Title: KDA Custom Upload Structure
Author: deniskey
Published: <strong>জুলাই 24, 2026</strong>
Last modified: আগষ্ট 18, 2026

---

প্লাগিনৰ সন্ধান কৰক

![](https://ps.w.org/kda-custom-upload-structure/assets/icon.svg?rev=3624230)

# KDA Custom Upload Structure

 [deniskey](https://profiles.wordpress.org/deniskey/)-ৰ দ্বাৰা

[ডাউনল’ড কৰক](https://downloads.wordpress.org/plugin/kda-custom-upload-structure.1.3.5.zip)

 * [বিশদ বিৱৰণ](https://as.wordpress.org/plugins/kda-custom-upload-structure/#description)
 * [পৰ্য্যালোচনা](https://as.wordpress.org/plugins/kda-custom-upload-structure/#reviews)
 *  [ইনষ্টলেশ্যন](https://as.wordpress.org/plugins/kda-custom-upload-structure/#installation)
 * [বিকাশ](https://as.wordpress.org/plugins/kda-custom-upload-structure/#developers)

 [সাহায্য](https://wordpress.org/support/plugin/kda-custom-upload-structure/)

## বৰ্ণনা

**Custom Upload Structure** lets you store uploaded files outside the standard
 
wp-content/uploads directory — for example in `assets/public/` at the site root —
and organize them the way you want.

Features:

 * **Custom upload location.** Store all media in any folder relative to the
    site
   root instead of `wp-content/uploads`.
 * **Organize by post type.** Files are placed into subfolders named after the
    
   post type they belong to (e.g. `assets/public/films/`). Unattached files go into
   a configurable “others” subfolder.
 * **Year / month folders.** Keep the default WordPress year/month structure
    inside
   your custom folder.
 * **Transliteration.** Convert Cyrillic and other non-Latin file names to
    Latin
   characters on upload (e.g. a Cyrillic file name is converted to its Latin equivalent).
 * **Post ID prefix.** Optionally prefix each file name with the ID of the post
   
   it is uploaded to (e.g. post 42  `42-photo.jpg`). Off by default.
 * **Migration tool.** Move existing media between the default folder and your
    
   custom structure (and back) without breaking the Media Library. Includes a dry
   run, optional replacement of old URLs inside post content, and a retry mode for
   failed items.
 * **Safety.** The upload folder is protected with an `index.php` stub, file
    permissions
   are normalized, and a full backup is required before any move.

All behaviour is controlled from **Settings  Upload Structure**.

## স্ক্ৰীনশ্বট

[⌊General settings: custom path, organization options and current directory info.⌉⌊
General settings: custom path, organization options and current directory info.⌉[

General settings: custom path, organization options and current directory info.

[⌊Migration tab: forward, reverse and retry tools with a dry run.⌉⌊Migration tab:
forward, reverse and retry tools with a dry run.⌉[

Migration tab: forward, reverse and retry tools with a dry run.

## ইনষ্টলেশ্যন

 1. Upload the `kda-custom-upload-structure` folder to `/wp-content/plugins/`.
 2. Activate the plugin through the “Plugins” menu in WordPress.
 3. Go to **Settings  Upload Structure**, enable the plugin and set your custom upload
    folder path (e.g. `/assets/public/`).
 4. Save the settings. The folder will be created automatically.

## সঘনাই উত্থাপিত প্ৰশ্ন

### Does the plugin move my existing files?

No, not automatically. Use the **Migration** tab on the settings page to move
 existing
media between the default folder and your custom structure. Always make a full backup
first.

### Can I revert to the default uploads folder?

Yes. Disable the plugin and use the reverse migration on the **Migration** tab
 
to move files back into `wp-content/uploads`.

## পৰ্য্যালোচনা

এই প্লাগিনৰ বাবে কোনো পৰ্য্যালোচনা নাই।

## অৱদানকাৰী আৰু বিকাশকাৰীসকল

“KDA Custom Upload Structure” হৈছে মুক্ত উৎসৰ ছফ্টৱেৰ। এইসকল লোকে এই প্লাগিনত অৱদান
আগবঢ়াইছে।

অৱদানকাৰীসকল

 *   [ deniskey ](https://profiles.wordpress.org/deniskey/)

“KDA Custom Upload Structure” 1টা ভাষাত অনুবাদ কৰা হৈছে। [অনুবাদকসকল](https://translate.wordpress.org/projects/wp-plugins/kda-custom-upload-structure/contributors)
ক তেওঁলোকৰ অৱদানৰ বাবে ধন্যবাদ।

[আপোনাৰ ভাষাত “KDA Custom Upload Structure” অনুবাদ কৰক।](https://translate.wordpress.org/projects/wp-plugins/kda-custom-upload-structure)

### বিকাশৰ প্ৰতি আগ্ৰহী?

[ক’ড ব্ৰাউজ কৰক](https://plugins.trac.wordpress.org/browser/kda-custom-upload-structure/),
[SVN ৰিপজিটৰী](https://plugins.svn.wordpress.org/kda-custom-upload-structure/) চাওক
নাইবা [RSS](https://plugins.trac.wordpress.org/log/kda-custom-upload-structure/?limit=100&mode=stop_on_copy&format=rss)-
দ্বাৰা [বিকাশৰ পঞ্জী](https://plugins.trac.wordpress.org/log/kda-custom-upload-structure/)
ছাবস্ক্ৰাইব কৰক।

## সলনি-পঞ্জী

#### 1.3.5

 * Assets: add screenshots to the WordPress.org plugin page.

#### 1.3.4

 * Interface improvements and bug fixes.

#### 1.3.3

 * Interface improvements and bug fixes.

#### 1.3.2

 * Interface improvements and bug fixes.

#### 1.3.1

 * Interface improvements and bug fixes.

#### 1.3.0

 * Fixed plugin version constant so asset cache-busting matches the release.
 * Centralized upload-base computation and shared helper methods across plugin core,
   admin and migrator.
 * Migration now also replaces old URLs inside postmeta (serialization-safe).
 * Improved migration rollback: when moving a generated image size fails, the whole
   item is rolled back cleanly.
 * Fixed file-permissions and image-size filters to run only when the plugin is 
   enabled.
 * Sanitized `$_REQUEST['post_id']` upload context inputs.
 * Added migration-status reset when a run gets stuck (closed tab).
 * Added `uninstall.php` cleanup for plugin options and transients.
 * Minor accessibility improvements on settings tabs.

#### 1.2.0

 * Migration is now processed in chunks with a progress bar and automatic resume,
   avoiding AJAX timeouts on large media libraries.
 * Added “migration in progress” indicator when reopening the page during a run.
 * Added free disk space check before starting a migration and rollback of the current
   chunk on a rename error.
 * Added “rename files on move” option (applies post ID prefix and transliteration
   to existing files).
 * Added multisite per-site subfolder support.
 * Added folder structure preview on the settings page.
 * Empty subfolders are cleaned up automatically after a reverse migration.
 * Security: capability check on post ID prefix, error logging in directory creation,
   nonce verification on the classic migration endpoint.

#### 1.1.0

 * Added “Add post ID to file name” option (off by default).
 * Reverse migration now updates image URLs inside post content.
 * JavaScript migration handlers rewired so forward, reverse and retry buttons work.
 * Removed hardcoded fallback folder name; the “others” folder is taken from settings.

#### 1.0.0

 * Initial release.

## মেটা

 *  **1.3.5** সংস্কৰণ
 *  **3 দিন আগত** শেষবাৰ আপডে’ট হৈছিল
 *  সক্ৰিয় ইনষ্টলেশ্যন **10টাতকৈ কম**
 *  WordPress-ৰ সংস্কৰণ ** 5.8 বা তাতকৈ ওপৰৰ **
 *  ইমানলৈকে পৰীক্ষা কৰা হৈছে **7.0.4**
 *  PHP-ৰ সংস্কৰণ ** 7.4 বা তাতকৈ ওপৰৰ **
 *  ভাষাবোৰ
 * [English (US)](https://wordpress.org/plugins/kda-custom-upload-structure/) আৰু
   [Russian](https://ru.wordpress.org/plugins/kda-custom-upload-structure/).
 *  [আপোনাৰ ভাষাত অনুবাদ কৰক](https://translate.wordpress.org/projects/wp-plugins/kda-custom-upload-structure)
 * [media](https://as.wordpress.org/plugins/tags/media/)[migration](https://as.wordpress.org/plugins/tags/migration/)
   [post type](https://as.wordpress.org/plugins/tags/post-type/)[upload folder](https://as.wordpress.org/plugins/tags/upload-folder/)
   [uploads](https://as.wordpress.org/plugins/tags/uploads/)
 *  টেগবোৰ
 *  [উচ্চখাপৰ ভিউ](https://as.wordpress.org/plugins/kda-custom-upload-structure/advanced/)

## ৰে’টিংবোৰ

এতিয়ালৈ কোনো পৰ্য্যালোচনা দাখিল কৰা হোৱা নাই।

[Your review](https://wordpress.org/support/plugin/kda-custom-upload-structure/reviews/#new-post)

[সকলো পৰ্য্যালোচনা চাওক](https://wordpress.org/support/plugin/kda-custom-upload-structure/reviews/)

## অৱদানকাৰীসকল

 *   [ deniskey ](https://profiles.wordpress.org/deniskey/)

## সাহায্য

কিবা ক’বলগীয়া আছে? সহায় লাগে?

 [সাহায্যৰ ফ’ৰাম চাওক](https://wordpress.org/support/plugin/kda-custom-upload-structure/)