ImplementaciĂłn de filtros AJAX para WooCommerce y plantilla personalizada de “BĂşsquedas Custom” usando ACF Pro, que permite crear facetas combinadas (landings) basadas en dos o más taxonomĂas de producto (por ejemplo: “gafas de sol” + “gafas infantiles”).
- Página de categorĂas/taxonomĂas de producto: GestiĂłn dinámica de filtros en
archive-product.php. - Plantilla “Búsquedas Custom” (
page-custom-search.php): Página que inicia con un conjunto de IDs definido por campos ACF e incluye filtros AJAX.
- WordPress ≥ 6.7.2
- Bootstrap ≥ 5.3.2
- WooCommerce
- ACF Pro
- Editor clásico (Classic Editor)
wp-ajax-filters/
├── README.md
├── functions.php
├── page-custom-search.php # Plantilla “Búsquedas Custom”
├── assets/
│ ├── css/
│ │ └── woocommerce.css # Estilos personalizados para WooCommerce
│ └── js/
│ └── ajax-filters.js # Maneja filtros y paginación AJAX
└── inc/
│ ├── ajax-filters.php # Registra scripts y callback AJAX
│ ├── ajax-pagination.php # Genera paginador sin recarga
│ ├── custom-query.php # Extrae IDs iniciales vĂa ACF
│ └── custom-search.php # Lógica AJAX para “Búsquedas Custom”
├── template-parts
│  └── sidebar-shop.php # Plantilla que incluye los filtros AJAX
└── woocommerce
└── archive-product.php # Plantilla de categorĂas/taxonomĂas
[!NOTE] > El resto de funciones del theme (configuraciĂłn, CPTs, helpers genĂ©ricos, etc.) se omiten aquĂ. Solo se presenta la lĂłgica y archivos relacionados con los filtros AJAX.
- Filtros dinámicos: checkboxes en sidebar reinician productos vĂa
fetch()aadmin-ajax.php. - PaginaciĂłn AJAX: enlaces
<a data-page="X">sinhref, interceptados por JS. - BĂşsquedas Custom: backend ACF define filtros iniciales, tu JS pagina sobre IDs pre-calc.
- Clona el repositorio en tu carpeta de themes:
git clone git@github.com:rociobenitez/wp-ajax-filters.git mv wp-ajax-filters /wp-content/themes/your-theme
- Activa el theme en Apariencia → Themes.
- AsegĂşrate de tener instalados y activos los plugins requeridos.
-
En ACF Pro crea un grupo de campos (ubicado en “BĂşsquedas Custom”) con selectores de taxonomĂas:
product_catproduct_brandmaterialgenerouso
-
Asigna el grupo a la plantilla de página
page-custom-search.php. -
Puedes personalizar los estilos de la tienda en
assets/css/woocommerce.css. -
Añade una imagen por defecto para los productos sin imagen en
assets/img/woocommerce-default-product.jpg.
[!NOTE] > Las taxonomĂas utilizadas en este repositorio son de ejemplo. Pueden ser reemplazadas por las tuyas.