acf_nonce_input()


WordPressの関数acf_nonce_input()は、Advanced Custom Fields(ACF)プラグインと連携して、セキュリティのためにNonce入力フィールドを生成します。このフィールドは、フォーム送信時のCSRF(クロスサイトリクエストフォージェリ)攻撃を防ぐために使用されます。

シンタックス

acf_nonce_input( string $action = 'acf_nonce', string $name = '_acf_nonce' );

引数の説明

  • $action (string) — Nonceフィールドのアクション名を指定します。デフォルトは「acf_nonce」です。
  • $name (string) — フォーム内でのNonceフィールドの名前を指定します。デフォルトは「_acf_nonce」です。

例 1: 基本的なNonce入力フィールドの表示

次のコードは、基本的なNonce入力フィールドをフォームに追加します。

<?php acf_nonce_input(); ?>

例 2: カスタムアクションを指定してNonce入力フィールドを表示

$action引数を使用して、カスタムアクション名を指定することができます。

<?php acf_nonce_input( 'my_custom_action' ); ?>

例 3: カスタム名前を指定してNonce入力フィールドを表示

$name引数を使用して、Nonceフィールドの名前を変更できます。

<?php acf_nonce_input( 'my_custom_action', '_my_nonce_field' ); ?>

例 4: フォームにNonceを追加する方法

フォーム内でNonceを使用する際には、フォーム送信時にこのフィールドを含める必要があります。

<form method="post">
    <?php acf_nonce_input(); ?>
    <input type="submit" value="送信">
</form>

例 5: ACFフォームと一緒にNonceを使用する

ACFフォームの送信時に、Nonceを確認することでセキュリティを強化できます。

if ( isset( $_POST['_acf_nonce'] ) && wp_verify_nonce( $_POST['_acf_nonce'], 'acf_nonce' ) ) {
    // Nonceが正しい場合の処理
} else {
    // Nonceが無効な場合の処理
}