> ## Documentation Index
> Fetch the complete documentation index at: https://vr-it-services-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Plugin conflicts

> The bisect procedure for finding and confirming a plugin conflict.

# Plugin conflicts

A plugin conflict is far more likely than a theme regression. This page is the procedure for finding and confirming one.

**In reality**

WordPress themes are rarely the cause of a new problem. The overwhelmingly common cause is a
plugin that updated, a plugin you just installed, or a plugin whose cached assets are stale.

## The bisect procedure

This works on every problem and takes five minutes.

**1. Back up first**

Files and database. This is what makes the next steps safe.

**2. Deactivate every plugin**

**Plugins → Installed Plugins → Deactivate** using the bulk action at the top.

**3. Check the site**

If the problem is gone, a plugin is the cause and you have narrowed it to that set.

**4. Reactivate the first half**

Check again.

**5. Reactivate the second half**

Check again.

**6. Repeat within the failing half**

Until you have isolated one plugin.

**7. Confirm the culprit**

Deactivate just that plugin and verify the problem returns when it is active. This final confirmation matters — it rules out coincidence.

> [!WARNING]
>
> **Deactivating plugins can break the site in new ways.** A page builder, a forms plugin, or a security plugin may be required for other things to work. Have your backup ready, and do this on staging if you have it.

## Faster methods

### Via WP-CLI

Much faster than clicking when you have shell access.

```bash theme={null}
# Deactivate everything
wp plugin deactivate --all

# List what's currently inactive
wp plugin list --status=inactive

# Reactivate one
wp plugin activate elementor
```

### Via the database

If the dashboard is unreachable, deactivate by editing the `active_plugins` option.

```sql theme={null}
UPDATE wp_options
SET option_value = 'a:0:{}'
WHERE option_name = 'active_plugins';
```

> [!WARNING]
>
> **Back up the database before running that query.** It deactivates every plugin, including your security plugins. Do it only when you have no other way in, and do not do it on a production site without a tested restore path.

## Confirming it is really a conflict

> **The problem appeared right after a plugin update**
>
> Strong signal. Check each plugin's update timestamp against when the problem started.

> **The problem followed a plugin install**
>
> Strong signal, though some plugins conflict with each other rather than with the theme.

> **The problem follows your theme switch**
>
> Also plausible — a plugin may have been built for your previous theme's architecture.

> **The problem appears only with caching**
>
> A "conflict" that only exists when a stale cached file is served. Clear all caches first.

## Where conflicts show up

| Symptom | Usual cause |
| - | - |
| **Mobile menu will not open** | JavaScript error from a builder, slider, chat widget, or cookie banner |
| **Header missing on some pages** | A page builder or header plugin that removes the theme header |
| **Layout broken after a plugin install** | CSS specificity conflict, usually aggressive |
| **Colors overridden** | A plugin injecting its own global styles |
| **Content width wrong** | A plugin setting a container width, or a builder's full-width mode |
| **Dark mode not applying** | A cache serving stale CSS, or a plugin forcing a colour scheme |
| **Customizer will not save** | A security plugin blocking the request |
| **Everything looks unstyled** | A CSS optimiser double-processing the theme's stylesheet |

## The CSS optimiser problem

This one is specific to this theme and worth understanding.

> [!WARNING]
>
> **The theme's main stylesheet is already served without blocking render** — it uses a `media="print" onload="this.media='all'"` swap with a `<noscript>` fallback.
>
> A CSS optimisation plugin that also defers, inlines, or reorders stylesheets may double-process it and produce an unstyled or broken site. Fonts are preloaded in the same way.
>
> If you install a caching plugin with CSS optimisation and the site goes unstyled, disable that specific feature first.

See [Performance](/performance/optimization.md).

## Plugins most likely to conflict

| Category | Why |
| - | - |
| **Other page builders** | More than one active at once is asking for trouble |
| **Other themes' companion plugins** | Built for a different theme's architecture |
| **Aggressive CSS optimisers** | Double-process the theme's load strategy |
| **Header/footer builder plugins** | Expect to own the header, which the theme does not offer |
| **Chat and popup widgets** | Frequently inject JavaScript that throws on load |
| **Login customisation plugins** | Inject markup that changes body classes the theme relies on |
| **Maintenance mode plugins** | Replace the whole front end |

## If the conflict is with the theme

Sometimes the finding is that the plugin is genuinely incompatible with this theme rather than buggy.

> **A header or footer builder plugin**
>
> This theme's header and footer are PHP. It does not register any page builder theme locations, so a header builder plugin has nothing to attach to. Use a child theme instead — see [Child themes](/developers/child-themes.md).

> **A plugin expecting a theme options page**
>
> Some plugins read a theme's registered settings. This theme keeps everything in the Customizer, which such plugins cannot read.

> **A theme switcher or styling plugin**
>
> Plugins designed to restyle other themes may inject CSS that fights this theme's tokens.

## If it is a plugin bug

> **Report it to the plugin author first**
>
> A plugin that conflicts with a third-party theme is usually a plugin bug, or a plugin that should detect and adapt.

> **Then note the theme interaction**
>
> Tell the plugin author exactly which theme and version, and what breaks. Specific reports get fixed.

> **Roll back the plugin version**
>
> Most plugins let you install a previous version from the plugin page. It is a temporary fix that buys time.

## After you fix it

**1. Clear all caches**

The cached CSS and JavaScript from the conflicted state will persist otherwise.

**2. Clear the object cache**

Restarting PHP often helps. Some hosts flush on request.

**3. Re-test the same page**

Confirm the fix in the same place you found the problem.

**4. Test on mobile**

Many conflicts only manifest at certain breakpoints.

**5. Audit your plugin list**

If you found one conflict, there may be more. Consider removing plugins you have not used in months.

## Prevention

| Action | Prevents |
| - | - |
| Update plugins one at a time | Multiple simultaneous unknowns |
| Test updates on staging | Production outages |
| Remove unused plugins | Most conflicts, and a performance win |
| Keep a tested backup | Everything |
| Clear cache after updates | Stale-asset "conflicts" that are not conflicts |

## Related

> **[Plugin compatibility](/integrations/plugin-compatibility.md)**
>
> What to expect from specific plugins.

> **[Blank site or fatal error](/troubleshooting/blank-site.md)**
>
> When a conflict is severe enough to take the site down.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.