Descrizione
Il wpforms_frontend_output_before
si attiva prima che un modulo venga visualizzato sul front-end del sito, solo se il modulo esiste e contiene dei campi.
Parametri
- $form_data
- (array) Impostazioni/dati del modulo elaborati, preparati per essere utilizzati in seguito.
- $forma
- (WP_Post) Oggetto del tipo di post del modulo.
Fonte
wpforms/src/Frontend/Frontend.php
Ulteriori informazioni
Mentre wpforms_frontend_output_before
si attiva solo per i moduli validi non vuoti e viene eseguito nelle prime fasi del processo di rendering dell'output.
In alcuni casi, l'azione può essere attivata ma il modulo non viene visualizzato, come nel caso della visualizzazione di un messaggio di conferma del modulo o dell'attivazione dell'opzione wpforms_frontend_load
filtro.
Un'azione alternativa da considerare è wpforms_frontend_output_after, che funziona in modo simile, ma si attiva solo dopo la visualizzazione del modulo.
Esempi
Nel nostro esempio di codice, che vedete qui sotto, controlleremo innanzitutto se l'ID del modulo è uguale a 5. Se lo è, invieremo un link per scaricare il catalogo digitale.
Ricordarsi di cambiare l'ID del modulo da 5
per far corrispondere l'ID del modulo specifico su cui si vuole eseguire il codice. Rimuovendo questo controllo, il codice verrà eseguito per tutti i moduli.
/** * Output something before your form(s). * * @link https://wpforms.com/developers/wpforms_frontend_output_before/ * * @param array $form_data Form data and settings. * @param object $form Form post type object. */ function wpf_dev_frontend_output_before( $form_data, $form ) { // Optional, you can limit to specific forms. Below, we restrict output to // form #5. if ( absint( $form_data[ 'id' ] ) !== 5 ) { return; } // Run code or see the example echo statement below. _e( '<p>If you would like to download our digital catalog, <a href="http://yourlinkurl.com/" target="_blank">click here</a>.</p>', 'plugin-domain' ); } add_action( 'wpforms_frontend_output_before', 'wpf_dev_frontend_output_before', 10, 2 );