• Resolved carlosgdi

    (@carlosgdi)


    I’m trying to add a recaptcha to the job application form. I noticed that it’s possible to add it to the job submission form. I don’t really care about that, I really want to add it to the job application form.

    Thanks

Viewing 3 replies - 1 through 3 (of 3 total)
  • @carlosgdi
    you can get the recaptcha working on the job application form by using this code here:

    /* ADD RECAPTCHA in Job Detail to Application From */
    
    // Define your keys here
    define( 'RECAPTCHA_SITE_KEY', 'your_site_key' );
    define( 'RECAPTCHA_SECRET_KEY', 'your_secret_key' );
    // Enqueue Google reCAPTCHA scripts
    add_action( 'wp_enqueue_scripts', 'recaptcha_scripts' );
    function recaptcha_scripts() {
    	wp_enqueue_script( 'recaptcha', 'https://www.google.com/recaptcha/api.js' );
    }
    // Add reCAPTCHA to the job submission form
    // If you disabled company fields, the submit_job_form_end hook can be used instead from version 1.24.1 onwards
    add_action( 'job_application_form_fields_end', 'recaptcha_field' );
    function recaptcha_field() {
    	?>
    	<fieldset>
    		<label>Please validate the form</label>
    		<div class="field">
    			<div class="g-recaptcha" data-sitekey="<?php echo RECAPTCHA_SITE_KEY; ?>"></div>
    		</div>
    	</fieldset>
    	<?php
    }
    // Validate
    add_filter( 'application_form_validate_fields', 'validate_recaptcha_field' );
    function validate_recaptcha_field( $success ) {
    	$response = wp_remote_get( add_query_arg( array(
    		'secret'   => RECAPTCHA_SECRET_KEY,
    		'response' => isset( $_POST['g-recaptcha-response'] ) ? $_POST['g-recaptcha-response'] : '',
    		'remoteip' => isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR']
    	), 'https://www.google.com/recaptcha/api/siteverify' ) );
    	if ( is_wp_error( $response ) || empty( $response['body'] ) || ! ( $json = json_decode( $response['body'] ) ) || ! $json->success ) {
    		return new WP_Error( 'validation-error', 'Please try again' );
    	}
    	return $success;
    }

    Paste the code into your childthemes functions.php

    Hey, this solution helped me, however, after adding this code WPForms plugin captcha feature doesn’t work. As I understand, it is because captcha loads multiple times. How can it be fixed?

Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘add recaptcha to job application form’ is closed to new replies.