Cómo crear un ID de registro personalizado en Event Espresso

Por , actualizado en

Event Espresso es un manejador de eventos muy completo para WordPress, que por cierto no tenía versión gratuita hasta hace poco, la cual se llama Event Espresso Decaf. Una de las modificaciones que me piden constantemente un ID de registro personalizado, y que en mi caso siempre es el de poder tener una referencia bancaria como número de registro, pues por default Event Espresso genera unos números de registro propietarios que por supuesto no son compatibles con números de referencia bancarios (generalmente basados en algoritmos de módulo 10) que puedan ser usados por los clientes para ir a pagar directo en banco. Event Espresso permite esta modificación a que tiene una gran cantidad de filtros que nos permiten configurarlo a nuestras anchas cuando sea necesario, y afortunadamente es bastante sencillo.

Hay dos versiones de Event Espresso: la rama 3.x y la rama 4.x, y no son compatibles entre si, incluso tienen estructuras internas completamente distintas. Para este tutorial usaremos la versión gratuita, que sólo existe para la rama de la versión 4.x, y que es el llamado Event Espresso Decaf, que es básicamente una versión en extremo recortada de lo que es un Event Espresso completo.

Cosas que necesitarás

No toco todos los temas secundarios a fondo así que necesitarás saber:

  1. Conocer la estructura básica de carpetas de WordPress.
  2. Tener acceso a FTP o a tu panel de hosting, y conocer lo básico de cualquiera que elijas.
  3. Conocer lo básico de la mecánica de buscar – instalar – activar un plugin.
  4. El manejo básico de como meter un evento a Event Espresso (para que pruebes).

Y como siempre, haz esto en un sitio de pruebas, no en vivo.

Instalación de Event Espresso Decaf

Por si aún no lo tienes instalado, vamos a revisar los pasos (nunca está de más) para instalar Event Espresso Decaf:

  1. En tu escritorio de WordPress, ve a Plugins > Añadir nuevo.
  2. En la caja de búsqueda, teclea “event espresso“, verás que al hacerlo se modifican los resultados de búsqueda.
  3. Haz clic en el botón “Instalar” del plugin Event Espresso 4 Decaf – Event Registration Event Ticketing.
  4. Haz clic en el botón “Activar”; después de hacerlo verás un menú nuevo:
Muestra el menú de Event Espresso en el escritorio de WordPress.
El menú de Event Espresso

Una vez que lo hayas instalado y activado, necesitaremos crear un evento de prueba en Event Espresso > Events > Add New Event, para que posteriormente hagamos un registro y veas que tu rutina genera los ID de registro personalizados tal como los necesites. Puedes crear el evento con los valores que tu desees, sólo verifica que el evento quede como disponible.

Crear un ID de registro personalizado en Event Espresso 3.x

Para los que todavía usan Event Espresso 3.x (aún es un plugin competente), pueden crear un ID de registro personalizado con código que colocaremos en un archivo llamado custom_functions.php y que debes colocar en la carpeta /wp-content/uploads/espresso/. Para esto necesitarás acceso a tu hosting ya sea a través del panel o bien por FTP o quizás hasta SSH si tienes el permiso necesario. Si no existe la trayectoria o bien si no existe el archivo, crea ambos de ser necesario. Si no existe el archivo, créalo con el siguiente contenido:

<?php

function custom_registration_id() {
	/* Sustituye la línea de abajo por tu algoritmo para generar tu número */
	$uuid = substr(str_shuffle("0123456789"), 0, 10);
	
	return $uuid;
 }

add_filter('filter_hook_espresso_registration_id', 'custom_registration_id', 10, 1);

Ojo, la primera línea (“<?php“) sólo debe existir una vez, así que si el archivo ya existe seguramente ya la tiene.

Sálvalo e intenta un registro; verás que obtienes un nuevo ID de registro. Básicamente lo que estamos haciendo es crear un gancho al filtro filter_hook_espresso_registration_id, que toma lugar justo cuando hay un registro en un evento. Pan comido. 😀

Como puedes ver, el método substituye el ID de registro personalizado por una cadena de 10 caracteresal azar; aquí tu tienes que poner tu código que representa al algoritmo que hayas elegido para generar tu ID de registro personalizado.

Crear un ID de registro personalizado en Event Espresso Decaf / 4.x

Para generar un registro personalizado la versión 4 las cosas son un poco diferentes; el esquema que vimos anteriormente del archivo custom_functions.php y el filtro que usamos ya no funciona para esta versión más nueva. Afortunadamente hay un filtro nuevo disponible para tal tarea y ese es el que usaremos. Pero como no funciona el método del custom_functions.php de la versión 3.x, necesitamos otro método, y ese otro método es algo muy simple: crear un plugin con la funcionalidad que necesitamos. Usaremos un filtro de la versión 4.x que tiene un nombre monstruoso: FHEE__Create__regCode__new_reg_code.

Crea un archivo llamado custom-ee-funcs.php y copia y pega lo siguiente:

<?php
/*
Plugin Name: Custom EE funcs
Plugin URI: 
Description: funciones personalizadas para Event Espresso
Version: 1.0.0
Author: Orlando Alonzo
Author URI: 
License: GPLv2 or later
*/

function custom_registration_id($new_reg_code, $transaction, $ticket) {
	/* Sustituye la línea de abajo por tu algoritmo para generar tu número */
	$uuid = substr(str_shuffle("0123456789"), 0, 10);
	
	return $uuid;
 }

add_filter('FHEE__Create__regCode__new_reg_code','custom_registration_id', 10, 3);

Ahora tenemos que subir ese archivo a la carpeta /wp-content/plugins; puedes hacerlo por el método que gustes, incluso puedes meterlo en un ZIP y subirlo a través de la interfaz de WordPress como si fuera un plugin normal. Una vez que lo hayas hecho, ve a tu listado de plugins, ubica “Custom EE Functions” y habilítalo. Y ojo, en este plugin que acabas de hacer puedes poner otros ganchos a filtros o funciones que quieras, es para lo que tu gustes. Sólo ve poniendo al final cualquier cosa que venga después, para tener cierto orden.

Ya estás listo para crear un registro en tu evento de prueba, y verás como el ID de registro cambia a lo que especificamos en código, que en ambos ejemplos es una cadena de 10 dígitos al azar:

Muestra el resumen de registro a un evento de Event Espresso
Detalles al finalizar registro, observa el ID personalizado que generamos

Como puedes ver, es muy sencillo hacer tu propio ID de registro en Event Espresso; sólo falta aplicar el algoritmo que necesites, que muy probablemente sea alguno para generar referencias bancarias, el caso de uso que casi siempre me encuentro.

Oops, ¡mi sitio se rompió!

No te preocupes, muy probablemente hiciste algo mal; retrocede sobre tus pasos y o borra el código que hayas metido antes, o bien coméntalo encerrándolo entre /* y */, y con eso ya puedes revisar donde tienes el error y tu sitio puede seguir funcionando; nada de lo hecho aquí es final, con borrarlo o deshabilitarlo tu sitio vuelve a la vida.

Deja un comentario

¡NO sigas este enlace o serás bloqueado en este sitio!

A %d blogueros les gusta esto: