ワードプレスのwp_nonce_url関数の使用方法・解説

概要

wp_nonce_url関数は、URLにnonceパラメータを追加するために使用されるWordPressの関数です。この関数は、特定のアクションが実行される場合に、リクエストが正当であることを確認するためのセキュリティが強化されたURLを生成します。一般的には、以下のような機能を実装する際によく使われます。

  1. フォームの送信処理
  2. 設定変更の保存
  3. データの削除操作
  4. 投稿の公開
  5. ユーザーのログイン/ログアウト処理
  6. プラグインの設定ページへの遷移
  7. APIエンドポイントへのアクセス許可
  8. 管理画面でのオプション更新

構文

string wp_nonce_url( string $actionurl, string $action = -1, string $name = '_wpnonce' )

パラメータ

  • $actionurl: 追加するnonceパラメータを含むURL。
  • $action: 任意のアクション(デフォルトは -1)。
  • $name: nonceパラメータの名前(デフォルトは '_wpnonce')。

戻り値

生成されたnonceが追加されたURLを返します。

関連する関数

可能なバージョン

この関数はWordPress 2.0.0以降で使用可能です。

コアファイルのパス

wp-includes/pluggable.php

この関数のアクションでの使用可能性

アクション 使用例
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

サンプルコード

  1. 基本的な使い方

    $url = 'https://example.com/action';
    echo wp_nonce_url($url, 'my_action');
    

    このコードは、指定したURLに対してnonceパラメータを追加し、セキュリティを強化したURLを生成します。

  2. postリクエストへのNonceの追加

    $url = admin_url('admin-post.php?action=my_action');
    echo wp_nonce_url($url, 'my_action');
    

    このコードは、管理画面のポストリクエストにnonceを追加することで、実行時にCSRF攻撃から保護します。

  3. 自作プラグインへのNonceの付加

    $plugin_url = 'https://example.com/my-plugin';
    echo wp_nonce_url($plugin_url, 'my_plugin_action');
    

    このケースでは、自作のプラグインURLにnonceを追加し、実行時の安全性を確保します。

  4. 設定ページへのNonceの追加

    $settings_url = admin_url('options-general.php?page=my-settings');
    echo wp_nonce_url($settings_url, 'save_my_settings');
    

    このサンプルコードは、設定ページにnonceを加えることで不正な変更から保護します。

  5. 削除操作のリンク生成

    $delete_url = 'https://example.com/delete-item?id=123';
    echo wp_nonce_url($delete_url, 'delete_item_123');
    

    このコードは、特定のアイテムを削除するためのリンクにnonceを追加し、確認を強制します。

この関数について質問する


上の計算式の答えを入力してください