Utilice Gravity Forms como un nuevo registro de individuos »Bucle
Forma de gravedad A la vera de Formulario de contacto 7 Sí lo es Mirada ninja, Uno de los desarolladores de formularios de WordPress más flexibles y potentes.
Tiene campos de condición lógica, paginación, construcción de columnas, validación de campo extendido ... y es de pago. No obstante, esto no habría de ser un problema, ya que cubrimos de qué manera evitar este pequeño problema en el producto "Use la forma de gravedad sin permiso: omita el permiso legal".
Sin embargo, existen muchas funciones por las que es necesario abonar Formulario de contacto 7 Resuelva con otros complementos gratis, luego Forma de gravedad No o comprado.
Un ejemplo de esto es almacenar información sobre formularios completados en una base de datos. Forma de gravedad Manda esta información directamente al correo, pero no la almacena.
Otro ejemplo es la utilización Forma de gravedad Como registro de individuos. Esto quiere decir que no solo puede almacenar datos en la base de datos, sino asimismo recopilar y manejar los datos.
En el presente artículo, le exponemos de qué manera conseguir todo lo mencionado y de qué forma utilizar su poder. insertar Ingrese sus datos insertar en lo personal.
resumen
- Identificadores de campo sencillos y compuestos con apariencia de gravedad
- Hacer un script I: recopilar datos y guardarlos en una variable
- Hacer script 2: descargar la banco de información
- Bono: use Gravity Forms para hacer clientes de forma automática
Los instalamos y activamos insertar Hemos desarrollado una mesa. Antes de comenzar a desarrollar, ¿qué debemos considerar?
ID de formularioEsto nos dio la URL. En la imagen de arriba, es "1".
y ID de campo Deseamos guardarlo en la base de datos. Para verlo, pase el mouse sobre él y aparecerá inmediatamente. El ID del campo "Nombre" es "11".
No obstante, hay un detalle a tomar en consideración: Algunos campos, como el campo "nombre", son compuestos. Esto quiere decir que tienen 2 o más entradas, por lo que el ID de cada entrada es diferente del ID del campo global.
En el siguiente punto, le exponemos de qué manera obtener el ID en estas ocasiones.
Siempre y en todo momento recomendamos funciones y / o cambios que pensamos que no aparecerán. Function.php Nuestros sujetos activos, en general se colocan allí, pero nosotros mismos insertar.
Así, la estabilidad de toda la red no se ve afectada y los cambios que hacemos se tienen la posibilidad de deshabilitar deshabilitando el complemento. Además, no se perderán al actualizar el tema.
Recuerde que para hacer un complemento, debemos / wp-content / plugin / Y pone un fichero .php Tiene dentro los siguientes títulos:
1 2 3 cuarto puesto 5 Sexto rincón Séptimo sitio numero 8 9 diez 11 12 13 14 quince dieciséis 17 18 19 Vigésimo Veintiuno |
/ ** * Nombre del complemento: el nombre del complemento que se muestra en la lista de complementos de WordPress * URI del complemento: https://www.loopeando.com/ * Descripción: Quieres saber la descripción de lo que contiene * Versión: 0.0.1 * Autor: Loopeando.com * Autor URI: https://www.loopeando.com/ * Mínimo requerido: 4.9.2 * Probado para: 4.9.2 * * Dominio de texto: wprincipiante-ejemplo * Ruta del nombre de dominio: / Idiomas / * / Estar definido( "Camino absoluto" ) o entonces Este( "¡Sin trampas!" ); A escala mundial $ wpdb; / * Aquí agregamos las funciones requeridas * / ?> |
Vamos a usar esto acción gform_after_submissionRealizar tras cada envío Forma de gravedad.
Es por eso que nuestro enganchar Va a ser:
add_action ('gform_after_submission', 'nombre_función', 10, 2);
Añadir acción('gform_after_submission', 'Nombre de papel', diez, 2); |
Y nuestra función recibe al menos factores $ Entrada.
Este factor contiene toda la información del último formulario enviado para que podamos obtener Vaciado variable Vea todo en él.
Como se mentó en el punto previo, el campo compuesto no muestra el ID de administrador del administrador WordPress, luego emplea un Vaciado variable Nos ayudará a comprender. precursor:
add_action ('gform_after_submission', 'endo_add_entry_to_db', 10, 2); function end_add_entry_to_db ($ entrada, $ formulario) // Exponemos todo lo contenido en el formulario echo '
'; var_dump($Eintrag); Echo'
';
Agregar acción('gform_after_submission', 'endo_add_entry_to_db', diez, 2); Caracteristicas end_add_entry_to_db(PSEntrada, PSformulario) // Mostramos todo en el formulario eco ' '; ';
|
Cuando sepamos todo lo que nos encontramos obteniendo y cuáles son sus ID, podemos comentar para extraer la información que nos interesa y asignarla a las cambiantes de PHP:
add_action ('gform_after_submission', 'endo_add_entry_to_db', 10, 2); function endo_add_entry_to_db ($ entrada, $ formulario) {// echo '
'; //var_dump($eintrag); //echo '
'; // url lugar desde donde viene el formulario $ source = $ entry['source_url']; // El ID del formulario: si tenemos varios activos $ form_id = $ entrada['form_id']; // fecha de envío $ date_created = $ entrada['date_created']; // En este caso solo nos encontramos recopilando información para el formulario con id 1 if ($ form_id = 1) // Como podemos consultar, merced a var_dump (), el campo de nombre asigna el nombre al ID 11.3 y apellido 11.6. // Estos campos compuestos tienen identificadores no numéricos, con lo que están entre comillas. $ nombre = $ entrada["11.3"]. "". $ Entrada["11.6"]; // Los campos simples restantes se procesan comunmente. $ correo electrónico = $ entrada[13]; $ edad = $ entrada[24]; $ Peso = $ entrada[66]; $ peso = str_replace (',', '.', $ peso); $ altura = $ entrada[65]; $ altura = str_replace (',', '.', $ altura); $ género = $ entrada =[68]; if ($ sex == "hombre") $ sex2 = 0; if ($ sex == "mujer") $ sex2 = 1; // fin del formulario ID 1
1 2 3 cuarto puesto 5 Sexto sitio Séptimo lugar numero 8 9 diez 11 12 13 14 quince dieciséis 17 18 19 Vigésimo Veintiuno 22 Veintitres veinticuatro 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
Añade un acción('gform_after_submission', 'endo_add_entry_to_db', diez, 2); Caracteristicas end_add_entry_to_db(PSEntrada, PSformulario) { // eco ' '; ';
// dirección de Internet de la que procede el formulario PSla fuente = PSEntrada['source_url'];
// ID de formulario: si poseemos varios activos PSform_id = PSEntrada['form_id']; // enviar la fecha PSFecha de creación = PSEntrada['date_created'];
// En este caso, solo compendiamos información para el formulario con ID 1 en el caso de que (PSform_id = 1) // Como podemos consultar en var_dump (), el campo de nombre recibe el nombre del id 11.3 y el apellido 11.6. // Estos campos compuestos tienen valores de ID no numéricos, con lo que están entre comillas. PSapellido = PSEntrada["11.3"]."".PSEntrada["11.6"]; // Los campos simples restantes se procesan normalmente. PSMail = PSEntrada[13]; PSedad = PSEntrada[24]; PSpeso = PSEntrada[66]; PSpeso = str_replace(',', '.', PSpeso); PSla talla = PSEntrada[65]; PSla talla = str_replace(',', '.', PSla talla); PSamable = PSEntrada[68]; en el caso de que(PSamable == "hombre") PSsexo2 = 0;
caso de que(PSamable == "Señora") PSsexo2 = 1;
// Fin del formulario ID 1 |
El próximo paso es almacenar los datos en la base de datos para conseguir registros.
No crearemos una nueva tabla en la base de datos porque deseamos que estos datos se usen como una publicación personalizada. No obstante, le aconsejamos que lo haga separadamente, especialmente la primera oportunidad que lo lleve a cabo.
La llamada debe estar denegada para bajar datos. $ global wpdb Y el comando:
$ wpdb-> insert ('nombre de tabla', matriz ('datos1' => $ datos1, 'datos2' => $ datos2, 'datos3' => $ datos3));
PSbanco de información->Insertar( 'Nombre de la tabla', Un enorme número( 'Fecha 1' => PSFecha 1, 'Datos 2' => PSFecha 2, 'apunte3' => PSDatos 3 ) ); |
Así que quédate En exactamente la misma función que describimos en "Hacer un script I".:
Global $ wpdb; // wp_postmeta es una tabla que registra la información de la publicación en WordPress // Tiene 3 factores: ID de publicación, todos y cada uno de los datos han de ser iguales. // Field id o meta_key // El valor o contenido del campo, llamado meta_value // Pero insistimos en emplearlo porque debemos insertarlo en una hoja de cálculo de WordPress existente y tiene que ajustarse a su estructura. Al crear nuestra propia composición, debemos continuar nuestra propia composición. $ wpdb-> insert ('wp_postmeta', array ('post_id' => $ id_sube, 'meta_key' => 'event_name', 'meta_value' => $ nombre)); $ wpdb-> insert ('wp_postmeta', array ('post_id' => $ id_sube, 'meta_key' => 'event_sex', 'meta_value' => $ sex2)); $ wpdb-> insert ('wp_postmeta', array ('post_id' => $ id_sube, 'meta_key' => 'event_age', 'meta_value' => $ age)); $ wpdb-> insert ('wp_postmeta', array ('post_id' => $ id_sube, 'meta_key' => 'event_peso', 'meta_value' => $ peso)); $ wpdb-> insert ('wp_postmeta', array ('post_id' => $ id_sube, 'meta_key' => 'event_altura', 'meta_value' => $ altura)); $ wpdb-> insert ('wp_postmeta', array ('post_id' => $ id_sube, 'meta_key' => 'event_fat_weight', 'meta_value' => $ fat_weight)); $ wpdb-> insert ('wp_postmeta', array ('post_id' => $ id_sube, 'meta_key' => 'event_fat', 'meta_value' => $ body_fat)); $ wpdb-> insert ('wp_postmeta', array ('post_id' => $ id_sube, 'meta_key' => 'event_imc', 'meta_value' => $ imc)); // Si desea escribirlo como una publicación, debe añadir todos estos datos: $ wpdb-> insert ('wp_posts', array ('ID' => $ id_sube, 'post_author' => '2', ' post_date '=> Fecha (' Ymd H: i: s '),' post_date_gmt '=> Fecha (' Y md H: i: s '),' post_title '=> $ nombre,' comment_status '=>' closed ',' post_status '=>' Difundir ',' ping_status '=>' Cerrar ',' post_name '=> sanitize_title ($ nombre),' post_modified '=> fecha (' Ymd H: i: s '),' post_modified_gmt '=> fecha (' Ymd H: i: s '),' post_parent '=>' 0 ',' menu_order '=>' 0 ',' post_type '=>' cliente ',' comment_count '=>' 0 '));
1 2 3 cuarto puesto 5 Sexto lugar Séptimo sitio numero 8 9 diez 11 12 13 14 quince dieciséis 17 18 19 Vigésimo Veintiuno 22 Veintitres veinticuatro 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 sesenta y cinco 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
A escala mundial PSbase de datos;
// wp_postmeta es una tabla que guarda información de publicaciones de WordPress // Tiene 3 parámetros: el ID de contribución, que debe ser el mismo para todos y cada uno de los datos. // identificador de campo o meta_key // El valor o el contenido del control, llamado meta_value // Pero insistimos, porque deseamos insertarlo en una hoja de cálculo de WordPress que existe y debe ajustarse a su composición. Al hacer nuestra propia composición, debemos seguir nuestra composición. PSbanco de información->Insertar( 'wp_postmeta', Un enorme número( 'ID del mensaje' => PSid_sube, 'Meta clave' => 'Nombre del evento', 'meta_wert' => PSapellido ) ); PSbanco de información->Insertar( 'wp_postmeta', Un gran número( 'ID del mensaje' => PSid_sube, 'Misión clave' => 'event_sexo', 'meta_wert' => PSsexo2 ) ); PSbase de datos->Insertar( 'wp_postmeta', Un gran número( 'ID del mensaje' => PSid_sube, 'Meta clave' => "El evento ha cambiado", 'meta_wert' => PSedad ) ); PSbase de datos->Insertar( 'wp_postmeta', Un enorme número( 'ID del mensaje' => PSid_sube, 'Misión clave' => "Pesos del evento", 'meta_wert' => PSpeso ) ); PSbanco de información->Insertar( 'wp_postmeta', Un enorme número( 'ID del mensaje' => PSid_sube, 'Misión clave' => 'event_altura', 'meta_wert' => PSla talla ) ); PSbase de datos->Insertar( 'wp_postmeta', Un enorme número( 'ID del mensaje' => PSid_sube, 'Misión clave' => 'event_fat_weight', 'meta_wert' => PSpeso_grasiento ) ); PSbanco de información->Insertar( 'wp_postmeta', Un enorme número( 'ID del mensaje' => PSid_sube, 'Misión clave' => 'event_grasa', 'meta_wert' => PSabultado_corporal ) ); PSbase de datos->Insertar( 'wp_postmeta', Un enorme número( 'ID del mensaje' => PSid_sube, 'Meta clave' => 'event_imc', 'meta_wert' => PSMensajería instantánea ) ); // Si deseas publicarlo como publicación, debes añadir todos estos datos: PSbanco de información->Insertar( 'wp_posts', Un gran número( 'Yo voy' => PSid_sube, 'post_auteur' => '2', 'Por fecha' => Con fecha de('Ymd H: i: s'), 'post_date_gmt' => Con fecha de('Ymd H: i: s'), 'Titulo del articulo' => PSapellido, "Estado del comentario" => 'cerrar', 'Estado de publicación' => 'Lanzamiento', 'ping_status' => 'cerrar', 'Nombre de la dirección' => desinfectar_título(PSapellido), 'Articulo-modificación' => Con fecha de('Ymd H: i: s'), 'post_modified_gmt' => Con fecha de('Ymd H: i: s'), 'post_parent' => '0', 'command_menu' => '0', 'Tipo de Posición' => 'cliente', "Número de comentarios" => '0' ) ); |
¿Qué puede realizar toda la información recopilada anteriormente? Pues bien, podemos hacer un nuevo usuario tal cual, a fin de que pueda acceder y cambiar sus datos.
Para realizar esto, agreguemos lo siguiente a la función anterior:
//////////////////////////////////////////////////// // ///////////// /// Vamos a crear un nuevo usuario ////// //////////////////// ////// ///////////////////////////// // ///// // Creamos su nombre de usuario basado en el nombre . // Por el hecho de que el apodo no puede contener espacios ni acentos, etcétera. Formateamos: $ nombre de usuario = str_replace (array ('(', ')', ''), '', esc_attr ($ nombre)); $ Nombre de usuario = strtolower ($ Nombre de usuario); $ email_address = $ correo electrónico; // Verificamos si el mail ahora está registrado, pues el registro se realiza por medio de este campo y debe ser único if (null == username_exists ($ email_address)) // Generamos una contraseña $ password = wp_generate_password (12, false) ; // creamos el usuario $ user_id = wp_create_user ($ email_address, $ password, $ email_address); // agregamos información agregada wp_update_user (array ('ID' => $ user_id, 'first_name' => $ entrada["11.3"], 'Nombre' => entrada $["11.6"], 'display_name' => entrada $["11.3"]. "". $ Entrada["11.6"], 'Alias' => $ dirección_de_correo electrónico)); // Asignamos un rol al nuevo usuario. Ejemplo: suscriptores. $ usuario = nuevo WP_User ($ user_id); $ usuario-> set_role ('suscriptor'); // Le enviaremos un mail de bienvenida con una contraseña. $ an = $ dirección_de_correo electrónico; $ subject = "¡Felicidades! Acaba de ofrecer el primer paso para prosperar su historia"; $ body = "Nuestro equipo de expertos valorará en este momento su formulario inicial para adaptarlo de la forma más eficaz viable a sus pretensiones.
Si hace una cita por teléfono, le devolveremos la llamada justo después de la confirmación, y puede conocer su plataforma y proporcionar la siguiente información:
Derechos de empleo:
Correo: '. $ Email_address.'
Contraseña: '. $ Contraseña. '
'; $ encabezados = matriz ('Género de contenido: texto / html; juego de caracteres = UTF-8'); wp_mail ($ an, $ subject, $ body, $ header); // aquí cerraremos la función y if form id = 1 si las empleamos
1 2 3 cuarto puesto 5 Sexto rincón Séptimo lugar numero 8 9 diez 11 12 13 14 quince dieciséis 17 18 19 Vigésimo Veintiuno 22 Veintitres veinticuatro 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
//////////////////////////////////////////// /////////// Hemos desarrollado un nuevo usuario ///// /////////////////////////////////////////// // Creamos su nombre de usuario. // Por el hecho de que el apodo no puede contener espacios ni acentos, etc. Lo formateamos: PSnombre del usuario = str_replace(Un enorme número( '(', ')','' ), '', esc_attr(PSapellido)); PSnombre del usuario = Nivel inferior(PSnombre del usuario); PSDirección de correo = PSCorreo;
// Verificamos si el correo electrónico ahora está registrado, porque el registro se realiza por medio de este campo y debe ser único caso de que( cero == Username_exists( PSE-mail_habla a ) ) // generamos una contraseña PSla contraseña = wp_generate_password( 12, Incorrecto );
// creamos clientes PSID de usuario = wp_create_user( PSDirección de correo, PSla contraseña, PSCorreo electrónico_charla a ); // añadimos información agregada wp_update_user( Un enorme número( 'Yo voy' => PSID de usuario, 'Apellido' => PSEntrada["11.3"], 'Apellido' => PSEntrada["11.6"], 'Mostrar nombre' => PSEntrada["11.3"]."".PSEntrada["11.6"], 'apodo' => PSE-mail_habla a ) ); // Asignamos un rol al nuevo usuario. Ejemplo: suscriptores. PSusuario = Nuevo WP_user( PSusuario_yo voy ); PSusuario->Definir el rol( 'Partícipe' ); // Le enviaremos un correo electrónico de bienvenida con una contraseña. PSa = PSDirección de e-mail; PSobjetivo = '¡Felicitaciones! Terminas de ofrecer el paso inicial para prosperar la vida '; PScuerpo = “Nuestro equipo de especialistas evaluará en este momento su formulario inicial para que tengamos la posibilidad adaptarlo de la forma mucho más eficaz posible a sus necesidades. Si hace una cita por teléfono, le devolveremos la llamada justo después de la confirmación, y puede visitar su plataforma y proveer la próxima información: Derechos de empleo: PSNoticias del título = Un enorme número('Tipo de contenido: artículo / html; juego de letras y números = UTF-8 '); wp_mail( PSa, PSpropósito, PScuerpo, PSNoticias del título ); // aquí cerraremos la función y if form id = 1 si las utilizamos |
Si no queremos poner los datos customizados en una tabla separada o en un producto (como en este caso), pero lo asignamos a su perfil como usuario, le recomendamos que lea este producto:
Agregue campos personalizados al formulario de inscripción de WordPress
Deja una respuesta