ご注意!

この記事には PHP コードが含まれており、開発者を対象としています。このコードは便宜上提供していますが、コードのカスタマイズやサードパーティの開発についてはサポートを提供していません。

追加のガイダンスについては、WPBeginner の カスタムコードの追加方法に関するチュートリアル を参照してください。

閉じる

説明

wpforms_display_field_after アクションは、ラベルなどの特定のフォーム要素の位置を決定するために、フォームが表示される前に実行されます。

パラメーター

$fields
配列)サニタイズされたエントリーフィールドの値/プロパティ。
$form_data
配列)フォームの設定/データ。

ソース

wpforms/src/Frontend/Frontend.php

詳細情報

フォームが表示される前にアクションが実行されます。このアクションを使用して、フォームフィールドラベルなどのフォームの属性を移動できます。

このアクションを使用してフィールドラベルをフォームフィールドの下に再配置する場合、まず wpforms_display_field_before アクションを使用して、フォームフィールドの前に表示されるラベルを削除してから、フォームフィールドの後にラベルを再配置するアクションを呼び出す必要があることに注意することが重要です。

/**
 * Action fires before the form is displayed to determine position of certain form elements such as labels.
 *
 * @link   https://wpforms.com/developers/wpforms_display_field_after/
 * 
 * @param  array    $fields      Sanitized entry field values/properties.
 * @param  array    $form_data   Form settings/data.
 * @return array
 */


/* First remove the label from appearing above the form field for form 1289 */

function wpf_dev_display_field_before( $field, $form_data ) {
 
    if ( absint( $form_data[ 'id' ] ) !== 1289 ) {
        return;
    }

    remove_action( 'wpforms_display_field_before', array( wpforms()->frontend, 'field_label' ), 15 );
}
 
add_action( 'wpforms_display_field_before', 'wpf_dev_display_field_before', 10, 2 );



/* Now position the label to appear below the form field for form 1289 */

function wpf_dev_display_field_after( $field, $form_data ) {

    if ( absint( $form_data[ 'id' ] ) !== 1289 ) {
        return;
    }
 
    wpforms()->frontend->field_label( $field, $form_data );
}
 
add_action( 'wpforms_display_field_after', 'wpf_dev_display_field_after', 1, 2 );


参考記事

参照アクション

wpforms_display_field_before