Make WordPress Core

Opened 7 weeks ago

Last modified 4 weeks ago

#65142 new enhancement

Round editor `.postbox` containers to match WP 7.0 dashboard widgets

Reported by: jillq's profile jillq Owned by:
Milestone: Awaiting Review Priority: normal
Severity: normal Version:
Component: Administration Keywords: admin-reskin has-patch
Focuses: ui, css Cc:

Description

Background

WordPress 7.0's admin visual reskin (#64308) introduced an 8px border-radius ($radius-l) on dashboard widgets via #dashboard-widgets .postbox (see #64549). This modernized the dashboard's appearance alongside the rest of the 7.0 reskin — the new Modern color scheme as default, taller form elements, 2px radii on buttons and inputs, and so on.

However, the same .postbox class is used extensively outside the dashboard: editor screens for Posts, Pages, Media, Users, custom post types, plus every plugin that adds meta boxes (WooCommerce, Yoast, Jetpack, ACF, etc.). These retained their square corners.

The result is a split-personality admin:

  • Dashboard: rounded, modern-feeling
  • Every editor screen, including Edit Media: square, dated-feeling

This is especially visible for plugin authors: a plugin-added meta box on an edit screen looks markedly different from a core dashboard widget, even though both use .postbox.

Problem

Plugins and themes that want to align with WP 7.0's modernized visual language currently have three suboptimal choices when it comes to meta boxes:

  1. Hardcode the values in plugin CSS — brittle, silently drifts when Core updates the token values, and creates visible inconsistency with neighbouring Core screens.
  2. Scope the override to plugin-owned screens only — fixes the plugin's screens but widens the inconsistency (plugin-screen meta boxes look different from core-screen meta boxes using the same class).
  3. Don't align — fragments the admin visual experience.

Proposal

Round editor .postbox containers to 8px, matching the dashboard widget pattern already shipped in 7.0. In src/wp-admin/css/common.css:

.postbox {
    border-radius: $radius-l; /* 8px — matches #dashboard-widgets .postbox */
    overflow: hidden; /* clip internal full-width elements (tab sidebars, action bars) */
}

Sites that already rely on the token system introduced in _tokens.scss can reference $radius-l directly. Plugins like WooCommerce can then remove their scoped bridge styles.

Scope considerations

  • Some .postbox instances contain full-width children (tab sidebars in WP-admin like the product data panel, the #major-publishing-actions action bar at the bottom of the publish meta box) that extend to the container edge. Adding overflow: hidden to .postbox clips these cleanly to the rounded corners. This pattern was verified in production via woocommerce/woocommerce#64191 (merged commit 19868f1).
  • Inner collapsible panels (e.g. WooCommerce's attributes/variations panels using .wc-metabox.postbox) should remain square. Plugins handle this on their side since it's plugin-specific markup.
  • The historical #17284 (#major-publishing-actions missing border-radius, from 2011) and #18657 (.postbox .hndle in backend needs border-radius, also from 2011) flagged related clipping issues back when admin postboxes had a 3px radius. The overflow: hidden approach proposed here resolves that whole class of problem in one place.

Benefits

  • Consistency — one visual language across dashboard and editor screens.
  • Plugins align for free — no scoped overrides, no drift when Core updates the token.
  • Low risk — CSS-only, additive, extends a pattern already shipped in 7.0.
  • Reduces plugin-side maintenance — WooCommerce, Yoast, and any other plugin shipping scoped fixes can remove them.

Prior art

  • #64308 — WP 7.0 admin reskin (introduced the radius on dashboard widgets).
  • #64549 — Card and container styles, which added the 8px radius to dashboard widgets specifically.
  • #65085 — proposal to expose admin design tokens as CSS custom properties. If both land, the bridge-style CSS in plugin codebases becomes unnecessary.
  • #17284, #18657 — older tickets that surfaced clipping behaviour at the postbox edge.

WooCommerce shipped woocommerce/woocommerce#64191 (merged April 27, 2026 — commit 19868f1) as a scoped bridge — it rounds meta boxes on WooCommerce-owned editor screens only (post-type-product, post-type-shop_order, post-type-shop_coupon, woocommerce_page_wc-orders), with a TODO comment tying back to this ticket. If this lands, that bridge CSS can be removed in its entirety, and editor meta boxes will be visually consistent across core and every plugin.

Change History (4)

#1 @sabernhardt
7 weeks ago

  • Keywords admin-reskin added
  • Version set to trunk

This ticket was mentioned in PR #11703 on WordPress/wordpress-develop by @shreyasikhar26.


6 weeks ago
#2

  • Keywords has-patch added

Trac ticket: https://core.trac.wordpress.org/ticket/65142
---

### Edit Media Screen (Save metabox)

Before After

| https://github.com/user-attachments/assets/db611978-3cb6-41dd-910c-8d8f681974d9 | https://github.com/user-attachments/assets/1f0ee214-a474-46c9-9e24-68cd9a8b3f4d |

### Edit Post Screen

Before
https://github.com/user-attachments/assets/d23e8ea8-6d9a-47b5-867a-d64bf38c1a73
After
https://github.com/user-attachments/assets/67ef30da-fba3-474b-85b0-02b9659dfbaf

#3 @audrasjb
4 weeks ago

Removing trunk version as this is not going to be shipped with WP 7.0 but in the next releases.

#4 @desrosj
4 weeks ago

  • Version trunk deleted

While this is a continuation of the admin reskin, it's not something introduced in 7.0 (enhancements typically do not have a "first version the issue is reproducible in). Removing trunk. @sabernhardt feel free to re-add if you disagree.

Note: See TracTickets for help on using tickets.