説明

について wpforms_frontend_output_before アクションはサイトのフロントエンドにフォームが表示される前に発生します。

パラメータ

フォームデータ
(配列) 処理済みのフォーム設定/データ。
フォーム
(WP_Post) フォーム投稿タイプオブジェクト。

ソース

wpforms/src/Frontend/Frontend.php

詳細情報

一方 wpforms_frontend_output_before は、空でない有効なフォームに対してのみ発生し、出力レンダリング処理の初期段階で実行される。

場合によっては、アクションは発生するがフォームは表示されないことがあります。 wpforms_frontend_load フィルターにかける。

別のアクションとして、wpforms_frontend_output_afterが考えられます。

下記のコード例では、まずフォームIDが5であるかどうかをチェックします。 もし5であれば、デジタルカタログをダウンロードするためのリンクを送信します。

フォームIDを 5 を、コードを実行したい特定のフォームIDに一致させます。このチェックを外すと、すべてのフォームに対して実行されます。

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

参考記事

フォームの前に動画を追加する方法