Seriously Simple Podcasting shortcodes
Jump to: | Shortcodes | |
---|---|---|
Adding shortcodes | ||
podcast_episode shortcode | ||
ss_player shortcode | ||
podcast_playlist shortcode | ||
ss_podcast shortcode | ||
ssp_podcasts shortcode |
Shortcodes
Shortcodes are "WordPress-specific code that lets you do nifty things with very little effort" and are always wrapped in two square brackets.
Adding shortcodes
There are two ways to add a shortcode to WordPress depending on what editor is active.
- If you're using the block editor/Gutenberg, use the shortcode block by typing
/
in the main content body and a few letters of shortcode to find the shortcode block option. - If you're using the classic editor, enclose the shortcode, along any desired attributes, with brackets
[...]
podcast_episode shortcode
Use the [podcast_episode]
shortcode to display a single podcast episode anywhere on your site.
The shortcode uses 2 required attributes: episode and content, along with 1 optional attribute, style:
- episode attribute: the post ID of the episode that you would like to display. You can find the post ID in the URL of the episode from the post edit screen:
- content attribute: A comma-separated list of the episode data you would like to display. The available options are title, player, excerpt, content, details (download link, file size, duration, and date recorded). The order that you list them will be the order in which they are displayed.
- style attribute: By default, the shortcode follows the player style chosen in Podcasting → Settings → Player. However, if you've selected the HTML5 player in these settings and want to use the compact player instead on specific pages or posts, add the attribute
[style="standard"]
.
Note: to pull the most recent episode, use -1
for the post ID in the episode attribute. (SSP 3.4+)
Examples:
[podcast_episode episode="1199" content="title, excerpt, player"] [podcast_episode episode="1199" style="standard" content="title, excerpt, player"]
ss_player shortcode
Use the [ss_player]
shortcode to insert the compact or HTML5 player directly into your episode post.
The shortcode will use the media file URL from the audio_file post meta in the Podcast Details tab. When you add [ss_player]
to a podcast post, it will override the default player location, as configured in Podcasting → Settings → Player in your WordPress dashboard. This ensures that the default player won't show up alongside the shortcode within a post.
The [ss_player]
shortcode doesn't need any additional parameters. It's designed solely to embed the player without including episode metadata or subscribe links found below the default player locations.
podcast_playlist shortcode
Use the [podcast_playlist]
shortcode to display a playlist of your podcast episodes anywhere. Using the shortcode without any attributes will display all podcast episodes and use default settings for each attribute. Option attributes:
- episode attribute: By default, all podcast episodes will be displayed. If you would like to only list specific episodes, you can do so with the episodes attribute by using a comma-separated list of post IDs. The post ID can be found within the URL of the episode from the editor screen (screenshot above).
- exclude attribute: A comma-separated list of episode IDs that you do not want to be displayed in the playlist. This is useful if you have selected a series playlist to display, but would like to hide individual episodes from it.
- series attribute: The slug of the series from which you would like to display episodes. You can choose to display one series or multiple series.
- order attribute: The order in which the episodes should be listed,
- ASC (default), or
- DESC
- orderby attribute: The criteria with which you would like to order the episodes – can be any of the orderby parameters allowed in the WP_Query class. Defaults to menu_order ID or the order in which you specify episode IDs.
- tag attribute: Display episodes assigned to a specific WordPress tag. Use the tag slug as the value. This allows for playlists based on topical or categorized content
- style attribute: Accepted values are light (default) or dark – these are style options that WordPress’ built-in media player offers. Defaults to the settings from mode
- player_style attribute: Accepts compact, which shows the compact player instead of the default one.
- limit attribute: Maximum number of episodes in the list.
Examples
[podcast_playlist episodes="1199,1200"] [podcast_playlist exclude="1199"] [podcast_playlist series="my-first-series"] [podcast_playlist series="my-first-series, my-second-series"] [podcast_playlist series="my-first-series" order="DESC"] [podcast_playlist tag="interviews"] [podcast_playlist style="dark" episodes="1199,1200,1201,1203"] [podcast_playlist player_style="compact"] [podcast_playlist limit="5"]
ss_podcast shortcode
Use the ss_podcast
shortcode to display a list of all your podcast episodes or a list of all your podcast series anywhere on your site. Use the following attributes to further customize the shortcode:
- title attribute: The title that is displayed above the shortcode output. Optional
- content attribute: Indicate whether to display a list of episodes or a list of series. Allowed values are
episodes
orseries
— defaults toseries
. - series attribute: Indicates which series to display episodes from if episodes was specified for the content argument — accepts series ID or series slug. Optional
- link_title attribute: Indicates whether to link to the episode/series title to the episode/series page. Allowed values are
true
orfalse
— defaults tofalse
Examples
[ss_podcast title="Podcast Episodes" content="episodes" series="my-first-series" link_title="true"]
ssp_podcasts shortcode
Shortcode: [ssp_podcasts]
Version: 3.13.0+
Last Updated: September 25, 2025
Overview
The [ssp_podcasts]
shortcode displays a responsive grid of podcast series with customizable layout, sorting, and display options. It provides a modern, accessible interface for showcasing your podcast collections.
Basic Usage
[ssp_podcasts]
Important: Always use shortcodes on a single line. Line breaks in shortcodes will cause parsing issues and prevent custom parameters from working correctly.
Parameters
Core Parameters
ids
- Type: String (comma-separated integers)
- Default:
''
(empty - shows all podcasts) - Description: Specifies which podcast series to display by their IDs. When provided, all other sorting parameters are ignored and podcasts are displayed in the exact order of the provided IDs.
Example:
[ssp_podcasts ids="1,3,2"]
columns
- Type: Integer
- Default:
1
- Range: 1-3
- Description: Number of columns in the grid layout. Automatically adjusts to single column on mobile devices.
Examples:
[ssp_podcasts columns="2"] [ssp_podcasts columns="3"]
Sorting Parameters
sort_by
- Type: String
- Default:
'id'
- Valid Values:
'id'
,'name'
,'episode_count'
- Description: Determines how podcasts are sorted. Ignored when
ids
parameter is provided.
Examples:
[ssp_podcasts sort_by="name"] [ssp_podcasts sort_by="episode_count"]
sort
- Type: String
- Default:
'asc'
- Valid Values:
'asc'
,'desc'
- Description: Sort direction. Ignored when
ids
parameter is provided.
Examples:
[ssp_podcasts sort_by="name" sort="desc"] [ssp_podcasts sort_by="episode_count" sort="desc"]
Display Control Parameters
clickable
- Type: String
- Default:
'button'
- Valid Values:
'button'
,'card'
,'title'
- Description: Determines which element is clickable for navigation.
Options:
'button'
: Only the "Listen Now" button is clickable'card'
: The entire podcast card is clickable'title'
: Only the podcast title is clickable
Examples:
[ssp_podcasts clickable="card"] [ssp_podcasts clickable="title"]
show_button
- Type: Boolean (string or boolean)
- Default:
'true'
- Valid Values:
'true'
,'false'
,true
,false
,'1'
,'0'
,1
,0
- Description: Shows or hides the "Listen Now" button. When
false
andclickable="button"
, automatically setsclickable="title"
.
Examples:
[ssp_podcasts show_button="true"] [ssp_podcasts show_button="false"]
show_description
- Type: Boolean (string or boolean)
- Default:
'true'
- Valid Values:
'true'
,'false'
,true
,false
,'1'
,'0'
,1
,0
- Description: Shows or hides the podcast description.
Examples:
[ssp_podcasts show_description="false"] [ssp_podcasts show_description="true"]
show_episode_count
- Type: Boolean (string or boolean)
- Default:
'true'
- Valid Values:
'true'
,'false'
,true
,false
,'1'
,'0'
,1
,0
- Description: Shows or hides the episode count.
Examples:
[ssp_podcasts show_episode_count="false"] [ssp_podcasts show_episode_count="true"]
Description Truncation Parameters
description_words
- Type: Integer
- Default:
0
(no limit) - Range: 0+ (0 = no limit)
- Description: Limits the description to a specific number of words. Takes priority over
description_chars
if both are set.
Examples:
[ssp_podcasts description_words="20"] [ssp_podcasts description_words="50"]
description_chars
- Type: Integer
- Default:
0
(no limit) - Range: 0+ (0 = no limit)
- Description: Limits the description to a specific number of characters. Ignored if
description_words
is set.
Examples:
[ssp_podcasts description_chars="100"] [ssp_podcasts description_chars="200"]
Styling Parameters
background
- Type: String (CSS color value)
- Default:
'#f8f9fa'
- Description: Background color for podcast cards. Accepts hex colors, RGB/RGBA values, HSL/HSLA values, and CSS color names.
Examples:
[ssp_podcasts background="#e3f2fd"] [ssp_podcasts background="lightblue"] [ssp_podcasts background="rgb(255, 0, 0)"] [ssp_podcasts background="rgba(0, 255, 0, 0.8)"]
background_hover
- Type: String (CSS color value)
- Default:
'#e9ecef'
- Description: Background color for podcast cards on hover. Accepts the same color formats as the
background
parameter.
Examples:
[ssp_podcasts background="#e3f2fd" background_hover="#bbdefb"] [ssp_podcasts background="lightblue" background_hover="darkblue"]
button_color
- Type: String (CSS color value)
- Default:
'#343a40'
- Description: Background color for the "Listen Now" button. Accepts hex colors, RGB/RGBA values, HSL/HSLA values, and CSS color names.
Examples:
[ssp_podcasts button_color="#1976d2"] [ssp_podcasts button_color="rgb(25, 118, 210)"] [ssp_podcasts button_color="blue"]
button_hover_color
- Type: String (CSS color value)
- Default:
'#495057'
- Description: Background color for the "Listen Now" button on hover. Accepts the same color formats as other color parameters.
Examples:
[ssp_podcasts button_hover_color="#1565c0"] [ssp_podcasts button_hover_color="darkblue"] [ssp_podcasts button_hover_color="rgb(21, 101, 192)"]
button_text_color
- Type: String (CSS color value)
- Default:
'#ffffff'
- Description: Text color for the "Listen Now" button. Accepts the same color formats as other color parameters.
Examples:
[ssp_podcasts button_text_color="#ffffff"] [ssp_podcasts button_text_color="white"] [ssp_podcasts button_text_color="rgb(255, 255, 255)"]
button_text
- Type: String
- Default:
'Listen Now'
(translatable) - Description: Custom text for the "Listen Now" button. The default value is translatable and will be translated based on the site's language settings.
Examples:
[ssp_podcasts button_text="Subscribe Now"] [ssp_podcasts button_text="Listen Here"] [ssp_podcasts button_text="Tune In"]
title_color
- Type: String (CSS color value)
- Default:
'#6c5ce7'
- Description: Color for podcast titles. Accepts the same color formats as other color parameters.
Examples:
[ssp_podcasts title_color="#0d47a1"] [ssp_podcasts title_color="darkblue"] [ssp_podcasts title_color="rgb(13, 71, 161)"]
episode_count_color
- Type: String (CSS color value)
- Default:
'#6c757d'
- Description: Color for episode count text. Accepts the same color formats as other color parameters.
Examples:
[ssp_podcasts episode_count_color="#424242"] [ssp_podcasts episode_count_color="gray"] [ssp_podcasts episode_count_color="rgb(66, 66, 66)"]
description_color
- Type: String (CSS color value)
- Default:
'#6c757d'
- Description: Color for podcast description text. Accepts the same color formats as other color parameters.
Examples:
[ssp_podcasts description_color="#616161"] [ssp_podcasts description_color="dimgray"] [ssp_podcasts description_color="rgb(97, 97, 97)"]
Usage Examples
Basic Examples
Display all podcasts in a single column:
[ssp_podcasts]
Display all podcasts in 2 columns:
[ssp_podcasts columns="2"]
Display specific podcasts in custom order:
[ssp_podcasts ids="5,2,8,1"]
Sorting Examples
Sort by name (A-Z):
[ssp_podcasts sort_by="name" sort="asc"]
Sort by episode count (highest first):
[ssp_podcasts sort_by="episode_count" sort="desc"]
Sort by ID (newest first):
[ssp_podcasts sort_by="id" sort="desc"]
Layout Examples
3-column grid with card clickability:
[ssp_podcasts columns="3" clickable="card"]
Minimal display without button:
[ssp_podcasts show_button="false" clickable="title"]
Compact display without episode count:
[ssp_podcasts show_episode_count="false" description_words="15"]
Custom background colors:
[ssp_podcasts background="#e3f2fd" background_hover="#bbdefb"]
Dark theme styling:
[ssp_podcasts background="#2c3e50" background_hover="#34495e"]
Complete color customization:
[ssp_podcasts background="#e3f2fd" background_hover="#bbdefb" button_color="#1976d2" button_hover_color="#1565c0" button_text_color="#ffffff" title_color="#0d47a1" episode_count_color="#424242" description_color="#616161"]
Brand-themed styling:
[ssp_podcasts background="#f3e5f5" background_hover="#e1bee7" button_color="#9c27b0" button_hover_color="#7b1fa2" button_text_color="#ffffff" title_color="#4a148c" episode_count_color="#6a1b9a" description_color="#7b1fa2"]
Custom button text:
[ssp_podcasts button_text="Subscribe Now"] [ssp_podcasts button_text="Listen Here" button_color="#ff6b35"] [ssp_podcasts button_text="Tune In" columns="2" clickable="card"]
Advanced Examples
Featured podcasts section:
[ssp_podcasts ids="1,3,5" columns="3" clickable="card" description_words="25"]
All podcasts sorted by popularity:
[ssp_podcasts sort_by="episode_count" sort="desc" columns="2" description_chars="150"]
Minimal podcast list:
[ssp_podcasts show_button="false" show_description="false" clickable="title"]
Responsive Behavior
The shortcode automatically adapts to different screen sizes:
- Desktop: Displays the specified number of columns (1-3)
- Tablet (769px-1024px): 3-column layouts reduce to 2 columns
- Mobile (≤768px): All layouts become single column with adjusted styling
Hooks and Filters
ssp/podcast_list/template_data
Description: Allows themes and plugins to modify the template data before rendering the podcast list.
Parameters:
$template_data
(array) - The template data array containing all variables passed to the template$args
(array) - The original shortcode arguments
Example:
add_filter( 'ssp/podcast_list/template_data', function( $template_data, $args ) { // Modify template data $template_data['custom_variable'] = 'custom_value'; // Return modified data return $template_data; }, 10, 2 );
Accessibility Features
- ARIA Labels: Proper labeling for screen readers
- Keyboard Navigation: Full keyboard accessibility
- Focus Management: Visible focus indicators
- Semantic HTML: Proper use of headings, regions, and landmarks