Start here
What you change first
- The pictures. Select the block and use "Fill items from media library": pick twelve at once and they are dealt into the frames in order.
- The frame. Select any item group and change its border in the block settings: width, style, radius.
- The mount. The item's padding is the mount's depth.
- The titles and dates. An
h3and a paragraph inside each mount. - Item width and height if your pictures are landscape rather than portrait.
The signature moment
The frames are the markup
Every other pattern that needs a frame ships a picture of one. These are drawn: a group border in your own ink around a mount painted in your base colour, with the title and the date sitting inside the mount under the picture. The block's own plate is switched off, so what you see framing each picture is the pattern, not the block. Change the border width and you have changed the frame.
Theme handoff
What comes from where
From your theme
Everything, including the frames. The border is currentColor, so it is whatever your theme sets as text on this section; the mount is your base and the section is your base too, so the mount reads as the frame's inside rather than a second colour. The titles are your face, the dates take role-label and fall back to contrast.
Nothing here states a colour or a family, which is why the frames survive a theme swap: they are a shape and a weight, not a palette.
Set by this pattern
Each slot is 260 by 340, stated, so the row is level and every picture is cropped to the same portrait shape whatever was uploaded. The gap is 36px, wider than the other marquees, because framed pictures need air between them or the frames read as one long rule. Two rows, running opposite ways, at 0.6 of the block's own speed: slower than the plated band, because a hung picture is meant to be looked at.
The band is exactly its two rows plus the gap. There is no separate band height to set: the row height is the one number.
Full pattern notes
Why it works, and how it is built
Open a topic for the complete design reasoning, editing guidance and implementation notes.
Design rationaleComposition, intent and nearest alternatives
Overview
Twelve pictures hung in drawn frames, running two rows deep past the section with the pointer driving them.
The signature moment: the frames are the markup
Every other pattern that needs a frame ships a picture of one. These are drawn: a group border in your own ink around a mount painted in your base colour, with the title and the date sitting inside the mount under the picture. The block's own plate is switched off, so what you see framing each picture is the pattern, not the block. Change the border width and you have changed the frame.
Two treatments alternate along the run: a heavy 12px solid frame and a lighter 5px double rule with a deeper mount. Nothing states a colour to do it, so a gallery on a dark theme is the same hang in reverse.
Why this is not gallery-marquee-frames
That one is a plated band: the block draws a card behind each picture and the pictures are landscape, cropped to one shape so the row reads as a run. This one turns the plate off and lets the markup dress each picture instead, in portrait, with a caption and a date inside the mount. The first is a moving strip of images; this is a wall being carried past you.
If you want the same look standing still, it is a grid; the point of putting it on a marquee is that a hang is longer than a screen.
Make it yoursVariations and the edits to make first
What you change first
- The pictures. Select the block and use "Fill items from media library": pick twelve at once and they are dealt into the frames in order. A title you have already written is never overwritten.
- The frame. Select any item group and change its border in the block settings: width, style, radius.
doubleandsolidare two of eight styles core offers, and the pattern uses them to alternate; set them all the same for a uniform hang. - The mount. The item's padding is the mount's depth. 18px and 22px here; more makes a museum, less makes a snapshot.
- The titles and dates. An
h3and a paragraph inside each mount. If anh3in a gallery upsets your page's heading order, change the level. - Item width and height if your pictures are landscape rather than portrait. The band follows the row height, so that is one number.
Theme behaviourInheritance, fixed decisions and contrast
What it inherits from your theme
Everything, including the frames. The border is currentColor, so it is whatever your theme sets as text on this section; the mount is your base and the section is your base too, so the mount reads as the frame's inside rather than a second colour. The titles are your face, the dates take role-label and fall back to contrast.
Nothing here states a colour or a family, which is why the frames survive a theme swap: they are a shape and a weight, not a palette.
What it decides for itself
Each slot is 260 by 340, stated, so the row is level and every picture is cropped to the same portrait shape whatever was uploaded. The gap is 36px, wider than the other marquees, because framed pictures need air between them or the frames read as one long rule. Two rows, running opposite ways, at 0.6 of the block's own speed: slower than the plated band, because a hung picture is meant to be looked at.
The band is exactly its two rows plus the gap. There is no separate band height to set: the row height is the one number.
Technical notesBlock mechanics, responsive behaviour and constraints
What needs the plugin
The running, the pointer control and the press-to-hold. The frames need nothing: they are core block borders and they are there with the plugin inactive, with motion switched off, and for a reader who asks for reduced motion. In that state the masthead is followed by the twelve framed pictures as a plain stack, still framed, still captioned.
Included images
The copied markup includes WordPress Photo Directory example photographs. The public image URLs keep the examples visible after pasting. Select an image or cover and choose Replace to use your own Media Library files. See image credits for the sources and licenses. Pasting an image URL does not import a Media Library attachment.
The markup
Core block markup and nothing else. Copy it, then paste it straight into the block editor: WordPress reads the delimiters and rebuilds the blocks.
Fetching the markup…