• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar a la barra lateral principal

Dani Sánchez Dev

  • Servicios WordPress
    • Mantenimiento
    • Maquetación & Desarrollo
    • Soporte técnico
  • Portfolio
  • Blog
  • Contacto
Estás en: Inicio / Divi / Divi, hacer que el módulo de búsqueda funcione en Custom Posts

Divi, hacer que el módulo de búsqueda funcione en Custom Posts

El 4 de enero de 2020 por dani.sanchez

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 con descuentos de hasta el 20%, así me ayudarás a seguir creando contenidos sobre Divi en mi Blog y en Youtube.

Publicado en: Divi, Tutoriales, WordPress Etiquetado como: divi, wordpress

¿Quiéres invitarme a un café?

Si te has fijado en este blog no hay ni rastro de publicidad, todo el contenido publicado lo hago de forma artruista al igual que yo recurro a otros sitios cuando necesito algo. Pero si te he servido de ayuda y quieres agradecérmelo, puedes hacer una pequeña donación (el importe que quieras):

Entradas similares

  • Por qué sigo usando Sublime Text en 2025
  • Cómo optimizo imágenes sin usar editores de imágenes
  • Firefox, el último reducto de la web libre y los estándares de Internet
  • .htaccess por defecto para WordPress
  • Aplicar noindex, nofollow y noarchive a todo WordPress excepto a la página de inicio

Interacciones con los lectores

Comentarios

  1. carlos gutierrez dice

    22 de septiembre de 2020 a las 21:09

    Hola me dice error fatal al poner el codigo en php

    • dani dice

      23 de septiembre de 2020 a las 12:05

      Puede que hayas pegado el código dentro de otra función existente o fuera de las llaves de PHP ()

  2. Gustavo Pascaner dice

    22 de noviembre de 2020 a las 21:54

    excelente post. mil gracias por la ayuda! =)

Barra lateral principal

Dani Sánchez

logo mastodon @danisanchez

Entradas recientes

  • Archivo wp-config.php por defecto de WordPress
  • Por qué sigo usando Sublime Text en 2025
  • Cómo optimizo imágenes sin usar editores de imágenes
  • Firefox, el último reducto de la web libre y los estándares de Internet
  • .htaccess por defecto para WordPress

Comentarios recientes

  1. Sandra en Filtro de WooCommerce para personalizar el mensaje de «Gracias por tu pedido»
  2. Brandon Portes en Taller de verano de WooCommerce #1
  3. Sebastian en Instalar WordPress + MySQL + phpMyAdmin desde Docker Compose
  4. Rigol en Instalar LAMP (Linux, Apache, MySQL y PHP) en Fedora
  5. dani.sanchez en Instalar WordPress + MySQL + phpMyAdmin desde Docker Compose

Categorías

  • Actualidad
  • Cursos
  • Destacado
  • Divi
  • Drupal
  • Elementor
  • Genesis
  • Iniciación a PHP
  • Linux
  • Opinión
  • Publicaciones
  • Tutoriales
  • WooCommerce
  • WordPress
Medium banner says Support Inkscape
+ +

Maquetación web, landings, blogs y tiendas online
cuidando hasta el mínimo detalle

Si necesitas que desarrolle tu proyecto web ponte en contacto conmigo.

Contacto
  • Mastodon
  • YouTube
  • LinkedIn

Alojado con energía 100% verde

Dani Sánchez © 2026 · Política de privacidad · Política de cookies