From 8ab28e8649fb52685e31945d56ec1c07847cf504 Mon Sep 17 00:00:00 2001
From: Andrew Serong <14988353+andrewserong@users.noreply.github.com>
Date: Wed, 27 Aug 2025 12:18:04 +1000
Subject: [PATCH 1/2] Audio and Video: Hide caption and text tracks controls in
contentOnly mode
---
packages/block-library/src/audio/edit.js | 7 ++++++-
packages/block-library/src/video/edit.js | 25 +++++++++++++++---------
2 files changed, 22 insertions(+), 10 deletions(-)
diff --git a/packages/block-library/src/audio/edit.js b/packages/block-library/src/audio/edit.js
index 5b2737873fce44..2c36f2272571b6 100644
--- a/packages/block-library/src/audio/edit.js
+++ b/packages/block-library/src/audio/edit.js
@@ -22,6 +22,7 @@ import {
MediaPlaceholder,
MediaReplaceFlow,
useBlockProps,
+ useBlockEditingMode,
} from '@wordpress/block-editor';
import { __, _x } from '@wordpress/i18n';
import { useDispatch } from '@wordpress/data';
@@ -51,6 +52,8 @@ function AudioEdit( {
} ) {
const { id, autoplay, loop, preload, src } = attributes;
const [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );
+ const blockEditingMode = useBlockEditingMode();
+ const hasNonContentControls = blockEditingMode === 'default';
useUploadMediaFromBlobURL( {
url: temporaryURL,
@@ -264,7 +267,9 @@ function AudioEdit( {
isSelected={ isSingleSelected }
insertBlocksAfter={ insertBlocksAfter }
label={ __( 'Audio caption text' ) }
- showToolbarButton={ isSingleSelected }
+ showToolbarButton={
+ isSingleSelected && hasNonContentControls
+ }
/>
>
diff --git a/packages/block-library/src/video/edit.js b/packages/block-library/src/video/edit.js
index fbd724b2160a09..89a61efed1b464 100644
--- a/packages/block-library/src/video/edit.js
+++ b/packages/block-library/src/video/edit.js
@@ -20,6 +20,7 @@ import {
MediaPlaceholder,
MediaReplaceFlow,
useBlockProps,
+ useBlockEditingMode,
} from '@wordpress/block-editor';
import { useRef, useEffect, useState } from '@wordpress/element';
import { __ } from '@wordpress/i18n';
@@ -55,6 +56,8 @@ function VideoEdit( {
const { id, controls, poster, src, tracks } = attributes;
const [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );
const dropdownMenuProps = useToolsPanelDropdownMenuProps();
+ const blockEditingMode = useBlockEditingMode();
+ const hasNonContentControls = blockEditingMode === 'default';
useUploadMediaFromBlobURL( {
url: temporaryURL,
@@ -176,14 +179,16 @@ function VideoEdit( {
<>
{ isSingleSelected && (
<>
-
- {
- setAttributes( { tracks: newTracks } );
- } }
- />
-
+ { hasNonContentControls && (
+
+ {
+ setAttributes( { tracks: newTracks } );
+ } }
+ />
+
+ ) }
>
From bd675b582aab88c5242474457c92df6efa99c139 Mon Sep 17 00:00:00 2001
From: Andrew Serong <14988353+andrewserong@users.noreply.github.com>
Date: Wed, 27 Aug 2025 14:09:48 +1000
Subject: [PATCH 2/2] Reinstate Text tracks control
---
packages/block-library/src/video/edit.js | 18 ++++++++----------
1 file changed, 8 insertions(+), 10 deletions(-)
diff --git a/packages/block-library/src/video/edit.js b/packages/block-library/src/video/edit.js
index 89a61efed1b464..125b2cbc78741e 100644
--- a/packages/block-library/src/video/edit.js
+++ b/packages/block-library/src/video/edit.js
@@ -179,16 +179,14 @@ function VideoEdit( {
<>
{ isSingleSelected && (
<>
- { hasNonContentControls && (
-
- {
- setAttributes( { tracks: newTracks } );
- } }
- />
-
- ) }
+
+ {
+ setAttributes( { tracks: newTracks } );
+ } }
+ />
+