Un utente ha chiesto informazioni su Contact Form 7 - Conditional Fields di Wordpress

Fine inaspettata di json

Un utente ha chiesto 👇

Ciao,

Sto cercando di utilizzare alcune condizioni per i miei moduli ma sembra esserci un bug in cui l’elemento _wpcf7_options non sembra avere un json valido (non sono sicuro che sia coinvolto ma c’è uno spazio nel nome del tag form_id all’inizio immediatamente dopo la seconda doppia virgoletta):


<input type="hidden" name="_wpcf7cf_options" value="{" form_id":11790,"conditions":[],"settings":{"wpcf7cf_settings_saved":"1","notice_dismissed":"","animation":"yes","animation_intime":"200","animation_outtime":"200"}}"="">

Questo è il mio errore nella console degli strumenti di sviluppo di Chrome.

VM3670:1 Uncaught SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at HTMLDivElement.<anonymous> (scripts.js?ver=1.4.1:20)
    at Function.each (jquery.js?ver=1.12.4:2)
    at a.fn.init.each (jquery.js?ver=1.12.4:2)
    at scripts.js?ver=1.4.1:11
    at scripts.js?ver=1.4.1:356

Qualsiasi aiuto sarebbe molto apprezzato. Grazie.

(@hyrules)

2 anni fa

Credo che la soluzione sia qui: https://stackoverflow.com/a/18443279 .

(@hyrules)

2 anni fa

Ecco la mia soluzione per questo. Questo codificherà il json in base64 prima di inviarlo al valore del modulo:

cf7cf.php in linea 309

'_wpcf7cf_options' => ''.json_encode($options),

sostituire:

'_wpcf7cf_options' => ''.base64_encode(json_encode($options)),

js / scripts.js online 20

form_options = JSON.parse(value);

sostituire:

form_options = JSON.parse(atob(value));

Questa risposta è stata modificata 2 anni fa da. Autore del plugin

(@ jules-colle)

1 anno, 11 mesi fa

Grazie, ma JSON sta cercando di uscire da CF7 utilizzando la funzione WP esc_attr. https://developer.wordpress.org/reference/functions/esc_attr/

Il tuo tema o altro plugin potrebbe creare confusione con questo utilizzando il filtro attribute_escape.

Was this helpful?

0 / 0

Lascia un commento 0

Your email address will not be published. Required fields are marked *