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 );

Articoli di riferimento

Come aggiungere un video prima del modulo