¿Para qué mostrar el contenido de tus páginas en las búsquedas si un usuario lo que quiere es el contenido de tus entradas?

Si quieres evitar esta acción basta con incluir el siguiente script a modod de filtro en tu functions.php:

function Filtro($query) {
    if ($query->is_search) {
        //Elimino los contenidos de las páginas con estas ID para que no busquen en ellas.
        $query->set('post__not_in', array(215,19,5,7,9,11,13,15,17,31,33,35,37,39,67,87,89,108,113,126,121));
    }
    return $query;
}
add_filter('pre_get_posts','Filtro');

La línea que nos interesa es la que declara el array con los IDs de las páginas a excluir de los resultados de búsqueda:

$query->set('post__not_in', array(215,19,5,7,9,11,13,15,17,31,33,35,37,39,67,87,89,108,113,126,121));

Como intuirás, es posible poner menos IDs así como más.

Después hacemos el add_filter correspondiente y nuestro Filtro queda aplicado a los resultados de búsqueda.

3 respuestas a “Excluir las páginas de los resultados de búsqueda en WordPress”

  1. Sergio dice:

    Hola,
    Tengo un problema y tal vez tú puedas ayudarme.
    Con WordPress, el tema Customizr, al utilizar el buscador, genera una página de “Resultados de búsqueda” en forma automática en respuesta a lo que haya encontrado. Al no tener control sobre dicha página, el diseño es nativo del tema. Cómo se puede modificar eso?.
    El archivo search.php no existe o no lo encuentro. Lo he buscado por cada carpeta con el Filezilla, además del Editor del tema.
    Viendo tu desarrollo, pensé que tal vez tú puedas ayudarme. Incluso he buscado por si existiese algún plugin que fuese buscador y al mismo tiempo controlase el resultado redireccionándolo a cierta página, la cual active un shortcode, etc.
    Mi nivel es bajo, no soy programador por más que me atreva con ciertas cosas. Pero necesito poder controlar la manera de mostrar los resultados de la búsqueda, el orden, si debajo de cada título pone o no un resúmen de la entrada o página, cantidad de caracteres, si poner o no una viñeta a cada título, el color y tamaño de los títulos y detalles, y un largo etc.
    Ni hablar también de la manera de paginar los resultados.
    Sigo sin entender como una herramienta, que lleva tantos años de desarrollo, no incluya en forma nativa cosas tan simples y de uso cotidiano.
    Te mando un saludo y espero que puedas ayudarme. Gracias.
    Sergio

Deja un comentario

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