Formulário de contato do WordPress 7 Formulários de várias etapas Pergunta: Tentando buscar dados de formulário com uma função personalizada, sem passar dados

Um usuário perguntou ?

Então, eu tenho uma função escrita que recebe dados do formulário CF7 que foram inseridos e analisados ​​nos metadados do usuário. Eu testei e funciona em formulários de contato individuais sem perguntas. Meu problema é que não está sendo inserido no final do formulário multidisciplinar.

A função básica é:

//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 uma maneira específica de lidar com os dados nesses formulários? Como recebo os detalhes pelo correio? Os e-mails parecem estar bem, sem erros enquanto os dados estão sendo executados, portanto, devem estar lá.

Obrigado!

(@starfiredev)

9 meses, 1 semana atrás

Hoje me diverti muito trabalhando com ele e tenho um código atualizado. Mudei um pouco o método para remover os resultados do cookie de sessão. Embora ele armazene com sucesso o array $formdata, ele não parece gravar em user_meta.

‘add_action(‘wpcf7_before_send_mail’,’vbg_user_onboard’); function vbg_user_onboard() {

if(!isset($_COOKIE[‘cf7msm_posted_data’])) {//} else {$current_user = wp_get_current_user(); $user_id = $current_user->ID; $cookie_data = $_COOKIE[‘cf7msm_posted_data’]; $cookie_data = listras($cookie_data); $formdata = (editar) json_decode($cookie_data);

// analisa os dados $user_email data = $formdata[‘user-email’]; $user_filed_before = $formdata[‘past-claim’]; }} ‘Esta é uma versão muito desconectada, por exemplo. Tenho cerca de 20 variáveis ​​que passam pelo formulário. Não excede o limite de cookies de 4kb.

Eu também tinha algumas outras declarações para ter certeza que só iria interferir na forma final, mas eu tive que remover coisas para testar.

Se houver alguma ajuda que você ainda possa oferecer, agradecemos.

Esta resposta foi modificada há 9 meses, uma semana atrás por.

(@webheadllc)

9 meses atrás

Olá,

Essa é uma maneira de publicar os dados, outra maneira é a wpcf7_posted_data filtro.

No que diz respeito a salvar a meta do usuário, não tenho certeza do que pode dar errado e o que está fora do escopo deste plugin. Certifique-se de que parte do seu código seja alcançada e que o ID do usuário e o valor de suas economias não estejam vazios.

Isto foi útil?

0 / 0

Deixe uma resposta 0

O seu endereço de email não será publicado. Campos obrigatórios são marcados *