Skip to Content

WordPress Sidebar Not Showing — Here’s What Might be Wrong

WordPress Sidebar Not Showing — Here’s What Might be Wrong

WordPress sidebars are confusing because technically, they are not sidebars. They are just widget areas.

They can be above the content, below it, in a sidebar, or there may be no sidebar area at all. Where your widgets go depends on the WP theme you use.

In the majority of cases, the sidebar files are within the theme template. Just not always where you would expect them.

 

WP themes have different widget layouts. When a theme is changed, active widgets can get moved to the inactive widget area. A full-width template causes the sidebar to disappear. Sidebars only show when the screen is large enough. A typo in the CSS Customizer can push the sidebar off of the page.

 

Widgets and themes differ

When you switch your WordPress theme, there is a chance that the widget areas will be controlled differently. Many WP themes have multiple widget areas.

Under the appearance menu, select “widgets” to see which options you have.

Some have only one sidebar, in which case, all of your widgets will be placed in there. Other themes have multiple. Right sidebar, left sidebar, footer menu, or even multiple footer menus labeled footer 1, footer 2, and so on.

When you switch themes, the widgets do not always move to where they were. Sometimes, there is none. If you have no widgets to display in your sidebar, it will not show, and if it does, it will have no content to show.

If you have a blank space where you used to have a site navigation menu in a sidebar, perhaps an email opt-in box, and a website bio, then suddenly it is not visible after changing themes, it is likely just the widgets that need organized.

The main section to look for is the “inactive widgets” area. Where widgets were active that are now not, they move to the inactive widgets section.

Move them from there to the widget area you want each element to be, such as search, pages, blogroll, text, etc.

 

You may have published on a full-width template

Full-width templates disable the sidebar on the page or post that uses the template.

When you publish or preview using a full-width post or page, it stretches the full width of the screen, removing the sidebar. The intention is to avoid distracting visitors with links to other pages on your site.

These formats are for content with the purpose of getting a user to take an action.

Like buy a product, sign up to an email list, or, you may just want to make sure your page visitors really focus on the message you are trying to convey. Full-width is minimal. The content is in the spotlight.

Not all themes have this feature but if yours does, when you are editing the draft, the “page attributes” in the WP admin right sidebar is where to make the change.

 

Mobiles and tablets do not have space to show sidebars

WordPress is responsive. When a site is loaded from a small screen, the WP theme should adapt to drop the sidebar to be below the content. There is not enough space on small screens to show it.

On smaller screens, the sidebar is pushed to the bottom displaying before the footer menu.

 

CSS mistake in the WP Customizer or your theme stylesheet

With all the modifications you can do with WordPress, it is easy to insert an extra character or two in code that makes it look like it is not behaving. The stylesheet sets the margin width, height, and padding elements for your sidebar.

Most will be controlled in the CSS customizer with “.widget-area” or something similar like “.widget-main”, followed by the margin rules. Setting that too high can push it off the page causing it to disappear.

 

An extra zero in the CSS can force your sidebar not to show. That is the same for almost anything.

Even in a single post or page, an improper tag, such as an extra <div> or a missing close tag can make the content span too far across the page that it forces the sidebar to disappear.

If you’re only missing a sidebar on one post or page, check the HTML using the “Text” mode in the classic editor. In the block editor, each block needs checked.

Click the block to edit first, click on the three dots to the right, then select “edit as HTML”. For every open tag <this>, there must be a close tag </this> (with a / forward slash. It is the same as the divide symbol on a calculator, but in syntax, it is a command line to close a tag.

 

Not all WordPress themes have sidebars

It is rare for WP theme not to have a sidebar. The majority have at least one primary sidebar. Some have more, but there are some without them. As an example, the “Tracks” theme for WordPress does not have a sidebar.

After installing, all the widgets that were in the sidebar disappeared because this is a theme with no sidebar.php file.

What it does have are different sidebar layouts.

  • sidebar-after-page-content.php
  • sidebar-after-post-content.php
  • sidebar-footer.php

To view your sidebar files, look in cPanel > WP-Content > Themes > find your theme, and look for the files with “sidebar” in the filename.

Something to understand about sidebars in WordPress is they are not technically sidebars. They are widgetized areas. That is why you can have multiple sidebars on one web page.

When this is the case, you need to manually add the sidebar by first “registering” the sidebar. You do that by creating a plain text file (notepad) and naming it “sidebar-_____”, as an example “sidebar-right.php”.

Within that file, place the following code…

add_action( 'widgets_init', 'register_nav_menus' );
function my_register_sidebars() {
/* Register the 'right' sidebar. */
register_sidebar(
array(
'id' => 'right',
'name' => __( 'Right Sidebar' ),
'description' => __( 'A short description of the sidebar.' ),
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
)
);

Note: ‘register_nav_menus’ in the code above may be titled different in your theme. Developers “register” the sidebars in the functions.php file. Look in that file to see where other widgets are being loaded from, then replicate it and add your own.

The (example) sidebar-right.php file gets uploaded to your theme directory to register it. Then to load it, edit the functions.php to include

<?php get_sidebar( 'right' ); ?>

Or whatever name you gave your new sidebar file.

 

Creating a new sidebar is a two-step process

The first is to register the sidebar, the next is to tell WordPress when to load it.

It is recommended that if you do not know how to write PHP scripts that you either contact the theme developer for support or hire a WordPress developer to create a sidebar.php file and adjust your functions.php file to load the script.

Any script errors will break your site.