Por defecto, el módulo de búsqueda de Divi solo ofrece resultados provenientes de páginas y entradas (los tipos de post por defecto de WordPress).

Pero si nuestra web tiene contenidos personalizados, es posible que necesitemos ampliar las búsquedas a este tipo de contenidos.

Este artículo también está disponible en vídeo:

Para integrar custom posts en el módulo de búsqueda tenemos que añadir la siguiente función al archivo de funciones de Divi (se recomienda crear un child theme), o en nuestro propio plugin de funciones.

function custom_remove_default_et_pb_custom_search() { 
    remove_action( 'pre_get_posts', 'et_pb_custom_search' ); 
    add_action( 'pre_get_posts', 'custom_et_pb_custom_search' ); 
} 
add_action( 'wp_loaded', 'custom_remove_default_et_pb_custom_search' ); 
 
 function custom_et_pb_custom_search($query = false){ 
    if(is_admin() || ! is_a($query, 'WP_Query') || ! $query->is_search){ 
        return; 
    } 
 
    if(isset($_GET['et_pb_searchform_submit'])){ 
    $postTypes = array(); 
 
        if(!isset($_GET['et_pb_include_posts']) && ! isset($_GET['et_pb_include_pages'])){ 
            $postTypes = array('post'); 
        } 
    
        if(isset($_GET['et_pb_include_pages'])){ 
            $postTypes = array('page'); 
        } 
    
        if(isset($_GET['et_pb_include_posts'])){ 
        $postTypes[] = 'post'; 
        } 
    
        /* Comienza a añadir tus custom posts*/ 
        $postTypes[] = 'vehiculos'; 
        /* Fin añadir tus custom posts*/ 
    
        $query->set('post_type', $postTypes); 
    
        if(! empty($_GET['et_pb_search_cat'])){ 
                $categories_array = explode(',', $_GET['et_pb_search_cat']); 
            $query->set('category__not_in', $categories_array); 
        } 
    
        if(isset($_GET['et-posts-count'])){ 
            $query->set( 'posts_per_page', (int) $_GET['et-posts-count']); 
        } 
    } 
} 

Presta atención a la línea:

/* Comienza a añadir tus custom posts*/ 
        $postTypes[] = 'vehiculos'; 
/* Fin añadir tus custom posts*/

Donde ‘vehiculos’ es el identificador del custom posts que queremos añadir a la búsqueda. Si necesitamos añadir más tipos de posts, solo tenemos que asignarlos al $postTypes[] línea a línea:

$postTypes[] = 'mi_custom_post';
$postTypes[] = 'otro_custom_post';
...

En esta web de vehículos, si intentamos buscar el nombre de un coche sin integrar el código anterior, no obtendremos ningún resultado de búsqueda.

En cambio, integrando el código anterior:

Recuerda que puedes adquirir Divi desde mi enlace de afiliado sin que te cueste ni un céntimo más, así me ayudarás a seguir creando contenidos sobre Divi en mi Blog y en Youtube.

COMPRAR DIVI