Es simple. Esto es lo que quería obtener:

Para un proyecto reciente, tuve que agregar una opción para cargar archivos en el formulario de registro de eventos. El cliente usó Evento Espresso 4. Busqué instintivamente un suplemento de carga de archivo. Todavía era pesimista. En el fondo de mi mente sabía que no había tal suplemento. También navegué en los foros de asistencia. Y esto es lo que encontré:

Bien. Por lo tanto, la solución era construir la funcionalidad de cargar archivos en Event Espresso (EE4). Discutí esto con el cliente y continué con el desarrollo. Supongo que muchos de ustedes estarían interesados en una solución similar, por lo que enumeré los pasos a continuación. Siéntase libre de cambiarlo de acuerdo con sus requisitos.
Nota: Si no ha hecho esto antes y no tiene idea de PHP, JS o WordPress, se comunique mejor con un evento EventSo Pro Developer. (Estamos en esta lista, para saber: D)
Paso #1 Cree un complemento adicional para llamar a nuestro suplemento “Carga de archivo WDM” para Event Espresso 4 (EE4). Necesitamos crear una carpeta del mismo nombre “WDM-File-Up-EE4” y crearemos en él un archivo PHP “WDM-File-SuPload-ee4.php”, que será el archivo de complemento principal. En “WDM-File-SuPload-ee4.php”, agregue la sede a continuación:
0)
{
file = this.files [0];
If (formado)
{
forma.
forma.
forma.
}
}
de lo contrario
{
formar = falso;
}
If (formado)
{
JQuery.AJAX ({
Tipo: “Publicar”,
URL: WDM_EE_OBJECT.AJAX_URL,
Formulario de datos,
ProcessData: falso,
ContentType: falso,
Éxito: función (respuesta)
{
/ *trata la respuesta */
JQuery (“#filetoUpload”) .val (”);
}
});
}
});
});
Luego tenemos que poner el archivo JS en la cola para que WordPress lo tome. Para hacer esto, agregue el código a continuación a “WDM-File-SuPload-ee4.php”
// colocar el script en la cola cuando se muestra el formulario de registro

add_action (‘ahoe__spco__bebore_s Registration_steps’, ‘wdm_file_upload_enqueue_scripts’); Wdm_file_upload_enqueue_scrius () {
wp_enqueue_script (‘wdm-supload-script’, plugin_dir_url (__file__). ‘/js/wdm-file-upload-ee4.js’, array (‘jQuery’));
$ wdm_localise_array = matrix (
‘AJAX_NONCE’ => WP_CREATE_NONCE (‘WDM-EE4-SOPLOAD’),
‘Ajax_url’ => admin_url (‘admin-ajax.php’),
);
wp_localise_script (‘wdm-supload-inscript’, ‘wdm_ee_object’, $ wdm_localise_array);
}
Paso. Para esto, puede usar el código a continuación: add_action (‘wp_ajax_wdm_upload_image_action’, ‘wdm_upload_image_action_callback’);
add_action (‘wp_ajax_nopriv_wdm_upload_image_action’, ‘wdm_upload_image_action_callback’); function wdm_upload_image_action_callback () {
check_ajax_referrer (‘wdm-ee4-supload’, ‘_wdmnonce’);
If (! Vacía ($ _files))
{
// Compruebe si hay errores en la carga.
If ($ _files [‘Daadopload’] [‘Error’]> 0) {
morir (“se ha producido un error al cargar”);
}
/ * valida el tipo de archivo */
// verifique si hay un archivo con el mismo nombre
If (file_exist (‘carging/’. $ _Files [‘fileTopload’] [‘name’]) {
Die (“Existe el nombre del archivo”);
}
// Obtener la ruta del archivo
$ filename = $ _files [‘fainoUpload’] [‘name’];
$ Type = $ _files [‘fainoUpload’] [‘type’];
$ tmp_name = $ _files [‘fainoUpload’] [‘tmp_name’];
$ error = $ _files [‘débiloUpload’] [‘error’];
$ size = $ _files [‘fainoUpload’] [‘size’];
// cargar archivos en la carpeta de carga de WordPress
If (! Function_exists (‘wp_handle_upload’))
Require_once (abspath. ‘Wp-admin/incluido/file.php’);
$ uploadedFile = $ _files [$ fainoUpload];
$ upload_overrides = array (‘test_form’ => false,
‘test_size’ => verdadero,
‘test_upload’ => verdadero,
);
$ MoveFile = wp_handle_upload ($ fileaded, $ upload_overrides);
If ($ MoveFile)
{
// El archivo se ha cobrado correctamente
}
de lo contrario
{
// Error de carga 🙁
}
}
}
homefinance blog