hallowebsite Media Folders & Downloads

DE | EN

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.

Requires WordPress
6.3
Requires PHP
7.4
Author
hallowebsite

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

  1. Open Media → Library and create folders in the sidebar.
  2. Drag files into a folder and sort them.
  3. Click the [/] button on the folder to copy its shortcode.
  4. 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"]
AttributeDefaultDescription
folder–Folder ID or slug (required).
children01 = include files from subfolders.
orderbyorderorder (position), title, date, size, name.
orderascasc / desc
limit0Maximum number of files (0 = all).
showicon,ext,size,descAny of icon,ext,size,date,desc,button.
typeallOnly these extensions, e.g. pdf,docx.
linkitemitem = 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.