

Download edit screen with drag-and-drop upload, per-file progress, and the From Folder browser.
I-Soft File Manager: Foundation is a modular download manager built for modern WordPress.
Unlike standard media plugins that dump every upload into a single dated folder, Foundation is designed for municipalities, universities, libraries, and any team that needs to manage thousands of public documents, maintain a strict category tree, and give different departments their own secure upload spaces.
wp-content/uploads/isoft-fmf-files/. Rename a category and the folder renames itself; every file path in the database updates instantly..htaccess-protected directory; every download routes through PHP with nonce verification, role checks, rate limiting, and hotlink protection. X-Sendfile and X-Accel-Redirect supported for high-traffic hosts.The filesystem is the source of truth. Moving a download to a different category auto-moves its files on disk; deleting a category is blocked if any download still references it. This is what lets external automation tools sync files in and out without having to understand WordPress internals.
Foundation ships eight shortcodes. Drop them in any classic-editor page, any Gutenberg “Shortcode” block, or any builder’s HTML / Shortcode widget. Every category and tag attribute accepts either the term slug (preferred — stable across exports) or its numeric term ID. Slugs are visible on the Downloads Categories screen and as the chip next to the category name on the download edit screen.
Renders a grid, list, or table of downloads. Same renderer as the Download List block.
Attribute
Default
What
category
empty
slug or term ID; empty = all categories
include_subcategories
"1"
also include downloads in descendant categories; "0" restricts to the exact category
tag
empty
slug or term ID
limit
per-page setting
how many to render
orderby
"date"
date / title / download_count / any WP_Query orderby
order
"DESC"
ASC / DESC
layout
display setting
grid / list / table
show_search
"0"
render a search box scoped to the same category
Common recipes:
[isoft_fmf_list category="resolutions"]
[isoft_fmf_list category="resolutions" layout="grid" limit="12"]
[isoft_fmf_list category="resolutions" orderby="download_count"]
[isoft_fmf_list category="resolutions" show_search="1"]
Renders one download’s full card by post ID.
Attribute
Default
What
id
required
the download post ID
show_description
"1"
include the description below the title
show_files
"1"
render the per-file list with download buttons
style
"card"
card / compact / button-only
Clickable cards leading to each category’s archive page. Same renderer as the Category Grid block.
Attribute
Default
What
parent
0
term ID of the parent category to show children of; 0 shows top-level
columns
3
grid columns
show_count
"1"
show the count of downloads per category
show_description
"1"
show the category description text
Renders a search form that filters Foundation downloads.
Attribute
Default
What
category
empty
scope the search to a single category (slug or term ID)
placeholder
“Search downloads…”
the input placeholder text
Pre-set list, newest first.
Attribute
Default
What
limit
5
how many to render
days
0
restrict to downloads posted in the last N days; 0 = no time limit
category
empty
scope to a single category
Pre-set list, ordered by download count.
Attribute
Default
What
limit
5
how many to render
period
"all"
all / 30d / 7d
category
empty
scope to a single category
Renders just a download button for one specific file (not the whole download post). Useful inline in body content.
Attribute
Default
What
file_id
required
the file ID (visible in the per-file list on the download edit screen)
text
“Download”
button label
class
empty
extra CSS classes appended to the button
Renders just a number — either a single file’s count or a whole download post’s total.
Attribute
Default
What
id
0
download post ID (uses the post’s aggregate counter)
file_id
0
specific file ID (uses that file’s counter)
format
"%s"
sprintf format string for the number, e.g. "%s downloads"
Exactly one of id or file_id should be set.
The shortcodes above drop into every major builder’s HTML or Shortcode widget. Where to paste:
Builder
Widget
Elementor
Widgets panel Shortcode
WPBakery
Add element Text Block (source view) or Raw HTML
Divi
Module Code
Beaver Builder
Basic Modules HTML
Bricks
Basic Elements Shortcode
Native, point-and-click widgets for each builder (with full attribute panels instead of writing shortcode strings) are planned as separate companion plugins.
I-Soft File Manager: Foundation exposes its styling via CSS custom properties on :root so you can recolor cards from Appearance Customize Additional CSS without writing any selectors.
Example — recolor the PDF icon to match your theme blue and soften card borders:
:root {
--isoft-fmf-icon-pdf-bg: #1a73e8;
--isoft-fmf-card-border: #ddd;
}
--isoft-fmf-card-bg — Card background--isoft-fmf-card-border — Card and grid borders--isoft-fmf-row-border — Per-file row separator--isoft-fmf-title-band-bg — Grid-mode title band background--isoft-fmf-meta-color — Date / size / count text--isoft-fmf-empty-color — “No files available” text--isoft-fmf-badge-hot-bg — HOT badge background--isoft-fmf-badge-hot-color — HOT badge text--isoft-fmf-icon-color — File-type icon/badge text--isoft-fmf-icon-pdf-bg — PDF file color--isoft-fmf-icon-doc-bg — DOC / DOCX color--isoft-fmf-icon-xls-bg — XLS / XLSX color--isoft-fmf-icon-ppt-bg — PPT / PPTX color--isoft-fmf-icon-zip-bg — Archive (ZIP / RAR / 7Z) color--isoft-fmf-icon-img-bg — Image color--isoft-fmf-icon-vid-bg — Video color--isoft-fmf-icon-aud-bg — Audio color--isoft-fmf-icon-file-bg — Generic / unknown file colorFor deeper changes (layout, spacing, typography), all public classes use the .isoft-fmf- prefix with BEM naming. Key entry points:
.isoft-fmf-download-card — Outer wrapper around one download.isoft-fmf-download-card__title — Multi-file card heading.isoft-fmf-file-item — Per-file row.isoft-fmf-file-item__icon — Large file-type tile (list mode only).isoft-fmf-file-item__title — File or download title link.isoft-fmf-file-item__meta — Date / size / count meta block.isoft-fmf-file-item__action — Action column (button or status label).isoft-fmf-download-btn — The action button (intentionally not theme-locked via CSS variables; targets WP wp-element-button so theme styling stays in control).isoft-fmf-meta--type — Inline file-type badge (grid mode only).isoft-fmf-badge--hot — HOT marker.isoft-fmf-grid — Grid wrapper (use .isoft-fmf-grid--cols-3 etc. for per-column-count overrides).isoft-fmf-list-wrap — List wrapper.isoft-fmf-category-grid — Category grid wrapperFull source — including the un-minified React/JSX for the three Gutenberg blocks — is hosted publicly at:
https://github.com/I-SOFT-Mionica/isoft-fm-foundation
The compiled block bundles shipped under blocks/build/ are produced from blocks/<block-name>/{index,edit}.js via @wordpress/scripts (webpack). To rebuild from a clean checkout:
npm install
npm run build
The build script reads webpack.config.js, compiles each block’s index.js entry, and writes blocks/build/<block-name>.js plus an <block-name>.asset.php dependency manifest. Running npm run start instead watches the sources and rebuilds on save during development.