Descripción

La acción wpforms_loaded se dispara una vez que WPForms ha configurado sus objetos principales y está listo para su uso. Se ejecuta en plugins_loaded, justo después de que se registran los objetos del manejador de formularios y del proceso, y antes de que se inicialicen el cargador de administración, los proveedores y las integraciones.

Esta acción no acepta ningún parámetro.

Más Información

WPForms::hooks() adjunta objects() a plugins_loaded. objects() crea WPForms_Form_Handler y WPForms_Process en el registro y luego dispara do_action( 'wpforms_loaded' ) sin argumentos. El núcleo en sí mismo escucha en él para iniciar Admin\Loader (solo en administración), Providers\Providers y Integrations\Loader, todo con prioridad 10.

Úselo para registrar ganchos que necesiten que wpforms() exista, o para ejecutar código solo cuando WPForms esté activo. Los artículos de referencia a continuación envuelven su configuración en él: uno registra un filtro wpforms_entry_email_data, el otro inicia una clase de compatibilidad de Quiz and Survey Master. Las integraciones también comienzan con prioridad 10 en esta acción, por lo que una devolución de llamada que deba ejecutarse antes de que una integración construya sus objetos (por ejemplo, los métodos de pago de PayPal Commerce) necesita un número de prioridad más bajo.

Se dispara en Lite y Pro. No se dispara cuando WPForms::is_restricted_heartbeat() cortocircuita init(), porque hooks() nunca se alcanza. Los complementos de WPForms también se inician en esta acción. Los complementos de WPForms también se inician en esta acción.

Origen

wpforms/src/WPForms.php

Ejemplo

Este ejemplo registra un filtro de notificación solo después de que WPForms se carga, por lo que la devolución de llamada nunca se ejecuta cuando WPForms está inactivo.

/**
 * 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;
}

Artículos de Referencia