Something as basic as changing theme (theme, template) in WordPress has certain consequences that we must know. Let’s see what they are and what we should do.
Obviously, the consequences depend on how good or bad a developer the author of the theme is, but there are some things that will always be altered. Menus and plugins.
The menus are modified
The menus themselves are not really changed, as they are still in the “Appearance > Menus“.
But then… Why do the menus disappear in the new theme? Well, not exactly. Actually, what has disappeared are not the menus, but the “places” where to put those menus. That is, what is in the second tab “Manage places”, because each theme has its own.
Now imagine you switch from one theme to another and you are WordPress. What do you do? What menus do you put in each place? Well, what WordPress does is… nothing. It simply doesn’t assign any menu anywhere. All the places are empty, as you can see in the image. And that’s because that’s what happens when you put a new theme. That the “menu places” are empty.
Widgets are modified
Again, the widgets themselves are not modified. They remain in the widget list under “Appearance > Widgets“. What does disappear are the “Widget Areas”, which are the equivalent of menu places. So, each theme will have its own.
Once again, WordPress encounters the same problem: where does it put the widgets that were inside “Header Right” in Genesis? For example, what about the widgets in Footer 1? And what widgets does it put inside the “Main Sidebar”? Well, in this case what it does is to use the “id” of each widget area. The “id” is an identifier chosen by the developer who makes the theme. If by chance an “id” of the old theme matches an “id” of the new theme, it puts the widgets there. But if it doesn’t match, it doesn’t put them anywhere.
Until recently this was a big problem, because there are some widgets that must be configured and filled in, and if WordPress “removed” them, we lost all that information. Imagine a text widget with a long text, or one with images. Everything would be lost. But for some time now, it leaves them in a “limbo” area called “Inactive Sidebar”, which can be found further down the widget page.
Well, that’s where we can go to retrieve those widgets if we want to. They will remain there indefinitely until we delete them. Also, thanks to this method, if we go back to the old theme, automatically all widgets will return to their widget areas of origin, something that is appreciated, because we can afford the luxury of trying 3 or 4 themes to see how they are and return to ours, without losing anything along the way.
So, it is clear that menus and widgets do not disappear, but places and widget areas. And that everything is recoverable. But there is still one last thing that will happen if we change theme… we will lose ALL its functionalities.
All functionalities are lost
Indeed, that’s how radical it is. All the functionality of the theme goes with the theme. That includes things like for example:
- Image sliders
- Short codes
- Any Custom Post Type (portfolios, testimonials, team)
- Visual editors
- Any custom code in functions.php
And that’s precisely why themes should never have functionalities. Because when we change theme, they disappear. All those functionalities should be in plugins, because plugins “stay” even if you change theme.