hallowebsite Media Folders & Downloads
Organises the Media Library with drag & drop virtual folders, without moving files or changing URLs. Any folder can become a clean, CSS-ready download list via block or shortcode, with file icons and an optional privacy-friendly download counter.
Overview
hallowebsite Media Folders & Downloads brings order to the WordPress Media Library with virtual folders, and turns any folder into a clean, CSS-ready download list on your website. Files are never moved and URLs never change, because folders are only a label. Sort files by drag & drop, give them nice download titles and descriptions, and output them with a shortcode or block. An optional privacy-friendly download counter is included.
Features
- A folder sidebar in Media → Library (grid and list view), with nested folders.
- Drag files or bulk selections onto a folder. Drop them on Unassigned to remove the folder.
- Sort files inside a folder by drag & drop. This sets the order of the download list.
- Drag folders to reorder them or turn them into subfolders.
- Uploads go into the currently open folder automatically. A folder filter is available in every media modal.
- Per file: download title, description, download file name, position, show/hide, download vs. open in a new tab.
- Shortcode
[hw_downloads]and block Download list (same output). - Inline SVG file icons that show the real extension, with custom icons and custom file types.
- Download counter: off, backend only, or backend + website. No personal data is stored.
Quick start
- Open Media → Library and create folders in the sidebar.
- Drag files into a folder and sort them.
- Click the
[/]button on the folder to copy its shortcode. - Paste the shortcode, or add the block Download list and choose the folder.
Shortcode
[hw_downloads folder="12"]
[hw_downloads folder="formulare" children="1" show="icon,ext,size,button" button="Herunterladen"]
[hw_downloads folder="12" type="pdf" orderby="date" order="desc" limit="5"]
| Attribute | Default | Description |
|---|---|---|
folder | – | Folder ID or slug (required). |
children | 0 | 1 = include files from subfolders. |
orderby | order | order (position), title, date, size, name. |
order | asc | asc / desc |
limit | 0 | Maximum number of files (0 = all). |
show | icon,ext,size,desc | Any of icon,ext,size,date,desc,button. |
type | all | Only these extensions, e.g. pdf,docx. |
link | item | item = the whole row is the link, button = only the button. |
button | – | Button text for this list. |
class / empty | – | Extra classes on the list / text shown when the list is empty. |
Settings
Under Settings → Media → Download lists: icon style, icon colours, a custom icon per type group, custom file types (e.g. dwg, dxf), the download counter and default button texts.
Markup & styling
<ul class="hwd">
<li class="hwd__item hwd--pdf">
<a class="hwd__row hwd__link" href="…" download>
<svg class="hwd__icon">…</svg>
<span class="hwd__title">Title</span>
<span class="hwd__meta"><span class="hwd__ext">PDF</span><span class="hwd__size">1.2 MB</span></span>
</a>
<p class="hwd__desc">Description</p>
</li>
</ul>
.hwd { --hwd-icon: 3em; }
.hwd--pdf .hwd__icon { color: var(--global-palette1); --hwd-paper: var(--global-palette9); --hwd-label: #fff; }
.hwd__button { background: var(--global-palette1); color: var(--global-palette9); padding: .4em .9em; }
All layout rules use :where() (zero specificity), so your CSS always wins. Wide lists align as columns, and narrow lists (under 30em) wrap automatically using a container query.
Notes
- The counter counts at most one click per visitor and file every 10 minutes. Logged-in users are not counted.
- The full documentation is also in the backend under Media → Hallo Media Manager.