=== AiO Podcast Studio: All-in-One Podcast Manager, Player & Publisher ===
Plugin URI: https://aiopodcasting.com
Contributors: aiopodcasting, freemius
Donate link: https://aiopodcasting.com
Tags: podcast, podcast player, podcast manager, rss feed, audio player
Requires at least: 6.3
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.0.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Create, manage, and publish podcasts in WordPress. Import via RSS, organize episodes, and distribute to Apple Podcasts, Spotify, and more.

== Description ==

>[View Demo](https://demo.aiopodcasting.com) | [Getting Started](https://aiopodcasting.com/docs/) | [Contact & Support](https://aiopodcasting.com/support/) | [Home Page](https://aiopodcasting.com)

**AiO Podcast Studio** is a complete WordPress podcasting plugin built for creators at every stage — whether you are showcasing an existing show, self-hosting your own podcast, or migrating from a third-party platform.

Whether you already have a podcast and want to display it beautifully on your WordPress site, prefer to host everything on your own server for full control, or are ready to move away from an external host entirely — AiO Podcast Studio handles every part of the workflow: importing your feed, organizing episodes and participants, generating a standards-compliant RSS feed, displaying your content with beautiful layouts, and tracking listener statistics — all inside the WordPress admin you already know.

https://www.youtube.com/watch?v=GsDv9gA-Ipg&rel=0

=== Why AiO Podcast Studio? ===

AiO Podcast Studio fits wherever you are in your podcasting journey — display an existing show on your site, self-host everything on your own server, or migrate away from an external platform at your own pace.

* **Showcase any podcast** — embed and display your existing podcast on your WordPress site with beautiful layouts and a built-in player.
* **Self-hosted option** — store audio files in your own media library and keep full ownership of your content and audience data.
* **Standards-compliant RSS** — compatible with Apple Podcasts, Spotify, Amazon Music, Google Podcasts, and every directory that follows the iTunes namespace spec.
* **No per-episode or storage limits** — unlimited podcasts, unlimited episodes, unlimited categories.
* **Developer-friendly** — clean GPL code, filter/action hooks throughout, and full WordPress Coding Standards compliance.

=== Key Features ===

**Import & Migration**

1. **RSS Feed Import** — Paste your existing podcast RSS URL and import your entire back catalog in batches. Metadata, artwork, and episode files are all pulled in automatically.

**Content Management**

2. **Unlimited Podcasts & Episodes** — Create and manage as many podcasts and episodes as you want — no paywalls, no artificial limits.
3. **Audio & Video Support** — Publish both audio and video podcast episodes from one unified interface. Video podcast support requires the Premium upgrade.
4. **Episode Chapters** — Add chapter markers so listeners can jump to specific segments inside an episode.
5. **Episode Transcripts** — Attach transcripts to episodes for improved accessibility and SEO indexing.
6. **Participant Management** — Add hosts, guests, and contributors as reusable participant profiles that can be linked to multiple shows and episodes.
7. **Unlimited Categories & Tags** — Organize your podcast library with hierarchical categories and flat tags. Front-end filters use them for smart discovery.
8. **Comments & Discussions** — Enable listener comments on individual episodes to build community.

**Distribution & RSS Feed**

9. **Standards-Compliant RSS Feed** — Generates a fully compliant podcast RSS feed with iTunes, content, and media namespace support — accepted by Apple Podcasts, Spotify, Amazon Music, and more.
10. **Follow & Subscribe Buttons** — Add platform-branded follow buttons (Apple Podcasts, Spotify, Amazon Music, and others) to your podcast and episode pages.
11. **Social Sharing** — Built-in share buttons let listeners share individual episodes across social platforms.
12. **Episode Downloads** — Allow listeners to download episodes for offline listening with a single click.

**Display & Layouts**

13. **Multiple Layout Options** — Display episodes in grid, list, compact, or slider layouts. Display podcasts in a grid. Display categories as grids, lists, or dropdowns.
14. **Customizable Podcast Player** — A fully featured embedded media player with playback speed control, volume, and playlist support. Styled to match your site.
15. **Smart Search & Filters** — Front-end filter forms let listeners search, filter by tag, and sort episodes by date, title, or duration.
16. **Related Episodes** — Automatically suggest relevant episodes at the end of each episode page to keep listeners engaged.
17. **Pagination & Load More** — Browse large episode archives with standard numbered pagination or a smooth "Load More" button.
18. **Flexible Embedding** — Place podcasts, episodes, categories, tags, and participant lists anywhere using Gutenberg blocks, shortcodes, or classic widgets.
19. **Page Builder Friendly** — Works with Elementor, Divi, Beaver Builder, and other popular page builders via shortcodes.

**Analytics & Statistics**

20. **Advanced Statistics** *(Premium)* — Track plays, downloads, and listener trends with built-in statistics. View breakdowns by podcast, by episode, and over custom date ranges. No third-party analytics service required.

**Settings & Customization**

21. **100+ Settings for Full Control** — Fine-tune every aspect of the player, feed, display layouts, image sizes, SEO output, privacy behavior, and more through a structured settings panel.
22. **Shortcode Builder, Blocks & Widgets** — A visual shortcode builder lets you configure and preview shortcodes without writing any code. Gutenberg blocks and classic widgets are also included for flexible content placement anywhere on your site.

**Accessibility, SEO & Standards**

23. **SEO Optimized** — Integrates with Yoast SEO and Rank Math to output schema markup for podcasts and episodes. Transcripts and structured metadata improve search engine visibility.
24. **GDPR Compliant** — Fine-grained privacy controls. Statistics tracking respects user consent signals.
25. **Multilingual Support** — Full WPML and Polylang compatibility for multilingual podcast sites.

**Developer & Platform**

26. **User Role Restrictions** — Granular capability controls let you define who can create, edit, publish, and manage podcast content.
27. **Built on WordPress Standards** — Clean, well-documented GPL code. Custom post types, taxonomies, the Settings API, and the REST API — no proprietary lock-in.

== Installation ==

= Automatic Installation =

1. Log in to your WordPress admin panel.
2. Go to **Plugins → Add Plugin**.
3. Search for **AiO Podcast Studio**.
4. Click **Install Now**, then **Activate**.

= Manual Installation =

1. Download the plugin ZIP file.
2. Upload the `aio-podcast-studio` folder to `/wp-content/plugins/` via FTP, or use **Plugins → Add Plugin → Upload Plugin**.
3. Activate the plugin through the **Plugins** screen.

= Getting Started =

1. After activation, a **Podcasts** menu item appears in the WordPress admin sidebar.
2. Go to **Podcasts → Add New Podcast** to create your first podcast manually, or paste an RSS feed URL to import an existing show.
3. Add episodes under **Episodes → Add New Episode**, or let the importer populate them from your feed.
4. Configure the player, feed, and display options under **Podcasts → Settings**.
5. Embed your content anywhere using the provided Gutenberg blocks, shortcodes, or widgets.

== Frequently Asked Questions ==

= Does AiO Podcast Studio support video podcasts? =

Yes, with the Premium upgrade. The core plugin supports audio podcast episodes. Video podcast publishing and video playback in the built-in player require the Premium upgrade. The RSS feed correctly identifies the media type for each episode regardless of tier.

= Can I import my existing podcast from Apple Podcasts, Spotify, or another host? =

Yes. Paste your public RSS feed URL into the importer (**Podcasts → Add New Podcast → Import Podcast from RSS Feed**). The plugin fetches the feed, creates the podcast and episode records, and pulls in metadata and artwork. Your original audio files are not re-uploaded — episode enclosure URLs continue to point to your existing host unless you re-upload them.

= Is there a limit on the number of podcasts or episodes? =

No. You can create an unlimited number of podcasts, episodes, categories, tags, and participant profiles.

= Does the RSS feed work with Apple Podcasts and Spotify? =

Yes. The generated feed follows the RSS 2.0 specification extended with the iTunes podcast namespace — the same format required by Apple Podcasts, Spotify, Amazon Music, and most other directories.

= Does the plugin support multiple podcasts on one site? =

Yes. Each podcast is an independent post with its own RSS feed URL, settings, episodes, and participants.

= Where are statistics stored? =

All statistics data is stored in your own WordPress database. No data is sent to external services.

= Is the plugin translation-ready? =

Yes. All user-facing strings use the `aio-podcast-studio` text domain. The plugin ships with a `.pot` template file in the `languages/` directory.

= Does the plugin work with caching plugins? =

Yes. Standard page caching is compatible. The RSS feed is generated server-side on each request; if you use a full-page caching plugin, exclude your podcast feed URLs from the cache or use the feed caching recommended in the plugin settings.

= Is the plugin compatible with multisite? =

Yes. The plugin can be installed on a WordPress Multisite network, but it must be activated individually on each site. Network-wide activation is not supported.

= Where can I report a bug or request a feature? =

Please open a support thread on the WordPress.org plugin support forum.

== External Services ==

This plugin connects to the following external services. All share-button connections are user-initiated — no data is transmitted to any third-party server at page load. Data is only sent when a visitor actively clicks a share button, at which point their browser navigates to the service URL.

= Facebook =
This plugin generates share links that allow visitors to share podcast episodes on Facebook via the Facebook Share dialog.

Data sent: The episode page URL is passed as a query parameter in the share link.
When: Only when a visitor clicks the Facebook share button.

[Terms of Service](https://www.facebook.com/legal/terms) | [Privacy Policy](https://www.facebook.com/privacy/policy/)

= Twitter / X =
This plugin generates share links that allow visitors to share podcast episodes on Twitter / X via the Tweet Intent dialog.

Data sent: The episode title and page URL are passed as query parameters in the share link.
When: Only when a visitor clicks the Twitter / X share button.

[Terms of Service](https://twitter.com/en/tos) | [Privacy Policy](https://twitter.com/en/privacy)

= LinkedIn =
This plugin generates share links that allow visitors to share podcast episodes on LinkedIn via the LinkedIn Share Article dialog.

Data sent: The episode title and page URL are passed as query parameters in the share link.
When: Only when a visitor clicks the LinkedIn share button.

[Terms of Service](https://www.linkedin.com/legal/user-agreement) | [Privacy Policy](https://www.linkedin.com/legal/privacy-policy)

= Pinterest =
This plugin generates share links that allow visitors to pin podcast episodes on Pinterest via the Pinterest Pin It dialog.

Data sent: The episode title, page URL, and optionally the episode image URL are passed as query parameters in the share link.
When: Only when a visitor clicks the Pinterest share button.

[Terms of Service](https://policy.pinterest.com/en/terms-of-service) | [Privacy Policy](https://policy.pinterest.com/en/privacy-policy)

= Tumblr =
This plugin generates share links that allow visitors to share podcast episodes on Tumblr via the Tumblr Share dialog.

Data sent: The episode title, page URL, and optionally the episode description are passed as query parameters in the share link.
When: Only when a visitor clicks the Tumblr share button.

[Terms of Service](https://www.tumblr.com/policy/en/terms-of-service) | [Privacy Policy](https://www.tumblr.com/policy/en/privacy)

= WhatsApp =
This plugin generates share links that allow visitors to share podcast episodes via WhatsApp. On mobile devices the native WhatsApp app is opened; on desktop the WhatsApp web interface is used.

Data sent: The episode title and page URL are included in the share link URL.
When: Only when a visitor clicks the WhatsApp share button.

[Terms of Service](https://www.whatsapp.com/legal/terms-of-service) | [Privacy Policy](https://www.whatsapp.com/legal/privacy-policy)

= Remote RSS Feeds =
When importing or refreshing podcasts, this plugin fetches the remote RSS feed URL provided by the site administrator. This sends an HTTP GET request directly to the RSS feed's host server.

Data sent: No personal visitor data is included in the request. The request is a standard HTTP GET to retrieve the RSS feed document.
When: When a site administrator triggers an import or sync from the plugin's import screen.

== Screenshots ==

1. **Dashboard** — The welcome screen showing the plugin logo and branding, a quick-start importer for standard podcast categories, and options to import an existing podcast from an RSS feed or create a new self-hosted podcast.
2. **Podcast editor** — The podcast edit screen organized into Podcast Details, Distribution, and Import Options tabs, with accordion sections for podcast details, participants, subscribe buttons, and follow buttons.
3. **Episode editor** — The episode edit screen with metaboxes for episode file, chapters, transcription, participants, and distribution.
4. **Episodes grid layout** — Front-end grid display of episodes with cover art, title, and duration.
5. **Episodes list layout** — Compact front-end list layout with cover art, title, and duration.
6. **Episodes compact layout** — Space-saving layout with a featured episode and an inline mini-player above a compact episode list.
7. **Episode slider layout** — Swiper-powered episode slider for embedding on landing pages.
8. **Single episode player** — The embedded episode player with playback speed, volume, download, and sharing controls.
9. **Video episode player** *(Premium)* — The embedded player rendering a video episode, with configurable width and aspect ratio alongside the standard playback, volume, download, and sharing controls.
10. **Settings panel** — The tabbed settings panel showing the 100+ configuration options organized by category.
11. **Statistics — global view** *(Premium)* — The global statistics screen showing plays and downloads over a date range with a Chart.js line graph.
12. **Statistics — episode view** *(Premium)* — Per-episode statistics breakdown.
13. **Shortcode builder** — The visual shortcode builder with grouped attribute controls that generate a ready-to-paste shortcode.
14. **Categories page** — Front-end categories grid with cover images.
15. **Participants page** — Front-end participant profile page with bio, social links, and linked episodes.

== Premium Features ==

AiO Podcast Studio includes premium features for creators and teams who need more advanced control.

= Video Podcasting =

Publish video podcast episodes alongside your audio shows. Upload or link video files directly from the episode editor, and let the built-in player handle the rest.

= Podcasts & Episodes Access Restrictions =

Control who can listen to your content. Restrict entire podcasts or individual episodes to specific WordPress user roles — perfect for membership sites, private shows, and course-based content.

= Advanced Statistics =

Get a deeper view of your audience. Track plays and downloads per podcast and per episode, and explore trends over any custom date range.

== Coming Soon ==

We are actively working on the next generation of AiO Podcast Studio. Here is what is planned for the upcoming release:

= Podcasting 2.0 Support =

The [Podcasting 2.0](https://podcasting2.org/) initiative (`podcast:` namespace) extends the standard RSS format with richer metadata. The next release will import and integrate these elements automatically when you sync your podcast feed:

* **Transcripts** — Import per-episode transcript URLs and types from `<podcast:transcript>` tags.
* **Chapters** — Import chapter file URLs from `<podcast:chapters>` tags.
* **Hosts & Guests** — Import hosts and guests with roles and images from `<podcast:person>` tags.
* **Feed Lock** — Respect the `<podcast:locked>` flag during feed migration.
* **Stable Feed GUID** — Store the permanent feed identifier from `<podcast:guid>`.

If you import a podcast today and your feed already uses these tags, simply re-sync your podcast after upgrading to pull in the new fields — no manual data entry required.

== Feedback & Feature Requests ==

Missing something? [Contact us](https://aiopodcasting.com/support/) and we will be happy to review your suggestion and include it in a future release if it is a good fit.

== Changelog ==

= 1.0.1 =

* Fix: RSS imports could fail with a "The connection to the server was lost" error on shared hosting when downloading featured images for large feeds. Episodes are now imported in time-bounded, automatically resumable batches so imports complete reliably regardless of the host's request execution limit.
* Tweak: Lowered the per-image download timeout and reduced the import batch size while featured-image downloading is enabled, keeping each request well within typical shared-hosting limits.

= 1.0.0 =

* Initial release.

== Upgrade Notice ==

= 1.0.1 =

Recommended for all users. Fixes RSS imports failing on shared hosting when featured-image downloading is enabled. [See changelog](https://wordpress.org/plugins/aio-podcast-studio/#developers)