Limitar las búsqueda a los posts en WordPress

- julio 13, 2017

Trabajando en uno de mis últimos proyectos para la multinacional Azúcar Manuelita y su página de industria (todo realizado en WordPress) siempre me encuentro con detalles que son agregados en WordPress por defecto.

En este caso me encuentro con el caso de las búsquedas las cuales en WordPress funcionan globalmente lo que quiere decir que cuando se realiza una tratará de extraer todo el contenido relacionado con dicha búsqueda lo que incluye (páginas, entradas, comentarios, categorías, etc).

Como pueden ver en la imagen siguiente el termino de búsqueda me esta devolviendo resultados no solo de las entradas (posts) si no que en este caso también de algunas páginas que incluyen ya sea en su titulo, contenido y demás la palabra “manuelita”.

Limitar las búsqueda a los posts en WordPress 0

Ahora bien, en mi caso no requiero que mis búsquedas sean de forma global en toda la página, ya que solo necesito que siempre los resultados que aparezcan sean de las entradas o posts en este caso.

¿Como lo hice?

Dentro de WordPress existe un filtro llamado pre_get_posts el cual “proporciona acceso al objeto $query por referencia (cualquier cambio que realice en el $query se realiza directamente en el objeto original y no es necesario ningún valor de retorno)”.

De esta manera podemos limitar nuestras búsquedas de la siguiente manera (Agregar al functions.php)

// Limitar las búsquedas solo para los posts
function limit_search_posts($query) {
  if ($query->is_search) {
  $query->set('post_type', 'post');
  }

  return $query;
}

add_filter('pre_get_posts','limit_search_posts');

Esta fue la forma mas fácil que pude realizar, pero la pueden implementar de la forma que ustedes consideren.

El resultado

Ahora al momento de volver a realizar la misma búsqueda seguramente el problema estará resuelto como se muestra a continuación:

Y ahora solo nos mostrara resultados de nuestras entradas (posts).

Limitar las búsqueda a los posts en WordPress 1

Puedes ingresar al desarrollo directamente por medio de https://andres-dev.com/manuelita-industria/category/noticias/ y revisarlo directamente.

Y si este artículo te ha gustado no olvides compartirlo con todos.


Recibirás cada semana todas nuestras actualizaciones
Puedes estar tranquilo que nunca te enviaremos SPAM
SOBRE EL AUTOR

Desarrollador web (Wordpress Expert) PHP, HTML5, CSS3, LINUX y muchos más...

¿Tienes un proyecto en mente? Hagámoslo real

CONTACTAR
Ebook-eBook – Funciones más Útiles para WordPress

Descarga el eBook GRATIS!

eBook – Funciones más Útiles para WordPress