Descubre en este tutorial cómo evitar que otra query en la misma página interfiera con los resultados de FacetWP mediante código.
FacetWP es un un plugin fantástico para filtrar contenido. De hecho, es el que utilizo en esta página para facilitar la búsqueda de tutoriales.
En la mayoría de ocasiones, tanto los filtros como la plantilla (los dos indispensables del plugin) tiene una página dedicada.
Pero si en la misma página tienes otros elementos que usan una query (cualquier listado de entradas) puede que tengas que realizar ciertos ajustes para que no surjan interferencias.
Por ejemplo, recientemente en el proyecto de un cliente estaba usando el bloque de últimas entradas que mostraba solo las de una determinada categoría. Justo debajo tenía un filtro y una plantilla de FacetWP. Para mi sorpresa, las entradas de FacetWP salían pre-filtradas por un término… 🤯 Después de mucha investigación y hablar con soporte del plugin me confirmaron mi sospecha de que había cierta interferencia entre las dos queries.
Por suerte, el plugin tiene un filtro que te puede ayudar en estas ocasiones.
Vamos a ver cómo:
Snippet para evitar que otra query interfiera con la de FacetWP
Añade el siguiente snippet al fichero functions.php o a tu plugin de funcionalidades:
Para ver este código y los otros 2057 snippets de esta web,
identifícate o suscríbete aquí.
Este ejemplo está pensado para cuando el tipo de entradas es post
pero puedes modificarlo para cualquier CPT.
Es un caso muy particular, pero si te puedo ahorrar el tiempo que me supuso realizar toda la investigación ya habrá merecido la pena. 😉
Conclusión
¿Estás usando FacetWP en una página con otros elementos que muestras un listado de contenidos? Si notas algún tipo de interferencias entre las queries aplica este código y es probable que lo resuelvas.
Si tienes alguna duda te leo en los comentarios. Y si quieres dejarme una sugerencia para futuros tutoriales, envíamela a través del formulario de contacto.
Todo ventajas de ser suscriptor. 😉