From 0d9d488e8cefa313ceea2b0a4b03320aedeb9576 Mon Sep 17 00:00:00 2001 From: Aki Hamano Date: Tue, 14 Apr 2026 20:20:25 +0900 Subject: [PATCH 1/2] Tabs: remove sequential numbering from new tab labels New tabs no longer receive auto-incremented "Tab N" labels and placeholders; users set their own titles instead. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../block-library/src/tab/add-tab-toolbar-control.js | 12 +++--------- packages/block-library/src/tabs-menu-item/edit.js | 8 ++------ packages/block-library/src/tabs/edit.js | 5 +++-- 3 files changed, 8 insertions(+), 17 deletions(-) diff --git a/packages/block-library/src/tab/add-tab-toolbar-control.js b/packages/block-library/src/tab/add-tab-toolbar-control.js index 1a6e27c3df1c29..4d50f73663e70e 100644 --- a/packages/block-library/src/tab/add-tab-toolbar-control.js +++ b/packages/block-library/src/tab/add-tab-toolbar-control.js @@ -1,7 +1,7 @@ /** * WordPress dependencies */ -import { sprintf, __ } from '@wordpress/i18n'; +import { __ } from '@wordpress/i18n'; import { createBlock } from '@wordpress/blocks'; import { BlockControls, @@ -22,13 +22,12 @@ import { useDispatch, useSelect } from '@wordpress/data'; export default function AddTabToolbarControl( { tabsClientId } ) { const { insertBlock } = useDispatch( blockEditorStore ); - const { tabPanelClientId, tabsMenuClientId, tabCount } = useSelect( + const { tabPanelClientId, tabsMenuClientId } = useSelect( ( select ) => { if ( ! tabsClientId ) { return { tabPanelClientId: null, tabsMenuClientId: null, - tabCount: 0, }; } const { getBlocks } = select( blockEditorStore ); @@ -42,7 +41,6 @@ export default function AddTabToolbarControl( { tabsClientId } ) { return { tabPanelClientId: tabPanel?.clientId || null, tabsMenuClientId: tabsMenu?.clientId || null, - tabCount: tabPanel?.innerBlocks?.length || 0, }; }, [ tabsClientId ] @@ -53,11 +51,7 @@ export default function AddTabToolbarControl( { tabsClientId } ) { return; } - const newTabBlock = createBlock( 'core/tab', { - /* translators: %d: tab number */ - label: sprintf( __( 'Tab %d' ), tabCount + 1 ), - } ); - insertBlock( newTabBlock, undefined, tabPanelClientId ); + insertBlock( createBlock( 'core/tab' ), undefined, tabPanelClientId ); // Insert a corresponding menu item into the tabs-menu. if ( tabsMenuClientId ) { diff --git a/packages/block-library/src/tabs-menu-item/edit.js b/packages/block-library/src/tabs-menu-item/edit.js index 01a1c6010c59b9..6bde5d3f383da2 100644 --- a/packages/block-library/src/tabs-menu-item/edit.js +++ b/packages/block-library/src/tabs-menu-item/edit.js @@ -6,7 +6,7 @@ import clsx from 'clsx'; /** * WordPress dependencies */ -import { __, sprintf } from '@wordpress/i18n'; +import { __ } from '@wordpress/i18n'; import { useBlockProps, store as blockEditorStore, @@ -138,11 +138,7 @@ function Edit( { diff --git a/packages/block-library/src/tabs/edit.js b/packages/block-library/src/tabs/edit.js index c78ab74ba5aab5..18c417a704f5d5 100644 --- a/packages/block-library/src/tabs/edit.js +++ b/packages/block-library/src/tabs/edit.js @@ -9,6 +9,7 @@ import { } from '@wordpress/block-editor'; import { useSelect, useDispatch } from '@wordpress/data'; import { useMemo, useEffect, useRef } from '@wordpress/element'; +import { __ } from '@wordpress/i18n'; /** * Internal dependencies @@ -41,14 +42,14 @@ const TABS_TEMPLATE = [ [ 'core/tab', { - label: 'Tab 1', + label: __( 'Tab' ), }, [ [ 'core/paragraph' ] ], ], [ 'core/tab', { - label: 'Tab 2', + label: __( 'Tab' ), }, [ [ 'core/paragraph' ] ], ], From 88b7c1dac5b29f837e4fd896fa2ba19a2104517b Mon Sep 17 00:00:00 2001 From: Aki Hamano Date: Tue, 14 Apr 2026 20:31:58 +0900 Subject: [PATCH 2/2] Tabs: use consistent default label for new tabs --- packages/block-library/src/tab/add-tab-toolbar-control.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/block-library/src/tab/add-tab-toolbar-control.js b/packages/block-library/src/tab/add-tab-toolbar-control.js index 4d50f73663e70e..4ed870549f8ca7 100644 --- a/packages/block-library/src/tab/add-tab-toolbar-control.js +++ b/packages/block-library/src/tab/add-tab-toolbar-control.js @@ -51,7 +51,10 @@ export default function AddTabToolbarControl( { tabsClientId } ) { return; } - insertBlock( createBlock( 'core/tab' ), undefined, tabPanelClientId ); + const newTabBlock = createBlock( 'core/tab', { + label: __( 'Tab' ), + } ); + insertBlock( newTabBlock, undefined, tabPanelClientId ); // Insert a corresponding menu item into the tabs-menu. if ( tabsMenuClientId ) {