From ecd76501b7c3f87faf6cd6e0e53303a150d3d568 Mon Sep 17 00:00:00 2001 From: Ben Dwyer Date: Mon, 19 Jan 2026 12:22:31 +0000 Subject: [PATCH 1/5] Backport for Paragraph: Add text column support --- src/wp-includes/class-wp-theme-json.php | 1 + tests/phpunit/tests/theme/wpThemeJson.php | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/wp-includes/class-wp-theme-json.php b/src/wp-includes/class-wp-theme-json.php index f9965a754989a..3f2d8c245bf44 100644 --- a/src/wp-includes/class-wp-theme-json.php +++ b/src/wp-includes/class-wp-theme-json.php @@ -744,6 +744,7 @@ public static function get_element_class_name( $element ) { array( 'spacing', 'margin' ), array( 'spacing', 'padding' ), array( 'typography', 'lineHeight' ), + array( 'typography', 'textColumns' ), ); /** diff --git a/tests/phpunit/tests/theme/wpThemeJson.php b/tests/phpunit/tests/theme/wpThemeJson.php index 45bc0681b0223..f9d3e49a68934 100644 --- a/tests/phpunit/tests/theme/wpThemeJson.php +++ b/tests/phpunit/tests/theme/wpThemeJson.php @@ -291,7 +291,8 @@ public function test_get_settings_appearance_true_opts_in() { 'padding' => true, ), 'typography' => array( - 'lineHeight' => true, + 'lineHeight' => true, + 'textColumns' => true, ), 'blocks' => array( 'core/paragraph' => array( @@ -330,6 +331,7 @@ public function test_get_settings_appearance_true_opts_in() { ), 'typography' => array( 'lineHeight' => false, + 'textColumns' => true, ), ), ), From ce692db58cdbcd6277cce5c5c312f6ca162be453 Mon Sep 17 00:00:00 2001 From: Ben Dwyer Date: Mon, 19 Jan 2026 12:30:21 +0000 Subject: [PATCH 2/5] PHPCS --- tests/phpunit/tests/theme/wpThemeJson.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/phpunit/tests/theme/wpThemeJson.php b/tests/phpunit/tests/theme/wpThemeJson.php index f9d3e49a68934..705069bf64fd6 100644 --- a/tests/phpunit/tests/theme/wpThemeJson.php +++ b/tests/phpunit/tests/theme/wpThemeJson.php @@ -330,7 +330,7 @@ public function test_get_settings_appearance_true_opts_in() { 'padding' => true, ), 'typography' => array( - 'lineHeight' => false, + 'lineHeight' => false, 'textColumns' => true, ), ), From d72887df4f231d95ecdb0de0b5d18853d78d3fa3 Mon Sep 17 00:00:00 2001 From: Ben Dwyer Date: Mon, 19 Jan 2026 12:34:11 +0000 Subject: [PATCH 3/5] Paragraph: Add text column support (block.json) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds the textColumns support flag to the paragraph block's block.json file to enable CSS columns support. This completes the backport alongside the PHP changes already committed. Props: scruffian See: https://github.com/WordPress/gutenberg/pull/74656 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 --- src/wp-includes/blocks/paragraph/block.json | 81 +++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 src/wp-includes/blocks/paragraph/block.json diff --git a/src/wp-includes/blocks/paragraph/block.json b/src/wp-includes/blocks/paragraph/block.json new file mode 100644 index 0000000000000..9011e1c937ffb --- /dev/null +++ b/src/wp-includes/blocks/paragraph/block.json @@ -0,0 +1,81 @@ +{ + "$schema": "https://schemas.wp.org/trunk/block.json", + "apiVersion": 3, + "name": "core/paragraph", + "title": "Paragraph", + "category": "text", + "description": "Start with the basic building block of all narrative.", + "keywords": [ "text" ], + "textdomain": "default", + "attributes": { + "content": { + "type": "rich-text", + "source": "rich-text", + "selector": "p", + "role": "content" + }, + "dropCap": { + "type": "boolean", + "default": false + }, + "placeholder": { + "type": "string" + }, + "direction": { + "type": "string", + "enum": [ "ltr", "rtl" ] + } + }, + "supports": { + "align": [ "wide", "full" ], + "splitting": true, + "anchor": true, + "className": false, + "__experimentalBorder": { + "color": true, + "radius": true, + "style": true, + "width": true + }, + "color": { + "gradients": true, + "link": true, + "__experimentalDefaultControls": { + "background": true, + "text": true + } + }, + "spacing": { + "margin": true, + "padding": true, + "__experimentalDefaultControls": { + "margin": false, + "padding": false + } + }, + "typography": { + "fontSize": true, + "lineHeight": true, + "textAlign": true, + "__experimentalFontFamily": true, + "__experimentalTextDecoration": true, + "__experimentalFontStyle": true, + "__experimentalFontWeight": true, + "__experimentalLetterSpacing": true, + "__experimentalTextTransform": true, + "__experimentalWritingMode": true, + "fitText": true, + "textColumns": true, + "__experimentalDefaultControls": { + "fontSize": true + } + }, + "__experimentalSelector": "p", + "__unstablePasteTextInline": true, + "interactivity": { + "clientNavigation": true + } + }, + "editorStyle": "wp-block-paragraph-editor", + "style": "wp-block-paragraph" +} From 861dc9c650995fd0a3703956cd0c128c1eed3e8a Mon Sep 17 00:00:00 2001 From: "wordpress-develop-pr-bot[bot]" <1178653+wordpress-develop-pr-bot[bot]@users.noreply.github.com> Date: Mon, 19 Jan 2026 12:37:25 +0000 Subject: [PATCH 4/5] Automation: Updating built files with changes. --- src/wp-includes/blocks/paragraph/block.json | 1 - 1 file changed, 1 deletion(-) diff --git a/src/wp-includes/blocks/paragraph/block.json b/src/wp-includes/blocks/paragraph/block.json index 9011e1c937ffb..64b65eefc7e4a 100644 --- a/src/wp-includes/blocks/paragraph/block.json +++ b/src/wp-includes/blocks/paragraph/block.json @@ -65,7 +65,6 @@ "__experimentalTextTransform": true, "__experimentalWritingMode": true, "fitText": true, - "textColumns": true, "__experimentalDefaultControls": { "fontSize": true } From 86c1ee29edd56c2f7220f5ab5957183358651ceb Mon Sep 17 00:00:00 2001 From: Ben Dwyer Date: Tue, 20 Jan 2026 08:18:21 +0000 Subject: [PATCH 5/5] remove block.json --- src/wp-includes/blocks/paragraph/block.json | 80 --------------------- 1 file changed, 80 deletions(-) delete mode 100644 src/wp-includes/blocks/paragraph/block.json diff --git a/src/wp-includes/blocks/paragraph/block.json b/src/wp-includes/blocks/paragraph/block.json deleted file mode 100644 index 64b65eefc7e4a..0000000000000 --- a/src/wp-includes/blocks/paragraph/block.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "$schema": "https://schemas.wp.org/trunk/block.json", - "apiVersion": 3, - "name": "core/paragraph", - "title": "Paragraph", - "category": "text", - "description": "Start with the basic building block of all narrative.", - "keywords": [ "text" ], - "textdomain": "default", - "attributes": { - "content": { - "type": "rich-text", - "source": "rich-text", - "selector": "p", - "role": "content" - }, - "dropCap": { - "type": "boolean", - "default": false - }, - "placeholder": { - "type": "string" - }, - "direction": { - "type": "string", - "enum": [ "ltr", "rtl" ] - } - }, - "supports": { - "align": [ "wide", "full" ], - "splitting": true, - "anchor": true, - "className": false, - "__experimentalBorder": { - "color": true, - "radius": true, - "style": true, - "width": true - }, - "color": { - "gradients": true, - "link": true, - "__experimentalDefaultControls": { - "background": true, - "text": true - } - }, - "spacing": { - "margin": true, - "padding": true, - "__experimentalDefaultControls": { - "margin": false, - "padding": false - } - }, - "typography": { - "fontSize": true, - "lineHeight": true, - "textAlign": true, - "__experimentalFontFamily": true, - "__experimentalTextDecoration": true, - "__experimentalFontStyle": true, - "__experimentalFontWeight": true, - "__experimentalLetterSpacing": true, - "__experimentalTextTransform": true, - "__experimentalWritingMode": true, - "fitText": true, - "__experimentalDefaultControls": { - "fontSize": true - } - }, - "__experimentalSelector": "p", - "__unstablePasteTextInline": true, - "interactivity": { - "clientNavigation": true - } - }, - "editorStyle": "wp-block-paragraph-editor", - "style": "wp-block-paragraph" -}