Start here
What you change first
- The desks. Three labels is the number that reads; two is a split and five is a list of one-person teams.
- Who sits where. Rows are identical and independent, so moving a person between desks is moving one group of blocks.
- The sentence. One line each, about seventy characters, and it should say what that person does at that desk rather than repeat the role above it.
- The pictures. Point each row at your media library.
The signature moment
The label is the only thing that ranks anything
A team page usually ranks people: a founder first, a partner next, everybody else after. This one refuses to and ranks the WORK instead. Three desk labels, each closing its own group with a rule of its own, and inside a desk nobody is above anybody.
Theme handoff
What comes from where
From your theme
- Typeface.
- Palette.
- Spacing scale.
- The rules.
Set by this pattern
- A desk is a group, not a heading.
- Each desk carries its own top rule, and each row its own bottom rule.
- There is no column header.
- The portrait is a 4.5rem square, and the picture in it is a head crop.
- The portrait is part of the name, not a column of its own.
- The frames include example portraits.
- Fixed column proportions, and only two of them.
- Reading sizes, not preset sizes.
- No links, no actions.
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
The same directory rows as team-roster, cut into three named desks. A tracked desk label, its own top rule, then hairline rows carrying a square portrait the size of a thumb, a name, a tracked role and one line of what that person does. It is the roster for the visitor whose real question is which part of the studio somebody sits in.
The signature moment: the label is the only thing that ranks anything
A team page usually ranks people: a founder first, a partner next, everybody else after. This one refuses to and ranks the WORK instead. Three desk labels, each closing its own group with a rule of its own, and inside a desk nobody is above anybody.
That reads as an organisation chart without drawing one. A visitor arriving from a services page wants to know who does the thing they are here about, not who is senior, and three short labels answer that faster than ten job titles can. The label is a small tracked capital, sitting clear of its rule on the same left edge as everything else, so the three groups read as three shelves of the same object rather than three sections.
The device costs nothing structurally: a desk is a group with a top rule and its rows inside it, so adding a fourth desk is copying a group and moving rows between them is cut and paste. Every rule is currentColor, so the whole section survives a dark style variation without a single change.
Make it yoursVariations and the edits to make first
What you change first
- The desks. Three labels is the number that reads; two is a split and five is a list of one-person teams.
Practice / Delivery / Makingis copy, not furniture: a consultancy might wantAdvisory / Delivery / Research. - Who sits where. Rows are identical and independent, so moving a person between desks is moving one group of blocks. Two people to a desk is the floor; a desk of one reads as an apology.
- The sentence. One line each, about seventy characters, and it should say what that person does at that desk rather than repeat the role above it.
- The pictures. Point each row at your media library. They do not have to be shot square, but they do have to be cropped to the head and shoulders first: the frame centres what you give it, so a standing photograph loses the top of the head and keeps the shirt. At 72px the head is the only thing that carries.
Theme behaviourInheritance, fixed decisions and contrast
What it inherits from your theme
- Typeface. No font family is stated anywhere. The tension between the desk label, the name at reading size and the role in tracked caps is set entirely in your face.
- Palette. Ground on your
base, all type on yourcontrast, both as fallback chains ending on a colour WordPress guarantees. No second ground and no third colour: a directory that tints a desk is a directory that has chosen a colour for you. - Spacing scale. The air inside a row, the gap between the portrait and the name, and the gap between one desk and the next are core spacing presets, so the density follows your theme.
- The rules. Every hairline is
currentColor, never a colour we chose.
What it decides for itself
- A desk is a group, not a heading. The label is a paragraph, tracked and uppercase. A heading in this catalogue may not state its own case or tracking, and a desk name is a label rather than a level of the document outline: three
h3s between anh2and nothing would say the wrong thing about the page. - Each desk carries its own top rule, and each row its own bottom rule. So a desk is closed at both ends, a deleted row takes its hairline with it, and a deleted desk leaves nothing behind.
- There is no column header.
team-rosterearns one because the list is unbroken; here the desk labels already interrupt the column, and a header repeated three times would be noise while a header shown once would be stranded above the first desk only. - The portrait is a 4.5rem square, and the picture in it is a head crop. A square is the frame that matches a row: 72px, about the height of two lines of type, so the face sits inside the row instead of setting its height. What makes it read is the picture rather than the frame. Each example points at a separate head-and-shoulders file, not at a standing portrait squared off:
core/imagehas no focal point, so a square asked of a full-length shot centres on the chest and takes the crown off the head, and at 72px a waist-up frame is a torso with a face on top of it. - The portrait is part of the name, not a column of its own. The picture and the name sit in one flex row inside the name column, so they stay together when core stacks the row below 782px.
- The frames include example portraits. Their public image URLs travel with the copied pattern. Choose Replace to select photographs of your own team, keeping the crop and layout already set.
- Fixed column proportions, and only two of them. The name column is 34% and the role column 24%; the bio column states no width and takes what is left, so the name and role edges stay aligned down every desk while the sentence absorbs the difference.
- Reading sizes, not preset sizes. The bio and the name state their own
clamp()with floors of 15px and 16px. Core'ssmallpreset is 13px, which is a size a directory cannot afford to be wrong about. - No links, no actions. There is nothing tappable on a row.
Technical notesBlock mechanics, responsive behaviour and constraints
Included images
The copied markup includes example portraits of fictional people. 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. 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…