Resource
/
Disable Taxonomy Filter Slug

Details

Category
CMS
Last Updated
Feb 23, 2026
Creator
Zayn Hamza

Overview

This snippet prevents Elementor taxonomy filter widgets from adding e-filter parameters to the URL. Filters still update results as expected, but the address bar stays clean.

Setup

00

Add External Scripts

Copy & paste the scripts before the </body> tag of your project. If you added them before for another setup, skip this step.

00

Add HTML

Place the code in an HTML widget or add it through Elementor → Custom Code (before the closing </body> tag) either globally or only on selected pages.

00

Add custom CSS

Paste the code through the page or site settings, or add it via Elementor → Custom Code (before </body>) for broader use.

00

Add custom Javascript

Paste the script through Elementor → Custom Code (set to load after </body>) for site-wide or page-specific loading.

(() => {
  document.addEventListener("DOMContentLoaded", () => {
    document.addEventListener("click", event => {
      const button = event.target.closest(".e-filter-item");
      if (!button) return;

      const filter = button.closest(".e-filter");
      if (!filter) return;

      const url = new URL(window.location.href);
      const params = url.searchParams;
      let changed = false;

      Array.from(params.keys()).forEach(key => {
        if (key.startsWith("e-filter-")) {
          params.delete(key);
          changed = true;
        }
      });

      const cleanUrl = changed ? url.toString() : window.location.href;

      filter.dataset.baseUrl = cleanUrl;

      if (changed) {
        setTimeout(() => {
          history.replaceState({}, "", cleanUrl);
        }, 0);
      }
    });
  });
})();
00

Add custom PHP

Place the PHP snippet inside your theme’s functions.php or using any code snippet to enable logic.

00

Publish and preview live

Some solutions only work on the live site. Always publish and test after each change, as results may not appear in the editor.