Descrizione

L'azione wpforms_loaded si attiva una volta che WPForms ha configurato i suoi oggetti principali ed è pronto per l'uso. Viene eseguita su plugins_loaded, subito dopo la registrazione degli oggetti form handler e process, e prima dell'inizializzazione dell'admin loader, dei provider e delle integrazioni.

Questa azione non accetta parametri.

Maggiori Informazioni

WPForms::hooks() collega objects() a plugins_loaded. objects() crea WPForms_Form_Handler e WPForms_Process nel registro e quindi attiva do_action( 'wpforms_loaded' ) senza argomenti. Il core stesso ascolta questa azione per avviare Admin\Loader (solo admin), Providers\Providers e Integrations\Loader, tutti con priorità 10.

Usala per registrare hook che necessitano dell'esistenza di wpforms(), o per eseguire codice solo quando WPForms è attivo. Gli articoli di riferimento sottostanti racchiudono la loro configurazione in essa: uno registra un filtro wpforms_entry_email_data, l'altro avvia una classe di compatibilità Quiz and Survey Master. Anche le integrazioni partono con priorità 10 su questa azione, quindi una callback che deve essere eseguita prima che un'integrazione costruisca i suoi oggetti (ad esempio i metodi di pagamento PayPal Commerce) necessita di un numero di priorità inferiore.

Si attiva in Lite e Pro. Non si attiva quando WPForms::is_restricted_heartbeat() cortocircuita init(), perché hooks() non viene mai raggiunto. Anche gli addon di WPForms si avviano con questa azione.

Origine

wpforms/src/WPForms.php

Esempio

Questo esempio registra un filtro di notifica solo dopo che WPForms è stato caricato, quindi la callback non viene mai eseguita quando WPForms è inattivo.

/**
 * Register WPForms hooks once the plugin is loaded.
 *
 * @link https://wpforms.com/developers/wpforms_loaded/
 */
function wpf_dev_loaded() {

    add_filter( 'wpforms_entry_email_data', 'wpf_dev_remove_field_from_email', 11, 3 );
}
add_action( 'wpforms_loaded', 'wpf_dev_loaded', 10, 0 );

/**
 * Remove field 3 from {all_fields} in notifications for form 143.
 *
 * @param array $fields    Entry fields.
 * @param array $entry     Form submission raw data.
 * @param array $form_data Form data and settings.
 *
 * @return array
 */
function wpf_dev_remove_field_from_email( $fields, $entry, $form_data ) {

    // Only run on the form with ID 143. Remember to change 143 to your form ID.
    if ( empty( $form_data['id'] ) || (int) $form_data['id'] !== 143 ) {
        return $fields;
    }

    // Remember to change 3 to the ID of the field you want to remove.
    unset( $fields[3] );

    return $fields;
}

Articoli di riferimento