Hoy en día la información es vital y poder almacenarla resulta muy importante. Como sabes nos encontramos explicando cómo diseñar nuestro propio plugin para WordPress.
Ya vimos en entradas anteriores como crear un plugins para WordPress y como añadir un menú a nuestro plugins de WordPress. Con la entrada de hoy queremos enseñarte que opciones tenernos para poder crear una tabla en la base de datos de nuestra página web.
Como ya sabes WordPress utiliza la base de datos para guardar toda la información que necesita para el funcionamiento de este CMS. Todas las paginas, entradas, datos de usuarios o información de otros plugins se guardan en entre las diferentes tablas de su base de datos.
Si nosotros queremos diseñar un plugins que recoja información y la almacene en un lugar seguro tendremos que ver que opciones tenemos.

Tablas de Base de datos WordPress
Por defecto la base de datos de WordPress trae consigo una serie de tablas, algunas que pueden resultarnos muy útiles y otra que guardan información que para nosotros puede ser irrelevante.
Yo como programador de plugins de WordPress he llegado a usar la tabla wp_user, wp_usermeta, wp_post y wp_postmeta, luego en algunos casos más avanzados hemos tenido que tirar de las tablas de Woocommerce.
Como hacer uso de estas tablas
Poco a poco WordPress se está convirtiendo en un gran Framework, gracias a la incorporación hace unos años de su API, hemos obtenidos muchas funciones predefinidas que nos facilitan el acceso a la base de datos de WordPress de una forma segura y sin la posibilidad de dejar la puerta de atrás abierta a la entrada de personas no deseadas.
Para trabajar con las base de datos podemos hacer uso de la clase wpdb para ello solo tenemos que crear la variable global $wpbd.
Esta clase aglutina varias funciones que podrás ver a continuación:
$wpdb->insert( $table, $data, $format )
Gracias a la función insert podremos insertar una nueva fila dentro de una tabla determinada de nuestra base de datos de la página web. Para poder ejecutar esta consulta deberemos tener los siguientes datos
- El nombre de la tabla ($table)
- Un array con los datos que queramos guardar ($data)
- Formato, es opcional, recomendamos dejarlo en blanco.
EJEMPLO:
$wpdb->insert( 'wp_form', array( 'nombre' => 'Experto Informática', 'email' => 'prueba@info.com' ) );
$wpdb->update( $table, $data, $where, $format = null, $where_format = null );
Gracias a la función updates podremos actualizar cualquier dato que ya tengamos guardado en nuestra base de datos. Para poder ejecutar esta consultar en nuestro plugins necesitaremos tener los siguientes datos:
- Nombre de la base de datos $table
- Array con los datos que queramos actualizar ($data)
- Información sobre el campo de queremos actualizar ($where)
- Los formatos son opcionales, recomendamos no ponerlos
Ejemplo
$wpdb->update( 'wp_form',
// Datos que se remplazarán
array( 'nombre' => 'Pepe', 'email' => 'pepe@prueba.com' ),
// Cuando el ID del campo es igual al número 1
array( 'ID' => 1 )
);
$wpdb->get_results( "$consulta" );
Gracias a la función get_results podemos leer información de las tablas de WordPress fácilmente, solo debemos escribir dentro de la función la consulta que queremos realizar a nuestra base de datos.
Ejemplo:
$registros = $wpdb->get_results( "SELECT nombre, email FROM wp_form" );
$wpdb->delete( $table, $where, $where_format = null );
Gracias la función delete, podemos borrar cualquier registro que este guardado en nuestras tablas de WordPress, para ello deberemos indicar la siguiente información:
- Tabla de la cual queremos borrar el registro
- Condición para encontrar el registro a borrar
Ejemplo:
$wpdb->delete('wp_form', array('ID' => 1 ));
Como crear tablas en base de datos desde un plugins
Para trabajar con la base de datos de WordPress seguiremos usando la clase anteriormente mencionada. Esta clase contiene una función que es la que utilizaremos para crear una tabla en la base de datos de WordPress desde nuestro plugins.
La clase en cuestión es dbDelta(), esta clase en función recibe la consulta de creación de base de datos que queremos ejecutar y la ejecuta automáticamente. A continuación podrás ver un ejemplo de cómo podemos usarla.
global $wpdb;
$nombreTabla = $wpdb->prefix . "demotabla";
$charset_collate = $wpdb->get_charset_collate();
$created = "CREATE TABLE $nombreTabla (
ID bigint(20) unsigned NOT NULL AUTO_INCREMENT,
nombre varchar(60) NOT NULL DEFAULT '',
email varchar(64) NOT NULL DEFAULT '',
url varchar(100) NOT NULL DEFAULT '',
PRIMARY KEY (ID),
) $charset_collate ;";
dbDelta( $created);
Vamos a explicar un poco el código de arriba para que se entienda bien como funciona lo anteriormente escrito.
Primero hemos creado la variable wpbd para poder utilizarla en nuestro plugins, luego hemos procedido a crear el nombre de la tabla que vamos a crear, asignándole el prefijo que tiene las tablas de WordPress automáticamente ( $nombreTabla = $wpdb->prefix . "demotabla"; )
Por último tenemos la consulta que crea la tabla dentro de la función dbDelta. En esta consulta hemos especificado el nombre de la tabla, los campos que va a tener esta tabla y la clave primaria.
Como veis crear una tabla en WordPress es bastante sencillo, gracias a las funciones de WordPress.
Si eres un programador avanzado, siempre tendrás también la opción de irte a la base de datos y crear la tabla desde esta, pero si quieres poder ofrecer tu plugins a otras web, esta opción que te hemos enseñado puede ser de mucha utilidad.
Otras funciones que podemos utilizar con $WPDB
get_var(): Devuelve una variable ( un único resultado, un valor,..)
get_row(): Devuelve una fila de una tabla de la base de datos
get_col(): Devuelve una columna de una tabla de la base de datos
get_results(): Devuelve una lista de resultados ( las mas común)
insert(): Para realizar interacciones $wpdb->insert( $table, $data, $format )
replace(): Para actualizar tablas y reemplazos
update(): Para actualizar una fila
delete(): Para borrar una fila
query(): Para cualquier consulta
prepare(): Se usa para proteger de ataques de inyección de sql
Cuando trabajamos con WordPress, ya sea creando una plantilla o un plugins para darle funcionalidad adicional a nuestra pagina web, deberemos de trabajar usando este tipo de funciones para conectarnos a la base de datos. Ya que de otras formas podemos dejar puertas abierta a posibles ataques de terceras personas.
No olvides comentar si te ha gusta este artículo y compartirlo en tus redes sociales
Más información sobre cómo crear tablas en los plugins que estamos diseñando
¿Cómo crear y diseñar tablas?
Para crear y diseñar tablas efectivas en tus plugins, es fundamental seguir una serie de pasos que aseguren claridad y funcionalidad. Primero, define el propósito de la tabla y los datos que deseas mostrar. Luego, organiza la información en filas y columnas que faciliten la lectura. Considera los siguientes elementos:
- Encabezados claros: Utiliza encabezados descriptivos para cada columna.
- Estilo consistente: Asegúrate de que el diseño sea coherente con el resto del plugin.
- Interactividad: Implementa características como ordenamiento y filtrado para mejorar la experiencia del usuario.
Además, utilizar tablas HTML puede ofrecer una presentación más estructurada de los datos. Por ejemplo:
Elemento | Descripción |
---|---|
Encabezados | Definen el contenido de cada columna. |
Filas | Representan cada registro o entrada de datos. |
¿Cómo crear tablas en Microsoft Access?
Para crear tablas en Microsoft Access, primero abre la aplicación y selecciona la opción de "Crear" en la barra de menú. Allí, elige "Tabla" para iniciar un nuevo diseño de tabla. Esto te permitirá definir los campos que deseas incluir, así como sus tipos de datos.
Una vez que estés en el diseño de la tabla, podrás agregar los campos necesarios. Es recomendable seguir estos pasos:
- Escribe el nombre del campo en la columna "Nombre del campo".
- Selecciona el tipo de dato adecuado en la columna "Tipo de datos".
- Establece las propiedades del campo según sea necesario, como tamaño y formato.
Finalmente, guarda la tabla con un nombre identificativo para facilitar su uso posterior. Recuerda que puedes establecer una clave primaria para asegurar la unicidad de los registros, lo cual es crucial para mantener la integridad de los datos en tu base de datos.
¿Cómo crear tablas en WordPress?
Para crear tablas en WordPress, puedes optar por utilizar el editor de bloques de Gutenberg, que facilita la inserción de tablas de manera intuitiva. Simplemente añade un bloque de "Tabla" y define el número de filas y columnas que necesitas. Luego, podrás personalizar el contenido de cada celda y el diseño general de la tabla.
Además, si requieres más funcionalidades o un diseño más avanzado, puedes considerar el uso de plugins específicos para tablas. Algunas opciones populares incluyen:
- TablePress: permite crear y gestionar tablas fácilmente.
- WP Table Builder: ofrece un constructor visual para diseñar tablas personalizadas.
- Data Tables Generator: ideal para tablas más complejas con funcionalidades adicionales.
¿Cómo agregar una tabla de contenido en WordPress?
Para agregar una tabla de contenido en WordPress, puedes utilizar un plugin específico que facilite esta tarea, como "Table of Contents Plus" o "Easy Table of Contents". Una vez instalado y activado, podrás configurar el plugin para que genere automáticamente la tabla al insertar encabezados en tus publicaciones. Asegúrate de personalizar la apariencia y la ubicación de la tabla según tus preferencias, lo que mejorará la navegación y la experiencia del usuario en tu sitio.