{"id":307577,"date":"2026-06-05T10:35:19","date_gmt":"2026-06-05T10:35:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ytchannel-pro-netflix-style-youtube-platform\/"},"modified":"2026-06-05T10:43:51","modified_gmt":"2026-06-05T10:43:51","slug":"craftsmenit-video-platform-for-youtube","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/craftsmenit-video-platform-for-youtube\/","author":23474188,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Craftsmenit-Video Platform for YouTube","header_author":"Sohag Ahmed","header_description":"A beautiful video platform powered by YouTube API with hero sections, playlist sliders, video player, transcripts, and user progress tracking.","assets_banners_color":"362e2c","last_updated":"2026-06-05 10:43:51","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/craftsmenit-video-platform-for-youtube\/","header_author_uri":"https:\/\/profiles.wordpress.org\/sohag007\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":113,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"sohag007","date":"2026-06-05 10:43:51"}},"upgrade_notice":{"1.0.0":"<p>Initial release. Install and configure your YouTube API key and Channel ID to get started.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3562331,"resolution":"128x128","location":"assets","locale":"","width":1254,"height":1254},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3562331,"resolution":"256x256","location":"assets","locale":"","width":1254,"height":1254}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3562348,"resolution":"772x250","location":"assets","locale":"","width":2172,"height":724}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3562631,"resolution":"1","location":"assets","locale":"","width":1874,"height":780},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3562631,"resolution":"2","location":"assets","locale":"","width":1828,"height":603},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3562631,"resolution":"3","location":"assets","locale":"","width":1412,"height":623},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3562631,"resolution":"4","location":"assets","locale":"","width":1865,"height":783},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3562631,"resolution":"5","location":"assets","locale":"","width":1865,"height":783},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3562631,"resolution":"6","location":"assets","locale":"","width":1917,"height":909},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3562631,"resolution":"7","location":"assets","locale":"","width":1917,"height":909},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3562631,"resolution":"8","location":"assets","locale":"","width":1917,"height":909}},"screenshots":{"1":"Netflix-style home page with hero section, search bar, and horizontal playlist rows.","2":"Video preview modal popup with thumbnail and play button.","3":"Dedicated watch page with custom YouTube player and tabbed sidebar (Episodes + Transcript).","4":"Transcript view with timestamps and download option.","5":"Continue Watching row for logged-in users.","6":"Admin dashboard showing API status, video\/playlist counts, and last sync time.","7":"Admin settings page with API configuration, appearance options, URL slugs, and feature toggles.","8":"Admin sync page with manual sync and cache clear buttons.","9":"Search results overlay with videos and playlists.","10":"Responsive mobile layout."}},"plugin_section":[],"plugin_tags":[220,582,5637,1610,27386],"plugin_category":[50,56],"plugin_contributors":[260632],"plugin_business_model":[],"class_list":["post-307577","plugin","type-plugin","status-publish","hentry","plugin_tags-playlist","plugin_tags-streaming","plugin_tags-video-player","plugin_tags-youtube","plugin_tags-youtube-api","plugin_category-media","plugin_category-social-and-sharing","plugin_contributors-sohag007","plugin_committers-sohag007"],"banners":{"banner":"https:\/\/ps.w.org\/craftsmenit-video-platform-for-youtube\/assets\/banner-772x250.png?rev=3562348","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/craftsmenit-video-platform-for-youtube\/assets\/icon-128x128.png?rev=3562331","icon_2x":"https:\/\/ps.w.org\/craftsmenit-video-platform-for-youtube\/assets\/icon-256x256.png?rev=3562331","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/craftsmenit-video-platform-for-youtube\/assets\/screenshot-1.png?rev=3562631","caption":"Netflix-style home page with hero section, search bar, and horizontal playlist rows."},{"src":"https:\/\/ps.w.org\/craftsmenit-video-platform-for-youtube\/assets\/screenshot-2.png?rev=3562631","caption":"Video preview modal popup with thumbnail and play button."},{"src":"https:\/\/ps.w.org\/craftsmenit-video-platform-for-youtube\/assets\/screenshot-3.png?rev=3562631","caption":"Dedicated watch page with custom YouTube player and tabbed sidebar (Episodes + Transcript)."},{"src":"https:\/\/ps.w.org\/craftsmenit-video-platform-for-youtube\/assets\/screenshot-4.png?rev=3562631","caption":"Transcript view with timestamps and download option."},{"src":"https:\/\/ps.w.org\/craftsmenit-video-platform-for-youtube\/assets\/screenshot-5.png?rev=3562631","caption":"Continue Watching row for logged-in users."},{"src":"https:\/\/ps.w.org\/craftsmenit-video-platform-for-youtube\/assets\/screenshot-6.png?rev=3562631","caption":"Admin dashboard showing API status, video\/playlist counts, and last sync time."},{"src":"https:\/\/ps.w.org\/craftsmenit-video-platform-for-youtube\/assets\/screenshot-7.png?rev=3562631","caption":"Admin settings page with API configuration, appearance options, URL slugs, and feature toggles."},{"src":"https:\/\/ps.w.org\/craftsmenit-video-platform-for-youtube\/assets\/screenshot-8.png?rev=3562631","caption":"Admin sync page with manual sync and cache clear buttons."}],"raw_content":"<!--section=description-->\n<p>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.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>Automatic YouTube Sync<\/strong> -- Import all playlists and videos from any YouTube channel. Schedule syncs hourly, twice daily, or daily via WP Cron.<\/li>\n<li><strong>Channel Auto-Detection<\/strong> -- Channel name, logo, and banner are automatically fetched and applied.<\/li>\n<li><strong>Beautiful Home Page<\/strong> -- Hero section, search bar, and horizontal Swiper.js playlist rows with video thumbnail cards.<\/li>\n<li><strong>Video Preview Modal<\/strong> -- Click any card to open a popup with video preview and play button.<\/li>\n<li><strong>Custom Video Player<\/strong> -- Dedicated watch page using the YouTube IFrame API with custom controls (no native YouTube chrome).<\/li>\n<li><strong>Tabbed Sidebar<\/strong> -- Episodes tab lists all videos in the current playlist. Transcript tab displays synced captions with timestamps.<\/li>\n<li><strong>Transcripts<\/strong> -- Multi-language transcripts fetched via the <code>mrmysql\/youtube-transcript<\/code> PHP package. Download as a text file.<\/li>\n<li><strong>Continue Watching<\/strong> -- Tracks playback progress for logged-in users and shows a \"Continue Watching\" row.<\/li>\n<li><strong>My List \/ Favorites<\/strong> -- Logged-in users can save videos to a personal list.<\/li>\n<li><strong>Auto-Play Next<\/strong> -- Automatically advances to the next video in a playlist.<\/li>\n<li><strong>Keyboard Shortcuts<\/strong> -- Space (play\/pause), arrow keys (seek), F (fullscreen), M (mute).<\/li>\n<li><strong>Speed Control &amp; PiP<\/strong> -- Playback speed adjustment and Picture-in-Picture support.<\/li>\n<li><strong>Search<\/strong> -- Real-time AJAX search across videos and playlists.<\/li>\n<li><strong>REST API<\/strong> -- Full API at <code>\/wp-json\/ytcp\/v1\/<\/code> for videos, playlists, search, progress, favorites, and transcripts.<\/li>\n<li><strong>Customizable<\/strong> -- Accent color picker, configurable URL slugs, and feature toggles for transcripts, history, favorites, auto-play, and PiP.<\/li>\n<li><strong>Responsive<\/strong> -- Fully responsive design for desktop, tablet, and mobile.<\/li>\n<li><strong>Translation Ready<\/strong> -- i18n support with the <code>craftsmenit-video-platform-for-youtube<\/code> text domain.<\/li>\n<li><strong>Channel Switching<\/strong> -- Changing the Channel ID and syncing purges old data and imports the new channel.<\/li>\n<\/ul>\n\n<h4>Custom Post Types<\/h4>\n\n<ul>\n<li><code>ytcp_video<\/code> -- Each synced YouTube video.<\/li>\n<li><code>ytcp_playlist<\/code> -- Each synced YouTube playlist.<\/li>\n<li><code>ytcp_genre<\/code> -- Taxonomy for genre\/tag classification.<\/li>\n<\/ul>\n\n<h4>Custom Database Tables<\/h4>\n\n<ul>\n<li><code>wp_ytcp_user_progress<\/code> -- Tracks user playback position per video.<\/li>\n<li><code>wp_ytcp_transcripts<\/code> -- Caches fetched transcripts with language support.<\/li>\n<li><code>wp_ytcp_favorites<\/code> -- Stores user favorites \/ \"My List\" entries.<\/li>\n<\/ul>\n\n<h4>Shortcodes<\/h4>\n\n<ul>\n<li><code>[ytcp]<\/code> -- Full page layout (hero + search + playlist rows + modal).<\/li>\n<li><code>[ytcp_hero]<\/code> -- Hero section only.<\/li>\n<li><code>[ytcp_playlist id=\"POST_ID\"]<\/code> -- Single playlist horizontal slider.<\/li>\n<li><code>[ytcp_player video=\"POST_ID\"]<\/code> -- Single embedded video player.<\/li>\n<li><code>[ytcp_search]<\/code> -- Search bar component.<\/li>\n<\/ul>\n\n<h4>URL Structure<\/h4>\n\n<ul>\n<li><code>\/watch\/<\/code> -- Home page with hero section and all playlist rows.<\/li>\n<li><code>\/watch\/video-slug\/<\/code> -- Single video player page.<\/li>\n<li><code>\/series\/playlist-slug\/<\/code> -- Single playlist page.<\/li>\n<\/ul>\n\n<p>(URL slugs are configurable in settings.)<\/p>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 5.8 or higher.<\/li>\n<li>PHP 7.4 or higher.<\/li>\n<li>A YouTube Data API v3 key (free from the Google Cloud Console).<\/li>\n<li>Composer dependencies are bundled in the <code>vendor\/<\/code> directory.<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to external services to provide its full functionality. Please review the following:<\/p>\n\n<h4>YouTube Data API v3 (googleapis.com)<\/h4>\n\n<p>This plugin connects to Google's YouTube Data API to fetch and synchronize YouTube channel content (playlists, videos, metadata, transcripts).<\/p>\n\n<p><strong>What data is sent:<\/strong>\n- Your YouTube API key (stored securely in WordPress options)\n- YouTube Channel ID\n- Requests for channel info, playlist listings, and video metadata\n- 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<\/p>\n\n<p><strong>Service Provider:<\/strong> Google LLC<\/p>\n\n<p><strong>Terms of Service:<\/strong> https:\/\/www.youtube.com\/static\/terms.html<\/p>\n\n<p><strong>Privacy Policy:<\/strong> https:\/\/policies.google.com\/privacy<\/p>\n\n<h4>YouTube IFrame API (youtube.com)<\/h4>\n\n<p>The custom video player uses YouTube's IFrame Embed API to display and control video playback on the watch\/player pages.<\/p>\n\n<p><strong>What data is sent:<\/strong>\n- Your video embeds are served through YouTube's iframe infrastructure\n- Standard YouTube analytics data (views, watch time) applies<\/p>\n\n<p><strong>Service Provider:<\/strong> Google LLC<\/p>\n\n<p><strong>Terms of Service:<\/strong> https:\/\/www.youtube.com\/static\/terms.html<\/p>\n\n<p><strong>Privacy Policy:<\/strong> https:\/\/policies.google.com\/privacy<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>craftsmenit-video-platform-for-youtube<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install the plugin through the WordPress Plugins screen.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen in WordPress.<\/li>\n<li>Navigate to <strong>Craftsmenit Video Platform &gt; Settings<\/strong> in the admin menu.<\/li>\n<li>Enter your <strong>YouTube Data API v3 key<\/strong> and <strong>Channel ID<\/strong>.<\/li>\n<li>Go to <strong>Craftsmenit Video Platform &gt; Sync<\/strong> and click <strong>Sync Now<\/strong> to import playlists and videos.<\/li>\n<li>Visit <code>\/watch\/<\/code> on your site or add the <code>[ytcp]<\/code> shortcode to any page.<\/li>\n<\/ol>\n\n<h4>Getting a YouTube API Key<\/h4>\n\n<ol>\n<li>Go to the <a href=\"https:\/\/console.cloud.google.com\/\">Google Cloud Console<\/a>.<\/li>\n<li>Create or select a project.<\/li>\n<li>Enable the <strong>YouTube Data API v3<\/strong> under APIs &amp; Services &gt; Library.<\/li>\n<li>Create an API key under APIs &amp; Services &gt; Credentials.<\/li>\n<li>(Recommended) Restrict the key to the YouTube Data API v3 and your domain.<\/li>\n<\/ol>\n\n<h4>Finding Your Channel ID<\/h4>\n\n<p>Your Channel ID is a 24-character string starting with <code>UC<\/code>. Find it on your YouTube channel's About page or via an online Channel ID lookup tool.<\/p>\n\n<h4>Composer Dependencies<\/h4>\n\n<p>The plugin ships with Composer dependencies pre-installed in the <code>vendor\/<\/code> directory. If you need to reinstall them:<\/p>\n\n<pre><code>cd wp-content\/plugins\/craftsmenit-video-platform-for-youtube &amp;&amp; composer install --no-dev\n<\/code><\/pre>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20often%20does%20the%20content%20sync%20with%20youtube%3F\"><h3>How often does the content sync with YouTube?<\/h3><\/dt>\n<dd><p>By default, YTChannel Pro syncs daily via WordPress Cron. You can change the interval to hourly or twice daily under YTChannel Pro &gt; Settings. A manual sync can be triggered at any time from YTChannel Pro &gt; Sync.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20change%20the%20channel%20id%3F\"><h3>What happens when I change the Channel ID?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"do%20visitors%20need%20to%20be%20logged%20in%3F\"><h3>Do visitors need to be logged in?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"can%20i%20use%20ytchannel%20pro%20on%20any%20page%3F\"><h3>Can I use YTChannel Pro on any page?<\/h3><\/dt>\n<dd><p>Yes. Use the <code>[ytcp]<\/code> shortcode on any page or post. Individual shortcodes like <code>[ytcp_hero]<\/code>, <code>[ytcp_playlist]<\/code>, <code>[ytcp_player]<\/code>, and <code>[ytcp_search]<\/code> can also be placed independently.<\/p><\/dd>\n<dt id=\"are%20transcripts%20available%20for%20every%20video%3F\"><h3>Are transcripts available for every video?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20colors%3F\"><h3>Can I customize the colors?<\/h3><\/dt>\n<dd><p>Yes. The accent color can be changed from YTChannel Pro &gt; Settings using a color picker. The default is a copper\/brown tone (#c17a2f). The color propagates via a CSS custom property throughout the interface.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20caching%20plugins%3F\"><h3>Does it work with caching plugins?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"can%20i%20use%20this%20with%20multiple%20youtube%20channels%3F\"><h3>Can I use this with multiple YouTube channels?<\/h3><\/dt>\n<dd><p>YTChannel Pro supports one channel at a time. Switching to a different Channel ID and syncing will replace all content from the previous channel.<\/p><\/dd>\n<dt id=\"what%20keyboard%20shortcuts%20are%20supported%3F\"><h3>What keyboard shortcuts are supported?<\/h3><\/dt>\n<dd><p>On the video player page: Space (play\/pause), Left\/Right arrows (seek backward\/forward), F (toggle fullscreen), M (toggle mute).<\/p><\/dd>\n<dt id=\"does%20ytchannel%20pro%20support%20multiple%20transcript%20languages%3F\"><h3>Does YTChannel Pro support multiple transcript languages?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>YouTube channel sync with automatic playlist and video import.<\/li>\n<li>Auto-fetch channel name, logo, and banner from YouTube.<\/li>\n<li>Beautiful home page with Swiper.js horizontal sliders.<\/li>\n<li>Video preview modal with play button.<\/li>\n<li>Dedicated watch page with custom YouTube player controls.<\/li>\n<li>Tabbed sidebar with Episodes and Transcript tabs.<\/li>\n<li>Transcript fetching with multi-language support and text download.<\/li>\n<li>User progress tracking and Continue Watching row.<\/li>\n<li>My List \/ Favorites system for logged-in users.<\/li>\n<li>Auto-play next episode in playlist.<\/li>\n<li>Keyboard shortcuts (Space, Arrow keys, F, M).<\/li>\n<li>Speed control and Picture-in-Picture support.<\/li>\n<li>Real-time AJAX search across videos and playlists.<\/li>\n<li>Full REST API at \/wp-json\/ytcp\/v1\/.<\/li>\n<li>AJAX handlers with nonce verification.<\/li>\n<li>WP Cron scheduled sync (hourly, twice daily, daily).<\/li>\n<li>Customizable accent color, URL slugs, and feature toggles.<\/li>\n<li>Recommendations engine (trending, related, personalized).<\/li>\n<li>Admin dashboard, settings page, and sync management.<\/li>\n<li>Channel switching with automatic content purge.<\/li>\n<li>Fully responsive design.<\/li>\n<li>Translation-ready (craftsmenit-video-platform-for-youtube text domain).<\/li>\n<li>Custom post types: ytcp_video, ytcp_playlist.<\/li>\n<li>Custom taxonomy: ytcp_genre.<\/li>\n<li>Custom database tables: user_progress, transcripts, favorites.<\/li>\n<\/ul>","raw_excerpt":"Transform any YouTube channel into a beautiful video platform with automatic playlist sync, custom player, transcripts, watch history, and more.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/307577","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=307577"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sohag007"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=307577"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=307577"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=307577"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=307577"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=307577"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=307577"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}