Gestión de registros en eventos Espresso: importar usuarios en bloque


La gestión de eventos en un sitio web de WordPress se realiza mejor con Event Espresso. Es un excelente complemento; Es rico en posiciones y le permite tomar el control total sobre todos los datos relacionados con los eventos, incluso desde boletos hasta datos de eventos y administración fiscal. Con Event Espresso, también es posible administrar registros en los eventos. Un usuario delantero se puede registrar para un evento de la siguiente manera:
Navegue a la página de selección de boletos del evento.
Después de haber seleccionado su boleto, haga clic en Registrarse ahora.
Esto lleva a un formulario de registro, que debe completar el usuario. Event Espresso permite al administrador crear este formulario de acuerdo con los requisitos, los nombres, los nombres y el correo electrónico son obligatorios.
Una vez que se complete el proceso de pago, el usuario se registrará en el evento, con el estado de pago aprobado o no aprobado.
Esto es bastante fácil cuando se considera un usuario a la vez. Pero para ser realistas, un evento muy popular probablemente tendrá cientos, posiblemente miles de participantes. Su registro en una fila ya no sería factible, entonces, ¿qué dice que simplemente importamos todos los datos en forma de un archivo CSV?
Complemento para registros en eventos espresso a través de teóricamente CSV, todo lo que tenemos que hacer es crear un complemento que nos brinde la funcionalidad necesaria. Esto se realiza utilizando un solo gancho ofrecido por Event Espresso. Pero, ¿por qué esto se engancha y no a otros? Porque, los ganchos utilizados en tales procesos requieren datos que no podemos generar solos, por ejemplo, la URL de registro, el código de registro, etc. ¿Cuáles son estos? Llegaremos a eso en un momento. La gestión de la tabla antes de pasar a la parte que implica el desarrollo real del complemento, debemos saber sobre las tablas en la base de datos utilizada en la administración de estos registros. Son esenciales para llevar a cabo esta tarea y son los siguientes: {prefijo} _Posters
{prefijo} _esp_attendee_meta
{prefijo} _esp_transction
{prefijo} _esp_ Registro
Examinemoslos en detalle: 1) {prefijo} _ publicaciones Esta es una tabla de WordPress utilizada para administrar publicaciones. ¿Es realmente realmente relevante para lo que hacemos aquí? Sí, lo es. Esta es la tabla en la que se inicia nuestro proceso de registro. Cuando registramos un usuario para un evento, se crea automáticamente una publicación posterior a Post_Type Post -Custom como espresso_attendees, que contiene una lista de todos los participantes en el evento. Post_title sería el nombre del participante, y el post_id de la publicación que involucra al participante es la identificación del participante.
2) {prefijo} _esp_attendee_themet es la tabla en la que la información básica del participante se almacena durante el registro. Los campos establecidos por el administrador en el formulario de registro son los meta_keys en esta tabla. 3) {prefijo} _esp_transction Esta es la tabla en la que se mantiene el estado de registro del participante, de acuerdo con el precio del boleto seleccionado. Puede especificar la cantidad de boleto en el archivo CSV. Y podemos administrar el pago_status especificando el parámetro STS_ID. 4) {prefijo} _esp_ Registro Esta es quizás la tabla más importante al considerar los registros. Aquí es donde se registra el registro real y el tablero se hace cargo de los datos de registro que se mostrarán. Los dos aspectos importantes sobre esta tabla, para ser tratados durante la codificación del complemento, a saber: reg_code y reg_url_link. Reg_url_link no es más que un texto aleatorio generado por razones de seguridad. Se genera utilizando el método MD5 () de PHP. Reg_url_final es el siguiente: att_num -ig_url_link. por ejemplo. 1-3E61569177E94571132D2E5F22A9686 Aquí, 1 es el número de participantes que registré, y la cadena 3E6156917E94571132D2E5F22A96686 es un texto generado aleatorio a través de la función MD5. El segundo factor, es decir, reg_code depende de reg_url de la siguiente manera:
reg_id-tkt_id-forst_six_characters_of_rel_link Eg. 202-9-1-3E61 En este ejemplo, 202 es la ID de registro, 9 es la identificación del boleto y 1-3E61 son los primeros 6 caracteres del URL_LINK anterior. La creación de complementos era hora de comenzar a hablar sobre el gancho con el que escribimos la función de enviar todos los datos de registro en la base de datos. El gancho de filtro involucrado es FHEE__EE_SPCO_REG_STEP_ATTENDEE_INFORMATION__SAVE_ Registration_Form_input. Este filtro pasa 5 parámetros, como sigue: 1) $ bool = variable booleana 2) $ registro = objeto de la clase ee_ registro3) $ form_input = objeto objeto para conocer los campos de registro 4) $ input_value = los valores que se enviarán Para procesar 5) $ obj = objeto de procesamiento escribimos nuestra función principal, es decir, la función de crear una interfaz de uso para cargar el archivo CSV, preparamos los datos para el registro en este filtro y luego devolvemos los datos preparados. El formato del archivo CSV debe mantenerse de la siguiente manera:
ID Event Ticket ID name familia Nombre e-correo electrónico 122 123 9 10 pqr xyz [correo electrónico protegido] 124 12 ABC def [correo electrónico protegido]

Aquí hay un ejemplo:
Si un usuario se debe registrar para varios eventos, no debe crear otra fila especial para el usuario. En su lugar, puede agregar las ID de evento y las ID de boleto apropiadas separadas por un espacio CSV.
La extracción de datos de los datos de CSV CSV se puede extraer de la siguiente manera: 1) Cree un formulario con Enctype como multipart / form y método = post
2) Luego cree una entrada para elegir los archivos de la misma manera que crea para tomar una entrada de texto

3) Este botón de envío establecerá la variable $ _file para que podamos acceder al archivo elegido. 4) Ahora la siguiente pieza de código extraerá datos de CSV a la matriz $ shows_from_csv
if (isset ($ _files [‘uploadcsv’)) {
$ file_name = $ _files [‘uploadcsv’] [‘name’];
$ file = fopen ($ _files [‘uploadcsv’] [‘tmp_name’], “r”);
If ($ archivo) {
While (! Feof ($ file)) {
$ ROWS_FROM_CSV [] = FGETCSV ($ archivo, 1024);
}
} de lo contrario {
echo “archivo no encontrado”;
}
fcLose ($ archivo);
}
5) Desde aquí, podemos usar esta matriz $ ROWS_FROM_CSV de manera convencional.
6) Tenga en cuenta que nuestro objeto de archivo está cerrado.
Estructuración de datos a continuación, estructuramos los datos extraídos que se actualizarán en la base de datos de Event Espresso. Esto se realiza en 3 segmentos: 1) No necesitamos personalizaciones especiales para publicar datos y la tabla ESP_ATTENDEE_Meta. Los datos extraídos del archivo CSV se envían directamente a la base de datos, de acuerdo con su compra. Por ejemplo, los datos para estas tablas se enviaron directamente a la base de datos utilizando la variable global. /******************* Insertar en la tabla WP_Posts-FLAME **********************/
$ wpdb -> insertar ($ wpdb -> prefijo. ‘postari’, matrix (
‘post_title’ => $ data [‘fname’]. “”. $ data [‘lname’],

‘Post_type’ => ‘espresso_participanti’,
‘post_content’ => ‘no se proporciona biografía’,
‘post_excerpt’ => ‘no se proporciona biografía’,
‘post_author’ => $ autor,
‘post_name’ => strtolower ($ data [‘fname’]). “-“. Strtolower ($ data [‘lname’]),
), matriz (
“%S”,
“%S”,
“%S”,
“%S”,
“%S”,
“%S”
));
/******************* Insertar en la tabla WP_Posts-Posts*Finalización ****************/
/******************
$ att_id = $ wpdb -> insert_id;
$ wpdb -> insertar (
$ WPDB -> Prefijo. ‘esp_attendee_meta’, array (
‘Att_id’ => $ att_id,
‘St_id’ => 0,
‘Att_fname’ => $ data [‘fname’],
‘Att_lname’ => $ data [‘lname’],
‘Att_email’ => $ data [‘correo electrónico’],
), matriz (
“%S”,
‘%d’,
“%S”,
“%S”,
“%S”
));
/****** se inserta en la tabla WP_EP_ATENDEES – termina *******************/
2) Para preparar los datos para el precio del boleto, el ticket_id se utilizó desde el archivo CSV. Por defecto, el ticket_price fue el costo final de registro, porque el registro se limitó a un solo usuario. Extracción de ticket_price y, en consecuencia, los datos de almacenamiento en la tabla de transacciones se realizan utilizando las siguientes líneas de código:
/*********** Insertar datos en la tabla WP_EP_TRANSACTION – Inicio ***************/
$ tkt_price_obj = $ wpdb -> get_row (‘select_t_price de wp_esp_ticket donde tkt_id =’.
$ wpdb -> insertar (
‘wp_esp_transction’, array (
‘Txn_timestamp’ => date (),
‘Txn_total’ => $ tkt_price,
‘Txn_paid’ => $ tkt_price,
‘Sts_id’ => ‘tcm’,
), matriz (
“%S”,
‘%F’,
‘%F’,
“%S”
));
/******** Insertar datos en la tabla WP_ESP_TRANSACTION – ENCENDIDOS **************/
3) esta es la parte más crucial en términos de preparación de datos; Se ocupa de la preparación de Reg_ur_link y Reg_code y lo envía para el almacenamiento en la base de datos. Eche un vistazo a los códigos a continuación. En primer lugar, creamos reg_ur_link de la siguiente manera: $ item;
$ reg_url_link = $ elemento instancia de ee_line_item? $ Artículo -> Code (): $ Artículo;
$ reg_url_link = $ att_num. ‘-‘. MD5 ($ reg_ur_link. MicroTime ());
Luego usamos este reg_ur_link para la creación de reg_code, como sigue: $ reg_code = $ txn_id. ‘-‘. $ ticket_id. ‘-‘. SubStr ($ reg_ur_link, 0, 6);
El envío de datos a la tabla de registro se realiza de la siguiente manera: /************* Inserción de datos en el registro WP_ESP_S – Inicio ********* /
$ txn_id = $ wpdb -> insert_id;
$ evt_id = $ evento;
$ ticket_id = $ ticket;
$ sts_id = ‘rap’;
$ att_num = 1;
$ Artículo;
$ reg_url_link = $ elemento instancia de ee_line_item? $ Artículo -> Code (): $ Artículo;
$ reg_url_link = $ att_num. ‘-‘. MD5 ($ reg_ur_link. MicroTime ());
$ reg_code = $ txn_id. ‘-‘. $ ticket_id. ‘-‘. SubStr ($ reg_ur_link, 0, 6);
$ wpdb -> insertar (
$ WPDB -> Prefijo. ‘Esp_sreration’, array (“evt_id” => $ evt_id,
‘Att_id’ => $ att_id,
“Txn_id” => $ txn_id,
“Tkt_id” => $ ticket_id,
“Sts_id” => $ sts_id,
“Reg_date” => date (),
‘Reg_final_price’ => $ tkt_price,
“Reg_paid” => $ tkt_price,
‘Reg_code’ => $ reg_code,
“Reg_url_link” => $ reg_url_link,
), matriz (
‘%d’,
‘%d’,
‘%d’,
‘%d’,
“%S”,
“%S”,
‘%F’,
‘%F’,
‘%s’,
‘%s’,
));
/******** Inserción de datos en la tabla wp_esp_sutarie – termina *************/
¡Ahí está! El complemento está listo para funcionar y debería funcionar sin problemas. Echar un vistazo. Carga el ejemplo de la tabla que se muestra anteriormente muestra datos de la siguiente manera:
Y una vez que presione la carga, las entradas se cargarán automáticamente para el evento apropiado:
La gestión de múltiples registros ahora es simple; No solo podrá registrar más usuarios, sino también más eventos para más usuarios y reservar sus boletos, todo con un solo clic. Le ahorra mucho tiempo y ciertamente muchos clics. ¡Disfruta del espresso!

Copyright statement: Unless otherwise noted, this article is Collected from the Internet, please keep the source of the article when reprinting.

Check Also

gkOVSBm5B8SgiXmo

Shopify vs WooCommerce – ¿Cuál es la mejor plataforma?(Comparación)

Shopify vs WooCommerce

Leave a Reply

Your email address will not be published. Required fields are marked *