Overview
The [wpdm_categories] shortcode displays a list or grid of package categories. Use it to create navigation menus, category directories, or organized download sections.
Prerequisites
- WordPress Download Manager installed
- At least one category created with packages
Quick Start
Display all categories:
[wpdm_categories]
As a grid:
[wpdm_categories cols="3"]
Only parent categories:
[wpdm_categories parent="0"]
Syntax
[wpdm_categories parameter="value"]
Parameters
Selection Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
parent |
int | all | Parent category ID (0 for top-level only) |
include |
string | – | Comma-separated category IDs to include |
exclude |
string | – | Comma-separated category IDs to exclude |
hide_empty |
int | 0 | Hide categories with no packages (1/0) |
Display Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
show_count |
int | 0 | Display package count (1/0) |
show_image |
int | 0 | Display category image (1/0) |
show_description |
int | 0 | Display category description (1/0) |
hierarchical |
int | 1 | Show as hierarchy (1/0) |
depth |
int | 0 | Max depth (0 = all levels) |
Layout Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
cols |
int | 1 | Number of columns |
orderby |
string | name | Sort field |
order |
string | ASC | Sort direction |
style |
string | list | Display style (list, grid, card) |
Orderby Options
| Value | Description |
|---|---|
name |
Alphabetical by name |
count |
By package count |
id |
By category ID |
slug |
Alphabetical by slug |
term_order |
Custom order |
Usage Examples
Basic Category List
Display all categories as a simple list:
[wpdm_categories]
Output:
• Software • Documents • Media • Templates
With Package Counts
Show how many packages in each category:
[wpdm_categories show_count="1"]
Output:
• Software (24) • Documents (18) • Media (12)
Grid Layout
Display in columns:
[wpdm_categories cols="3"]
Card Style with Images
Visual cards with category images:
[wpdm_categories style="card" show_image="1" show_description="1" cols="4"]
Top-Level Categories Only
Show only parent categories (not children):
[wpdm_categories parent="0"]
Child Categories
Show children of a specific category:
[wpdm_categories parent="5"]
Where 5 is the parent category ID.
Flat List (Non-Hierarchical)
Display all categories at same level:
[wpdm_categories hierarchical="0"]
Limited Depth
Show only two levels deep:
[wpdm_categories depth="2"]
Hide Empty Categories
Only show categories with packages:
[wpdm_categories hide_empty="1"]
Specific Categories
Display only certain categories:
[wpdm_categories include="5,8,12"]
Exclude Categories
Show all except specified:
[wpdm_categories exclude="3,7"]
Sorted by Count
Most populated categories first:
[wpdm_categories orderby="count" order="DESC"]
Complete Example
Category showcase with all features:
[wpdm_categories
parent="0"
show_count="1"
show_image="1"
show_description="1"
cols="3"
style="card"
hide_empty="1"
orderby="count"
order="DESC"]
Output Structure
List Style
Grid Style
Card Style
Category Images
Setting Category Images
- Go to Downloads > Categories
- Edit a category
- Upload or select an image
- Save the category
Image Display
When show_image="1":
- Image displays as thumbnail
- Default placeholder if no image
- Clickable, links to category
Styling
CSS Classes
| Class | Element |
|---|---|
.wpdm-categories |
Main container |
.wpdm-category |
Category list item |
.wpdm-category-item |
Grid item |
.wpdm-category-card |
Card container |
.category-name |
Category title |
.category-image |
Image container |
.category-description |
Description text |
.count |
Package count |
.children |
Child categories |
Example Custom CSS
/* Grid layout */
.wpdm-categories-grid {
display: grid;
gap: 20px;
}
.wpdm-categories-grid.cols-3 {
grid-template-columns: repeat(3, 1fr);
}
/* Card styling */
.wpdm-category-card {
border: 1px solid #e5e7eb;
border-radius: 8px;
overflow: hidden;
transition: box-shadow 0.2s;
}
.wpdm-category-card:hover {
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.wpdm-category-card .category-image img {
width: 100%;
height: 150px;
object-fit: cover;
}
.wpdm-category-card .category-content {
padding: 16px;
}
.wpdm-category-card .category-name {
margin: 0 0 8px 0;
font-size: 18px;
}
.wpdm-category-card .count {
font-size: 14px;
color: #6b7280;
}
/* List styling */
.wpdm-categories ul {
list-style: none;
padding-left: 0;
}
.wpdm-categories .children {
padding-left: 20px;
margin-top: 8px;
}
.wpdm-categories li {
padding: 8px 0;
border-bottom: 1px solid #f3f4f6;
}
/* Count badge */
.wpdm-categories .count {
background: #e5e7eb;
padding: 2px 8px;
border-radius: 12px;
font-size: 12px;
margin-left: 8px;
}
/* Responsive */
@media (max-width: 768px) {
.wpdm-categories-grid.cols-3,
.wpdm-categories-grid.cols-4 {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 480px) {
.wpdm-categories-grid.cols-3,
.wpdm-categories-grid.cols-4 {
grid-template-columns: 1fr;
}
}
Common Use Cases
Sidebar Navigation
Categories
[wpdm_categories show_count="1" hierarchical="1"]
Category Landing Page
Download Categories
[wpdm_categories parent="0" style="card" show_image="1" show_description="1" cols="3"]
Footer Category Links
[wpdm_categories
parent="0"
hide_empty="1"
cols="4"
show_count="0"]
Top Categories Section
Popular Categories
[wpdm_categories orderby="count" order="DESC" hide_empty="1" include="5,8,12,15"]
Widget Alternative
For sidebars, you can also use the WPDM Categories widget:
- Go to Appearance > Widgets
- Add WPDM Categories widget
- Configure display options
- Save
Gutenberg Block
A Categories block is available in the block editor:
- Add new block
- Search for “WPDM Categories”
- Configure in block settings
- Preview and publish
Troubleshooting
No Categories Displayed
Causes:
- No categories exist
- All categories are empty and
hide_empty="1" - Invalid parent ID
Solutions:
- Create categories at Downloads > Categories
- Add packages to categories
- Verify parent ID exists
Counts Incorrect
Cause: Cached counts
Solution:
- Edit and save any category to refresh counts
- Wait for cache to clear
Images Not Showing
Causes:
show_imagenot set to 1- No images assigned to categories
- Image file missing
Solutions:
- Add
show_image="1"parameter - Edit categories and add images
- Check media library for images
Hierarchy Not Displaying
Cause: hierarchical set to 0
Solution:
- Use
hierarchical="1"(default) - Check
depthparameter
Related Shortcodes
| Shortcode | Purpose |
|---|---|
[wpdm_packages] |
List packages (optionally by category) |
[wpdm_all_packages] |
DataTable with category column |
[wpdm_tag] |
Packages by tag |
Related Documentation
- Managing Categories
- Category Templates
- [[wpdm_packages] Shortcode](/doc/shortcodes/wpdm-packages/)
Last updated: January 2026
Applies to: WordPress Download Manager 7.x