diff --git a/packages/block-library/src/gallery/block.json b/packages/block-library/src/gallery/block.json index c089b6c9ffe92b..6fa43d279a80e4 100644 --- a/packages/block-library/src/gallery/block.json +++ b/packages/block-library/src/gallery/block.json @@ -13,6 +13,11 @@ "selector": "img", "attribute": "src" }, + "fullUrl": { + "source": "attribute", + "selector": "img", + "attribute": "data-full-url" + }, "link": { "source": "attribute", "selector": "img", diff --git a/packages/block-library/src/gallery/save.js b/packages/block-library/src/gallery/save.js index 49ff711aa6d637..638523c6554464 100644 --- a/packages/block-library/src/gallery/save.js +++ b/packages/block-library/src/gallery/save.js @@ -17,14 +17,23 @@ export default function save( { attributes } ) { switch ( linkTo ) { case 'media': - href = image.url; + href = image.fullUrl || image.url; break; case 'attachment': href = image.link; break; } - const img = {; + const img = ( + { + ); return (
  • diff --git a/packages/block-library/src/gallery/shared.js b/packages/block-library/src/gallery/shared.js index 15affe5c620394..7d40f3b90d62d3 100644 --- a/packages/block-library/src/gallery/shared.js +++ b/packages/block-library/src/gallery/shared.js @@ -10,5 +10,9 @@ export function defaultColumnsNumber( attributes ) { export const pickRelevantMediaFiles = ( image ) => { const imageProps = pick( image, [ 'alt', 'id', 'link', 'caption' ] ); imageProps.url = get( image, [ 'sizes', 'large', 'url' ] ) || get( image, [ 'media_details', 'sizes', 'large', 'source_url' ] ) || image.url; + const fullUrl = get( image, [ 'sizes', 'full', 'url' ] ) || get( image, [ 'media_details', 'sizes', 'full', 'source_url' ] ); + if ( fullUrl ) { + imageProps.fullUrl = fullUrl; + } return imageProps; };