---
title: Customizing the Seriously Simple Podcasting Plugin
date: 2024-12-01T19:28:16+00:00
modified: 2024-12-01T19:30:14+00:00
image:: https://kaspars.net/wp-content/uploads/2024/12/podcast-feed.png
permalink: https://kaspars.net/blog/seriously-simple-podcasting-setup
post_type: post
author:
  name: Kaspars
  avatar: https://reverse.kaspars.net/gravatar/avatar/92bfcd3a8c3a21a033a6484d32c25a40b113ec6891f674336081513d5c98ef76?s=96&d=mm&r=g
post_tag:
  - How to
  - PHP
  - Snippet
category:
  - WordPress
---

# Customizing the Seriously Simple Podcasting Plugin

When setting up the podcast for my wife’s business, I applied the following customizations to the [Seriously Simple Podcasting plugin](https://wordpress.org/plugins/seriously-simple-podcasting/) for WordPress:

## Disable Podcast Feed Stylesheet

By default the plugin [applies an XSL stylesheet](https://plugins.trac.wordpress.org/browser/seriously-simple-podcasting/tags/3.7.0/templates/feed-podcast.php#L67) to the podcast RSS feeds which make them look like the podcast landing page which might confuse some users. The following filter can be used to disable the stylesheet:

```
// Disable the podcast RSS XSL stylesheet.
add_filter( 'ssp_enable_rss_stylesheet', '__return_false' );
```

## Remove Permalink Prefix from Podcast Post Type

By default the `podcast` post type used for episodes (which is linked to the `series` taxonomy) includes the `front` prefix of your permalinks. For example, if the permalinks are set to `/blog/%postname%` then the podcast episode permalinks would be `/blog/podcast/%postname%` which might not be desirable.

Use the following filter to remove the prefix (by setting the `with_front` to `false`) and also adjust permalink slug to something custom:

```
add_filter( 
	'register_podcast_post_type_args', 
	function ( $args ) {
		$args['rewrite'] = [
			'slug' => 'show', // Change `podcast` to `show` in episode URLs.
			'with_front' => false, // Remove the default prefix.
		];

		// Optional: Disable the post type archive.
		// $args['has_archive'] = false;

		return $args;
	}, 
	100
);
```

Uncomment the line with `has_archive` to disable the post type archive (showing all episodes across all registered podcasts) since we already have the dedicated archives for each podcast series.

## Adjust the Podcast Series Permalink

As mentioned above, each podcast series is represented by the `series` taxonomy (which appears as `podcasts` in the URLs) so the default landing page for the podcast series is `/blog/podcasts/podcast-title` where `/blog` is the permalink prefix (if any), `podcasts` is the label of the `series` taxonomy and `podcast-title` is the series term slug.

Most sites use a dedicated page for their podcast landing page such as `/podcast` so you can adjust the permalink of the specific term ID to point to your custom page instead:

```
add_filter( 
	'term_link', 
	function ( $url, $term, $tax ) {
		// Redirect the `podcast-series-slug` term to the `podcast` page.
		if ( 'series' === $tax && 'podcast-series-slug' === $term->name ) {
				return get_permalink( get_page_by_path( 'podcast' ) );
		}

		return $url;
	}, 
	10, 
	3 
);
```

Note that the example above is very fragile as it would break whenever somebody changes either the podcast series slug or the corresponding page slug. It would be better to expose this as a term meta setting that stores the corresponding post ID.