Pregunta sobre Contact Form 7 Multi-Step Forms de Wordpress:

Tratando de capturar datos de formularios con una funci贸n personalizada, sin pasar datos

Un usuario pregunt贸 馃憞

Entonces tengo una funci贸n escrita que toma datos del formulario CF7 que se ingresaron y analizaron en metadatos de usuario. Lo prob茅 y funciona en formularios de contacto individuales sin ninguna pregunta. Mi problema es que no se est谩 insertando al final del formulario multidisciplinar.

La funci贸n b谩sica es:

//Onboard Data Export
add_action( 'wpcf7_before_send_mail', 'vbg_user_onboard' );
function vbg_user_onboard( $contact_form ){
	if (!isset($contact_form->posted_data) && class_exists('WPCF7_Submission')) {
		$log .= 'posted data set and class exists!n';
		$submission = WPCF7_Submission::get_instance();
		$current_user = wp_get_current_user();
		$user_id = $current_user->ID;
		if ($submission) {
			$log .= 'submission exists!n';
			$formdata = $submission->get_posted_data();
		}
		if( !empty($formdata['past-claim'])){
			//parse user data
			$user_email = $formdata['user-email'];
			$user_filed_before = $formdata['past-claim'];

			//User Meta
			$user_meta = array(
				'filed_before' => $user_filed_before,
			);

			//Set metadata        
			update_user_meta( $user_id, "filed_before", $user_meta['filed_before'] );
		} 
	}//end
}

驴Existe una forma espec铆fica en que se manejan los datos en estos formularios? 驴C贸mo recibo los detalles por correo? Los correos electr贸nicos parecen estar bien sin errores mientras se ejecutan los datos, por lo que deben estar all铆.

隆Gracias!

(@starfiredev)

Hace 9 meses, 1 semana

Hoy pas茅 un buen rato trabajando con 茅l y tengo un c贸digo actualizado. Cambi茅 un poco el m茅todo para eliminar los resultados de la cookie de sesi贸n. Aunque almacena con 茅xito la matriz $ formdata, no parece escribir en user_meta en absoluto.

‘add_action (‘ wpcf7_before_send_mail ‘,’ vbg_user_onboard ‘); funci贸n vbg_user_onboard () {

si (! isset ($ _ COOKIE[鈥榗f7msm_posted_data鈥橾)) {//} else {$ current_user = wp_get_current_user (); $ user_id = $ current_user-> ID; $ cookie_data = $ _COOKIE[鈥榗f7msm_posted_data鈥橾; $ cookie_data = rayas ($ cookie_data); $ formdata = (editar) json_decode ($ cookie_data);

// analizar datos $ user_email data = $ formdata[鈥榰ser-email鈥橾; $ user_filed_before = $ formdata[鈥榩ast-claim鈥橾; }} ‘Esta es una versi贸n muy desconectada por ejemplo. Tengo alrededor de 20 variables que pasan por el formulario. No supera el l铆mite de cookies de 4kb.

Tambi茅n tuve algunas otras declaraciones para asegurarme de que solo interferir铆a con el formulario final, pero tuve que eliminar cosas para probar.

Si hay alguna ayuda que a煤n pueda ofrecer, se la agradecer铆amos.

Esta respuesta fue modificada hace 9 meses, hace una semana por.

(@webheadllc)

hace 9 meses

Hola,

Esa es una forma de publicar los datos, otra forma es la wpcf7_posted_data filtrar.

En cuanto a guardar la meta del usuario, no estoy seguro de qu茅 podr铆a salir mal y cu谩l est谩 fuera del alcance de este plugin. Aseg煤rese de que se alcance parte de su c贸digo y que la identificaci贸n de usuario y el valor de sus ahorros no est茅n vac铆os.

驴Solucion贸 tu problema??

0 / 0

Deja una respuesta 0

Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *