AI要約
説明
wpforms_loaded アクションは、WPForms がコアオブジェクトをセットアップし、使用準備ができたときに発生します。これは plugins_loaded で実行され、フォームハンドラーとプロセスオブジェクトが登録された直後、および管理ローダー、プロバイダー、統合が初期化される前です。
このアクションはパラメーターを受け付けません。
詳細情報
WPForms::hooks() は plugins_loaded に objects() をアタッチします。objects() はレジストリに WPForms_Form_Handler と WPForms_Process を作成し、その後引数なしで do_action( 'wpforms_loaded' ) を発生させます。コア自体は、管理ローダー (管理のみ)、プロバイダー、統合をすべて優先度 10 で開始するために、これをリッスンします。
wpforms() が存在する必要があるフックを登録するため、または WPForms がアクティブな場合にのみコードを実行するために使用します。以下のリファレンス記事では、セットアップをこれらでラップしています。1 つは wpforms_entry_email_data フィルターを登録し、もう 1 つは Quiz and Survey Master の互換性クラスをブートします。統合もこのアクションで優先度 10 で開始されるため、統合がオブジェクトを構築する前に実行する必要があるコールバック (たとえば PayPal Commerce の支払い方法) は、より低い優先度番号が必要です。
Lite および Pro で発生します。WPForms::is_restricted_heartbeat() が init() をショートサーキットするため、hooks() が到達しないため発生しません。WPForms アドオンもこのアクションでブートします。
ソース
wpforms/src/WPForms.php
例
この例では、WPForms がロードされた後にのみ通知フィルターを登録するため、コールバックは WPForms が非アクティブな場合には決して実行されません。
/**
* 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;
}




