WordPress dashboard consistency

Give every user the same dashboard layout

Dashboard Columns fixes the WordPress dashboard to a set number of columns, from one to four, for every user, instead of leaving it to whatever Screen Options each person happened to set.

  • Choose 1, 2, 3 or 4 columns for the whole site.
  • Overrides each user's personal Screen Options preference.
  • Applies only to the Dashboard screen itself.
  • A consistent layout makes it possible to say "the widget in the top-right".
Dashboard LayoutDashboard Columns
Columns1234
Layout fixed for everyoneOverrides each user's own Screen Options.
Active
Quick answer

What does Dashboard Columns do?

When the dashboard_columns module is active, TOWP_Dashboard_Columns runs on the load-index.php hook, the point right before WordPress reads a user's dashboard column preference to build the Screen Options panel. It registers the dashboard's layout_columns screen option with the configured count as its default, then filters get_user_option_screen_layout_dashboard to return that same value for every user, overriding whatever they may have personally set. The result is a fixed column count, from one to four, that applies identically across every account.

The "looks different for everyone" problem

The dashboard's layout depends on whoever opened it first

A layout decided by accident on someone's first login rarely matches what the site actually needs.

The default column count is a first-load guess

WordPress decides the dashboard's default column count based on the width of the browser window that first rendered it, which is why the same site can look tidy on one machine and scattered on another.

Screen Options is set once and forgotten

Each user can change their own dashboard columns, but almost nobody revisits that setting, so the layout stays whatever it happened to default to on their first visit.

A dedicated WordPress solution

One column count, for everyone

The module makes the dashboard's layout a site-wide decision instead of a per-user accident.

A single, site-wide setting

Choose 1, 2, 3 or 4 columns once, and every user sees the dashboard laid out the same way.

Overrides the personal preference

The configured count takes priority over whatever a user has set, or never touched, in their own Screen Options.

Makes support and training easier

A dashboard that looks the same for everyone means "the widget in the top-right column" actually means something.

Verified feature set

A small setting, applied precisely

Every capability below is present in the supplied PHP class and its settings registration.

Enforcement

Overrides every user's Screen Options

A filter on get_user_option_screen_layout_dashboard returns the configured count regardless of what a user has personally set.

get_user_option_screen_layout_dashboardNo per-user override
Scope

The Dashboard screen only

The module only runs on load-index.php, the Dashboard's own hook, leaving every other admin screen's layout untouched.

load-index.phpDashboard-only
Native integration

Uses WordPress's own screen option system

The count registers through add_screen_option('layout_columns'), the same mechanism WordPress itself uses for the Screen Options panel.

add_screen_optionlayout_columns
Validated range

Clamped between 1 and 4

Any stored value gets clamped to WordPress's own supported range before it's used, so an invalid value can't break the dashboard.

min 1max 4
Efficient

Read once per request

The column count is cached after its first read, so a single request never looks it up more than once.

CachedOne lookup per request
Practical use cases

Where a fixed layout helps most

The module supports every site where dashboard consistency actually matters.

Teams sharing one dashboard

Give every team member the same widget layout, so a screenshot or a support instruction matches what everyone else sees.

Onboarding and training

Describe the dashboard consistently in documentation or training material, since the layout won't vary between accounts.

Sites viewed on very different screens

Set a column count that suits the site's typical usage, rather than leaving it to whatever width happened to load the dashboard first.

Operational benefits

Consistency that saves confusion

The module makes the dashboard predictable without adding any configuration burden to users.

A predictable starting screenThe first screen every user sees after logging in looks the same, regardless of who set it up or on what device.
Clearer communicationReferring to a widget's position only works if everyone's layout actually matches; this module makes that true.
No configuration burden on usersNobody has to think about Screen Options for the dashboard, since the layout is already decided.
Lightweight and scopedThe override only touches the dashboard screen, with no effect anywhere else in the admin.
Performance behaviour

One screen, one cached read

The verified implementation is scoped so tightly it has no measurable effect anywhere else.

Runs only on the Dashboard screen

The module's hook, load-index.php, only fires when the Dashboard itself is being loaded, not on any other admin page.

One options read, cached

The configured column count is read from the database once and cached for the rest of the request.

No JavaScript involved

The override happens entirely in PHP through a WordPress filter, with nothing to load or run in the browser.

Security implementation

Clamped values, no user input to validate

The code constrains the stored value to a safe range and involves no direct user submission at all.

01

Value clamped to a safe range

The stored column count is always constrained between 1 and 4 with min()/max(), regardless of what's actually stored in the database.

02

Administrator-only configuration

Only an administrator with access to TheOneWP settings can change the dashboard's column count.

03

No user input processed directly

The module reads a single stored integer; there's no user-submitted data for this feature to validate against.

04

Uses WordPress's own filter, not custom output

The override happens through a documented WordPress filter rather than any custom rendering, keeping the mechanism predictable.

Verified compatibility

Built around WordPress's own Screen Options system

The supplied code integrates through APIs present in WordPress core. No compatibility claim beyond the verified implementation is assumed.

Timing

load-index.php

The module hooks in at the exact point before WordPress reads the dashboard column preference for the Screen Options panel.

load-index.phpRuns before render_screen_meta
Screen Options API

add_screen_option('layout_columns')

Column support gets registered through the same WordPress API used natively for the dashboard's Screen Options.

add_screen_optionlayout_columns
User preference filter

get_user_option_screen_layout_dashboard

The standard WordPress filter for a user's saved dashboard column count, applied identically for every account.

get_user_option_screen_layout_dashboardEvery user
Solution comparison

TheOneWP versus common alternatives

Compare the verified Dashboard Columns implementation with WordPress's own default, per-user behaviour.

CapabilityTheOneWP Dashboard ColumnsOther common solutions
Setting a fixed column count One setting applies to every user immediatelyEach user sets their own in Screen Options, or doesn't
Consistency across accounts Guaranteed, since personal preference is overriddenVaries by whoever configured their own dashboard, and when
Administration One setting inside TheOneWP settingsRequires asking each user to change their own preference
Scope Only the Dashboard screen is affectedNot applicable, since core has no site-wide override at all
Recommended workflow

Fix the dashboard layout in four steps

Set the column count early, before a team gets used to whatever the default happened to produce.

01

Enable Dashboard Columns

Activate the module from the TheOneWP Backend settings tab.

02

Choose a column count

Pick 1, 2, 3 or 4 columns based on how much widget content the dashboard typically carries.

03

Check the dashboard as different users

Log in as another account, or ask a colleague, to confirm the layout matches across accounts.

04

Adjust if the widget mix changes

Revisit the column count if plugins are added or removed that change how many dashboard widgets typically appear.

Best practices

Choose a count that matches the widget load

The right column count depends on how much the dashboard actually has to display, not a fixed rule.

01

Match the count to the widget load

A dashboard with many active widgets usually reads better with more columns; a lighter one can work fine with fewer.

02

Set it early in a new site's setup

Deciding the column count before onboarding a team avoids anyone getting used to a layout that later changes.

03

Mention the layout in onboarding material

Since the dashboard now looks the same for everyone, it's worth describing consistently in any documentation or training.

04

Revisit after major plugin changes

A newly installed plugin's dashboard widget can shift how many columns actually make sense.

Common mistakes

Avoid assumptions that cause confusion

The module's scope is deliberately narrow, and a couple of assumptions are easy to get wrong.

Expecting a per-user Screen Options toggle to still work

Once this module is active, a user's own dashboard column choice in Screen Options no longer has any effect.

Choosing a count without considering widget count

Too many columns for too few widgets can leave the dashboard looking sparse; too few for a lot of widgets can leave it cramped.

Assuming it affects other admin screens

The override is scoped specifically to the Dashboard; every other screen's layout options remain exactly as they were.

Frequently asked questions

Dashboard Columns FAQ

These answers come directly from the verified class and its settings registration.

What does Dashboard Columns do?

It fixes the WordPress dashboard to a set number of columns, from one to four, applying the same layout to every user regardless of their personal Screen Options setting.

Why does the dashboard normally look different for different people?

WordPress sets the default column count based on the width of the browser window that first loaded the dashboard, so it can vary from one machine to another.

Can a user still change their own dashboard columns?

No. Once this module is active, the configured count overrides whatever a user sets, or has already set, in their own Screen Options.

How many columns can I choose?

Any value from 1 to 4, the same range WordPress's own dashboard column system supports.

Does this affect any other admin screen?

No. The module only runs on the Dashboard screen itself, through the load-index.php hook.

What happens if I don't configure a column count?

It defaults to 2, matching WordPress's own default dashboard layout.

Does changing the setting update dashboards that are already open?

It applies the next time each user loads the dashboard, since that's when the column preference gets read.

Is this setting read from the database on every single admin page?

No. It's only read on the Dashboard screen, and cached after that first read for the rest of the request.

Who can change the dashboard's column count?

Only an administrator with access to the TheOneWP settings screen.

Does this module add any JavaScript to the dashboard?

No. The override works entirely through a WordPress filter in PHP, with nothing added on the client side.

Stop letting the dashboard look different for everyone.Fix the layout, once, for the whole team.

Use Dashboard Columns to set a single column count that applies to every user, overriding whatever Screen Options they never touched.