Text & Typography
Paragraph
The foundational body-copy block. Supports font size, color, drop cap, and all inline formats (bold, italic, link, code, highlight, strikethrough).
This paragraph has a drop cap enabled for editorial impact. The Paragraph block is the most-used block in WordPress — it supports bold, italic, hyperlinks, inline code, and highlighted text. Font size, line height, and letter spacing are all configurable per-block in the sidebar Typography panel.
How to use the Paragraph block
- Add with “/” and type “Paragraph,” or just start typing anywhere in an empty block area.
- Use the floating toolbar for Bold, Italic, Link, Inline Code, and Highlight.
- Enable Drop Cap in the block sidebar for editorial/magazine-style opening paragraphs.
- Avoid overriding font sizes at the block level — prefer global Typography settings in the Site Editor for consistency.
- Use the Text Alignment toolbar button (left, center, right) to control paragraph alignment.
Heading
Renders H1–H6 semantic headings. Controls page hierarchy and SEO structure. Each heading supports custom color, font size, text alignment, and an HTML anchor for jump-link targets.
Heading Level 1 — Page / Post Title
Heading Level 2 — Major Section
Heading Level 3 — Subsection
Heading Level 4 — Sub-subsection
Heading Level 5 — Minor Label
Heading Level 6 — Smallest Semantic Heading
How to use the Heading block
- Use only one H1 per page — typically the post or page title.
- Follow a logical hierarchy: H2 for major sections → H3 for subsections. Never skip levels.
- Set an HTML Anchor (Advanced tab in sidebar) to create jump-link targets for long pages.
- Apply custom color or font size adjustments in the sidebar, but prefer global styles for consistency.
- Heading level and visual size are independent — you can style an H2 to look like an H4 without changing semantics.
List
Unordered (bulleted) and ordered (numbered) lists with support for nested items. Each list item is individually editable and supports inline formatting.
Unordered List:
- First list item
- Second list item
- Nested child item
- Another nested item
- Third list item
Ordered List:
- Step one
- Step two
- Sub-step A
- Sub-step B
- Step three
How to use the List block
- Switch between unordered / ordered using the toolbar toggle at the top of the block.
- Press Tab to indent a list item (create a nested child); Shift+Tab to outdent.
- Use the Start Value option (sidebar) to begin an ordered list at a number other than 1.
- Style variants: Default and No Bullets (available in the Styles panel).
- Avoid deeply nested lists (3+ levels) — they’re hard to read on mobile.
Quote
A styled blockquote for testimonials, attributed statements, or passages from external sources. Includes an optional citation field below the quoted text.
Design is not just what it looks like and feels like. Design is how it works.
Steve Jobs, Apple
How to use the Quote block
- The citation field (below the quote text) is for attribution — name, title, source, or publication.
- Switch to the Large style variant (Styles panel) for more prominent editorial quotes.
- Other blocks can be nested inside a Quote — useful for multi-paragraph attributed passages.
- For decorative pull quotes displayed visually mid-column, prefer the Pullquote block instead.
Pullquote
A visually prominent, centered quote designed to stand out from the body. Ideal for editorial emphasis, magazine-style layouts, and case study highlights. Supports custom border colors and background fills.
The details are not the details. They make the design.
Charles Eames
How to use the Pullquote block
- Choose between Default and Solid Line styles in the block Styles panel.
- Customize background color and text color for branded, on-theme quote styling.
- The citation field is optional but recommended for attributed quotes.
- Use sparingly — one per long-form post maintains visual impact.
- Consider Wide Width alignment to break the quote out of the text column.
Verse
A preformatted block that preserves whitespace and manual line breaks as entered. Ideal for poetry, song lyrics, or any content where line breaks carry meaning.
Two roads diverged in a yellow wood, And sorry I could not travel both And be one traveler, long I stood And looked down one as far as I could To where it bent in the undergrowth.
How to use the Verse block
- Unlike Paragraph, Verse preserves hard line breaks exactly as typed — no <br> tags needed.
- Accepts inline formatting (bold, italic, links) — unlike the Code block.
- Adjust font family in the sidebar for a more literary or typewriter aesthetic.
- Use for poetry, lyrics, or structured plain text. Use the Code block for actual code snippets.
Code
Renders a block of code in a monospaced, preformatted container. HTML is automatically escaped so markup displays as literal text, not rendered output. Best for short code samples and snippets.
function greetUser( name ) {
const message = `Hello, ${ name }! Welcome to the design system.`;
console.log( message );
return message;
}
greetUser( 'Vital Design' );
How to use the Code block
- Paste raw code — HTML entities are auto-escaped so tags display as text, not rendered HTML.
- No syntax highlighting is included natively — install a plugin (Prismatic, Enlighter, Code Syntax Block) for colored syntax.
- The font family and size can be adjusted in the sidebar Typography settings.
- For multi-file examples or documentation, consider a dedicated code block plugin with language tabs.
Preformatted
Renders text inside a <pre> tag with all whitespace and line breaks preserved. Unlike the Code block, Preformatted does not apply code-specific styling and accepts inline formatting. Best for terminal output, ASCII art, or tabular plain text.
Name Role Status Alice Chen Lead Developer Active Bob Martin Visual Designer Active Carol White QA Engineer On Leave Dave Torres Project Manager Active
How to use the Preformatted block
- Use when exact spacing and line breaks must be preserved without code-block styling.
- Accepts inline formatting (bold, italic, links) — unlike the Code block.
- Good for terminal output, ASCII diagrams, or plain-text data tables.
- For actual programming code, the Code block is more semantically appropriate.
Table
A structured data block for rows and columns. Supports optional header and footer rows, fixed-width columns, and two visual style variants: Default and Stripes.
| Component | Type | Status | Last Updated | Owner |
|---|---|---|---|---|
| Button | UI Element | Stable | Jan 2025 | Design |
| Card | Layout Pattern | Stable | Feb 2025 | Design |
| Navigation | Global UI | In Review | Mar 2025 | Dev |
| Modal | UI Overlay | In Progress | — | Dev |
| 4 Components |
How to use the Table block
- Set column and row count in the initial setup modal before creating the table.
- Enable Fixed Width Table Cells (sidebar) for equal-width columns.
- Toggle Header Section and Footer Section (sidebar) to add semantic <thead> and <tfoot> rows.
- Use the Stripes style variant for improved readability on wide data tables.
- Right-click any cell to access Insert Row/Column and Delete Row/Column options.
Media
Image
The core image block. Upload from your device, select from the Media Library, or link to an external URL. Supports alignment (left, center, right, wide, full), alt text, captions, image linking, and custom CSS.
How to use the Image block
- Always fill in the Alt Text field — required for accessibility (WCAG) and SEO.
- Use Wide Width or Full Width alignment to break an image outside the content column for hero-style presentation.
- Link options: Media File (lightbox), Attachment Page, Custom URL, or None.
- Upload at 2× display size for retina screens (e.g., upload 2400px wide for a 1200px full-width display).
- Use the Image Size dropdown in the sidebar to serve the appropriate registered size — don’t always use Full Size.
- Decorative images (borders, dividers) with no meaning can have empty alt text (alt=””) — never omit the attribute entirely.
Gallery
A responsive grid of multiple images with configurable column count, uniform cropping, and link behavior. Each image within the gallery supports its own alt text and caption.
How to use the Gallery block
- Set column count (1–8) in the sidebar — the gallery is responsive and stacks on mobile automatically.
- Enable Crop Images to maintain a consistent aspect ratio across all images in the grid.
- Rearrange individual images via drag-and-drop inside the gallery block.
- Set Link To: Media File to enable a lightbox on click (requires a lightbox plugin or theme support for the lightbox UI).
- Click any individual image in the gallery to edit its alt text or caption independently.
Video
Embeds a self-hosted video file from the Media Library or a direct URL. Supports autoplay, loop, muted playback, and poster image. For YouTube or Vimeo, use the Embed block instead.
How to use the Video block
- Use for self-hosted .mp4, .webm, or .ogg files — not YouTube/Vimeo (those are Embed blocks).
- Enable Muted + Autoplay + Loop and hide controls for a background/ambient video effect.
- Always add a Poster Image (the frame shown before playback) for better first-load UX.
- Self-hosting large video files increases bandwidth costs — consider a CDN or third-party host (Vimeo, Cloudinary) for production.
- Add a caption for context; it also aids accessibility for users who cannot view video.
Audio
Embeds a self-hosted audio file using the native browser player. Supports autoplay, loop, and preload options. Accepts .mp3, .ogg, .wav, and other web audio formats from the Media Library or a URL.
How to use the Audio block
- Use for podcasts, music previews, soundbites, and instructional audio clips.
- Upload via the Media Library or link to an external audio URL.
- Autoplay and Loop options are in the block sidebar — use sparingly to avoid surprising users.
- Always include surrounding text or a caption to give screen reader users context for the audio content.
Cover
A full-width image or video background block with overlaid content. The primary block for hero sections, section banners, and CTAs. Features include overlay opacity, focal point picker, fixed/parallax background, and minimum height control.
Cover Block Headline
Subheadline or supporting copy. Add a button below for a call-to-action. Any block type can live inside the Cover.
How to use the Cover block
- Use the Focal Point Picker to control which part of the background stays in frame when the cover is cropped on different screen sizes.
- Enable Fixed Background for a parallax scroll effect (may not work on all mobile browsers).
- Adjust Overlay Opacity to balance text legibility against background image visibility.
- Set a Minimum Height (px or vh) to prevent the Cover from collapsing on sparse content.
- Use Wide Width or Full Width alignment for hero sections that span the full viewport.
- Any block type can be placed inside the Cover — headings, paragraphs, buttons, forms, etc.
File
Displays a downloadable file link with a button. Shows the filename and file format. Configurable to show or hide the download button, open in new tab, and embed PDFs directly in the browser.
How to use the File block
- Upload files via the Media Library or link to an external file URL.
- Toggle the Download button visibility in the block sidebar.
- Click the filename text in the editor to rename the visible link label.
- Enable Open in New Tab to prevent navigating users away from the current page.
- Enable the PDF Embed toggle to render PDF previews inline in supported browsers.
Media & Text
A side-by-side layout pairing a media element (image or video) with a freeform text area. Ideal for feature highlights, team bios, product descriptions, and any content benefiting from a visual + copy pairing. Supports image-left and image-right layouts.
Feature Headline
Use the Media & Text block to pair an image or video alongside a content area. Flip the media position left or right, adjust the column split ratio, and vertically align content to top, center, or bottom.
How to use the Media & Text block
- Toggle media position (left/right) using the Media Position button in the block toolbar.
- Adjust the Media Width percentage slider (sidebar) for custom column splits (e.g., 60/40).
- Enable Stack on Mobile to vertically stack media above content on small screens.
- Use the Focal Point Picker to control image crop behavior inside the media panel.
- The text area accepts any block type — headings, paragraphs, lists, buttons, etc.
Design & Layout
Group
A container block that wraps any other blocks. Used to apply shared background colors, padding, borders, border radius, and layout context. The foundational building block for sections, cards, and any composed layout pattern in FSE.
Group Block — Card Example
This Group has a light indigo background, 28px padding on all sides, and 8px rounded corners. Any blocks placed inside inherit this container’s layout context. Groups are the primary tool for creating cards, colored sections, bordered containers, and padded content areas.
How to use the Group block
- Group is the primary FSE layout primitive — use it to create cards, sections, and containers.
- Layout type options: Block (default stacked), Row (flex horizontal), Stack (flex vertical), Grid.
- Apply background color + padding + border radius to create visually distinct content sections.
- Nest Groups: a Full Width outer Group with a constrained inner Group creates a colored full-bleed section with centered content.
- Use the “Inner Blocks Use Content Width” toggle to constrain inner content to the theme’s content width inside a wide Group.
Columns
A multi-column layout block. Choose from preset arrangements (50/50, 33/33/33, 70/30, etc.) or set custom widths per column. Each column is an independent content area accepting any block. Stacks vertically on mobile by default.
Column One
Each column accepts any block type — paragraphs, images, buttons, or even nested Groups and Columns for complex layouts.
Column Two
Columns stack vertically on mobile. Set a custom Width % per column in the sidebar for asymmetric splits like 66/33.
Column Three
Add background color, border, and padding to individual columns to create card-grid patterns without a plugin.
How to use the Columns block
- Select the column count and preset layout in the initial modal that appears on insert.
- Set a custom Width % per column in the sidebar to create asymmetric layouts (e.g., 66/33).
- Style individual Column blocks independently with background, border, and padding for card-grid designs.
- Columns stack on mobile by default — consider content order and hierarchy when building for responsiveness.
- Nest Columns inside Groups for full-bleed colored section layouts with multi-column interiors.
Row
A horizontal flex layout container (a Group with Flex Row layout). Arranges child blocks side-by-side with justification and wrap controls. Ideal for icon + text combos, inline button groups, logo bars, and horizontal navigation patterns.
Row Item One
Row Item Two
Row Item Three
Row Item Four
How to use the Row block
- Insert via the block inserter by selecting “Row” — it’s a Group with Flex Row layout pre-applied.
- Justification options: Left, Center, Right, Space Between (toolbar or sidebar).
- Enable “Allow to wrap to multiple lines” for responsive behavior on small screens.
- Good for: logo bars, icon grids, tag/pill rows, inline CTAs, header logo + nav combos.
- Nest Rows inside Columns for complex multi-directional grid layouts.
Stack
A vertical flex layout container (a Group with Flex vertical layout). Controls spacing between child blocks using a configurable gap value rather than block margins. Perfect for card interiors with consistent internal spacing.
Stack — Card Interior
The Stack block controls vertical spacing between children via Block Gap rather than individual margins. This ensures consistent internal spacing without per-block overrides.
How to use the Stack block
- Insert via the block inserter and selecting “Stack” (Group with vertical Flex layout pre-applied).
- Control spacing between children using the Block Gap value in the sidebar Dimensions panel.
- Use the Justification option to align all children to left, center, or right.
- Ideal for card interiors where consistent internal spacing is needed without manual margin adjustments on each child block.
Buttons
A container holding one or more Button blocks. Supports horizontal or vertical layout with wrap. Each button has Fill, Outline, and custom style variants. Buttons link to any URL, page, anchor, or email address.
How to use the Buttons block
- Multiple buttons inside a single Buttons wrapper automatically arrange horizontally with wrapping.
- Each Button block has its own link, style (Fill/Outline), border radius, and color settings.
- Use the Justify Items option on the Buttons container to align the group left, center, or right.
- Open in New Tab is available per-button via the link settings gear icon.
- For accessibility, use descriptive link text (“Download the Report”) instead of generic labels (“Click Here” / “Learn More”).
Separator
A horizontal rule (<hr>) for visually dividing sections. Three style variants: Default (solid, content-width), Wide (full-width), and Dots.
Default style:
Wide style:
Dots style:
How to use the Separator block
- Select a style variant (Default, Wide, Dots) in the block Styles panel on the right sidebar.
- Customize the separator color via the Color settings in the sidebar.
- Default style is constrained to content width; Wide spans the full container width.
- Use between major content sections — avoid overuse to maintain visual rhythm.
Spacer
An invisible block that adds precise vertical whitespace. Height is adjustable by dragging the bottom handle or entering an exact value in the sidebar. Use when theme spacing tokens aren’t sufficient.
↓ 60px spacer below this line:
↑ Spacer ends here.
How to use the Spacer block
- Drag the bottom handle to resize visually, or enter an exact pixel value in the sidebar.
- Use sparingly — prefer padding/margin settings on Group blocks for systemic, token-based spacing.
- Spacers are aria-hidden and invisible to screen readers — they are purely presentational.
- Useful as a quick fix for one-off spacing needs that don’t warrant a global style change.
Details (Disclosure)
A native HTML <details>/<summary> accordion block. The summary label is always visible; inner content expands on click with zero JavaScript. Used throughout this page for all usage notes. Added in WordPress 6.3.
Click to expand this Details block example
This content is hidden by default and revealed on click. Use the Details block for FAQs, terms & conditions, supplemental information, or any content that benefits from progressive disclosure.
- Any block type can live inside a Details block.
- Details blocks can be nested inside other Details blocks for multi-level accordions.
- No JavaScript is required — it’s native HTML behavior.
How to use the Details block
- Click the Summary text inside the block to edit the always-visible label.
- Add any block inside the Details body — paragraphs, lists, images, or even nested Details.
- Requires WordPress 6.3+ — verify your site version before using.
- For FAQ sections, stack multiple Details blocks vertically inside a Group container.
- Style the summary and interior with Typography and Color settings in the sidebar.
Custom HTML
A freeform HTML block for markup that falls outside the standard block system. Renders raw HTML as-is. Used for third-party embeds, custom scripts, legacy HTML, iframes, and SVGs.
<div class="custom-widget">
<p>This content is rendered from raw HTML markup.</p>
<!– iframes, scripts, SVGs, and third-party widgets go here –>
</div>
How to use the Custom HTML block
- Paste any raw HTML — it renders unescaped on the front end exactly as entered.
- Toggle between Edit (code view) and Preview (rendered output) using the toolbar buttons.
- Common uses: third-party form embeds, custom SVG icons, JavaScript widgets, legacy shortcode HTML.
- Some HTML may be filtered by WordPress security settings — admin-level users can typically render <script> tags; editors/contributors cannot.
- Avoid using Custom HTML for content that could instead be handled by a native block.
Classic
The legacy TinyMCE WYSIWYG editor embedded as a single block. Preserves HTML output from the Classic Editor plugin or pre-Gutenberg content migrations. Use sparingly in FSE environments.
This is a Classic block — it uses the legacy TinyMCE editor. It exists for backward compatibility with content imported from the Classic Editor. On new FSE builds, avoid creating new Classic blocks and convert any existing ones to native blocks using the “Convert to Blocks” option in the block toolbar.
How to use the Classic block
- The Classic block appears when importing content from the Classic Editor or older WordPress installations.
- To modernize content, click the block and use “Convert to Blocks” in the block toolbar — this splits the HTML into individual native blocks.
- Avoid creating new Classic blocks on FSE sites — they bypass block-level styling controls.
- Use only as a temporary bridge for migrated content while converting to native blocks.
Theme Blocks
Theme blocks output dynamic data from WordPress — site identity, post content, author info, navigation, and more. They are primarily built into templates via the Site Editor, but can be placed on pages for reference and QA testing.
Site Logo
Outputs the site logo set in Settings → General (or the Site Editor Site Identity settings). Links to the homepage by default. Width is adjustable in the sidebar.
How to use the Site Logo block
- The logo must be set in Settings → General → Site Icon & Logo (or via the Site Editor).
- Adjust width using the Image Width slider in the sidebar — the logo scales proportionally.
- Primarily used in the Header template part — place on pages for branding reference and QA.
- The logo links to the homepage by default; disable the link in the sidebar if needed.
Site Title
Outputs the site name from Settings → General. Displays as a link to the homepage by default. Configurable as any heading level (H1–H6) or a paragraph element.
Cora
How to use the Site Title block
- The title text pulls from Settings → General → Site Title — edit it there, not in the block.
- Set the heading level in the sidebar — use H1 on the homepage template, H2 or P on other templates.
- Disable the link option in the sidebar for static (non-clickable) site title text.
Site Tagline
Outputs the site tagline from Settings → General. Purely presentational text typically displayed beneath the site title in header areas.
The WordPress Operating System for Digital Marketers
How to use the Site Tagline block
- Edit the tagline text at Settings → General → Tagline — not within the block itself.
- Often hidden on production sites via CSS or block visibility settings.
- Can be styled independently from the Site Title using Typography settings in the sidebar.
Navigation
Renders a saved navigation menu with full support for nested dropdowns, Search, Social Links, and custom icon buttons. Navigation menus are managed in the Site Editor and can be shared across templates.
How to use the Navigation block
- Add menu items directly in the block or select a saved Navigation from the sidebar dropdown.
- Add sub-items by hovering a link and clicking the “Add submenu” button — creates dropdown navigation.
- Overlay Menu setting controls when the hamburger activates: Always, Never, or Mobile (default).
- Add a Search or Social Links block inside Navigation for inline search/social icon support.
- Navigation menus saved in the Site Editor appear as shared menus reusable across all templates.
Query Loop
A dynamic block that queries and displays a list of posts (or any post type). The most powerful native block for blog listings, archive grids, and filtered content feeds. Replaces the classic PHP loop in FSE.
How to use the Query Loop block
- Configure post type, count, order, and taxonomy filters in the Query block’s sidebar settings.
- The Post Template inner block defines how each individual post item is displayed — customize freely.
- Add Query Pagination (Previous, Numbers, Next) inside the Query block for multi-page archives.
- Add a Query No Results block inside as a fallback message when no posts match.
- On archive/taxonomy templates, enable “Inherit Query from Template” to use the page’s current query context automatically.
- Use multiple Query Loop blocks on a single page for “Featured Posts” + “Recent Posts” patterns.
Post Meta Blocks
A suite of individual dynamic blocks for post metadata. Used inside Query Loop card templates, single post templates, or anywhere post context is available: Post Featured Image, Post Title, Post Date, Post Author, Post Excerpt, Post Terms.
Native Blocks
Text & Typography Paragraph The foundational body-copy block. Supports font size, color, drop cap, and all inline formats (bold, italic, link, code, highlight, strikethrough). This paragraph has a drop cap…
How to use Post Meta blocks
- Post Featured Image: Set dimensions, aspect ratio, and whether it links to the single post.
- Post Title: Set heading level — H1 on single post template, H2 or H3 inside Query Loop cards.
- Post Date: Choose display format (e.g., “January 1, 2025” vs. “2025-01-01”) in the sidebar.
- Post Author: Toggle avatar visibility, author name link, and biography text display.
- Post Excerpt: Set excerpt word count limit and customize the “read more” link text.
- Post Terms: Select the taxonomy to display (category, tag, or any custom taxonomy). Set a separator string between multiple terms.
Post Navigation Link
Renders a Previous Post or Next Post link relative to the current single post. Used in single post templates to enable sequential navigation. Pair one Previous and one Next block side-by-side inside a Row Group.
How to use the Post Navigation Link block
- Use two blocks — one set to “Previous,” one set to “Next” — placed side-by-side in a Row Group.
- Enable Show Post Title to display the adjacent post’s title alongside the direction label.
- This block only produces output on single post templates — it renders empty on standard pages.
- Add an arrow character (← / →) to the Label field for a clear visual direction cue.
Comments
The full comments section wrapper containing comment list, comment form, pagination, and count. Used in single post templates. Inner blocks define the layout of each individual comment.
How to use the Comments block
- The Comments block wraps all comment-related inner blocks — edit each independently for full control.
- Comment Template defines the layout of each individual comment (avatar, author name, date, content, reply link).
- Comments must be enabled in Settings → Discussion for this block to render output.
- Used primarily in the Single Post template in the Site Editor.
- Style the Post Comments Form with CSS custom properties or theme.json to match your design system.
Login/out
Conditionally shows a “Log in” or “Log out” link based on the visitor’s authentication status. Used in headers and navigation for member-facing sites, client portals, or sites with user accounts.
How to use the Login/out block
- Toggle “Display Login as Form” to show an inline login form instead of a link.
- Logged-out visitors see “Log In”; logged-in users see “Log Out” — no conditional logic required.
- Customize the redirect URL after login/logout in the block’s Advanced settings.
- Useful inside Navigation blocks for sites with memberships, subscriptions, or client portals.
Template Part
References a reusable template part stored in the Site Editor (e.g., header, footer, sidebar). Editing the template part updates all instances across every template automatically.
How to use the Template Part block
- Select which template part to reference from the dropdown in the block sidebar.
- Create and edit template parts in the Site Editor → Template Parts.
- Common parts: header, footer, sidebar, post-meta, comments.
- Edits to a template part propagate everywhere it's used — ideal for global header/footer UI.
- To create a new part, insert a Template Part block and click "Start blank" or "Choose existing."
Post Content
Renders the full content of the current post or page. Used exclusively in single post and page templates in the Site Editor. This block is what outputs the block editor content from the post's edit screen.
How to use the Post Content block
- This block exists only inside templates — it acts as a placeholder for the post's actual content.
- Place it in the Single Post, Page, or any content template in the Site Editor.
- You can wrap the Post Content block in a Group with constrained layout to control max-width of post content.
- Do not use this block on pages that have their own block content — it is a template-level dynamic output only.
Widgets
Widget blocks output dynamic site data and are typically placed in sidebars, footers, and auxiliary template areas. They include search, recent posts, categories, archives, social links, and more.
Search
A site search form with configurable label, placeholder text, and button. The button can display as text, an icon, or be hidden entirely. Button position (inside or outside the input) is adjustable.
How to use the Search block
- Set button position: Button Outside (default), Button Inside, or No Button.
- Enable "Use Button Icon" to replace the button text with a magnifying glass icon.
- Customize the placeholder text for contextual search fields (e.g., "Search documentation…").
- Style the button using Color and Typography settings in the sidebar to match your design system.
Latest Posts
Displays a configurable list or grid of recent posts with options for featured image, excerpt, date, and author. A simpler alternative to Query Loop for basic recent-post widgets in sidebars and footers.
How to use the Latest Posts block
- Adjust Posts to Show, Layout (List/Grid), and Columns in the sidebar.
- Toggle Featured Image, Post Date, Author, and Post Excerpt independently as needed.
- For full control over post card layout and custom queries, use the Query Loop block instead.
- Filter by Category in the sidebar to show posts from a specific category only.
Latest Comments
Shows the most recent comments site-wide with configurable count and optional avatar, date, and excerpt display. Typically used in sidebar widgets for community-driven sites.
How to use the Latest Comments block
- Set the number of comments to display (1–100) in the sidebar.
- Toggle Avatar, Date, and Excerpt display independently.
- Comments must be enabled (Settings → Discussion) for this block to render output.
- Best suited for blog sidebars or footer widgets on community or news-heavy sites.
Categories
Renders a list or dropdown of all post categories. Each category links to its archive page. Supports post counts, hierarchical nesting, and optional empty-category display.
- Alpha (8)
- Beta (5)
- Delta (9)
- Gamma (7)
- Uncategorized (14)
How to use the Categories block
- Enable "Display as Dropdown" to render a <select> element for compact sidebar navigation.
- Enable "Show Hierarchy" to visually display parent/child category relationships.
- Enable "Show Post Counts" to append the number of posts per category in parentheses.
- Enable "Show Empty Categories" to include categories with no posts (hidden by default).
Archives
A list of post archives by date period (monthly by default), each linking to the corresponding archive page. Supports dropdown format and optional post count display. Best for blog sidebars.
- May 2025 (20)
How to use the Archives block
- Type options: Monthly (default), Yearly, Daily, Weekly.
- Enable "Display as Dropdown" for a compact <select> version of the archives list.
- Enable "Show Post Counts" to display how many posts exist per archive period.
- Works best on content-heavy blogs and news sites with years of archive history.
Calendar
Renders a monthly calendar with published post dates highlighted as links to daily archives. A legacy widget-era block with minimal styling options. Navigate months with the previous/next arrows.
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | ||
How to use the Calendar block
- Dates with published posts become clickable links to that day's archive page.
- Use the previous/next month arrows to navigate.
- Styling is largely theme-controlled — the block has very limited sidebar options.
- Rarely used on modern marketing sites; more relevant for high-frequency news or event-based blogs.
Tag Cloud
A visual cloud of tags scaled by post frequency — more-used tags render larger. Configurable tag count, taxonomy, and min/max font sizes. Each tag links to its archive page.
How to use the Tag Cloud block
- Set the Number of Tags to display — the most frequently used tags are shown.
- Adjust Smallest and Largest Font Size to define the visual weight range.
- Select any registered taxonomy (Tags, Categories, or custom) in the sidebar.
- Enable "Show Post Counts" to append tag usage numbers in parentheses after each tag.
RSS
Fetches and displays items from any external RSS or Atom feed URL. Configurable item count, and optional date, author, and excerpt display. Use for news feeds, partner blogs, or podcast listings.
- WordCamp Asia 2026 brought the global WordPress community to Mumbai, India, from April 9–11, gathering contributors, organizers, sponsors, speakers, and […]
- WordCamp Asia 2026 will be available to watch live across three days of streaming, making it easy for the global […]
- April 9-11, 2026 | Jio World Convention Centre, Mumbai, India WordCamp Asia 2026 brings the WordPress community to Mumbai, India, […]
How to use the RSS block
- Enter a valid RSS/Atom feed URL in the block field and press Enter or click the arrow to load.
- Set Items to Show (1–20) and toggle Date, Author, and Excerpt display in the sidebar.
- RSS feeds are cached by WordPress — content changes may take time to appear on the front end.
- This block supports public feeds only — password-protected or authenticated feeds require a plugin.
Social Links
A container for branded social media icon links. Automatically applies platform colors and icons. Style variants include Default (background circle), Logos Only, and Pill Shape. Supports all major platforms.
How to use the Social Links block
- Add individual Social Link blocks for each platform — select the service to auto-assign the correct icon.
- Style variants: Default (background circle), Logos Only (no background), Pill Shape.
- Control icon size and color globally at the Social Links container level.
- Best placed in the site footer or inside a Navigation block.
- Enable "Open in New Tab" on each Social Link block to avoid navigating users away from the site.
Page List
Automatically renders a nested list of all published pages following the site's page hierarchy. Reflects page structure dynamically — no manual configuration required. Commonly embedded inside Navigation blocks.
- Product Overview
- Templates Overview
- Features Overview
- Add-ons Overview
- Agency Overview
- Docs Home
- Request Access
- Contact
- Terms of Service
- Privacy Policy
- Pattern Examples
- [Blog Post]
- Blog
- About / Our Story
- Blog
How to use the Page List block
- The block automatically pulls all published pages — no manual list creation needed.
- Page hierarchy (parent/child relationships) is reflected in visual indentation.
- To show only a sub-tree of pages, set a Parent Page filter in the block sidebar.
- Most commonly embedded inside a Navigation block to auto-generate a full page-hierarchy navigation menu.
Embeds
Embed blocks use the oEmbed standard to display rich content from third-party platforms. WordPress supports 30+ providers natively. Paste a supported URL on its own line and WordPress auto-converts it — or use the Embed block and select a provider. All embeds are responsive by default.
YouTube Embed
Embeds a YouTube video by URL. Renders a responsive 16:9 iframe with the YouTube player. Supports start time via URL parameter. The most commonly used embed in content marketing.
How to use YouTube and other Embed blocks
- Paste a YouTube URL on its own paragraph line — WordPress auto-converts it to an embed on save.
- Alternatively, insert an Embed block, select the provider, then enter the URL.
- Add a start time by appending
?t=90(seconds) or?t=1m30sto the YouTube URL. - For privacy-enhanced embeds, replace
youtube.comwithyoutube-nocookie.comin the URL. - All embeds are responsive by default and scale with their container.
- Add a caption beneath the embed for context, transcription links, or attribution.
Vimeo Embed
Embeds a Vimeo video by URL. Renders an ad-free, clean player. Preferred over YouTube for professional, brand, portfolio, and case study videos where ad-free playback and privacy controls matter.
How to use the Vimeo Embed block
- Paste a Vimeo video URL — WordPress auto-detects the provider and creates the embed.
- Vimeo Pro/Business privacy settings (password protection, domain restrictions) are honored in the embed.
- Right-click any video in Vimeo and choose "Copy Link" to get the embeddable URL.
- Use Vimeo for portfolio videos, brand films, and case study content where YouTube ads are inappropriate.
Spotify Embed
Embeds a Spotify track, album, playlist, or podcast episode using the Spotify player widget. Requires a public (non-private) Spotify URL. Free users hear 30-second previews; Premium users hear full tracks.
How to use the Spotify Embed block
- Use public Spotify URLs for tracks, albums, playlists, artists, or podcast episodes.
- Right-click any item in Spotify and choose Share → Copy Link to get the embeddable URL.
- Works for both music and podcast content.
- Supports all Spotify content types: tracks, albums, playlists, artists, podcasts, and episodes.
Twitter / X Embed
Embeds a tweet or post from X (formerly Twitter) using the platform's native oEmbed card. Note: X's oEmbed support has been intermittent — test before relying on this in production.
How to use the Twitter/X Embed block
- Copy a post's URL from X (e.g., https://x.com/username/status/123) and paste it into the Embed block.
- X/Twitter oEmbed can be unreliable — verify the embed renders before publishing.
- The embed inherits light/dark theme from the platform — theme control is limited.
- Consider screenshotting tweets as images if oEmbed reliability is a concern for critical content.
Other Supported Embed Providers
WordPress natively supports 30+ oEmbed providers. The following can be embedded by pasting a URL or using the Embed block:
| Provider | Content Type | Notes |
|---|---|---|
| SoundCloud | Audio / Music | Tracks, playlists, albums |
| TikTok | Video | Public videos only |
| Photo / Video | May require Meta approval | |
| Flickr | Photography | Public photos and albums |
| Posts / Threads | Public posts | |
| Issuu | Documents / Publications | Flipbook-style embed |
| Slideshare | Presentations | Public slideshows |
| TED | Talks / Video | TED and TEDx talks |
| DailyMotion | Video | Alternative to YouTube |
| Kickstarter | Crowdfunding Campaigns | Active and past campaigns |
| Animoto | Video Slideshows | Public videos |
| Cloudup | Media / Files | Automattic product |
Tips for all Embed blocks
- All embeds are responsive — they scale to fill their container width automatically.
- Embeds respect the content column width. Use Wide/Full alignment to expand beyond the content column.
- If a URL doesn't embed automatically, try using the Embed block and manually selecting the provider.
- For privacy and GDPR compliance, consider a cookie-consent embed wrapper plugin (e.g., Borlabs Cookie) to defer third-party embed loading until user consent is given.
- Some providers (Instagram, TikTok) may require additional API credentials or platform approval to embed reliably.
End of Design System Reference
This page documents all native WordPress block editor blocks. To extend this reference with plugin blocks, ACF block fields, or custom FSE patterns, add new sections following the same structure: Name → Description → Live Example → Details (Usage Notes).




