{"id":297775,"date":"2026-05-01T17:08:39","date_gmt":"2026-05-01T17:08:39","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/liteplay\/"},"modified":"2026-05-20T00:43:49","modified_gmt":"2026-05-20T00:43:49","slug":"space-lightplay","status":"publish","type":"plugin","link":"https:\/\/es-mx.wordpress.org\/plugins\/space-lightplay\/","author":23465676,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Space Lightplay","header_author":"Vlad Zelinskyi","header_description":"Lightweight Gutenberg block for lazy-loading video embeds with a custom preview image and configurable Play button. Iframe loads only on click.","assets_banners_color":"2e1590","last_updated":"2026-05-20 00:43:49","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.spacenerd.space\/","header_plugin_uri":"","header_author_uri":"https:\/\/www.spacenerd.space\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":176,"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":"wpspacenerd","date":"2026-05-01 17:49:03"},"1.1.0":{"tag":"1.1.0","author":"wpspacenerd","date":"2026-05-20 00:43:49"}},"upgrade_notice":{"1.1.0":"<p>Bug fixes (colours now apply on the frontend, wide\/full alignment, triangle centring) plus new features: aspect ratio, start time, block style variations, hover prefetch, and one-click transform from core\/embed YouTube blocks. Fully backward compatible with 1.0.0 blocks.<\/p>"},"ratings":[],"assets_icons":{"icon.svg":{"filename":"icon.svg","revision":3520530,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3520530,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3520530,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"space-lightplay\/video":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"space-lightplay\/video","version":"1.1.0","title":"Space Lightplay","category":"media","icon":"video-alt3","description":"Lightweight video embed with custom preview and configurable Play button. Loads iframe only on click.","textdomain":"space-lightplay","keywords":["youtube","video","embed","lazy"],"attributes":{"videoId":{"type":"string","default":""},"videoUrl":{"type":"string","default":""},"videoTitle":{"type":"string","default":""},"preview":{"type":"string","default":""},"previewId":{"type":"number","default":0},"alt":{"type":"string","default":""},"startAt":{"type":"number","default":0},"aspectRatio":{"type":"string","default":"16\/9"},"priorityLoad":{"type":"boolean","default":false},"btnSize":{"type":"string","default":"80px"},"btnRadius":{"type":"string","default":"50%"},"btnBg":{"type":"string","default":"rgba(0,0,0,.55)"},"btnBgHover":{"type":"string","default":"rgba(0,0,0,.7)"},"iconColor":{"type":"string","default":"#ffffff"},"iconColorHover":{"type":"string","default":"#ffffff"},"iconCornerRadius":{"type":"number","default":0},"pulse":{"type":"boolean","default":false},"preferMaxQuality":{"type":"boolean","default":false}},"supports":{"html":false,"align":["wide","full"],"spacing":{"margin":true},"anchor":true},"styles":[{"name":"default","label":"Default","isDefault":true},{"name":"minimal","label":"Minimal"},{"name":"bold","label":"Bold"},{"name":"glass","label":"Glass"}],"editorScript":"file:.\/edit.js","editorStyle":"file:.\/editor.css","viewScript":"file:.\/view.js","style":"file:.\/style.css","render":"file:.\/render.php"}},"tagged_versions":["1.0.0","1.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3538082,"resolution":"1","location":"assets","locale":"","width":3072,"height":1460},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3538082,"resolution":"2","location":"assets","locale":"","width":3072,"height":1466},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3538082,"resolution":"3","location":"assets","locale":"","width":3072,"height":1464},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3538082,"resolution":"4","location":"assets","locale":"","width":3072,"height":1464}},"screenshots":[]},"plugin_section":[],"plugin_tags":[230,4884,247,222,1610],"plugin_category":[50,54,56],"plugin_contributors":[258272],"plugin_business_model":[],"class_list":["post-297775","plugin","type-plugin","status-publish","hentry","plugin_tags-embed","plugin_tags-lazy-load","plugin_tags-performance","plugin_tags-video","plugin_tags-youtube","plugin_category-media","plugin_category-security-and-spam-protection","plugin_category-social-and-sharing","plugin_contributors-wpspacenerd","plugin_committers-wpspacenerd"],"banners":{"banner":"https:\/\/ps.w.org\/space-lightplay\/assets\/banner-772x250.png?rev=3520530","banner_2x":"https:\/\/ps.w.org\/space-lightplay\/assets\/banner-1544x500.png?rev=3520530","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/space-lightplay\/assets\/icon.svg?rev=3520530","icon":"https:\/\/ps.w.org\/space-lightplay\/assets\/icon.svg?rev=3520530","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/space-lightplay\/assets\/screenshot-1.png?rev=3538082","caption":""},{"src":"https:\/\/ps.w.org\/space-lightplay\/assets\/screenshot-2.png?rev=3538082","caption":""},{"src":"https:\/\/ps.w.org\/space-lightplay\/assets\/screenshot-3.png?rev=3538082","caption":""},{"src":"https:\/\/ps.w.org\/space-lightplay\/assets\/screenshot-4.png?rev=3538082","caption":""}],"raw_content":"<!--section=description-->\n<p>Every embedded YouTube video adds weight to your page \u2014 external scripts, iframes, tracking pixels \u2014 even if the visitor never presses Play. Space Lightplay fixes that.<\/p>\n\n<p>Drop the block into any post or page, paste a YouTube video URL, and Space Lightplay renders a static preview image with a customizable Play button. The actual iframe is injected only when the visitor clicks. No JavaScript frameworks, no third-party requests until interaction.<\/p>\n\n<p><strong>Why it matters:<\/strong><\/p>\n\n<ul>\n<li>Pages with 3\u20135 embedded videos can save 2\u20134 MB of initial page weight and dozens of network requests.<\/li>\n<li>Largest Contentful Paint (LCP) and Time to Interactive (TTI) improve because heavy iframes no longer block rendering.<\/li>\n<li>Privacy improves too \u2014 no cookies or tracking scripts load until the visitor explicitly chooses to play.<\/li>\n<\/ul>\n\n<p><strong>What you get:<\/strong><\/p>\n\n<ul>\n<li>One block, one job \u2014 lazy-load YouTube video embeds with zero configuration required.<\/li>\n<li>Custom poster image \u2014 upload any image from the Media Library or use the automatic YouTube thumbnail.<\/li>\n<li>Aspect ratio control \u2014 16:9, 4:3, 1:1, 9:16 (vertical\/Shorts), or 21:9 cinematic.<\/li>\n<li>Start time \u2014 set a starting timecode, or paste a YouTube URL with ?t=\u2026 and it fills automatically.<\/li>\n<li>Above-the-fold mode \u2014 disables lazy-load on the preview image for hero videos, improving LCP.<\/li>\n<li>Hover prefetch \u2014 opens connections to YouTube the instant the cursor lands on the block, so the iframe loads noticeably faster on click. No extra config.<\/li>\n<li>Play button styling \u2014 control size, button shape (circle, rounded, square), triangle corner roundness, background color, icon color, and hover states using the native WordPress color picker with full theme palette support.<\/li>\n<li>Block style variations \u2014 Minimal, Bold, and Glass presets in one click.<\/li>\n<li>Pulse animation \u2014 optional hover effect to draw attention to the Play button.<\/li>\n<li>Thumbnail quality \u2014 choose between standard and maximum resolution thumbnails.<\/li>\n<li>Accessible by default \u2014 full keyboard navigation, ARIA attributes, optional descriptive title for screen readers, visible focus indicators, RTL support, and prefers-reduced-motion support.<\/li>\n<li>Noscript fallback \u2014 visitors without JavaScript get a direct link to the YouTube video (with timecode preserved).<\/li>\n<li>Responsive \u2014 chosen aspect ratio adapts to any container width.<\/li>\n<li>Clean uninstall \u2014 removing the plugin leaves no options, transients, or database entries behind.<\/li>\n<\/ul>\n\n<p><strong>For developers:<\/strong><\/p>\n\n<p>Space Lightplay uses register_block_type_from_metadata() with a standard block.json manifest. All assets are declared in block.json and enqueued automatically by WordPress. The plugin adds zero global hooks, filters, admin pages, or database entries. Output is a server-rendered block via render.php.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the space-lightplay folder to \/wp-content\/plugins\/.<\/li>\n<li>Activate the plugin through the \"Plugins\" menu in WordPress.<\/li>\n<li>In the block editor, search for \"Space Lightplay\" and add it to your post or page.<\/li>\n<li>Paste a YouTube video URL or ID \u2014 done. Optionally tweak the Play button in the sidebar.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20space%20lightplay%20load%20any%20scripts%20before%20the%20visitor%20clicks%20play%3F\"><h3>Does Space Lightplay load any scripts before the visitor clicks Play?<\/h3><\/dt>\n<dd><p>No. Before the click, only a static preview image and a small CSS file are loaded. The iframe, along with all associated scripts from YouTube, is injected only after the visitor presses Play.<\/p><\/dd>\n<dt id=\"can%20i%20use%20my%20own%20preview%20image%20instead%20of%20the%20automatic%20thumbnail%3F\"><h3>Can I use my own preview image instead of the automatic thumbnail?<\/h3><\/dt>\n<dd><p>Yes. In the block sidebar under \"Video\", click \"Upload preview image\" and select any image from your Media Library. To revert to the automatic thumbnail, click \"Remove\".<\/p><\/dd>\n<dt id=\"does%20the%20block%20work%20with%20the%20full%20site%20editor%3F\"><h3>Does the block work with the Full Site Editor?<\/h3><\/dt>\n<dd><p>Yes. Space Lightplay is a standard Gutenberg block and works in the post editor, the site editor, and any context that supports WordPress blocks.<\/p><\/dd>\n<dt id=\"will%20removing%20space%20lightplay%20leave%20anything%20in%20my%20database%3F\"><h3>Will removing Space Lightplay leave anything in my database?<\/h3><\/dt>\n<dd><p>No. Space Lightplay does not create any options, custom tables, or transients. Deactivating and deleting the plugin leaves your database clean.<\/p><\/dd>\n<dt id=\"why%20does%20the%20play%20button%20look%20oval%20on%20my%20theme%3F\"><h3>Why does the Play button look oval on my theme?<\/h3><\/dt>\n<dd><p>This was a known issue in earlier development. The current version uses aspect-ratio: 1 and flex-shrink: 0 to guarantee a perfect circle regardless of your theme's CSS.<\/p><\/dd>\n<dt id=\"i%27m%20upgrading%20from%201.0.0%20%E2%80%94%20will%20my%20existing%20blocks%20break%3F\"><h3>I'm upgrading from 1.0.0 \u2014 will my existing blocks break?<\/h3><\/dt>\n<dd><p>No. All new attributes default to safe values, all old attributes are preserved, and CSS class names have not changed. Two visual notes: the play triangle is now properly optically centred (previously slightly off in some shapes), and colours chosen via the WordPress color picker now apply correctly on the frontend (in 1.0.0 some values silently fell back to defaults). Both are bug fixes \u2014 your blocks should look as you originally intended.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Fixed: frontend colours not applying when chosen via the native WordPress colour picker (alpha values, CSS variables, and rgba with spaces are now accepted).<\/li>\n<li>Fixed: wide and full alignment now respect the active theme's container width instead of stretching to the page viewport. Block themes and classic themes both work correctly.<\/li>\n<li>Fixed: play triangle is now optically centred regardless of button shape and stays the same visible size when corner roundness is adjusted.<\/li>\n<li>New: aspect ratio control \u2014 16:9, 4:3, 1:1, 9:16 (vertical\/Shorts), 21:9 cinematic.<\/li>\n<li>New: start time (timecode) \u2014 set in seconds, or paste a URL with ?t=\u2026 and it auto-fills.<\/li>\n<li>New: above-the-fold mode \u2014 disables lazy-load on the preview image for hero videos to improve LCP.<\/li>\n<li>New: hover-prefetch \u2014 preconnect to YouTube on hover\/focus\/touch, so the iframe loads faster on click. Always on, zero config.<\/li>\n<li>New: block style variations \u2014 Minimal, Bold, Glass.<\/li>\n<li>New: triangle corner roundness control \u2014 round the tips of the play icon.<\/li>\n<li>New: optional accessible title for the video iframe \u2014 describes the video to screen readers.<\/li>\n<li>New: alpha-channel support on background colour pickers.<\/li>\n<li>New: block transforms \u2014 convert from a core\/embed YouTube block to Space Lightplay and back in one click.<\/li>\n<li>New: spacing (margin) and HTML anchor block supports.<\/li>\n<li>New: RTL support for the play triangle.<\/li>\n<li>New: translations directory and <code>.pot<\/code> file for the WordPress.org translation community.<\/li>\n<li>Improved: block wrapper now uses semantic <code>&amp;lt;figure&amp;gt;<\/code> element instead of <code>&amp;lt;div&amp;gt;<\/code> \u2014 better for accessibility, screen readers, and content parsers. Existing CSS targeting the <code>.space-lightplay<\/code> class is unaffected; spacing controls in the editor continue to work.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"A single Gutenberg block that lazy-loads YouTube video embeds. Shows a static preview, loads the iframe only on click. Fast, lightweight, no bloat.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/297775","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=297775"}],"author":[{"embeddable":true,"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wpspacenerd"}],"wp:attachment":[{"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=297775"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=297775"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=297775"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=297775"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=297775"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=297775"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}