Troubleshooting Common Conflicts with Easy Table of Contents
Content
Easy Table of Contents is a popular plugin for automatically generating a table of contents from page headings. However, like any plugin, it can sometimes conflict with other themes or plugins on your WordPress site. This guide covers the most common issues reported by users and provides steps to diagnose and resolve them.
Common Symptoms of Plugin Conflicts
Users have reported a variety of issues that were ultimately traced back to a conflict with Easy Table of Contents. The most frequent symptoms include:
- WooCommerce checkout pages entering an infinite loading loop or returning a 500 error.
- Payment gateways, such as Square, failing to load.
- Other page elements, like YouTube embeds, galleries (Envira Gallery, WordPress core gallery), or Instagram feeds, not displaying properly.
- Admin interfaces, like the Divi Theme Builder, failing to load and showing a 503 error.
- Increased server CPU and RAM usage.
- Login forms malfunctioning or not showing error messages.
- Fatal PHP errors, often related to memory exhaustion or undefined functions.
Why Do These Conflicts Happen?
Conflicts often occur because Easy Table of Contents processes page content to find headings and build the table. It applies the the_content filter, which can sometimes interfere with how other plugins or themes have modified the content. This processing might happen on pages where it is not needed, like checkout or login pages, leading to unexpected behavior.
Specific technical causes from the threads include:
- WooCommerce Function Checks: An older version (pre-2.0.11) had a bug where it tried to call the
is_woocommerce()function on sites where WooCommerce was installed but not active on the current page, causing a fatal error. - Content Processing: The plugin's method of parsing content can sometimes break JavaScript or JSON output from other plugins (e.g., Instagram Feed) or interfere with shortcodes.
- Resource Usage: Processing very long or complex pages can consume significant server memory, leading to crashes on resource-limited hosting environments.
How to Troubleshoot and Resolve Conflicts
Step 1: Basic Checks
- Update Everything: Ensure you are using the latest version of Easy Table of Contents, your theme, and all other plugins. Many conflicts, especially the WooCommerce-related ones, were addressed in version 2.0.11 and later.
- Check Plugin Settings: Navigate to Settings > Table of Contents. Review the "Show when" settings to ensure the TOC is only being inserted on the intended post types. It should typically be disabled on pages like checkout, cart, and login.
Step 2: Isolate the Conflict
If updating doesn't help, you need to find the root cause.
- Enable Debugging: Enable WP_DEBUG to see if any PHP errors are logged. This can provide crucial clues. Note: Some older versions of Easy Table of Contents were known to output debug messages to the screen; these were later restricted to admin users only.
- Check Error Logs: Your web host likely has PHP error logs. Contact their support for help accessing these logs if you see a blank screen (500 error) or other critical failures.
- Conflict Test: Deactivate all other plugins except Easy Table of Contents and WooCommerce (if applicable). If the problem disappears, reactivate your plugins one by one to identify which one causes the conflict. Switch to a default WordPress theme (like Twenty Twenty-Four) during this test to rule out a theme conflict.
Step 3: Implement Common Solutions
Based on community reports, here are specific fixes for common issues:
- WooCommerce Checkout/Cart Issues: The Easy Table of Contents team has stated that newer versions should not run on WooCommerce product, cart, or checkout pages. If you are on the latest version and still have issues, you can add the following code to your theme's
functions.phpfile to explicitly prevent it from loading on those pages:add_filter( 'ez_toc_is_eligible', function( $is_eligible, $post ) { if ( function_exists( 'is_checkout' ) && ( is_checkout() || is_cart() ) ) { $is_eligible = false; } return $is_eligible; }, 10, 2 ); - High Resource Usage: If the plugin is consuming too much memory, consider disabling it on very long posts or pages. You can also look into optimizing your server's PHP memory limit.
- Admin Interface Issues (e.g., Divi Builder): This is often a complex theme/plugin conflict. The best course of action is to report the issue to both the theme and plugin developers with details from your error logs.
- Third-Party Plugin Conflicts (e.g., WPML, Gallery Plugins): For conflicts with specific plugins like WPML or Envira Gallery, checking the plugin's settings or seeking guidance from their support channels may be necessary, as the interaction can be specific to how each plugin handles content.
When to Seek Further Help
If the steps above do not resolve your issue, the broader WordPress community can be a valuable resource. When asking for help, be prepared to provide:
- The exact versions of WordPress, Easy Table of Contents, your theme, and other relevant plugins.
- The exact error messages from your debug log or server logs.
- A clear description of the steps to reproduce the problem.
- The URL of the page where the error occurs.
By systematically working through these troubleshooting steps, you can identify the cause of most conflicts and find a solution that allows you to continue using Easy Table of Contents on your site.
Related Support Threads Support
-
Page no longer scrollablehttps://wordpress.org/support/topic/page-no-longer-scrollable/
-
WooCommerce productshttps://wordpress.org/support/topic/woocommerce-products-39/
-
Square payment gateway broken when Easy Table of Contents is activatedhttps://wordpress.org/support/topic/square-payment-gateway-broken-when-easy-table-of-contents-is-activated/
-
Plugin crashed on is_woocommerce()https://wordpress.org/support/topic/plugin-crashed-on-is_woocommerce/
-
Widget in enfold for this plugin results in 503 errorhttps://wordpress.org/support/topic/widget-in-enfold-for-this-plugin-results-in-503-error/
-
Plugin deactivation conflicthttps://wordpress.org/support/topic/plugin-deactivation-conflict/
-
Versions greater than 1.7.1 breaks WooCommerce checkouthttps://wordpress.org/support/topic/help-needed-versions-greater-than-1-7-1-breaks-woocommerce-checkout/
-
Changing plugin options revert backhttps://wordpress.org/support/topic/changing-plugin-options-revert-back/
-
WP_DEBUG Showinghttps://wordpress.org/support/topic/wp_debug-showing/
-
Plugin calls WordPress Shortcodes twicehttps://wordpress.org/support/topic/plugin-calls-wordpress-shortcodes-twice/
-
Option to disable debughttps://wordpress.org/support/topic/option-to-disable-debug/
-
There has been a critical error on this website. Please check your site admin…https://wordpress.org/support/topic/there-has-been-a-critical-error-on-this-website-please-check-your-site-admin-6/
-
Conflict W/Instagram Feedhttps://wordpress.org/support/topic/conflict-w-instagram-feed/
-
503 error and slowing down after updating to 2.0https://wordpress.org/support/topic/503-error-and-slowing-down-after-updating-to-2-0/
-
Conflict between last v. Divi and your pluginhttps://wordpress.org/support/topic/conflict-between-last-v-divi-and-your-plugin/
-
Conflict: site connection formhttps://wordpress.org/support/topic/conflict-site-connection-form/
-
Plugin deactivates itselfhttps://wordpress.org/support/topic/plugin-deactivates-itself-4/
-
Themify Ultra Themehttps://wordpress.org/support/topic/themify-ultra-theme/
-
Page crash when previewing a page in admin modehttps://wordpress.org/support/topic/page-crash-when-previewing-a-page-in-admin-mode-urgent/
-
Plugin Conflict Ultimate Shortcodeshttps://wordpress.org/support/topic/plugin-conflict-ultimate-shortcodes/
-
The id is gone on wp block column on child themeshttps://wordpress.org/support/topic/the-id-is-gone-on-wp-block-column-on-child-themes/
-
WooCommerce checkout crashes with this plugin activehttps://wordpress.org/support/topic/woocommerce-checkout-crashes-with-this-plugin-active/
-
Breaks only 1 page on my sitehttps://wordpress.org/support/topic/breaks-only-1-page-on-my-site/
-
Hide the debug informationhttps://wordpress.org/support/topic/hide-the-debug-information/
-
Easy Table of Contents crashing Woocommercehttps://wordpress.org/support/topic/easy-table-of-contents-crashing-woocommerce/
-
Google Warning Messagehttps://wordpress.org/support/topic/google-warning-message/
-
Conflict issue with Newspaper Themehttps://wordpress.org/support/topic/conflict-issue-with-newspaper-theme/
-
Conflict With YASRhttps://wordpress.org/support/topic/conflict-with-yasr-2/
-
When activated, youtube embed stops workinghttps://wordpress.org/support/topic/when-activated-youtube-embed-stops-working/
-
Conflict with galleryhttps://wordpress.org/support/topic/conflict-with-gallery-2/
-
Displayhttps://wordpress.org/support/topic/display-43/
-
WP review (Pro)https://wordpress.org/support/topic/wp-review-pro/
-
Issue with WPML – Polylanghttps://wordpress.org/support/topic/issue-with-wpml-polylang/
-
High CPU utilization on Divi Themehttps://wordpress.org/support/topic/high-cpu-utilization-on-divi-theme/
-
Looped WooCommerce checkout pagehttps://wordpress.org/support/topic/looped-woocommerce-checkout-page/
-
Causes Divi’s Theme Builder not to work (503 console error)https://wordpress.org/support/topic/causes-divis-theme-builder-not-to-work-503-console-error/
-
CPU and RAM usage high after activationhttps://wordpress.org/support/topic/cpu-and-ram-usage-high-after-activation/
-
Incompatibility with WPML – woocommerce checkouthttps://wordpress.org/support/topic/incompatibility-with-wpml-woocommerce-checkout/
-
Checkout blocked by Easy table of contenthttps://wordpress.org/support/topic/checkout-blocked-by-easy-table-of-content/
-
not working woocommerce producehttps://wordpress.org/support/topic/not-working-woocommerce-produce/
-
Exclude Elementshttps://wordpress.org/support/topic/exclude-elements/
-
Cannot coexist with GADW pluginhttps://wordpress.org/support/topic/cannot-coexist-with-gadw-plugin/