About this plugin
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-transcript PHP 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-youtube text 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.
)
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
html
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
html
com/privacy