diff --git a/packages/block-editor/src/hooks/block-bindings.js b/packages/block-editor/src/hooks/block-bindings.js index 87ab4e3632..79c5d3db8e 100644 --- a/packages/block-editor/src/hooks/block-bindings.js +++ b/packages/block-editor/src/hooks/block-bindings.js @@ -473,7 +473,15 @@ export const BlockBindingsPanel = ( { name: blockName, metadata } ) => { ( source ) => source.data ); - return readOnly || ! hasCompatibleData ? ( + // Check if the attribute has bindingsUI with readOnly mode. + const blockType = getBlockType( blockName ); + const isAttributeReadOnly = + blockType?.attributes?.[ attribute ]?.editorUI + ?.mode === 'readOnly'; + + return readOnly || + ! hasCompatibleData || + isAttributeReadOnly ? (