AI要約
説明
wpforms_frontend_output_before アクションは、フォームが存在し、フィールドが含まれている場合にのみ、サイトのフロントエンドにフォームが表示される前に発生します。
パラメーター
- $form_data
- (配列) 後で使用するために処理および準備されたフォーム設定/データ。
- $form
- (WP_Post) フォームの投稿タイプオブジェクト。
ソース
wpforms/src/Frontend/Frontend.php
詳細情報
wpforms_frontend_output_before は有効で空でないフォームにのみ発生しますが、出力レンダリングプロセスの早い段階で実行されます。
フォームの確認メッセージを表示したり、wpforms_frontend_output_after フィルターをトリガーしたりする場合など、アクションが発生してもフォームが表示されない場合があります。
検討すべき代替アクションは wpforms_frontend_output_after です。これは同様に機能しますが、フォームが表示された後にのみ発生します。
例
以下のコードスニペットの例では、まずフォームIDが5と等しいかどうかを確認します。等しい場合は、デジタルカタログをダウンロードするためのリンクをエコーします。
コードを実行したい特定のフォームIDと一致するように、フォームIDを5から変更することを忘れないでください。このチェックを削除すると、すべてのフォームに適用されます。
/**
* 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 );