Un utente ha chiesto
Categoria: WP Job Manager di WordPress
Domanda: aggiungi recaptcha al modulo di domanda di lavoro

Sto cercando di aggiungere un recaptcha al modulo di domanda di lavoro. Ho notato che è possibile aggiungerlo al modulo di invio del lavoro. Non mi interessa, voglio davvero aggiungerlo al modulo di domanda di lavoro.

grazie

  • (@braehler)

    @carlosgdi
    puoi far funzionare il recaptcha sul modulo di domanda di lavoro utilizzando questo codice qui:

    /* 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;
    }

    (@braehler)

    Incolla il codice nel tuo childthemes functions.php

    (@ppaulikelis)

    Ehi, questa soluzione mi ha aiutato, tuttavia dopo aver aggiunto questo codice la funzione captcha del plug-in WPForms non funziona. A quanto ho capito, è perché il captcha si carica più volte. Come può essere aggiustato?

Hai risolto il tuo problema?

0 / 0

Lascia un commento 0

Il tuo indirizzo email non sarà pubblicato. Required fields are marked *