Title: KDA Custom Upload Structure
Author: deniskey
Published: <strong>24 Julho, 2026</strong>
Last modified: 18 Agosto, 2026

---

Procurar plugins

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

# KDA Custom Upload Structure

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

[Descarregar](https://downloads.wordpress.org/plugin/kda-custom-upload-structure.1.3.5.zip)

 * [Detalhes](https://pt.wordpress.org/plugins/kda-custom-upload-structure/#description)
 * [Avaliações](https://pt.wordpress.org/plugins/kda-custom-upload-structure/#reviews)
 *  [Instalação](https://pt.wordpress.org/plugins/kda-custom-upload-structure/#installation)
 * [Desenvolvimento](https://pt.wordpress.org/plugins/kda-custom-upload-structure/#developers)

 [Suporte](https://wordpress.org/support/plugin/kda-custom-upload-structure/)

## Descrição

**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**.

## Ecrãs

[⌊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.

## Instalação

 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.

## Perguntas frequentes

### 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`.

## Avaliações

Este plugin não tem avaliações.

## Contribuidores e programadores

“KDA Custom Upload Structure” é software de código aberto. As seguintes pessoas 
contribuíram para este plugin:

Contribuidores

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

“KDA Custom Upload Structure” foi traduzido para 1 locale. Obrigado aos [tradutores](https://translate.wordpress.org/projects/wp-plugins/kda-custom-upload-structure/contributors)
pelas suas contribuições.

[Traduza o “KDA Custom Upload Structure” para o seu idioma.](https://translate.wordpress.org/projects/wp-plugins/kda-custom-upload-structure)

### Interessado no desenvolvimento?

[Consulte o código](https://plugins.trac.wordpress.org/browser/kda-custom-upload-structure/),
consulte o [repositório SVN](https://plugins.svn.wordpress.org/kda-custom-upload-structure/),
ou subscreva o [registo de alterações](https://plugins.trac.wordpress.org/log/kda-custom-upload-structure/)
por [RSS](https://plugins.trac.wordpress.org/log/kda-custom-upload-structure/?limit=100&mode=stop_on_copy&format=rss).

## Registo de alterações

#### 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.

## Metadados

 *  Versão **1.3.5**
 *  Última actualização **Há 3 dias**
 *  Instalações activas **Menos de 10**
 *  Versão do WordPress ** 5.8 ou superior **
 *  Testado até **7.0.4**
 *  Versão do PHP ** 7.4 ou superior **
 *  Idiomas
 * [English (US)](https://wordpress.org/plugins/kda-custom-upload-structure/) e 
   [Russian](https://ru.wordpress.org/plugins/kda-custom-upload-structure/).
 *  [Traduza para o seu idioma](https://translate.wordpress.org/projects/wp-plugins/kda-custom-upload-structure)
 * Etiquetas
 * [media](https://pt.wordpress.org/plugins/tags/media/)[migration](https://pt.wordpress.org/plugins/tags/migration/)
   [post type](https://pt.wordpress.org/plugins/tags/post-type/)[upload folder](https://pt.wordpress.org/plugins/tags/upload-folder/)
   [uploads](https://pt.wordpress.org/plugins/tags/uploads/)
 *  [Visualização avançada](https://pt.wordpress.org/plugins/kda-custom-upload-structure/advanced/)

## Classificações

Ainda não foram submetidas avaliações.

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

[Ver todas as revisões](https://wordpress.org/support/plugin/kda-custom-upload-structure/reviews/)

## Contribuidores

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

## Suporte

Tem algo a dizer? Precisa de ajuda?

 [Ver fórum de suporte](https://wordpress.org/support/plugin/kda-custom-upload-structure/)