How to add a widget in WordPress

How to add a widget in WordPress

Last verified: September 22, 2026
8 min read
Tutorial
500+ WP projects

For years, WordPress widgets were small, fixed-purpose boxes: Search, Recent Posts, Categories, a Text widget with HTML. You opened Appearance > Widgets, dragged an item into a sidebar or footer zone, and published. That model still exists on classic themes, but it is no longer the only model - and on block themes it is mostly gone.

If you want the practical answer first: classic themes still expose registered widget areas under Appearance > Widgets; since WordPress 5.8 that screen uses the block editor by default. Block themes (Full Site Editing) usually drop the Widgets menu and put the same jobs - sidebars, footers, promo strips - into templates and template parts in Appearance > Editor.

This guide separates three ideas people conflate: classic widgets, block widgets in classic widget areas, and widget-like regions in block themes. Pick the path that matches your active theme, not the path you remember from a screenshot.

#Classic widgets and classic widget areas

A classic theme registers one or more widget areas in PHP with register_sidebar(). Common labels are Sidebar, Footer 1, Footer 2, Header. Those areas are the containers. Classic widgets are the older widget types that fill them: Search, Archives, Categories, Tag Cloud, Custom HTML, and third-party widgets shipped by plugins.

On a classic theme you still go to Appearance > Widgets. Each registered area appears as a panel. Before WordPress 5.8, the UI was a list of available widgets on the left and drop zones on the right. You configured each widget with a small form: title field, checkbox, dropdown.

That interface is what many editors still mean when they say “add a widget.” It is also what the official Classic Widgets plugin restores if your site still needs it.

Classic widget areas matter for more than nostalgia. Plugins that register their own widgets (calendar feeds, booking forms, social counters) often still target register_sidebar() zones. On a classic theme, those plugins continue to work because the theme still declares the areas. On a block theme that never calls register_sidebar(), the same plugin may have nothing to attach to unless the author also ships a block.

#Block widgets on classic themes (WordPress 5.8+)

WordPress 5.8 changed the default admin UI for classic widget areas. The Containers stayed the same - the theme’s sidebars and footers - but the content inside them became blocks. Core documents this under the block editor how-to guides for widgets: you place Paragraph, Image, Heading, List, Shortcode, and other blocks into the same Appearance > Widgets panels.

So “block widgets” does not mean a new theme type. It means Gutenberg blocks living inside classic widget areas. You get layout and media tools that the old Text widget never had, without migrating the whole site to a block theme.

Practical workflow on a classic theme after 5.8:

  1. Open Appearance > Widgets.
  2. Expand the target area (for example Sidebar or Footer).
  3. Use the + inserter to add a block.
  4. Configure the block in the sidebar inspector the same way you would in a post.
  5. Save.

Legacy widgets still appear in the inserter under a Legacy Widget option when a plugin or core still exposes them. You can mix a block-based Search block with an older plugin widget in the same area if that plugin has not shipped a block yet.

If the block-based Widgets screen is harder for your team than the old list, install Classic Widgets from wordpress.org. It only changes the admin UI for classic themes. It does not rewrite the frontend markup by itself, and it does not recreate Appearance > Widgets on a theme that never registered sidebars.

#Widget areas in block themes and FSE

Block themes (Twenty Twenty-Four, Twenty Twenty-Five, and many commercial block themes) are built for Full Site Editing. Templates live as HTML files with block markup. Global styles and template parts replace a lot of what functions.php and widget areas used to do.

On those themes, Appearance > Widgets is usually missing. That is intentional. There is no separate “widget product” for editors to fill. Instead you open Appearance > Editor, choose a template (Single, Page, Home, Archive) or a template part (Header, Footer), and place blocks where content should appear.

What used to be “the sidebar widget area” becomes a structural decision in the template:

  • A Columns block with a main column for post-content and a narrow column for secondary content.
  • A Group or Stack in the footer template part for contact lines, menus, and small promo blocks.
  • Theme-provided patterns that already include a sidebar layout; you edit the pattern instance rather than a Widgets screen.

In other words, block themes still have places that look like widget regions. They are not registered through register_sidebar() in most cases. They are regions of the template. Theme developers who need a compatibility bridge can still register sidebars, but day-to-day editing for a modern block theme happens in the Site Editor.

#Building a sidebar-like region in the Site Editor

  1. Go to Appearance > Editor.
  2. Open the template that should show a sidebar (often Single or Page).
  3. Insert a Columns block (for example 66% / 33%).
  4. Keep the post content (or Query Loop) in the wide column.
  5. In the narrow column, add Navigation, Latest Posts, Heading, Paragraph, Social Icons, or whatever the old sidebar held.
  6. Save the template so every matching URL inherits the layout.

Footer content follows the same pattern on the Footer template part: edit once, reuse across templates that include that part.

#When a plugin still expects widgets

If a plugin only registers a classic widget and you are on a block theme, check for a block version first. Many popular plugins now ship both. If there is only a classic widget, options are limited: keep a classic theme, use a hybrid theme that still registers sidebars, or replace the feature with a shortcode or block from another plugin. Do not expect Classic Widgets alone to invent a Widgets menu on a pure block theme.

#How to choose a path

Use this decision list:

  • Classic theme, comfortable with Gutenberg: Appearance > Widgets, add blocks to existing areas.
  • Classic theme, need the old drag-and-drop list: Classic Widgets plugin, then Appearance > Widgets.
  • Block theme: Appearance > Editor; build sidebar and footer structure in templates and template parts.
  • Plugin depends on register_sidebar(): verify the active theme still registers those areas before blaming the plugin.

Migrating from classic widgets to a block theme is less about “moving widgets” and more about recreating the same content as blocks in the right template. Export nothing magical from the old Widgets screen; rebuild Search, menus, and recent posts with the matching blocks, then delete orphaned widget assignments after the cutover.

#Common mistakes

  • Searching for Appearance > Widgets on a block theme and assuming WordPress is broken. Check the theme type first.
  • Pasting large HTML into a Custom HTML or classic Text widget when a Group of native blocks would be clearer and easier to restyle.
  • Editing a single page’s sidebar when you meant to change the template. Page-level edits do not update every single post unless you saved the template.
  • Installing Classic Widgets on a block theme and expecting the old screen to return. The plugin targets the classic widgets admin path.
  • Leaving unused classic widget configurations after a theme switch. Switch themes carefully and review Appearance > Widgets (or the Site Editor) after every major theme change.

#When to get help

Most widget and Site Editor work is configuration, not custom code. Hire help when the theme’s template structure fights the layout you need, when a plugin widget has no block equivalent on a block theme, or when you need a custom block that replaces a brittle HTML widget. For that kind of WordPress build work, see WordPress development services.

#Quick reference

SituationWhere you editWhat you place
Classic theme, default since 5.8Appearance > WidgetsBlocks (and legacy widgets if present)
Classic theme, old UI restoredAppearance > Widgets via Classic WidgetsClassic widget forms
Block themeAppearance > EditorBlocks in templates / template parts

Widgets did not disappear from WordPress. The container model split. Classic themes still have widget areas; blocks now fill them by default. Block themes fold those areas into the Site Editor. Once you match the UI to the theme type, adding “a widget” is either inserting a block into a registered area or placing the same block inside a template region - same content job, different admin surface.

Next step

Turn the article into an actual implementation

This block strengthens internal linking and gives readers the most relevant next move instead of leaving them at a dead end.

Want this implemented on your site?

If you want to convert the article into a working site improvement, redesign, or build plan, I can define the scope and implement it.

Related cluster

Explore other WordPress services and knowledge base

Strengthen your business with professional technical support in key areas of the WordPress ecosystem.

Where did the Widgets menu go in WordPress?#
In block themes, Appearance > Widgets is usually gone. You edit sidebars, footers, and other regions in Appearance > Editor. Classic themes still show Appearance > Widgets; since WordPress 5.8 that screen uses the block editor by default.
What is the difference between classic widgets and block widgets?#
Classic widgets are the older, form-based items (Search, Categories, Text). Block widgets are Gutenberg blocks placed inside the same widget areas. WordPress 5.8 made blocks the default UI for those areas on classic themes.
Do block themes still have widget areas?#
Most block themes do not register traditional widget areas. Layout that used to live in a sidebar or footer widget zone is built into templates and template parts with Columns, Group, and related blocks.
Can I restore the old drag-and-drop Widgets screen?#
Yes, on classic themes. Install the official Classic Widgets plugin from wordpress.org. It restores the pre-5.8 widgets admin UI. It does not bring Appearance > Widgets back on a pure block theme.
How do I add a sidebar in a block theme?#
Open Appearance > Editor, edit the relevant template (for example Single or Page), and add a Columns or Group structure. Put navigation, recent posts, or other blocks in the column that acts as the sidebar, then save the template.

Need an FAQ tailored to your industry and market? We can build one aligned with your business goals.

Let’s discuss

Related Articles

The WordPress 7.1 roadmap

Anne McCarthy's WordPress 7.1 roadmap was framed around collaboration, yet real-time collaboration slipped again. WordPress 7.1 Mary Lou shipped on 19 August 2026. What actually landed, what was cut, and what the canary-deployment debate still says about how WordPress is built.