• 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 / Core / Guardar las búsquedas internas en WordPress

Guardar las búsquedas internas en WordPress

Guardar las búsquedas internas en WordPress

[ 30 noviembre 2021 ] [ Autor: Jhon Marreros Guzmán ][ Core - Intermedio] [ ]

funcionalidad

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

En este artículo veremos cómo guardar los textos de búsqueda que se realizan en el mismo sitio, lo haremos directamente creando una tabla en la Base de Datos y a través de código.

 

Resultado Final

Al final lo que queremos obtener son datos de la cantidad de veces por cada texto que se ha buscado, algo similar a la siguiente imagen:

Datos de ejemplo resultado búsqueda

 

Estructura de la tabla

Guardaremos los datos en una tabla personalizada en la base de datos de tu propio WordPress, el siguiente código crea la tabla.

CREATE TABLE wp_text_search (
 	search VARCHAR(200) NOT NULL UNIQUE,
 	count INT DEFAULT 0
);

 
En el código anterior

  • Cambia el prefijo “wp_”, en caso uses alguno diferente
  • El campo de texto “search” es UNIQUE, ya que no debería haber dos filas con el mismo texto

 

Puedes usar este código desde la aplicación PHPMyAdmin o similar, ejecutando una consulta SQL.

 

Código para guardar las búsquedas internas en la tabla

El siguiente código guardará las búsquedas que se realicen en tu sitio en la tabla que hemos creado anteriormente.

function dcms_count_text_search( $query_object ) {
    if( $query_object->is_search() ) {
        global $wpdb;

        $table = $wpdb->prefix . 'text_search'; //Nombre de la tabla
        $col_search = 'search'; //unique
        $col_count = 'count';

        $search_text = $query_object->query['s'];

        // Buscamos la cantidad de repeticiones si el texto existe
        $sql = $wpdb->prepare("SELECT `$col_count` FROM `$table` WHERE `$col_search` = '%s'", $search_text);
        $count = $wpdb->get_var($sql) ?? 0;

        // Insertamos o actualizamos
        $wpdb->replace( $table, [$col_search => $search_text, $col_count => $count + 1], ['%s', '%d'] );
    }
}

add_action( 'parse_query', 'dcms_count_text_search' );

 
En el código anterior:

  • Usamos el hook parse_query que hace referencia a la función dcms_count_text_search()
  • Dentro de la función comprobamos el método del objeto $query_object para saber si la consulta es de una búsqueda
  • Usamos la variable global $wpdb para consultar a la BD, buscamos primero la cantidad de repeticiones para el texto buscado
  • Luego usamos el método replace() para insertar o actualizar el valor encontrado anteriormente sumándole 1

 

Conclusión

Como has podido comprobar, puedes guardar las búsquedas que tus usuarios realizan en tu sitio directamente creando una tabla y a través de código. Los datos guardados pueden ser usados como base para tomar desiciones de mejora respecto al contenido que más se busca en tu sitio.

 

Suscríbete a DecodeCMS:  

 

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

Artículos Relacionados

  • Shortcode para búsqueda en tabla personalizada en WordPressShortcode para búsqueda en tabla personalizada en WordPress
  • 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
  • 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

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

*

* Gravatar habilitado

Barra lateral principal

Presentación

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

Jooble
Alojamiento Wordpress

Niveles

Básico Intermedio Avanzado

Etiquetas

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

Populares

Mostrar el nombre del archivo que esta usando un tema sin usar plugins

Cómo usar el Modo de Recuperación de WordPress

Agrupar los resultados de búsqueda en WordPress

Crear un Child Theme en WordPress de manera correcta

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