Description
Craftsmenit-Video Platform for YouTube turns your WordPress site into a beautiful video platform powered by the YouTube Data API. Provide your API key and Channel ID, and the plugin automatically imports all playlists and videos, presenting them in a sleek, dark-themed interface with horizontal sliders, a hero section, modal previews, and a full-featured video player.
Key Features
- Automatic YouTube Sync — Import all playlists and videos from any YouTube channel. Schedule syncs hourly, twice daily, or daily via WP Cron.
- Channel Auto-Detection — Channel name, logo, and banner are automatically fetched and applied.
- Beautiful Home Page — Hero section, search bar, and horizontal Swiper.js playlist rows with video thumbnail cards.
- Video Preview Modal — Click any card to open a popup with video preview and play button.
- Custom Video Player — Dedicated watch page using the YouTube IFrame API with custom controls (no native YouTube chrome).
- Tabbed Sidebar — Episodes tab lists all videos in the current playlist. Transcript tab displays synced captions with timestamps.
- Transcripts — Multi-language transcripts fetched via the
mrmysql/youtube-transcriptPHP package. Download as a text file. - Continue Watching — Tracks playback progress for logged-in users and shows a “Continue Watching” row.
- My List / Favorites — Logged-in users can save videos to a personal list.
- Auto-Play Next — Automatically advances to the next video in a playlist.
- Keyboard Shortcuts — Space (play/pause), arrow keys (seek), F (fullscreen), M (mute).
- Speed Control & PiP — Playback speed adjustment and Picture-in-Picture support.
- Search — Real-time AJAX search across videos and playlists.
- REST API — Full API at
/wp-json/ytcp/v1/for videos, playlists, search, progress, favorites, and transcripts. - Customizable — Accent color picker, configurable URL slugs, and feature toggles for transcripts, history, favorites, auto-play, and PiP.
- Responsive — Fully responsive design for desktop, tablet, and mobile.
- Translation Ready — i18n support with the
craftsmenit-video-platform-for-youtubetext domain. - Channel Switching — Changing the Channel ID and syncing purges old data and imports the new channel.
Custom Post Types
ytcp_video— Each synced YouTube video.ytcp_playlist— Each synced YouTube playlist.ytcp_genre— Taxonomy for genre/tag classification.
Custom Database Tables
wp_ytcp_user_progress— Tracks user playback position per video.wp_ytcp_transcripts— Caches fetched transcripts with language support.wp_ytcp_favorites— Stores user favorites / “My List” entries.
Shortcodes
[ytcp]— Full page layout (hero + search + playlist rows + modal).[ytcp_hero]— Hero section only.[ytcp_playlist id="POST_ID"]— Single playlist horizontal slider.[ytcp_player video="POST_ID"]— Single embedded video player.[ytcp_search]— Search bar component.
URL Structure
/watch/— Home page with hero section and all playlist rows./watch/video-slug/— Single video player page./series/playlist-slug/— Single playlist page.
(URL slugs are configurable in settings.)
Requirements
- WordPress 5.8 or higher.
- PHP 7.4 or higher.
- A YouTube Data API v3 key (free from the Google Cloud Console).
- Composer dependencies are bundled in the
vendor/directory.
External Services
This plugin connects to external services to provide its full functionality. Please review the following:
YouTube Data API v3 (googleapis.com)
This plugin connects to Google’s YouTube Data API to fetch and synchronize YouTube channel content (playlists, videos, metadata, transcripts).
What data is sent:
– Your YouTube API key (stored securely in WordPress options)
– YouTube Channel ID
– Requests for channel info, playlist listings, and video metadata
– Requests are sent when: (1) manually syncing content from the admin dashboard, (2) during scheduled automatic syncs (via WP Cron), (3) when fetching transcripts for video display
Service Provider: Google LLC
Terms of Service: https://www.youtube.com/static/terms.html
Privacy Policy: https://policies.google.com/privacy
YouTube IFrame API (youtube.com)
The custom video player uses YouTube’s IFrame Embed API to display and control video playback on the watch/player pages.
What data is sent:
– Your video embeds are served through YouTube’s iframe infrastructure
– Standard YouTube analytics data (views, watch time) applies
Service Provider: Google LLC
Terms of Service: https://www.youtube.com/static/terms.html
Privacy Policy: https://policies.google.com/privacy
Screenshots








Installation
- Upload the
craftsmenit-video-platform-for-youtubefolder to the/wp-content/plugins/directory, or install the plugin through the WordPress Plugins screen. - Activate the plugin through the Plugins screen in WordPress.
- Navigate to Craftsmenit Video Platform > Settings in the admin menu.
- Enter your YouTube Data API v3 key and Channel ID.
- Go to Craftsmenit Video Platform > Sync and click Sync Now to import playlists and videos.
- Visit
/watch/on your site or add the[ytcp]shortcode to any page.
Getting a YouTube API Key
- Go to the Google Cloud Console.
- Create or select a project.
- Enable the YouTube Data API v3 under APIs & Services > Library.
- Create an API key under APIs & Services > Credentials.
- (Recommended) Restrict the key to the YouTube Data API v3 and your domain.
Finding Your Channel ID
Your Channel ID is a 24-character string starting with UC. Find it on your YouTube channel’s About page or via an online Channel ID lookup tool.
Composer Dependencies
The plugin ships with Composer dependencies pre-installed in the vendor/ directory. If you need to reinstall them:
cd wp-content/plugins/craftsmenit-video-platform-for-youtube && composer install --no-dev
FAQ
-
How often does the content sync with YouTube?
-
By default, YTChannel Pro syncs daily via WordPress Cron. You can change the interval to hourly or twice daily under YTChannel Pro > Settings. A manual sync can be triggered at any time from YTChannel Pro > Sync.
-
What happens when I change the Channel ID?
-
When you update the Channel ID and run a sync, YTChannel Pro automatically deletes all existing videos, playlists, and channel branding (logo, banner, name), then imports everything from the new channel.
-
Do visitors need to be logged in?
-
No. The home page, video playback, search, and transcripts work for all visitors. User login is only required for Continue Watching progress tracking and the My List / Favorites feature.
-
Can I use YTChannel Pro on any page?
-
Yes. Use the
[ytcp]shortcode on any page or post. Individual shortcodes like[ytcp_hero],[ytcp_playlist],[ytcp_player], and[ytcp_search]can also be placed independently. -
Are transcripts available for every video?
-
Transcripts depend on YouTube captions. If a video has auto-generated or manually uploaded captions, YTChannel Pro can fetch and display them. Videos without captions will have no transcript available.
-
Can I customize the colors?
-
Yes. The accent color can be changed from YTChannel Pro > Settings using a color picker. The default is a copper/brown tone (#c17a2f). The color propagates via a CSS custom property throughout the interface.
-
Does it work with caching plugins?
-
Yes, but you should exclude the AJAX and REST API endpoints from page caching so real-time features like search, progress saving, and favorites work correctly.
-
Can I use this with multiple YouTube channels?
-
YTChannel Pro supports one channel at a time. Switching to a different Channel ID and syncing will replace all content from the previous channel.
-
What keyboard shortcuts are supported?
-
On the video player page: Space (play/pause), Left/Right arrows (seek backward/forward), F (toggle fullscreen), M (toggle mute).
-
Does YTChannel Pro support multiple transcript languages?
-
Yes. When fetching transcripts, the plugin looks for the requested language first, then falls back to English. Cached transcripts store the language code and name for easy switching.
Reviews
ഈ പ്ലഗിന് റിവ്യൂകൾ ഒന്നുമില്ല.
Contributors & Developers
“Craftsmenit-Video Platform for YouTube” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Craftsmenit-Video Platform for YouTube” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.0
- Initial release.
- YouTube channel sync with automatic playlist and video import.
- Auto-fetch channel name, logo, and banner from YouTube.
- Beautiful home page with Swiper.js horizontal sliders.
- Video preview modal with play button.
- Dedicated watch page with custom YouTube player controls.
- Tabbed sidebar with Episodes and Transcript tabs.
- Transcript fetching with multi-language support and text download.
- User progress tracking and Continue Watching row.
- My List / Favorites system for logged-in users.
- Auto-play next episode in playlist.
- Keyboard shortcuts (Space, Arrow keys, F, M).
- Speed control and Picture-in-Picture support.
- Real-time AJAX search across videos and playlists.
- Full REST API at /wp-json/ytcp/v1/.
- AJAX handlers with nonce verification.
- WP Cron scheduled sync (hourly, twice daily, daily).
- Customizable accent color, URL slugs, and feature toggles.
- Recommendations engine (trending, related, personalized).
- Admin dashboard, settings page, and sync management.
- Channel switching with automatic content purge.
- Fully responsive design.
- Translation-ready (craftsmenit-video-platform-for-youtube text domain).
- Custom post types: ytcp_video, ytcp_playlist.
- Custom taxonomy: ytcp_genre.
- Custom database tables: user_progress, transcripts, favorites.
