{"id":233054,"date":"2025-05-14T13:36:56","date_gmt":"2025-05-14T13:36:56","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/responsive-columns-block-editor\/"},"modified":"2026-08-20T08:23:40","modified_gmt":"2026-08-20T08:23:40","slug":"responsive-columns","status":"publish","type":"plugin","link":"https:\/\/te.wordpress.org\/plugins\/responsive-columns\/","author":23289986,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.8.0","stable_tag":"1.8.0","tested":"7.1","requires":"6.4","requires_php":"7.4","requires_plugins":null,"header_name":"Responsive Block Controls","header_author":"Specia1ne","header_description":"Adaptive column counts, X\/Y gaps and optional Masonry layout for core\/Columns and Query Loop (Grid).","assets_banners_color":"","last_updated":"2026-08-20 08:23:40","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/specia1ne.com","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/responsive-columns\/","header_author_uri":"https:\/\/specia1ne.com\/","rating":0,"author_block_rating":0,"active_installs":80,"downloads":1846,"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":"specia1ne","date":"2025-05-14 13:43:14"},"1.1.0":{"tag":"1.1.0","author":"specia1ne","date":"2025-10-26 08:36:56"},"1.1.1":{"tag":"1.1.1","author":"specia1ne","date":"2025-10-27 12:08:55"},"1.2.0":{"tag":"1.2.0","author":"specia1ne","date":"2026-04-18 13:15:28"},"1.3.0":{"tag":"1.3.0","author":"specia1ne","date":"2026-04-19 07:11:03"},"1.4.0":{"tag":"1.4.0","author":"specia1ne","date":"2026-04-19 19:58:32"},"1.4.1":{"tag":"1.4.1","author":"specia1ne","date":"2026-04-20 06:45:55"},"1.5.0":{"tag":"1.5.0","author":"specia1ne","date":"2026-04-20 10:42:54"},"1.5.1":{"tag":"1.5.1","author":"specia1ne","date":"2026-04-20 16:11:29"},"1.6.0":{"tag":"1.6.0","author":"specia1ne","date":"2026-04-21 08:49:52"},"1.7.0":{"tag":"1.7.0","author":"specia1ne","date":"2026-04-22 06:19:25"},"1.7.1":{"tag":"1.7.1","author":"specia1ne","date":"2026-04-23 12:33:21"},"1.7.2":{"tag":"1.7.2","author":"specia1ne","date":"2026-04-25 07:40:07"},"1.7.3":{"tag":"1.7.3","author":"specia1ne","date":"2026-06-10 16:21:46"},"1.7.4":{"tag":"1.7.4","author":"specia1ne","date":"2026-08-13 10:35:48"},"1.8.0":{"tag":"1.8.0","author":"specia1ne","date":"2026-08-20 08:23:40"}},"upgrade_notice":{"1.8.0":"<p>Adds responsive Media &amp; Text layouts, safer breakpoint-scoped resets, and reversible Advanced 4 breakpoints behavior for sites using WordPress 7.1 responsive styles. Compatibility has been tested through WordPress 7.1.<\/p>","1.7.4":"<p>Recommended maintenance update: protects Columns content, improves Masonry responsive spacing and relayout stability, and ensures editor translations ship with release packages.<\/p>","1.7.3":"<p>This compatibility update confirms support for WordPress 7.0.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3520351,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3520351,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0","1.1.1","1.2.0","1.3.0","1.4.0","1.4.1","1.5.0","1.5.1","1.6.0","1.7.0","1.7.1","1.7.2","1.7.3","1.7.4","1.8.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3513817,"resolution":"1","location":"assets","locale":"","width":2048,"height":990},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3513817,"resolution":"2","location":"assets","locale":"","width":2048,"height":990},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3513817,"resolution":"3","location":"assets","locale":"","width":2048,"height":990},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3513817,"resolution":"4","location":"assets","locale":"","width":2048,"height":990},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3513817,"resolution":"5","location":"assets","locale":"","width":2048,"height":990},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3513817,"resolution":"6","location":"assets","locale":"","width":2048,"height":990},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3513817,"resolution":"7","location":"assets","locale":"","width":2048,"height":990},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3513817,"resolution":"8","location":"assets","locale":"","width":2048,"height":990}},"screenshots":{"1":"Columns block with native desktop columns alongside responsive layout and gap controls.","2":"Columns block tablet preview with inherited spacing and per-breakpoint column controls.","3":"Columns block mobile preview with a single-column layout and mobile gap overrides.","4":"Spacer block with tablet and mobile height overrides, including editor resizing.","5":"Custom-width Columns layout with responsive gap controls on the parent Columns block.","6":"Child Column block with responsive width and order controls for custom-width Columns layouts.","7":"Gallery block desktop preview with native columns and responsive layout controls.","8":"Gallery block tablet preview with responsive columns and inherited gap settings."}},"plugin_section":[],"plugin_tags":[148857,854,148076,4036,606],"plugin_category":[],"plugin_contributors":[242271],"plugin_business_model":[],"class_list":["post-233054","plugin","type-plugin","status-publish","hentry","plugin_tags-block-editor","plugin_tags-columns","plugin_tags-gutenberg","plugin_tags-layout","plugin_tags-responsive","plugin_contributors-specia1ne","plugin_committers-specia1ne"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/responsive-columns\/assets\/icon-128x128.png?rev=3520351","icon_2x":"https:\/\/ps.w.org\/responsive-columns\/assets\/icon-256x256.png?rev=3520351","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/responsive-columns\/assets\/screenshot-1.png?rev=3513817","caption":"Columns block with native desktop columns alongside responsive layout and gap controls."},{"src":"https:\/\/ps.w.org\/responsive-columns\/assets\/screenshot-2.png?rev=3513817","caption":"Columns block tablet preview with inherited spacing and per-breakpoint column controls."},{"src":"https:\/\/ps.w.org\/responsive-columns\/assets\/screenshot-3.png?rev=3513817","caption":"Columns block mobile preview with a single-column layout and mobile gap overrides."},{"src":"https:\/\/ps.w.org\/responsive-columns\/assets\/screenshot-4.png?rev=3513817","caption":"Spacer block with tablet and mobile height overrides, including editor resizing."},{"src":"https:\/\/ps.w.org\/responsive-columns\/assets\/screenshot-5.png?rev=3513817","caption":"Custom-width Columns layout with responsive gap controls on the parent Columns block."},{"src":"https:\/\/ps.w.org\/responsive-columns\/assets\/screenshot-6.png?rev=3513817","caption":"Child Column block with responsive width and order controls for custom-width Columns layouts."},{"src":"https:\/\/ps.w.org\/responsive-columns\/assets\/screenshot-7.png?rev=3513817","caption":"Gallery block desktop preview with native columns and responsive layout controls."},{"src":"https:\/\/ps.w.org\/responsive-columns\/assets\/screenshot-8.png?rev=3513817","caption":"Gallery block tablet preview with responsive columns and inherited gap settings."}],"raw_content":"<!--section=description-->\n<p>Responsive Block Controls adds practical responsive controls to supported native Gutenberg blocks. Adjust layouts, spacing, column widths, Query Loop grids, Gallery columns, and Spacer heights without replacing core blocks or moving content into a page builder.<\/p>\n\n<p>Native WordPress blocks are fast, portable, and theme-friendly, but responsive layout tweaks often still require custom CSS, duplicated blocks, or a full page builder. This plugin keeps your content in native blocks and adds the missing breakpoint controls directly in the block inspector.<\/p>\n\n<h3>Why use it?<\/h3>\n\n<ul>\n<li>Add responsive controls to supported native Gutenberg blocks.<\/li>\n<li>Keep existing core blocks, patterns, synced patterns, reusable blocks, and template parts.<\/li>\n<li>Avoid extra builder markup, shortcodes, and content lock-in.<\/li>\n<li>Adjust columns, gaps, custom widths, order, Media &amp; Text layouts, Query Loop grids, Gallery layouts, and Spacer heights from the editor sidebar.<\/li>\n<li>Preserve desktop behavior and theme spacing defaults unless you override them.<\/li>\n<li>Remove the plugin without breaking the saved content structure.<\/li>\n<\/ul>\n\n<h3>Supported blocks<\/h3>\n\n<p>Support is added block by block. In this version, responsive controls are available for:<\/p>\n\n<ul>\n<li><code>core\/columns<\/code> \u2014 responsive column counts, gap controls, and custom-width mode.<\/li>\n<li><code>core\/column<\/code> \u2014 per-breakpoint width and order controls when custom-width mode is enabled on the parent Columns block.<\/li>\n<li><code>core\/post-template<\/code> inside Query Loop \u2014 manual column controls, auto-fit minimum width, responsive gaps, and optional Masonry for supported fixed-column grids.<\/li>\n<li><code>core\/gallery<\/code> \u2014 responsive columns and gap controls while keeping the native Gallery block.<\/li>\n<li><code>core\/spacer<\/code> \u2014 tablet and mobile height overrides while keeping the native desktop Spacer height.<\/li>\n<li><code>core\/media-text<\/code> \u2014 side-by-side or stacked layouts and stacked order across four non-desktop breakpoints.<\/li>\n<\/ul>\n\n<h3>How it works<\/h3>\n\n<p>The plugin stores settings as native block attributes and renders a small set of CSS classes and custom properties. It does not register replacement layout blocks and does not wrap your content in custom frontend markup.<\/p>\n\n<p>Your theme stays in control of the base layout. Responsive Block Controls only applies supported responsive values at the configured breakpoints. If the plugin is removed, WordPress ignores the extra attributes and the blocks fall back to their normal core behavior.<\/p>\n\n<h3>Editor experience<\/h3>\n\n<ul>\n<li>Responsive controls appear only when the selected block is supported.<\/li>\n<li>Breakpoint tabs follow desktop, tablet, and mobile editing workflows.<\/li>\n<li>Smaller breakpoints inherit from larger breakpoints until you override them.<\/li>\n<li>Gap controls support <code>px<\/code>, <code>rem<\/code>, and <code>em<\/code> values with predictable reset behavior.<\/li>\n<li>Custom-width Columns layouts support per-column width and simple order controls.<\/li>\n<li>Query Loop grids support manual columns, auto-fit minimum width, and Masonry guidance where available.<\/li>\n<li>Spacer height can be customized for tablet and mobile previews.<\/li>\n<li>Media &amp; Text can inherit, stay side by side, or stack with media first or text first at each non-desktop breakpoint.<\/li>\n<li>Theme spacing defaults are detected when possible.<\/li>\n<li>Reset actions are scoped to the active setting and breakpoint, so inherited values and unrelated responsive settings are preserved.<\/li>\n<\/ul>\n\n<h3>WordPress 7.1 responsive styles<\/h3>\n\n<p>WordPress 7.1 introduces responsive values for standard block supports. Responsive Block Controls keeps those native values and its own four-breakpoint values separate:<\/p>\n\n<ul>\n<li>Leave Advanced 4 breakpoints disabled to let WordPress control overlapping responsive layout and gap properties.<\/li>\n<li>Enable Advanced 4 breakpoints when you need separate tablet landscape, tablet portrait, mobile landscape, and mobile portrait values.<\/li>\n<li>If both systems contain overlapping values, the editor shows a conflict warning and the plugin's Advanced 4 breakpoints take precedence only for supported overlapping layout and gap properties.<\/li>\n<li>Switching back to WordPress responsive styles is reversible: plugin settings and native WordPress settings are preserved rather than migrated or deleted.<\/li>\n<li>Native responsive typography, padding, colors, and other non-overlapping block supports continue to work.<\/li>\n<\/ul>\n\n<h3>Accessibility and localization<\/h3>\n\n<ul>\n<li>Inspector controls are keyboard accessible and labeled for screen readers.<\/li>\n<li>Strings are translation-ready via the <code>responsive-columns<\/code> text domain.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Install Responsive Block Controls from the WordPress plugin directory or upload the plugin folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Select a supported native block and open the responsive panel in the block sidebar.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20this%20a%20page%20builder%20or%20a%20block%20collection%3F\"><h3>Is this a page builder or a block collection?<\/h3><\/dt>\n<dd><p>No. The plugin extends supported native Gutenberg blocks. It does not replace core blocks with custom layout blocks.<\/p><\/dd>\n<dt id=\"which%20blocks%20are%20supported%3F\"><h3>Which blocks are supported?<\/h3><\/dt>\n<dd><p>Responsive controls are currently available for Columns, individual Column blocks in custom-width mode, Query Loop grids, Gallery, Spacer, and Media &amp; Text. New block support can be added over time without changing the core positioning of the plugin.<\/p><\/dd>\n<dt id=\"will%20my%20content%20break%20if%20i%20uninstall%20the%20plugin%3F\"><h3>Will my content break if I uninstall the plugin?<\/h3><\/dt>\n<dd><p>No. Settings are stored as extra block attributes. If the plugin is removed, WordPress ignores those attributes and the blocks fall back to their normal core behavior.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20patterns%20and%20reusable%20blocks%3F\"><h3>Does it work with patterns and reusable blocks?<\/h3><\/dt>\n<dd><p>Yes. Because settings are stored on native blocks, they travel with patterns, synced patterns, reusable blocks, and template parts.<\/p><\/dd>\n<dt id=\"can%20i%20use%20it%20with%20any%20theme%3F\"><h3>Can I use it with any theme?<\/h3><\/dt>\n<dd><p>The plugin is designed to work with themes that use normal WordPress block markup and spacing styles. It keeps the active theme responsible for the base layout and only applies responsive overrides where supported.<\/p><\/dd>\n<dt id=\"does%20masonry%20work%20everywhere%3F\"><h3>Does Masonry work everywhere?<\/h3><\/dt>\n<dd><p>No. Masonry is an optional Query Loop enhancement for supported fixed-column grid layouts. It is not the main purpose of the plugin and is only enabled when the current Query Loop layout can support it safely.<\/p><\/dd>\n<dt id=\"can%20i%20use%20rem%20or%20em%20values%20for%20gaps%3F\"><h3>Can I use rem or em values for gaps?<\/h3><\/dt>\n<dd><p>Yes. Gap controls support <code>px<\/code>, <code>rem<\/code>, and <code>em<\/code> values, while older saved <code>px<\/code> values remain compatible.<\/p><\/dd>\n<dt id=\"can%20spacer%20have%20different%20heights%20on%20tablet%20and%20mobile%3F\"><h3>Can Spacer have different heights on tablet and mobile?<\/h3><\/dt>\n<dd><p>Yes. Keep the native desktop height in the Spacer block settings, then use the responsive height panel for tablet and mobile overrides.<\/p><\/dd>\n<dt id=\"what%20changes%20on%20a%20media%20%26%20text%20block%3F\"><h3>What changes on a Media &amp; Text block?<\/h3><\/dt>\n<dd><p>Only explicitly configured non-desktop layouts, plus their inherited narrower breakpoints, are overridden. Enabling the feature without choosing a layout does not change the block. Desktop layout, native media width, content order in the saved markup, and the native Stack on mobile setting remain intact. Each breakpoint can inherit, stay side by side, or stack with media first or text first.<\/p><\/dd>\n<dt id=\"how%20does%20this%20work%20with%20wordpress%207.1%20responsive%20styles%3F\"><h3>How does this work with WordPress 7.1 responsive styles?<\/h3><\/dt>\n<dd><p>With Advanced 4 breakpoints disabled, WordPress controls overlapping responsive layout and gap properties. The Advanced 4 breakpoints mode is opt-in. If saved WordPress 7.1 values overlap with plugin values, the editor warns before Advanced mode is used. You can switch back to WordPress responsive styles without deleting either system's saved settings.<\/p><\/dd>\n<dt id=\"what%20does%20reset%20change%3F\"><h3>What does Reset change?<\/h3><\/dt>\n<dd><p>Reset is intentionally scoped. A responsive column-count reset returns only the active non-desktop breakpoint to its default and never changes the native desktop count or block content. A non-desktop spacing reset removes only the active breakpoint's horizontal, vertical, and override values so inheritance resumes. A desktop spacing reset restores the theme's desktop base while preserving all non-desktop spacing maps, overrides, and the independent row-gap setting.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.8.0<\/h4>\n\n<ul>\n<li>Added responsive Media &amp; Text layouts across four non-desktop breakpoints, with inherited, side-by-side, and stacked modes plus stacked media\/text order.<\/li>\n<li>Kept Media &amp; Text desktop behavior, native media width, saved markup order, and native Stack on mobile setting unchanged.<\/li>\n<li>Added an opt-in Advanced 4 breakpoints mode alongside WordPress 7.1 responsive styles, including overlap detection, conflict guidance, and reversible switching without deleting saved settings.<\/li>\n<li>Scoped Reset actions: column count now returns only the active non-desktop value to its default; non-desktop spacing resumes inheritance; and desktop spacing restores the theme base without deleting non-desktop maps, overrides, or the independent row-gap setting.<\/li>\n<\/ul>\n\n<h4>1.7.4<\/h4>\n\n<ul>\n<li>Fixed Columns content safety and responsive Masonry spacing, availability, and dynamic relayout.<\/li>\n<li>Updated editor compatibility and ensured bundled translations are included in release packages.<\/li>\n<\/ul>\n\n<h4>1.7.3<\/h4>\n\n<ul>\n<li>Confirmed compatibility with WordPress 7.0.<\/li>\n<\/ul>\n\n<h4>1.7.2<\/h4>\n\n<ul>\n<li>Improved responsive Spacer height validation in the editor so unsupported values are ignored and supported values stay within safe limits.<\/li>\n<li>Improved responsive CSS value sanitization on the front end.<\/li>\n<\/ul>\n\n<h4>1.7.1<\/h4>\n\n<ul>\n<li>Renamed the plugin to Responsive Block Controls and refreshed its directory positioning, screenshots, and metadata.<\/li>\n<li>Hardened responsive gap and minimum-width sanitization, including legacy runtime style handling.<\/li>\n<\/ul>\n\n<h4>1.7.0<\/h4>\n\n<ul>\n<li>Added responsive height controls and live tablet\/mobile resizing for native Spacer blocks.<\/li>\n<li>Improved deactivation-safe behavior so supported native blocks remain valid.<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li>Added responsive column and gap controls for native Gallery blocks.<\/li>\n<li>Improved Gallery editor previews for tablet and mobile breakpoints.<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Added custom-width mode for native Columns layouts.<\/li>\n<li>Added per-column responsive width and order controls for asymmetric layouts.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Added Query Loop grid support, including manual columns, auto-fit minimum width, and Masonry guardrails.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Added the shared breakpoint control panel, responsive gap inheritance, and bundled editor translations.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Improved CSS value sanitization, theme gap detection, editor preview targeting, and Masonry stability.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Reworked frontend HTML handling to use <code>WP_HTML_Tag_Processor<\/code> and improved asset loading fallbacks.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release.<\/li>\n<\/ul>","raw_excerpt":"Add responsive layout and spacing controls to native Gutenberg blocks \u2014 no custom blocks or builder lock-in.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/233054","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=233054"}],"author":[{"embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/specia1ne"}],"wp:attachment":[{"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=233054"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=233054"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=233054"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=233054"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=233054"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=233054"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}