Un utente ha chiesto
Categoria: ReCaptcha v2 for Contact Form 7 di WordPress
Domanda: reCAPTCHA non è riuscito a trovare la funzione fornita dall’utente: recaptchaCallback

Ciao,

Ho usato il tuo plugin (1.3) per tornare a Recaptcha V2 con il modulo di contatto 7 (5.3.2) – è fantastico, quindi grazie.

Da qualche giorno non vediamo più il recaptcha v2 e stiamo ricevendo questo messaggio (su tutte le pagine che hanno il [recaptcha] Parole chiave):

reCAPTCHA non è riuscito a trovare la funzione fornita dall’utente: recaptchaCallback

C’è un modo per aggirare questo per favore?

Grazie mólto

La pagina per cui ho bisogno di aiuto: [log in to see the link]

  • Autore del plugin

    (@iqcomputing)

    Buongiorno,

    Potrebbe essere che anche un altro plugin chiami reCaptcha? Ci aspettiamo di vedere entrambi:

    wpcf7-recaptcha-controls script in fase di aggiunta alla fonte e variabili situate dopo google-recaptcha scenario. Nessuno di questi elementi appare nel tuo codice sorgente, il che ci porta a credere che anche un altro plugin stia aggiungendo reCaptcha e sostituendo lo script Contact Form 7 ReCaptcha.

    Ti consigliamo di installare il plugin WordPress Health Check & Troubleshooting. Ciò ti consentirà di disabilitare in modo sicuro i plug-in e ripristinare un tema predefinito fino a quando non determinerai quale plug-in è in conflitto. Per ulteriori informazioni, ti consigliamo di consultare la documentazione di controllo dello stato relativa alla risoluzione dei problemi.

    Una volta che sai quale plugin sta causando questo conflitto, puoi contattare il loro supporto per trovare la soluzione migliore. Spero che la spiegazione di cui sopra abbia senso. Se hai domande, rispondi e possiamo aiutarti ulteriormente. Buon riposo della tua settimana!

    (@sscwebserco)

    Ciao squadra,
    Ho finalmente trovato il problema.
    Non era un plugin ma un pezzo di codice scritto nel file functions.php (figlio) riguardante “il cambio di lingua di recaptcha”.

    Il codice in questione è il seguente:

    add_action( 'wpcf7_enqueue_scripts', 'custom_recaptcha_enqueue_scripts', 11 );
    
    function custom_recaptcha_enqueue_scripts() {
    	wp_deregister_script( 'google-recaptcha' );
        
    	$hl = 'en-GB';
        if (ICL_LANGUAGE_CODE == 'es') $hl = 'es';
        if (ICL_LANGUAGE_CODE == 'de') $hl = 'de';
    	if (ICL_LANGUAGE_CODE == 'it') $hl = 'it';
    	if (ICL_LANGUAGE_CODE == 'fr') $hl = 'fr';
    	
    	$url = 'https://www.google.com/recaptcha/api.js';
    	$url = add_query_arg( array(
    		'onload' => 'recaptchaCallback',
    		'render' => 'explicit',
    	 	'hl' => $hl ), $url );
    
    	wp_register_script( 'google-recaptcha', $url, array(), '2.0', true );
    }

    se lo spengo, il Recaptcha funziona.
    Questo codice funziona da oltre due anni, quindi è necessario modificare alcune logiche su altri plugin che non gli consentono più di funzionare.

    Hai una soluzione alternativa per avere il Recaptcha in diverse lingue?

    grazie

    Autore del plugin

    (@iqcomputing)

    Buongiorno,

    Lo script reCaptcha utilizza la lingua del sito per impostazione predefinita:

    'hl' => esc_attr( get_locale() )

    Sembra ICL_LANGUAGE_CODE è di WPML. Potresti essere in grado di utilizzare il [locale filter hook](https://developer.wordpress.org/reference/hooks/locale/) per fornire get_locale() con un valore diverso.

    Guardando questo script sembra buono. Siamo in coda alla priorità 9, la tua è in coda alla priorità 11, quindi dovrebbe sostituire la nostra. Ti consigliamo inoltre di contattare WPML per vedere cosa suggeriscono.

    (@sscwebserco)

    grazie

Hai risolto il tuo problema?

0 / 0

Lascia un commento 0

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