• Resolved ravimartins

    (@ravimartins)


    Olá Cláudio, como vai?

    Sei que isso n?o faz parte do escopo do plugin (pelo menos n?o que saiba), mas gostaria de saber se tem alguma dica de como posso fazer para checar se o CPF já está cadastrado no site. Acho ser uma funcionalidade importante pra previnir que uma ma mesma pessoa possua vários cadastros no site.

    Novamente agrade?o pelo apoio de sempre.

    Att,
    Rafael

Viewing 3 replies - 1 through 3 (of 3 total)
  • Plugin Author Claudio Sanches

    (@claudiosanches)

    Desde que eu criei o plugin galera nunca entendeu isso, primeira vez que vejo alguém dizendo que entendeu e por isso aqui o código para fazer isso:

    add_action( 'woocommerce_checkout_process', function() {
    	global $wpdb;
    
    	// Stop if do not have CPF.
    	if ( empty( $_POST['billing_cpf'] ) ) {
    		return;
    	}
    
    	$settings           = get_option( 'wcbcf_settings' );
    	$person_type        = intval( $settings['person_type'] );
    	$billing_persontype = isset( $_POST['billing_persontype'] ) ? intval( wp_unslash( $_POST['billing_persontype'] ) ) : 0;
    	$using_person_type  = 1 === $person_type && 1 === $billing_persontype;
    
    	if ( $using_person_type || 2 === $person_type ) {
    		$user_id = (int) $wpdb->get_var( $wpdb->prepare( "
    			SELECT user_id
    			FROM $wpdb->usermeta
    			WHERE meta_key = 'billing_cpf'
    			AND meta_value = %s
    		", wp_unslash( sanitize_text_field( $_POST['billing_cpf'] ) ) ) );
    		$current_user_id = (int) get_current_user_id();
    
    		if ( 0 === $current_user_id && 0 < $user_id ) {
    			wc_add_notice( 'Você já tem uma conta cadastrada com o CPF utilizado, fa?a login com sua conta para realizar o pagamento.', 'error' );
    		} elseif ( 0 < $user_id && $current_user_id !== $user_id ) {
    			wc_add_notice( 'Já existe um usuário cadastrado com o CPF utilizado, entre com a conta cadastrada com o CPF que você deseja utilizar.', 'error' );
    		}
    	}
    }, 100 );

    Basta usar no functions.php ou pode criar um plugin seu para usar o código.

    Recomendo ativar cadastro de contas no WooCommerce, caso o contrário isso n?o vai ter efeito, uma vez que precisa verificar se existe já em algum usuário cadastrado, já que verificar contra os pedidos feitos pode causar diversos problemas, até mesmo um dos motivos de n?o fazer parte do plugin.

    Thread Starter ravimartins

    (@ravimartins)

    @claudiosanches

    Funcionou como mágica! ??
    Muito obrigado pelo seu empenho em sempre atender com altíssima qualidade e prontid?o.

    Grande abra?o,
    Rafael

    é possível me usa esse mesmo código para cnpj ou tem que ser outro código?

Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘Checar se cpf já está cadastrado’ is closed to new replies.