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

DecodeCMS

Tu WordPress a otro Nivel ...

  • Acerca de
  • Contacto
  • Inicio
  • Tutoriales
    • Themes
    • Plugins
    • Core
    • Recursos
  • Cursos
  • Acceder
    • Mis cursos
    • Mi Cuenta
    • Acceder
Inicio / Tutoriales / Themes / Shortcode para búsqueda en tabla personalizada en WordPress

Shortcode para búsqueda en tabla personalizada en WordPress

[ 1 febrero 2022 ] [ Autor: Jhon Marreros Guzmán ][ Themes - Intermedio] [ ]

funcionalidad mejoras

Suscríbete a DecodeCMS:  

En artículos anteriores ya habíamos visto cómo buscar en una tabla personalizada, sin embargo ahora veremos cómo hacerlo usando un Shortcode y además sólo mostrar los datos que se buscan sin mostrar toda la información desde el inicio.
 

Resultado Final

Búsqueda por nombre, con múltiples resultados

Registros encontrados, búsqueda por nombre

 
Búsqueda por código con resultado único

Resultado único para búsqueda por código

 

Código para la búsqueda en tabla personalizada

En el siguiente código asumo que tienes una tabla personalizada en la base de datos de tu sitio web WordPress, puedes cambiar las variables para reflejar el nombre de tu tabla y los campos de búsqueda.

También puedes cambiar el HTML que se genera para que refleje los campos que quieres mostrar.

En el código anterior:

  • Utilizamos el hook init para crear un shortcode con la función add_shortcode()
  • El shortcode tendrá el nombre: search-form y hace referencia a la función dcms_search_form()
  • Dentro de la función dcms_search_form() configuramos los valores de las variables: $table_name, $field_search1, $field_search2
  • También se captura la variable $search del formulario
  • Con estas variables formamos la consulta SQL que nos devolverá los valores encontrados
  • Se crea el formulario con HTML
  • Si hay resultados, entonces también se crea la tabla HTML

Para agregar el código puedes usar un plugin de Snippets o el archivo functions.php de tu tema hijo.

 

Conclusión

Como has podido ver puedes integrar fácilmente la funcionalidad de búsqueda en una tabla personalizada en tu sitio web directamente a través de código.

 

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

Artículos Relacionados

  • Mostrar Tabla Personalizada con Búsqueda y Paginación en WordPressMostrar Tabla Personalizada con Búsqueda y Paginación en WordPress
  • Búsqueda en tabla personalizada en WordPressBúsqueda en tabla personalizada en WordPress
  • Leer datos desde otra base de datos en WordPressLeer datos desde otra base de datos en WordPress
  • Mostrar datos desde una tabla personalizada de la base de datos de WordPressMostrar datos desde una tabla personalizada de la base de datos de WordPress
Valora este artículo : 1 barra2 barras3 barras4 barras5 barras (3 votos, promedio: 5,00 de 5)
Cargando...

Interacciones con los lectores

Comentarios

  1. WilliamQ990

    1 mayo, 2022

    Hola, Estimado amigo.
    Buenas tardes, eh visto su códigos y explicaciones y usted es un master, vera quería ver si m podría ayudar es un tema de universidad, eh creado una pagina para mi proyecto, donde los estudiantes puedan ver sus nota con solo poner las notas, pero ahora no se como hacer para ingresar los datos de los estudiantes como cedula, nombres apellidos y las calificaciones a una tabla de base de datos, será que me podría ayudar.

    Como hago para ingresar desde una pagina los datos de manera individual o de manera masiva mediante un .csv a la tabla que eh creado de la base de datos wordpress.

    De ante mano agradezco su ayuda

    • Jhon Marreros Guzmán

      3 mayo, 2022

      Hola, los plugins de importación usualmente trabajan con Custom Post Type, si has creado una tabla personalizada no podrás usar plugins y tendrás que hacerlo de la manera clásica con PHP, lo que si podrías usar es un hook de «admin_post_XXXXX», revisa este artículo de guía: https://decodecms.com/formulario-de-contacto-sin-plugins-en-wordpress/ , con respecto a llenar datos, lo mismo si es una tabla personalizada tendrás que usar código PHP directamente. Evaluaré hacer un artículo sobre esto.

      • WilliamQ990

        5 mayo, 2022

        Hola, Amigo.

        Genial, muchas gracias por su aporte, lo probare, en realizar lo que me comentas, y si ves estaría genial, un articulo sobre ese tema

  2. jorge ospitia

    3 mayo, 2022

    Hola amigo, muchas gracias por tus aportes me ayudan mucho, quiero comentarte que estoy haciendo exactamente lo que me dices en el video, cambio los parametros, nombre de la tabla, los campos que quiero que busque, y me muestra el campo para inserta el texto y el boton de busqueda pero no me muestra ningun dato de la BD a la que me estoy conectadno no se si es problema de conexion con la base de datos o porque pasa esto, gracias quedo atento.

    • Jhon Marreros Guzmán

      4 mayo, 2022

      Hola, lo primero sería revisar el valor de la variable $sql, y pegar esa consulta en PHPMyAdmin y ver si te devuelve resultados.

      • Maria

        16 marzo, 2023

        Este es basicamente mi error, pero no entiendo tu solución. 🙁

  3. Manuel

    7 agosto, 2022

    Hola, disculpa envié este mensaje en otro post no relacionado con mi inquietud.
    Ahora sí, estoy en «Shortcode para búsqueda en tabla personalizada en WordPress»

    Implementé este código varias veces en entornos de pruebas locales limpios en WordPress 6.0.1 y al insertar el shortcode en la página muestra el siguiente error al publicar/actualizar la página:
    «Ha fallado la actualización. Las respuesta no es una respuesta JSON válida.»
    Aún así el código funciona pero no respeta el diseño de la página, es decir, se posiciona por encima de todos los bloques
    ¿Me puedes orientar en una solución?

    • Jhon Marreros Guzmán

      8 agosto, 2022

      Hola, el error que comentas no creo que tenga que ver con el código, más bien parece ser algo relacionado con las urls permanentes, tal como se comenta en esta artículo: https://www.igestweb.es/paginas-web/resolviendo-el-fallo-en-wordpress-de-respuesta-json-valida/

      • Manuel

        8 agosto, 2022

        Hola, gracias
        Intenté lo de los enlaces pero seguía igual, el problema eran son los bloques, no entiendo por qué.
        Instalé el Editor clásico, TinyMCE Advanced ya no aparece el mensaje “Ha fallado la actualización. Las respuesta no es una respuesta JSON válida.”

  4. JUAN CARLOS MERCADO

    9 agosto, 2022

    Jhon muy buenas tardes, muchas por compartir tus conocimientos en esta pagina, han sido de gran ayuda.

    Tengo problemas para cargar el shorcode, al momento de abrir la pagina solo me esta visualizando o imprimiendo en pantalla el msj : search-form

    Gracias de antemano por tu colaboración

    • Jhon Marreros Guzmán

      12 agosto, 2022

      Hola, por lo que comentas no se esta interpretando el shortcode, te sugiero revisar el video cuidadosamente, es posible que en algún lugar haya algún paso que esta pendiente de realizarse.

  5. Anderson paredes

    17 agosto, 2022

    Hola Jhon. Muy interesante tu aporte.
    Quisiera saber si esa bisqueda (el resultado de la busqueda) se puede editar

    • Jhon Marreros Guzmán

      17 agosto, 2022

      Hola, tal como esta el código no, necesitarías código adicional. Espero hacer un artículo próximamente sobre cómo realizar esto.

  6. JCGARECA

    18 agosto, 2022

    Saludos estimado..!! Agradecer por compartir tus conocimientos. Comentarte que copie el código en code snippet y genera error en la linea 25 donde se crea la tabla, no esta reconociendo las etiquetas html. debo instalar algún plugin para solucionar el error?. Agradezco la atención.

    • Jhon Marreros Guzmán

      18 agosto, 2022

      Hola, en el functions.php asegúrate de no tener ninguna etiqueta de cierre de PHP ya que es posible que al tener una etiqueta de cierre «?>», el código que agregues después no será interpretado correctamente.

  7. JCGARECA

    19 agosto, 2022

    Help..!! elimine la Etiqueta «?>» y agregue comillas simples desde hasta el final <?php endif '; y me indica que no es JSON..!!.
    Alguien que pueda enviarme el código ya compilado y funcionando..?? Agradezco la ayuda..!! mi e-mail jcgarecaruiz@gmail.com

    • Jhon Marreros Guzmán

      20 agosto, 2022

      Hola, mejor sube algunas imágenes a algún repositorio público y envía la url para revisar cómo agregaste el código.

  8. Luis Grardo Zambrano

    12 septiembre, 2022

    cordial saludo Jhon Marremos,
    Estoy realizando el proceso; inicialmente aplico el codigo en la plantilla utilizada (functions.php) asi adjunto imagen
    https://photos.app.goo.gl/NfPUA1FuYhSnAvGQ8

    dicho codigo esta relacionado con los campos de la tabla cliente adjunto imagen
    https://photos.app.goo.gl/RVGJutv9TxJKSMHw8

    por segundo genero la pagina llamada cliente donde pego el shortcode adjunto imagen
    https://photos.app.goo.gl/bCMMe2LarNEuBync7

    una vez guardado los cambios y actualizo mi sitio web genera la caida completa del sitio web adjunto imagen
    https://photos.app.goo.gl/okxjipsa6BVgi1rr5
    bajo lo anterior no se que podria estarhaciendo mal ? agradesco su colaboracion

    • Jhon Marreros Guzmán

      17 septiembre, 2022

      Hola, revisa el log de errores, o habilita la depuración de tu sitio, te genera un archivo debug.log dentro de la carpeta wp-content, con eso se puede ver en qué línea tienes problemas. Revisa: https://decodecms.com/habilitar-el-modo-debug-en-wordpress/
      PD. Siempre usa un editor de código que te facilite ver los errores y te resalte el código, usa por ejemplo Visual Studio Code que es gratuito.

  9. Xeuxy Martinez

    9 octubre, 2022

    Excelente aporte!

    El unico problema que tengo es que por celda no se muestran mas de 10 caracteres, independientemente si son numeros o texto, si tengo 2 o 20 columnas.

    • Jhon Marreros Guzmán

      13 octubre, 2022

      Hola, lo que comentas es posiblemente algo relacionado con el código CSS de tu tema (o de algún plugin), prueba cambiando temporalmente de tema, usando alguno de los que vienen por defecto y verifica. Saludos.

  10. Maria

    16 marzo, 2023

    Hola, llevo algún tiempo intentando conectar mi base de datos para búsqueda con tu shortcode y hoy finalmente logré que apareciera el buscador, pero no me conecta a ningún dato.

    ¿Podrías ayudarme, por favor? No entiendo cuál puede llegar a ser el error.

    • Jhon Marreros Guzmán

      17 marzo, 2023

      Hola María, revisa tu consulta SQL, si habilitas la depuración de WordPress debería darte más información de los errores. https://decodecms.com/habilitar-el-modo-debug-en-wordpress/

  11. Maria

    24 marzo, 2023

    Warning: Undefined variable $items in /home4/bodegaje/public_html/wp-content/themes/astra-child/functions.php on line 53

    Éste es el error, revisé pero la linea está tal cual indicas aquí.

  12. Omar

    30 marzo, 2023

    Jhon, aprecio mucho tus tutoriales, son de inmensa utilidad. Siguiendo con la idea de este tutorial cómo debería hacer para agregar un botón que me lleve a una página dentro del mismo blog, para que el usuario pueda ver más detalles?
    Gracias de antemano por su repuesta

    • Jhon Marreros Guzmán

      31 marzo, 2023

      Hola Omar, entiendo que quieres tener una columna adicional en los registros de búsqueda con un enlace a alguna otra página, en ese caso simplemente agrégalo como parte de los datos, es decir, crearías una columna de cabecera adicional con la etiequeta HTML th y los datos con td, luego el enlace lo construirías con HTML.

  13. Omar

    1 abril, 2023

    Muchas gracias

  14. Kevin

    28 agosto, 2023

    Hola muchas gracias por tus aportes, implemente tu código para el shortcode en mi web en local y me pasaron muchas cosas, se rompió la web, me sale que no está definida la variable items y así… Logre hacer que funcione el código pero ahora cuando realiza la búsqueda genera una redirección a la entrada predeterminada de WordPress con el mensaje «¡Hola mundo!» ya no sé qué hacer, espero me puedas ayudar. EStoy utilizando el tema Astra, o no sé si deba al formato de las URL de la página.

    • Jhon Marreros Guzmán

      29 agosto, 2023

      Es raro que te redireccione, entiendo que tienes las urls amigables habilitadas y no tienes ningún plugin de redirecciones o similar. Revisa en la url que tengas un parámetro llamado: «search» en la url de búsqueda.

  15. Jose Antonio

    6 septiembre, 2023

    Buenas, el año pasado segui tu tutorial paso a paso y me funciono perfectamente, pero ahora de buenas a primeras ya no me funciona, siempre utilizo el tema ASTRA, que podria ser?

    • Jhon Marreros Guzmán

      11 septiembre, 2023

      Hola, debe haber algo que hiciste diferente, revisa cuidadosamente el código, vuelve a revisar el video, habilita la depuración para tener una idea de que errores se generan.

  16. Hans Bohem

    16 octubre, 2023

    Hola, alguien le funciona tengo los mismos errores de JSON

  17. Jossue

    16 marzo, 2024

    Saldos estimado, hace poco estoy siguiendo tu contenido y te agradezco de corazon por compartir tanto conocimineto, me gustaria tu ayuda, ya que que copio el codigo igual a como lo publicas hasta mantengo la misma BD para evitar errores pero al usar el shortcode me sale un error «Ha fallado la actualización. Las respuesta no es una respuesta JSON válida»

    • Jhon Marreros Guzmán

      20 marzo, 2024

      Hola, tienes que habilitar la depuración y luego consultar el archivo debug.log a ver que mas información hay.
      Revisa: https://decodecms.com/habilitar-el-modo-debug-en-wordpress/

  18. Alberto

    23 octubre, 2024

    Hola Jonh me gustaría tu ayuda, al implementar el Shortcode el buscar queda al inicio del content y no donde lo inserte en el sitio web, que podrá ser?

    • Jhon Marreros Guzmán

      4 noviembre, 2024

      Hola
      Revisa la estructura HTML que se genera, a veces falta abrir o cerrar alguna etiqueta HTML.

  19. WilliamQ990

    2 marzo, 2025

    Hola, Estimado amigo.
    Muy buenas veras quería ver si me podrías ayudar con esto.

    Tengo una tabla creada llamada wp_calificaciones, en donde se ingresa datos mediante un plugins llamado WP_ Data Access, en esos datos que se ingresan uno es un adjunto en PDF, en el MYSQL, eh creado una celda llamada ACTA, con tipo BLOB, y hay es donde se guardan todo los PDF, que estan subidos en la MEDIA de mi pagina echa en wordpress.

    Quisiera saber como podría, hacer para que con el codigo que usted tiene del shorcode, me muestre el PDF, al realizar la búsqueda, ya que al momento de hacer la búsqueda me muestra lo datos y en el campo acta me sale la numeración de ingreso, pero no en si lo que es la acta para visualizarla.

    Me podría ayudar por favor.

    Muchas gracias.

    • Jhon Marreros Guzmán

      11 abril, 2025

      Hola, lo usual es guardar la ruta del archivo, no el archivo PDF en la BD, ya que esto te complicará la administración.
      Si tienes la ruta será más fácil ya que mostrarías simplemente ese dato como enlace.
      Saludos.

  20. Efrain

    11 abril, 2025

    Saludos cordiales para ud .mire tengo un problema a ver si me puede ayudar . yo tengo una página de base de datos en Word Press y lo que quiero en esa página es ingresar un shorts Code para personalizar la búsqueda de mi base de datos de My Admin pero sin mostrar el contenido solamente la información que se ingrese yo no soy muy diestro en esto pero si me explica lo voy haciendo paso al paso y también tengo temor de dañar la página por funtion php del la página ya que no tengo la destreza también tengo visual Code instalado y baje local Xampp que incluye Apache mi pregunta? Como puedo convertir un php en shorts Code para ingresarlo en mi página oh esa no sería la solución que ud me sugiere que estoy un poco perdido muchísimas gracias

  21. Diseñador Web Bogotá

    11 marzo, 2026

    Me parecen muy util usar shortcodes en wordpreess, es mas facil cambiar las rutas o insertarlas en cualquier pagina sin afectar nada, perfectamente se puede transformar una web en webapp con php y mysql basico con wordpress.

Para escribir código envolver con: <pre class="language-xxx"><code> </code></pre> ,reemplaza las xxx (php, css, html)

*

* Gravatar habilitado

Barra lateral principal

Curso Decodifica WordPress

Únete a DecodeCMS

Recibirás como regalo:

Guia práctica con video:
¿Quieres agregar código a WordPress? Revisa las diferentes opciones que tienes.Ver más

Omnisend
Alojamiento Wordpress

Niveles

Básico Intermedio Avanzado

Etiquetas

accesibilidad css dashboard editor error funcionalidad herramientas imagen js librería mejoras optimización seguridad SEO social woocommerce

Populares

Agrupar los resultados de búsqueda en WordPress

Ajax en WordPress de manera correcta

Agregar imágenes por programación en WordPress

Nombre de la categoría en las clases del body de una entrada

© logo decode pie
Política de Privacidad | Política de devoluciones
Copyrigth 2026 Todos los derechos reservados