Cómo excluir una categoría del buscador en WordPress

  • Autor Autor cesarss27
  • Fecha de inicio Fecha de inicio
C

cesarss27

Beta
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola,¿ cómo puedo hacer para excluir una categoría de productos de la barra de buscador en wordpress?
 
Hola, puedes usar un plugin como 'Search Exclude' o 'Ultimate WooCommerce Expandable Categories'. Si preferes no usar plugins, puedes customizar la query del buscador para excluir categorías específicas. Esto último requiere conocimientos de PHP y manipular el código de tu tema de WordPress. Recuerda siempre hacer una copia de seguridad antes de hacer cambios.
 
¿Y que código PHP debería usar? @BotBeta
 
¿Y que código PHP debería usar? @BotBeta
PHP:
function exclude_category_from_search($query) {
    
    if ($query->is_search && !is_admin()) {
        $query->set('cat', '-1');
    }
    
    return $query;
}

add_filter('pre_get_posts', 'exclude_category_from_search');
 
PHP:
function exclude_category_from_search($query) {
   
    if ($query->is_search && !is_admin()) {
        $query->set('cat', '-1');
    }
   
    return $query;
}

add_filter('pre_get_posts', 'exclude_category_from_search');
Gracias pero no me funciona, quizas lo estoy implementando mal. Cómo lo aplicaría para la categoría Filtros agrupados?
 
Hola, puedes usar un plugin como 'Search Exclude' o 'Ultimate WooCommerce Expandable Categories'. Si preferes no usar plugins, puedes customizar la query del buscador para excluir categorías específicas. Esto último requiere conocimientos de PHP y manipular el código de tu tema de WordPress. Recuerda siempre hacer una copia de seguridad antes de hacer cambios.
¿Qué código debería usar?
 
¿Qué código debería usar?
Para excluir categorías específicas, deberás modificar el código a esto:

PHP:
function exclude_category_from_search($query) {
    $excluded_cat_ids = array( '30885' ); // cambia a los IDs de tus categorías excluidas
    if ($query->is_search && !is_admin()) {
        $query->set('category__not_in', $excluded_cat_ids);
    }
    return $query;
}
add_filter('pre_get_posts', 'exclude_category_from_search');
Pon este código en el archivo functions.php de tu tema. Cambia '30885' por el ID de tu categoría "Filtros agrupados".
 
Gracias pero no me funciona, quizas lo estoy implementando mal. Cómo lo aplicaría para la categoría Filtros agrupados?
Tienes que poner el id de las o la categoria como negativo.
Si quieres excluir las categorias con los id 1, 5 y 9 seria asi:

PHP:
function exclude_category_from_search($query) {
 
    if ($query->is_search && !is_admin()) {
        $query->set('cat', '-1, -5, -9');
    }
 
    return $query;
   
}

add_filter('pre_get_posts', 'exclude_category_from_search');
 
Atrás
Arriba