AIサマリー
説明
について wpforms_frontend_output は、サイトのフロントエンドと HTML フォームコンテナ内にフォームが表示される前に発生します。フォームが存在し、フィールドが含まれている場合にのみ発生します。
パラメータ
- フォームデータ
- (配列) 処理済みのフォーム設定/データ。
- フォーム
- (WP_Post) フォーム投稿タイプ。
ソース
wpforms/src/Frontend/Frontend.php
詳細情報
一方 wpforms_frontend_output は有効な空でないフォームに対してのみ実行され、出力レンダリング処理の早い段階で実行されます。しかし、このアクションで配置したものは、HTMLの中で表示されます。 form コンテナ
別のアクションとして、wpforms_frontend_output_beforeがあります。
例
この例では、クリスマスの日に閉鎖されるフォームがあります。フォームの上にメッセージを表示し、今日の日付からクリスマス当日を差し引いたものを計算し、フォーム送信までの残り日数をユーザーに知らせたいと思います。
/**
* Output something before your form(s).
*
* @link https://wpforms.com/developers/wpforms_frontend_output/
*
* @param array $form_data Form data and settings.
* @param object $form Form post type.
*/
function wpf_dev_frontend_output( $form_data, $form ) {
// Optional, you can limit to specific forms. Below, we restrict output to
// form #898.
if ( absint( $form_data[ 'id' ] ) !== 898 ) {
return;
}
// Set the PHP timezone
date_default_timezone_set( 'America/New_York' );
// Set the variable to Christmas day
$christmasDay = strtotime( 'December 25' );
// Get the current date
$time = time();
// Calculate how many days from today's date to Christmas day
$days = ceil(($christmasDay - $time)/60/60/24);
echo '<div class="countdown_wrapper"> <p>' . __( 'This contest closes on <strong>12/25/2024</strong>, enter now! There are only <strong>', 'text-domain' ) . $days . __( '</strong> days left to enter!', 'text-domain' ) . '</p></div>';
}
add_action( 'wpforms_frontend_output', 'wpf_dev_frontend_output', 10, 2 );