Developer - Generar archivo con un botón wordpress elementor y jet engine

 
Vista:

Generar archivo con un botón wordpress elementor y jet engine

Publicado por Alvaro Pérez (1 intervención) el 14/03/2023 07:57:30
Hola, soy un estudiante de 18 años que estoy emprendiendo en un proyecto de tarjetas de visita virtuales:

Estoy usando wordpress para la creación de toda la web, apoyandome con elementor y jet engine para el contenido dinámico. ¿Como puedo hacer que cuando se pulse el boton de agregar contacto, se ejecute una función que genere y descargue un archivo .vcf con los datos que estan escritos en los meta fields del post?

En los meta datos de cada post (CPT) hay campos como name, phone o mail, que el usuario ha escrito previamente mediante un formulario de jet engine.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Brenda

Generar archivo con un botón wordpress elementor y jet engine

Publicado por Brenda (3 intervenciones) el 04/08/2023 11:48:33
Es genial ver tu entusiasmo por tu proyecto de tarjetas de visita virtuales. Para lograr la funcionalidad que deseas en WordPress con Elementor y Jet Engine, necesitarás algunos pasos clave:

Crear el Botón: Utiliza Elementor para crear un botón en tus publicaciones personalizadas (CPT) que los usuarios puedan hacer clic para agregar un contacto.

Programación Personalizada: Necesitarás agregar código personalizado a tu sitio para generar y descargar el archivo .vcf. Esto implica crear una función que reúna los datos de los campos meta del post y los convierta en un archivo .vcf.

Hooks y Acciones: Utiliza los hooks y acciones de Jet Engine para ejecutar tu función personalizada cuando el usuario hace clic en el botón de agregar contacto.

Aquí tienes un ejemplo simplificado de cómo podría verse el código:

php
Copy code
// Agrega esto en el archivo functions.php de tu tema
function generar_archivo_vcf($post_id) {
// Obtén los datos del post (CPT) usando Jet Engine
$name = jet_engine()->listings->data->get_meta($post_id, 'name');
$phone = jet_engine()->listings->data->get_meta($post_id, 'phone');
$mail = jet_engine()->listings->data->get_meta($post_id, 'mail');

// Crea el contenido del archivo .vcf
$contenido_vcf = "BEGIN:VCARD\r\n";
$contenido_vcf .= "FN:$name\r\n";
$contenido_vcf .= "TEL:$phone\r\n";
$contenido_vcf .= "EMAIL:$mail\r\n";
$contenido_vcf .= "END:VCARD\r\n";

// Configura las cabeceras para la descarga
header("Content-type: text/vcard");
header("Content-Disposition: attachment; filename=$name.vcf");
echo $contenido_vcf;
exit;
}

// Hook a la acción de Elementor para ejecutar la función al hacer clic en el botón
add_action('elementor/dbutton/your_custom_action', 'generar_archivo_vcf');
Recuerda adaptar este código a tus necesidades específicas y verificar que todos los nombres de campos y funciones coincidan con tu configuración en Jet Engine.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar