KI-Zusammenfassung
Beschreibung
Die Aktion wpforms_loaded wird ausgelöst, sobald WPForms seine Kernobjekte eingerichtet hat und einsatzbereit ist. Sie läuft bei plugins_loaded, direkt nachdem die Formular-Handler- und Prozessobjekte registriert wurden, und bevor der Admin-Loader, die Provider und die Integrationen initialisiert werden.
Diese Aktion akzeptiert keine Parameter.
Weitere Informationen
WPForms::hooks() hängt objects() an plugins_loaded. objects() erstellt WPForms_Form_Handler und WPForms_Process im Registry und löst dann do_action( 'wpforms_loaded' ) ohne Argumente aus. Core selbst hört darauf, um Admin\Loader (nur Admin), Providers\Providers und Integrations\Loader zu starten, alle mit Priorität 10.
Verwenden Sie sie, um Hooks zu registrieren, die wpforms() benötigen, oder um Code nur dann auszuführen, wenn WPForms aktiv ist. Die Referenzartikel unten verpacken ihre Einrichtung darin: einer registriert einen wpforms_entry_email_data-Filter, der andere startet eine Kompatibilitätsklasse für Quiz und Umfrage-Master. Integrationen starten ebenfalls bei Priorität 10 bei dieser Aktion. Ein Callback, der ausgeführt werden muss, bevor eine Integration ihre Objekte erstellt (z. B. die PayPal Commerce-Zahlungsmethoden), benötigt daher eine niedrigere Prioritätsnummer.
Wird in Lite und Pro ausgelöst. Sie wird nicht ausgelöst, wenn WPForms::is_restricted_heartbeat() init() kurzschließt, da hooks() nie erreicht wird. WPForms-Addons werden ebenfalls bei dieser Aktion gestartet.
Quelle
wpforms/src/WPForms.php
Beispiel
Dieses Beispiel registriert einen Benachrichtigungsfilter erst, nachdem WPForms geladen wurde, sodass der Callback nie ausgeführt wird, wenn WPForms inaktiv ist.
/**
* 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;
}




