Dashboard Widgetizer

in
Estimated Reading Time: 3 minutes

Typically, when you log into a WordPress website, you are redirected to the admin dashboard. Here you’ll usually see some default widgets. These range from useless, such as the Welcome widget and WordPress Events and News widget, to quasi-functional, like the Quick Draft widget and Site Health Status widget. But for many users, none of these widgets are really what they want or need, and sometimes different types of users need different things.

Dashboards and User Onboarding

When you first log into an unfamiliar website for the first time, the experience can be confusing and intimidating for many users. One of the reasons why platforms like WordPress are so popular is because of the familiarity that people have with it. They’ve used it at some point in the past, and feel reasonably comfortable based on that experience. And part of the experience is what happens when they first log into their website. One of the complaints I heard from clients about Drupal 7 was that the login experience was sometimes confusing. With WordPress, they’re always directed to the dashboard, useful or not, it is familiar and straightforward.

As consistent and comforting the standard dashboard is, I believe it could provide a lot more value. Creating a full customizable dashboard widget would allow a developer or agency to provide a more customized onboarding experience that directs the client or new user to the information they need.

A New Dashboard

The new dashboard is created as a Gutenberg layout and displayed as one large widget. Multiple widgets can be created and set to display for specific user roles or all roles. This would allow you to create one dashboard for the client, another for editors who might provide training, and one for administrators that could include dev notes.

The option to display the dashboard widgets as one large column instead of the four standard columns is enabled by default, but can be easily disabled. Another setting allows you to hide the postbox heading and the page heading, in case you want to cleanly display just one widget without the extra headings and sorting options.

Adding A Dashboard Widget

Adding a new dashboard widget is pretty straightforward. Widgets are listed under the default Dashboard menu. You can also create a new Dashboard Widget from the Add Post menu.

The Dashboard Widget editor provides a standard Gutenberg editor for the content. The custom post type also has an option to set the visibility by user role. This enables you to create different dashboard widgets for different users based on their role. This can be helpful with client training, project handoffs, and general onboarding.

Each published widget displays under Screen Options -> Screen Elements, the tab displayed above the dashboard widgets. The widgets use the title you define when creating the custom post.

After hiding the default dashboard widgets, you can clean up the display further by hiding the widget title in the Widgetize plugin settings. The effect is a single widget with an uncluttered interface. A bit of imagery and a short message can make the website feel more welcoming.

Because we’re using the existing layout tools, we also can use the responsive handling to provide a decent experience for mobile users.

Plugin Code

The plugin code is available on GitHub and the plugin is available to download from there as well.

GitHub repository: https://github.com/revnoah/wordpress-widgetizer