Un utente ha chiesto
Categoria: All In One WP Security & Firewall di WordPress
Domanda: Google reCAPTCHA non viene visualizzato sul pagamento WooCommerce.

Ciao,

Re: https://wordpress.org/support/topic/customerscant-login-woocommerce-error-error-your-answer-was-incorrect/

Dalla v4.4.6, quando si utilizza Google reCAPTCHA, AIOWPS stampa il suo script a piè di pagina solo se ritiene che l’utente sia su una pagina dell’account WooCommerce

function print_recaptcha_api_woo() {
    global $aio_wp_security;
    $is_woo = false;
    $is_woo = is_account_page();
    if(!$is_woo) {
        return; // if current page is not woo account page don't do anything
    }
    $site_key = esc_html( $aio_wp_security->configs->get_value('aiowps_recaptcha_site_key') );
    ...[<script>]...

Se un tema utilizza l’accesso alla cassa o un modulo di accesso pop-up su pagine diverse da / mio-account, AIOWPS non visualizza il suo script, quindi vengono visualizzati gli elementi con id #woo_recaptcha_ (1 | 2) (ad esempio, agganciato woocommerce_login_form), ma non ottenere il reCAPTCHA.

Questo problema è stato risolto in> v4.4.6?

Auguri,

Tommy rushton

  • Collaboratore plugin

    (@mbrsolution)

    Ciao,

    Questo problema è stato risolto in> v4.4.6?

    L’ultima versione del nostro plugin è la 4.4.8. Stai attualmente utilizzando la versione 4.4.8 sul tuo sito?

    grazie

    (@hatchjaw)

    Buongiorno,

    Sto eseguendo 4.4.6. Sono state apportate modifiche a AIOWPSecurity_WP_Footer_Content :: print_recaptcha_api_woo () nelle versioni dalla 4.4.6?

    Auguri,

    Tommy

    Collaboratore plugin

    (@mbrsolution)

    Ciao,

    Hai anche testato la seguente funzionalità Attiva Captcha sul form di login personalizzato:? Questa funzione funziona se il modulo di accesso utilizza la seguente funzione WP wp_login_form().

    Cordiali saluti

    (@hatchjaw)

    Ciao,

    Questa opzione è abilitata sul mio sito. Come descritto, e a meno che non mi sbagli, questo problema riguarda i moduli di accesso a WooCommerce (non i moduli personalizzati), quando tale modulo è presente su una pagina diversa da / mio-account, ad esempio login checkout .

    Auguri,

    Tommy

    Collaboratore plugin

    (@mbrsolution)

    Ciao Tommy, solo per confermare con te. Controlla la seguente documentazione e fammi sapere se hai implementato gli stessi passaggi nel tuo sito.

    https://mbrsolution.com/wordpress/aiowps-and-woocommerce-captcha-settings.php

    grazie

    (@hatchjaw)

    Buongiorno,

    sì, il mio cliente ha un sito intermediario in cui ho selezionato “Utilizza Google reCAPTCHA per impostazione predefinita”, ho inserito una chiave del sito e una chiave segreta valide e ho abilitato le seguenti opzioni:

    – Attiva Captcha nella pagina di accesso
    – Attiva Captcha nella pagina della password persa
    – Attiva Captcha sul form di login personalizzato
    – Attiva Captcha sul form di login di Woocommerce
    – Attiva Captcha sul modulo di registrazione di Woocommerce

    Il reCAPTCHA di Google appare come previsto su wp-login.php e su / my-account, ma non sul modulo di accesso su / checkout, né su qualsiasi altra pagina in cui è presente un modulo di accesso a WooCommerce (ad esempio una connessione pop-up ) – AIOWPS genera il suo markup segnaposto recaptcha (<div id="woo_recaptcha_1" class="g-recaptcha"...) ma non emette il suo script per riempire i segnaposto con elementi recaptcha perché $is_woo = is_account_page(); valuta falso.

    Esiste una soluzione alternativa, ovvero accedere a “woocommerce_is_account_page”, ad esempio per l’accesso alla cassa:

    add_action( 'woocommerce_before_checkout_form', function () {
        add_action( 'wp_footer', function () {
            if ( ! is_user_logged_in() ) {
                add_filter( 'woocommerce_is_account_page', '__return_true' );
    
                add_action( 'wp_footer', function () {
                    remove_filter( 'woocommerce_is_account_page', '__return_true' );
                }, PHP_INT_MAX );
            }
        }, 1 );
    } );

    Come puoi vedere, ho cercato di limitare l’ambito di questa soluzione alternativa limitando la sostituzione di is_account_page() a wp_footer, ma ciò può avere conseguenze inaspettate se altri plugin eseguono il codice nel piè di pagina e si preoccupano se sono in esecuzione su una pagina dell’account.

    Grazie,

    Tommy

    Collaboratore plugin

    (@mbrsolution)

    Ciao Tommy, hai provato uno dei temi WordPress predefiniti come Twenty Twenty? Il motivo per cui lo dico è perché funziona per me utilizzando il tema predefinito.

    Cordiali saluti

    (@hatchjaw)

    Buongiorno,

    Ho cambiato la mia copia locale del sito su cui sto lavorando su Twenty Twenty e ho lo stesso problema.

    Google reCAPTCHA funziona su / my-account, perché AIOWPS rileva che questa è una pagina dell’account e inserisce lo script recaptcha di conseguenza. On/checkout, tuttavia, non funziona: il modello predefinito di WooCommerce fornisce un modulo di accesso (“Cliente di ritorno? Fai clic qui per accedere”) e AIOWPS genera il suo markup segnaposto (<div class="g-recaptcha-wrap"...) dopo i campi nome utente e password, ma poiché / checkout non è riconosciuto come pagina dell’account, AIOWPS non emette il suo script e il markup segnaposto non viene popolato con un reCAPTCHA .

    Se visiti il ​​sito del mio cliente… https://www.krotosaudio.com/ – vedrai che se fai clic sull’icona dell’account, viene visualizzato un modulo di accesso (Questo modulo attualmente utilizza il captcha matematico), ovvero l’utente non viene reindirizzato a / mio-account . Se ho capito bene, AIOWPS non supporta i moduli di accesso di Google reCAPTCHA per WooCommerce se tale modulo non viene visualizzato nella pagina / il mio account.

    Forse AIOWPS potrebbe impostare un flag quando genera il suo markup segnaposto reCAPTCHA indicando che dovrebbe generare il suo script reCAPTCHA indipendentemente dal fatto che la pagina corrente sia o meno una pagina dell’account.

    Auguri,

    Tommy

    Collaboratore plugin

    (@mbrsolution)

    Ciao Tommy, condividi ulteriori informazioni sul tuo problema e sui risultati. Ho inviato un messaggio agli sviluppatori per approfondire il tuo problema/richiesta.

    Cordiali saluti

    (@hatchjaw)

    Ciao,

    grazie per aver peggiorato questo problema. Sperando che gli sviluppatori trovino una soluzione.

    Auguri,

    Tommy

Hai risolto il tuo problema?

0 / 0

Lascia un commento 0

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