Excluir categorías de la búsqueda en WordPress

Tiempo estimado de lectura: 9 minutos

 

Cómo excluir categorías de la búsqueda de WordPress

En algunas ocasiones podemos necesitar excluir categorías de la búsqueda de nuestra web. Por ejemplo, si trabajas con un membership site creado con WooCommerce y tienes subscriciones basadas en productos de WooCommerce, es posible que te interese ocultar de los resultados de la búsqueda esos productos.

¿Por qué ocultar estos productos si son los que tus usuarios tendrán que comprar para acceder a su membresía?. Muy sencillo, cuando los usuarios hagan clic en el botón de comprar la membresía, en lugar de llevarles al producto concreto, y que tengan que hacer clic en el botón Comprar, les llevas directamente al checkout con la url de ese producto, con lo que aparecerá el nivel de membresía elegido directamente cargado en el carrito. ¿Me he explicado :-)?.

Otro ejemplo más sencillo puede ser que necesites ocultar ciertas categorías de tu sitio web porque quieres mantener ese contenido oculto (no accesible), y que solo pueda ser visto desde un link o cualquier otra forma que se te ocurra.

Código para ocultar categorías de la búsqueda en tu WordPress

Una vez que ya sabemos que puede haber ocasiones en las que necesitemos ocultar ciertas categorías en el buscador, lo primero que tenemos que tener en cuenta es que este tipo de restricción se debe hacer al contrario de lo que podemos pensar. Es decir, necesitamos decirle al sistema cuales son las categorías que se van a mostrar, de forma tal que todas las categorías que no le indiquemos expresamente a WordPress, quedarán ocultas para el buscador.

El código que necesitamos para realizar esta operación es el siguiente:

function OcultarCategoriasBuscador ($query) {
if ( $query->is_search && ! is_admin() ) {
$query->set('cat','9,18,57,59,61,62,63,73');
}
return $query;
}
add_filter('pre_get_posts',' OcultarCategoriasBuscador ');

En este caso creamos una función llamada OcultarCategoriasBuscador que en mi caso hace una búsqueda en las categorías 9,18,57,59,61,62,63,73. En tu caso debes cambiar estos ID´s por los de las categorías que quieres permitir en tu búsqueda.

¿Cómo saber el ID de una categoría?

Es muy sencillo, para ello, tan solo debes ir Entradas, Categorías, haces clic en la opción Editar de una categoría que quieres mostrar, y en la barra de direcciones de tu navegador, dentro de la url de esa categoría, hay una zona donde te dice cuál es su ID:

Cómo saber el ID de una categoría
Cómo saber el ID de una categoría

¿Dónde debemos colocar este código?

Ya sabes que este código podemos colocarlo dentro del archivo functions.php de nuestro tema activo, o, lo que siempre te recomiendo, copiarlo y pegarlo en tu plugin de funciones.

Una vez que ya tienes tu código funcionando, llego la hora de probar si todo funciona correctamente. Para ello tan solo tienes que crear una entrada (si aún no la tienes) y asignarle una categoría de las que quieres esconder de la búsqueda. Recuerda que las categorías cuyo contenido no quieres mostrar, son las categorías que no has añadido al código anterior.

Una vez que ya tienes la categoría a ocultar asignada a una entrada, tan sólo tienes que introducir en el buscador de tu web una palabra que esté en el título o en el contenido de esa categoría. Verás como en los resultados de la búsqueda ya no se muestra esa entrada.

Resultado de excluir categorías de la búsqueda
Resultado de excluir categorías de la búsqueda


¿Qué te ha parecido el artículo?. Házmelo saber en los comentarios que tienes más abajo. Estoy deseando leerte.

Por último, si crees que este artículo puede ser interesante para algún amigo tuyo, te agradecería enormemente que lo compartieras con él y con todo el mundo a través de las Redes Sociales.

Puntúa este artículo:
[Total: 0 - Promedio: 0]

Puede que también te interese...

Deja un comentario

Información básica sobre protección de datos
Responsable: Jose González Bueno.
Finalidad: Moderación y publicación de comentarios.
Destinatarios: No se comunican datos a terceros.
Derechos: Tienes derecho a acceder, rectificar, exportar y suprimir tus datos.

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

He leído y acepto la política de privacidad de este sitio. *