{"id":360346,"date":"2026-09-03T07:02:18","date_gmt":"2026-09-03T07:02:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/crixu-tiltwall\/"},"modified":"2026-09-03T07:02:10","modified_gmt":"2026-09-03T07:02:10","slug":"crixu-tiltwall","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/crixu-tiltwall\/","author":14745577,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.2","stable_tag":"1.0.2","tested":"7.1","requires":"6.3","requires_php":"7.4","requires_plugins":null,"header_name":"Crixu Tiltwall","header_author":"Lucas Radke","header_description":"Full-bleed hero sections with a parallax-style tilted, auto-scrolling image gallery background and a Cover-block-style overlay. Place any blocks on top.","assets_banners_color":"172325","last_updated":"2026-09-03 07:02:10","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/crixu\/crixu-tiltwall","header_author_uri":"https:\/\/crixu.blog\/plugins\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":30,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.2":{"tag":"1.0.2","author":"Crixu","date":"2026-09-03 07:02:10","revision":3679165}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3679165,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3679165,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3679165,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3679165,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"crixu\/tiltwall":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"crixu\/tiltwall","title":"Tiltwall","category":"design","icon":"images-alt2","description":"A full-bleed hero background of tilted, endlessly auto-scrolling image columns with an adjustable overlay. Place any blocks on top, like the Cover block.","keywords":["hero","gallery","background","cover","parallax"],"textdomain":"crixu-tiltwall","supports":{"align":["wide","full"],"anchor":true,"html":false},"attributes":{"mediaIds":{"type":"array","default":[]},"columns":{"type":"number","default":4},"tiltStyle":{"type":"string","default":"3d"},"tiltAngle":{"type":"number","default":28},"overlayColor":{"type":"string","default":"#010210"},"dimRatio":{"type":"number","default":50},"minHeight":{"type":"number","default":100},"minHeightUnit":{"type":"string","default":"vh"},"speed":{"type":"number","default":30}},"editorScript":"file:.\/index.js","style":"file:.\/style.css","editorStyle":"file:.\/style.css","render":"file:.\/render.php"}},"tagged_versions":["1.0.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3679165,"resolution":"1","location":"assets","locale":"","width":1280,"height":800},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3679165,"resolution":"2","location":"assets","locale":"","width":1280,"height":800},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3679165,"resolution":"3","location":"assets","locale":"","width":1280,"height":800}},"screenshots":{"1":"3D tilt \u2014 the default perspective-tilted, auto-scrolling image mosaic with overlay.","2":"Flat 2D tilt \u2014 the same block with a flat rotation instead of a 3D perspective.","3":"No tilt \u2014 images scroll straight up\/down with no rotation."}},"plugin_section":[],"plugin_tags":[10657,278974,166583,27923,2693],"plugin_category":[],"plugin_contributors":[277541],"plugin_business_model":[],"class_list":["post-360346","plugin","type-plugin","status-publish","hentry","plugin_tags-background-slider","plugin_tags-cover-block-alternative","plugin_tags-gallery-block","plugin_tags-hero","plugin_tags-parallax","plugin_contributors-crixu","plugin_committers-crixu"],"banners":{"banner":"https:\/\/ps.w.org\/crixu-tiltwall\/assets\/banner-772x250.png?rev=3679165","banner_2x":"https:\/\/ps.w.org\/crixu-tiltwall\/assets\/banner-1544x500.png?rev=3679165","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/crixu-tiltwall\/assets\/icon-128x128.png?rev=3679165","icon_2x":"https:\/\/ps.w.org\/crixu-tiltwall\/assets\/icon-256x256.png?rev=3679165","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/crixu-tiltwall\/assets\/screenshot-1.png?rev=3679165","caption":"3D tilt \u2014 the default perspective-tilted, auto-scrolling image mosaic with overlay."},{"src":"https:\/\/ps.w.org\/crixu-tiltwall\/assets\/screenshot-2.png?rev=3679165","caption":"Flat 2D tilt \u2014 the same block with a flat rotation instead of a 3D perspective."},{"src":"https:\/\/ps.w.org\/crixu-tiltwall\/assets\/screenshot-3.png?rev=3679165","caption":"No tilt \u2014 images scroll straight up\/down with no rotation."}],"raw_content":"<!--section=description-->\n<p>Crixu Tiltwall adds a full-bleed hero block for the block editor whose background is a scrolling image gallery \u2014 your photos arranged into columns that auto-scroll endlessly, alternating direction, with an optional flat or 3D parallax-style tilt. A Cover-block-style color overlay sits on top, and any inner blocks (headings, buttons, paragraphs, etc.) render above that, just like the core Cover block.<\/p>\n\n<p>Use it to build an eye-catching hero section, header, or landing page background without a page builder \u2014 a lightweight alternative to the Cover block for sites that want a moving, gallery-driven backdrop instead of a single static image or video.<\/p>\n\n<ul>\n<li>Full-bleed hero background built from an image gallery you select in the block editor<\/li>\n<li>Endless auto-scrolling columns (a background slider effect), alternating direction per column<\/li>\n<li>Adjustable tilt: none, flat (2D), or 3D parallax-style perspective<\/li>\n<li>Configurable columns (3\u20136), scroll speed, and minimum height<\/li>\n<li>Cover-block style overlay color and opacity<\/li>\n<li>Respects <code>prefers-reduced-motion<\/code> for accessibility<\/li>\n<li>No build step \u2014 works out of the box, no bundler or npm install required<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>wp-content\/plugins\/crixu-tiltwall<\/code>, or install directly through the WordPress plugins screen.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Add the \"Tiltwall\" block from the block inserter (category: Design).<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20build%20step%20to%20use%20or%20modify%20this%20plugin%3F\"><h3>Do I need a build step to use or modify this plugin?<\/h3><\/dt>\n<dd><p>No. The editor script is plain JavaScript using WordPress's registered globals (<code>wp.blocks<\/code>, <code>wp.element<\/code>, etc.), so no bundler is required.<\/p><\/dd>\n<dt id=\"how%20many%20images%20do%20i%20need%3F\"><h3>How many images do I need?<\/h3><\/dt>\n<dd><p>The block works with any number of images; fewer than the columns \u00d7 6 minimum are cycled to fill every column.<\/p><\/dd>\n<dt id=\"how%20is%20this%20different%20from%20the%20cover%20block%20or%20a%20background%20slider%20plugin%3F\"><h3>How is this different from the Cover block or a background slider plugin?<\/h3><\/dt>\n<dd><p>It's built to feel like a natural extension of the Cover block \u2014 same overlay color\/opacity controls, same \"place any blocks on top\" pattern \u2014 but instead of one static image or video, the background is a multi-column image gallery that auto-scrolls with an optional parallax-style tilt.<\/p><\/dd>\n<dt id=\"will%20it%20work%20with%20my%20theme%3F\"><h3>Will it work with my theme?<\/h3><\/dt>\n<dd><p>Yes. It's a standard block that renders inside your theme's content area and doesn't require a block theme, though it supports wide and full alignment where your theme allows it.<\/p><\/dd>\n<dt id=\"does%20the%20auto-scroll%20affect%20accessibility%20or%20performance%3F\"><h3>Does the auto-scroll affect accessibility or performance?<\/h3><\/dt>\n<dd><p>Motion automatically stops for visitors with <code>prefers-reduced-motion<\/code> enabled, and background images are lazy-loaded so they don't block initial page render.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Hardened <code>overlayColor<\/code> (now validated with <code>sanitize_hex_color()<\/code>, falling back to the default if invalid) and <code>minHeightUnit<\/code> (now checked against an allowlist of real CSS units) against crafted block attribute values that bypass the editor UI.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Set an explicit <code>sizes<\/code> attribute on hero background images instead of letting WordPress default it to ~100vw. Tiles render at roughly 150-300px, so the default was pulling the largest srcset candidate for every tile \u2014 fixing this cut ~636KB off a page with this block in a real-world audit.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Full-bleed hero sections with a parallax-style tilted image gallery background that scrolls endlessly, plus a Cover block-style overlay.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/360346","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=360346"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/crixu"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=360346"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=360346"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=360346"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=360346"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=360346"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=360346"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}