GT Downloads Manager WP Registry grade A. No security issues foundWP RegistryNo security issues foundOpen the reportA
A lightweight yet powerful downloads manager plugin to showcase and track downloadable resources on your WordPress site.
Install
Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/wpgaurav/gt-downloads-manager/releases/download/1.0.2/gt-downloads-manager.zipTable-driven downloads manager with REST API, dynamic blocks, tracked links, and a built-in docs page.
Description
GT Downloads Manager 2.0 stores download records in its own custom table:
- Table:
{$wpdb->prefix}gtdm_downloads - Columns include title, description, media/direct source, categories, tags, status, and
download_count - No dependency on
wp_postsfor download data
What you get in v2
- Server-rendered and AJAX-enhanced discovery UI
- Search, category filtering, tag filtering, sorting, and pagination
- REST API namespace
gtdm/v2 - Dynamic Gutenberg blocks
- Download tracking with simple anti-abuse throttling
- Admin menu with custom download manager UI
- In-plugin Docs submenu with shortcode and REST usage
Shortcodes
[gtdm_download id="123" image="medium"][gtdm_downloads category="" tag="" search="" sort="newest" per_page="12" page="1" layout="grid" filters="1"]
Query vars (no-JS fallback)
gtdm_sgtdm_catgtdm_taggtdm_sortgtdm_page
REST API endpoints
GET /wp-json/gtdm/v2/downloadsGET /wp-json/gtdm/v2/downloads/<id>GET /wp-json/gtdm/v2/terms/categoriesGET /wp-json/gtdm/v2/terms/tagsPOST /wp-json/gtdm/v2/downloads/<id>/track
Blocks
gtdm/downloads-querygtdm/download-filtersgtdm/download-card
Installation
- Upload plugin files to
/wp-content/plugins/gt-downloads-manager. - Activate the plugin through the Plugins screen.
- Go to Downloads in wp-admin and create download entries.
- Open Downloads > Docs for endpoint and shortcode reference.
- Insert shortcodes or blocks where you want downloads to appear.
Frequently Asked Questions
Can this plugin run without custom post types?
Yes. Download records are stored in the plugin's own custom table.
Does this support direct external URLs and Media Library files?
Yes. Choose source type in the download edit screen.
Is JavaScript required for filtering?
No. Filtering and pagination work without JavaScript using query vars and full page reloads.
Does v2 migrate v1 custom-table data?
No. Version 2.0 is a breaking rebuild with hard reset behavior.
Changelog
2.0.0
- Rebuilt plugin architecture with modular service layers
- Rebuilt storage on a dedicated plugin table (
gtdm_downloads) - Added full discovery suite (search, category, tag, sort, pagination)
- Added REST API v2 endpoints for listings, terms, and tracking
- Added new dynamic blocks and modern block build tooling (
@wordpress/scripts) - Added tracked download controller route with throttled counting
- Added Docs submenu page under plugin menu
- Removed legacy
dm_downloadURL and legacy shortcode/block/widget stack
1.0
- Initial release
Upgrade Notice
2.0.0
Important breaking release.
- This version performs a hard reset of legacy table-based data.
- There is no automatic migration from v1 data model.
- Legacy
?dm_download=...URLs and v1 shortcodes/blocks are not supported.
Releases
3 releases. Each count is every asset in that release; expand a row for the breakdown.
Active-site estimate ≈10 comes from the median of recent superseded releases. Method.