How to display YouTube feeds on a WordPress site
WordPress can embed individual YouTube videos and playlists without a plugin. A live channel feed needs either custom YouTube Data API development or a feed plugin, because pasting a channel URL into the editor does not create a dynamic video grid.
- 01Choose the feed type
- 02Embed a video or playlist manually
- 03Build a channel feed manually
- 04Install and configure a feed plugin
- 05Add the feed to your page
- 06Use the fast route
What you need
- A WordPress site with permission to edit pages
- The YouTube video, playlist or channel you want to display
- A page or template where the feed should appear
- A plugin ZIP file if you need a dynamic channel feed
Choose the feed type
Decide whether you need one video, a playlist, or an automatically updating channel feed. A single video or playlist is usually fine with WordPress’s built-in YouTube embed. A channel feed with thumbnails, filtering, pagination or several layouts is a different job.
Do not paste a channel homepage URL and expect it to become a feed. WordPress’s built-in embed supports YouTube videos and playlists, not a custom channel gallery.
Embed a video or playlist manually
Edit the page or post and add a YouTube block. Copy the video or playlist URL from YouTube, paste it into the block, then select Embed. You can also use YouTube’s Share and Embed option and paste the supplied HTML into a Custom HTML block.
This route needs no plugin and is the sensible choice for a small number of videos. Its drawback is control: you do not get a channel feed, automatic card layout, custom filtering or site-wide feed management.
Build a channel feed manually
A genuinely dynamic channel feed requires development work. The YouTube Data API first identifies the channel’s uploads playlist, then retrieves its videos with the playlistItems.list method. Your developer must handle the API key, channel or playlist IDs, pagination, errors, caching and the HTML and CSS used for the feed.
This is viable when you need a bespoke integration, but it is not a quick editor task. API requests use a quota, and an uncached feed that makes unnecessary requests can eventually stop updating when the project reaches its allowance.
Install and configure a feed plugin
For a live feed without writing the integration yourself, install a YouTube feed plugin from Plugins → Add New → Upload Plugin, activate it, and open its settings or feed builder. Select the channel, playlist or individual video source, then choose the number of items, layout and any available filters.
Follow the plugin’s instructions if it requests a YouTube API key. A public channel does not have to belong to the Google account connected to the API key, but private videos and playlists cannot be displayed to ordinary visitors.
Add the feed to your page
Copy the shortcode supplied by the plugin and place it in a Shortcode block, or use the plugin’s dedicated block if it provides one. In a page builder, use its shortcode or HTML widget rather than pasting PHP into the page editor; WordPress does not run PHP inside post content.
Preview the page on a phone and desktop. Check that thumbnails, titles, play buttons and any load-more control work, then test the feed after disabling caching temporarily. If the feed is blank, check the API key, source ID, privacy settings and whether the videos allow embedding.
Use the fast route
For most sites, use Feeds for YouTube Pro. It is suited to this job because it supports channel, playlist and individual video feeds, filtering, responsive layouts and shortcode placement. Configure the source once, copy its shortcode into the required pages or templates, and let the plugin handle the feed display.
Keep the manual WordPress embed for occasional videos or a fixed playlist. Choose the plugin when the feed must update across the site or needs a consistent gallery layout without custom API development.
Let Feeds for YouTube Pro do it
Customizable channel, playlist, and video feeds with filtering and shortcode support; best for embedding dynamic YouTube content site-wide.
Sources
- wordpress.org /documentation/article/youtube-embed/?utm_source=openai
- developers.google.com /youtube/v3/docs/channels?utm_source=openai
- developers.google.com /youtube/v3/getting-started?utm_source=openai
- wordpress.org /support/topic/can-we-put-any-youtube-channel-feed-which-we-…
- developer.wordpress.org /apis/shortcode/?utm_source=openai
Questions
- Can WordPress display a YouTube channel feed without a plugin?
- Not as a complete dynamic feed through the standard editor. WordPress can embed individual public or unlisted videos and playlists, but a channel grid with automatic updates requires custom YouTube Data API code or a plugin. Custom code must retrieve the channel’s uploads playlist, handle API quotas and render the feed on the site.
- Why does pasting a YouTube channel URL not work?
- A channel URL is not the same as a video or playlist embed URL. The standard YouTube block is designed for supported video and playlist links, so a channel homepage may be rejected or appear only as a plain link. Use a playlist URL, or use a feed plugin or custom API integration for channel content.
- Do I need a YouTube API key for a WordPress feed?
- You need an API key when the feed retrieves channel or playlist data through the YouTube Data API. The API uses project quotas, so the integration should cache results and avoid requesting the same data on every page view. A public channel can generally be queried without being owned by the account associated with the key.
- Why is my embedded YouTube video blank or unavailable?
- The video may be private, embedding may be disabled by its owner, the content may be restricted in the visitor’s country, or the feed may have an invalid API key or source ID. Test the original YouTube URL, confirm that embedding is allowed, and check the plugin’s connection or feed settings before changing your WordPress theme.