
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

Netflix-style home page with hero section, search bar, and horizontal playlist rows.

Video preview modal popup with thumbnail and play button.

Dedicated watch page with custom YouTube player and tabbed sidebar (Episodes + Transcript).

Transcript view with timestamps and download option.

Continue Watching row for logged-in users.

Admin dashboard showing API status, video/playlist counts, and last sync time.

Admin settings page with API configuration, appearance options, URL slugs, and feature toggles.

Admin sync page with manual sync and cache clear buttons.