YouTube Playlist Player


Display a YouTube player (with an optional playlist) on any post or page using a simple shortcode. The plugin supports a static YouTube player (no video title) and a dynamic one (video title) using the YouTube Data API v3.

Embedded players must have a viewport that is at least 200px by 200px. If the player displays controls, it must be large enough to fully display the controls without shrinking the viewport below the minimum size. We recommend 16:9 players be at least 480 pixels wide and 270 pixels tall.

The YouTube player is responsive and it will work on all themes and screen sizes!

  • Uses a simple shortcode which can be used in posts, pages, custom post types, widgets, reusable blocks.
  • Uses the default YouTube Embed Code (iframe) with optional privacy-enhanced mode.
  • Uses correct aspect ratio for videos using a Fluid Video technology.
  • Uses native HTML5 Lazy loading.
  • Used modern code and is optimised for speed.
  • 100% free with no ads inside.

Static YouTube Playlist Player

Example: [yt_playlist mainid="xcJtL7QggTI" vdid="xcJtL7QggTI, AheYbU8J5Tc, X0zGS4-UKgg, 74SZXCQb44s, 2M0XCH9q3YI, CTNgVQGLy24, B8RpvoHsgI8"]

YouTube V3 API Playlist Player

Example: [yt_playlist_v3 mainid="xcJtL7QggTI" vdid="xcJtL7QggTI, AheYbU8J5Tc, X0zGS4-UKgg, 74SZXCQb44s, 2M0XCH9q3YI, CTNgVQGLy24, B8RpvoHsgI8"]

YouTube Channel Feed with Lightbox Player

Example: [yt_feed channels="UCpVm7bg6pXKo1Pr6k5kxG9A" results="9"]

Check out the official YouTube Playlist Player website and a YouTube Playlist Player demo.

Check out a Property Videos & Virtual Tours demo.

Check out more WordPress plugins here.


  • Front-end player #1
  • Front-end player #2
  • Dashboard
  • General Settings
  • YouTube API
  • Help/Usage


  1. Upload to your plugins folder, usually wp-content/plugins/
  2. Activate the plugin on the plugins screen.
  3. Configure the plugin from Settings -> YouTube Playlist Player.


03 February, 2021 1 reply
Works great, very light and user-friendly plugin. Thanks to Ciprian for his kindness and the speed of the support !
06 March, 2018 6 replies
I transferred my site from one host to another, and now nothing I do will get the thumbnails below the video to show up again. None of the code was changed, and it was perfected before, so I’m not sure what’s going on…
11 sèptèmber, 2017
very nice free plugin, easy to use, exactly what i need for my site. old version worked fine then i had some issue with new version but the author fix it very quickly. thank you.
Read all 13 reviews

Contributors & Developers

“YouTube Playlist Player” is open source software. The following people have contributed to this plugin.


“YouTube Playlist Player” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “YouTube Playlist Player” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • UPDATE: Updated WordPress compatibility
  • UPDATE: Updated the channels shortcode to use Grid instead of Flexbox CSS
  • UPDATE: Reduced the number of tags to 5


  • UPDATE: Updated WordPress compatibility


  • FIX: Fixed Cross Site Scripting (XSS) vulnerability (props yuyudhn via Patchstack)


  • FIX: Fixed missing scripts and styles for the new channel feed feature


  • FEATURE: Added YouTube channel feeds
  • UPDATE: Updated WordPress compatibility


  • FIX: Fixed Cross Site Scripting (XSS) vulnerability (props Skalucy via Patchstack)
  • UPDATE: Updated PHP coding standards
  • UPDATE: Updated WordPress compatibility


  • FIX: Fixed Cross Site Scripting (XSS) vulnerability (props Yudha P. via Patchstack)
  • UPDATE: Updated copyright year
  • UPDATE: Removed unused patterns from PHPCS ruleset


  • UPDATE: Updated author banner
  • UPDATE: Updated WordPress compatibility for pre-5.0 versions
  • UPDATE: Updated WPCS ruleset
  • UPDATE: Replaced back-end PNG image with inline SVG


  • FIX: Fixed wrong class in plugin documentation
  • FIX: Clarified usage in plugin documentation and readme.txt
  • UPDATE: Added cleanup routine after plugin uninstallation (delete 6 options)
  • UPDATE: Updated readme.txt with shortcodes and features


  • FIX: Fixed a content filtering issue with “Rate my post” plugin (props @sabelya)
  • UPDATE: Updated WordPress compatibility


  • FIX: Removed a redundant variable
  • UPDATE: Updated WordPress compatibility
  • UPDATE: Updated codebase to conform to latest WordPress Coding Standards (WPCS) ruleset


  • FIX: Fixed documentation link
  • UPDATE: Updated WordPress compatibility


  • UPDATE: Updated PHP 8 compatibility
  • UPDATE: Added lazy loading for iframes
  • UPDATE: Implemented strict use for JavaScript


  • UPDATE: Updated WordPress compatibility
  • UPDATE: Removed old, unused code


  • FIX: Fixed aspect-ratio for Firefox and Safari (props @sabelya)
  • UPDATE: Updated PHP coding standards (function naming)
  • UPDATE: Updated plugin assets


  • FIX: Sanitized URL parameter in back-end
  • UPDATE: Combined and minified JavaScript
  • UPDATE: Minified CSS
  • UPDATE: Optimized DOM loaded functions
  • PERFORMANCE: Removed setInterval() for detecting YouTube iframe
  • PERFORMANCE: Added version number to CSS to break caching
  • PERFORMANCE: Removed heavy JavaScript for detecting video aspect ratio
  • PERFORMANCE: Implemented modern CSS aspect-ratio for Core Web Vitals compatibility


  • FIX: Fixed YouTube API V3 demo
  • FIX: Fixed YouTube API V3 click event (switched to event delegation)
  • UPDATE: Updated classic playlist JavaScript to ES6
  • UPDATE: Updated readme.txt links
  • UPDATE: Added donation link


  • UPDATE: Updated WordPress compatibility


  • UPDATE: Updated WordPress compatibility
  • UPDATE: Updated JavaScript to ES6
  • FIX: Fix version number for enqueued scripts


  • FIX: Fixed issue with playlist not appearing
  • FIX: Fixed issue with playlist styling
  • UPDATE: Refactored JS for less overhead
  • UPDATE: Updated WordPress compatibility
  • UPDATE: Updated demo link


  • UPDATE: Updated PHP requirements
  • UPDATE: Updated WordPress compatibility


  • FIX: Fixed a strict check
  • FIX: Added spaces removal for V3 shortcode (main video)
  • FIX: Added spaces removal for V3 shortcode (playlist)


  • UPDATE: Updated WordPress compatibility
  • UPDATE: Removed jQuery dependency
  • UPDATE: Forced cache clearing for JavaScript actions


  • UPDATE: Code quality fixes
  • UPDATE: Updated JavaScript DOM loading detection


  • UPDATE: Updated WordPress compatibility
  • UPDATE: Mobile UI tweaks


  • FIX: Fixed localized issue not saving options


  • UPDATE: Updated WordPress compatibility
  • UPDATE: Added new screenshots
  • UPDATE: UI tweaks


  • FIX: Removed old code
  • UPDATE: Refactored and moved player functions
  • UPDATE: Added YouTube related options
  • UPDATE: Removed unused option
  • UPDATE: Added more documentation (+ YouTube API how-to)
  • UPDATE: Added more/better YouTube branding


  • FIX: Loaded JS/CSS assets only when shortcode is present
  • FEATURE: Added YouTube API V3
  • FEATURE: Added new settings screen
  • FEATURE: Added new shortcode
  • UPDATE: Added a bit of documentation
  • UPDATE: Added more/better YouTube branding


  • FIX: YouTube Branding fixes
  • FIX: Author box layout fixes


  • FIX: Regression fix for previous version (added interval checking)


  • FIX: Fixed player detection before being loaded


  • FIX: Fixed JS code being executed on all pages
  • UPDATE: Updated readme.txt


  • FIX: Added PHP compatibility
  • FIX: Fixed/updated old screenshots
  • FIX: Removed jQuery dependency
  • FIX: Fixed JS codeflow
  • UPDATE: Updated WordPress compatibility
  • UPDATE: Updated readme.txt and general information


  • FIX: Fixed script being included before jQuery
  • FIX: Fixed duplicated variable assignment
  • FIX: Fixed strict variable assignment
  • FIX: Removed unused colour picker script
  • UPDATE: Updated plugin usage details
  • UPDATE: Small admin UI tweaks
  • UPDATE: Removed novd argument and switched to internal count


  • PERFORMANCE: Stopped options from autoloading
  • UPDATE: Updated WordPress compatibility
  • UPDATE: Better i18n options
  • UPDATE: Removed unused colour option


  • FIX: Removed version constant
  • FIX: Better security tweaks
  • UPDATE: Updated admin menu name to reflect the plugin


  • FIX: License update
  • FIX: Official link update


  • FIX: Fixed color picker enqueue dependency
  • UPDATE: Moved all JS code to a separate file
  • UPDATE: Changed the main video playlist function (JS) to accept parameters


  • FIX: Removed hardcoded background colour
  • FIX: Removed hardcoded padding and increased margin
  • FIX: Correctly enqueued style.css
  • UPDATE: Updated default height and added option autoloading
  • UPDATE: Completely refactored YouTube Javascript
  • UPDATE: Removed all Flash (SWFObject) dependencies


  • FIX: Added index.php file to plugin root
  • UPDATE: Updated plugin URLs
  • UPDATE: Updated CSS styles for better compatibility


  • UPDATE: Added getButterfly ad box


  • FIX: Changed all HTTP links to HTTPS
  • FIX: Updated YouTube API and removed all deprecated functions and parameters
  • FIX: Removed parameters with same values as the default ones
  • FIX: Cleaned up the code (slight performance increase)
  • FIX: Fixed rare cases of line ending issues
  • UI: Removed background color for better theme integration


  • FIX: Fixed IFRAME name target
  • FEATURE: Added responsiveness


  • FIX: Fixed a PHP warning
  • FIX: Removed deprecated options nonce
  • FEATURE: Added usage details on the plugin page
  • PROMOTION: Added link to premium version on CodeCanyon


  • Added license link
  • Added donate link
  • Added default options
  • Fixed wrong internal version


  • Added CSS vendor prefixes


  • Initial release