Cómo crear un Plugin de WordPress con funciones SQL personalizadas

Cómo crear un Plugin de WordPress con funciones SQL personalizadas

WordPress es una plataforma flexible que permite a los usuarios personalizar sus sitios web mediante la creación de plugins. En este artículo, aprenderás a crear un plugin personalizado que permita a los usuarios votar por las publicaciones en tu blog. Utilizaremos funciones SQL personalizadas para almacenar y contar los votos de cada publicación.

Planificación y Diseño

Antes de comenzar, es crucial definir las funcionalidades del plugin. En nuestro caso, queremos que los usuarios puedan votar por las publicaciones del blog. El diseño incluirá un botón de votación debajo de cada publicación y un contador de votos que se mostrará junto a cada una.

Configuración del Entorno de Desarrollo

Instala WordPress en tu ordenador utilizando un entorno de desarrollo como XAMPP o WAMP. Crea una nueva carpeta para tu plugin en la carpeta wp-content/plugins de tu instalación de WordPress. Por ejemplo, wp-content/plugins/votacion-publicaciones. Crea un archivo principal para tu plugin, por ejemplo, votacion-publicaciones.php.

Codificación del Plugin

Abre el archivo «votacion-publicaciones.php» y agrega la información básica del plugin, como el nombre, la descripción y la versión.

<?php
/*
Plugin Name: Votación de Publicaciones
Description: Permite a los usuarios votar por las publicaciones del blog.
Version: 1.0
*/

// Crear la tabla de votos al activar el plugin
function crear_tabla_votos() {
global $wpdb;
$tabla_votos = $wpdb->prefix . 'votos';
$charset_collate = $wpdb->get_charset_collate();
$sql = "CREATE TABLE $tabla_votos (
id mediumint(9) NOT NULL AUTO_INCREMENT,
post_id mediumint(9) NOT NULL,
user_id mediumint(9) NOT NULL,
PRIMARY KEY (id)
) $charset_collate;";
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($sql);
}
register_activation_hook(__FILE__, 'crear_tabla_votos');

// El código de nuestro plugin irá aquí

Define la función para mostrar el botón de votación debajo de cada publicación. function mostrar_boton_votacion() { echo ‘<button class=»boton-votar»>Votar</button>’; } Agrega un gancho de acción para mostrar el botón de votación en las publicaciones.

add_action('the_content', 'mostrar_boton_votacion');

Define la función para procesar el voto cuando un usuario haga clic en el botón de votación.

function procesar_voto() {
if (isset($_POST['votar'])) {
global $wpdb;
$post_id = get_the_ID();
$user_id = get_current_user_id();
$tabla_votos = $wpdb->prefix . 'votos';
$wpdb->insert($tabla_votos, array('post_id' => $post_id, 'user_id' => $user_id));
}
}

Agrega un gancho de acción para procesar el voto cuando se envíe el formulario.

add_action('init', 'procesar_voto');

En resumen, nuestro archivo votacion-publicaciones.php quedaría de la siguiente manera,

<?php
/*
Plugin Name: Votación de Publicaciones
Description: Permite a los usuarios votar por las publicaciones del blog.
Version: 1.0
*/

// Crear la tabla de votos al activar el plugin
function crear_tabla_votos() {
global $wpdb;
$tabla_votos = $wpdb->prefix . 'votos';
$charset_collate = $wpdb->get_charset_collate();
$sql = "CREATE TABLE $tabla_votos (
id mediumint(9) NOT NULL AUTO_INCREMENT,
post_id mediumint(9) NOT NULL,
user_id mediumint(9) NOT NULL,
PRIMARY KEY (id)
) $charset_collate;";
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($sql);
}
register_activation_hook(__FILE__, 'crear_tabla_votos');

// Función para mostrar el botón de votación debajo de cada publicación
function mostrar_boton_votacion() {
echo '<form method="post">
<button type="submit" class="boton-votar" name="votar">Votar</button>
</form>';
}
add_action('the_content', 'mostrar_boton_votacion');

// Función para procesar el voto cuando un usuario haga clic en el botón de votación
function procesar_voto() {
if (isset($_POST['votar'])) {
global $wpdb;
$post_id = get_the_ID();
$user_id = get_current_user_id();
$tabla_votos = $wpdb->prefix . 'votos';
$wpdb->insert($tabla_votos, array('post_id' => $post_id, 'user_id' => $user_id));
}
}
add_action('init', 'procesar_voto');

Pruebas y Depuración

  • Activa tu plugin desde el panel de administración de WordPress.
  • Visita una publicación en tu sitio web y verifica que el botón de votación se muestre correctamente.
  • Haz clic en el botón de votación y verifica que se registre el voto en la base de datos.

Implementación y uso del Plugin

Una vez que tu plugin funcione correctamente en tu entorno de desarrollo, puedes empaquetarlo y subirlo a tu sitio web en producción. Invita a tus usuarios a votar por las publicaciones en tu blog y utiliza las funciones SQL personalizadas para mostrar los votos totales de cada publicación.    

Con este ejemplo hemos aprendido a como utilizar SQL para crear tu propio plugin de WordPress. Ahora experimenta con nuevas ideas y lleva la personalización de su web al siguiente nivel.

☑️ Programar en SQL

Scroll al inicio