WordPress Theme vs Plugin: What Changes What
A WordPress theme mainly controls presentation through templates, layout and styles, while plugins add reusable capabilities such as forms or commerce. One theme is active at a time, with its parent also loaded for a child theme. Keep business features independent of appearance, but test plugin dependencies because a theme switch can still affect integrations.
For site owners deciding where custom functionality belongs and checking which features depend on a theme before redesigning.
knowledge
- Read time
- 3 min
- Sections
- 6
- Updated
- 14 Nov 2026
- Written by
- WebJi® team
Last editorial update: 14 November 2026.
The Layer Model: Presentation vs Functionality
A WordPress theme primarily manages presentation, while plugins provide reusable capabilities that need not be tied to one theme. The boundary is a design convention, not an absolute restriction: either can affect output, and integrations can create dependencies.
| Factor | Theme | Plugin |
|---|---|---|
| Role | Templates, styles, layout | Capabilities and features |
| Examples | Block themes, classics | SEO, security, caching, forms |
| Survives theme switch | — | Usually, if no theme-specific dependency breaks |
| Dies on switch | Its functions.php features | Deactivation or an incompatible dependency |
| Content impact | Presentation plus any theme-defined data or features | Can store data in database |
| Best practice | Lean, presentation only | Carry all real features |
That fourth row is the horror story: features coded inside a theme vanish the moment it deactivates. Keep functionality in plugins — the WordPress web design service is the route for discussing the required separation, and best free WordPress themes lists lean starting points.
The WordPress theme-functions handbook recommends plugin placement for features that should be available regardless of appearance. A child theme’s functions.php does not replace the parent’s file.
What a Theme Should (and Shouldn't) Do
A theme owns everything a visitor sees: template files, header and footer, menus, colours, typography. Only one theme is active at a time — switching it replaces the entire presentation layer in one click, with no code changes needed when the theme is doing its proper job.
What a theme should not carry is features. Contact forms, SEO controls, security, custom post types — anything the business needs to work — belong in a plugin, because they have to survive the next redesign. A theme's functions.php may hold small presentation helpers, but nothing the site depends on.
What Plugins Are For
Plugins add or change behaviour: SEO metadata, firewalls, caching, checkout, forms, backups. Several run at once — the limits are practical, not technical — and each registers through hooks, so it modifies core behaviour without touching template files.
The deciding property is persistence. A plugin's features and data live independently of the theme: switch the theme and a form plugin still collects submissions, an SEO plugin still prints metadata. Choose plugins on maintenance activity and support, not feature count.
Why Features Die With Theme Switches
When a theme deactivates, WordPress stops loading it — functions.php included. Anything registered there stops existing: custom post types, shortcodes, menu locations. The switch is one click; the loss is silent, with no warning screen naming what just disappeared.
The classic case is a portfolio coded into the theme. Change the theme six months later and the portfolio is gone — the data usually survives in the database, but nothing renders it. Rebuilding means re-registering the feature, which is exactly why features belong in plugins from day one.
Put functionality that must survive theme changes in a maintained plugin or site-specific snippets solution. Use a child theme for presentation customisation; it protects changes from a parent update, not from switching to another theme.
Shortcodes and Content That Outlives Themes
Where a shortcode is registered decides whether it survives a redesign. Plugin shortcodes keep working after a theme switch; theme shortcodes break, leaving literal [tag] text in every post that used them.
Content behaves the same way. Posts, pages and plugin data live in the database and outlast any theme; what dies is the theme's rendering of them. That is the safe pattern in one line: content and capability in plugins, appearance in the theme.
Planning a Site: Theme, Plugins, Custom Code
Architecture rules that prevent the classic rebuild-avoidable mess. Start with a lean, well-maintained theme matched to your design language — block themes for new builds — and resist multipurpose giants bundling features you will never use. Put every capability into plugins: SEO, security, forms, commerce — chosen for maintenance activity, not feature count.
Site-wide functionality belongs in a maintained plugin. Presentation changes can belong in a child theme. Review dependencies and test the redesign with forms, shortcodes and custom content before activating the replacement on production.
Before changing the theme, inventory shortcodes and custom functions. Confirm which component registers each feature and test content that relies on it.
Frequently asked questions
What is the difference between a WordPress theme and a plugin?
A theme controls how the site looks — templates, layout, colours — and only one is active at a time. Plugins control what the site does — forms, SEO, security, commerce — and several run together. Features in a theme vanish when it switches; features in plugins survive.
Can plugins change how my website looks?
They can — page builders and style plugins ship their own CSS and editor blocks. The convention still holds: a plugin may adjust presentation, but a theme's job is presentation and a plugin's job is function.
Why did my features vanish after switching themes?
They were registered inside the old theme, most often in its functions.php. Switching themes stops loading that file, so shortcodes, custom post types and menus it defined disappear. Move feature code into a plugin so it survives redesigns.
Should functionality be added in a theme or plugin?
In a plugin whenever the feature must survive a theme change — which is almost always. functions.php and child themes are for presentation support only; core capabilities belong in plugins.
What is functions.php used for?
Presentation support: loading stylesheets and scripts, registering menus and widget areas, small template tweaks. It is the wrong place for business features, because a theme update or switch can remove it silently.
Last editorial update: 14 November 2026.
Ready to get started with WebJi®?
Join 12,000+ businesses across India and overseas. INR pricing, 18% GST shown before payment and 24/7 email support in Hindi and English — average first reply under 60 minutes.