wp_nonce_url()


WordPressのwp_nonce_url()関数は、URLにnonce(一度だけ使用されるセキュリティトークン)を追加するために使用されます。これにより、特定のアクションが許可されたユーザーによってのみ実行されることを保証します。

構文

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

引数の説明:

  • $actionurl (string) — nonceを追加するURL。
  • $action (string) — nonceに関連付けるアクション名。デフォルトは-1。
  • $name (string) — nonceの名前。デフォルトは’_wpnonce’。

例1: 基本的なnonce付きURLの作成

この例では、特定のURLにnonceを追加します。

<?php echo wp_nonce_url( 'http://example.com/delete-post', 'delete-post_123' ); ?>

例2: カスタムnonce名を使用する

nonce名をカスタマイズしてURLに追加します。

<?php echo wp_nonce_url( 'http://example.com/edit-post', 'edit-post_456', 'custom_nonce' ); ?>

例3: 投稿削除リンクにnonceを追加

投稿削除リンクにnonceを追加して、セキュリティを強化します。

<?php echo wp_nonce_url( get_delete_post_link( get_the_ID() ), 'delete-post_' . get_the_ID() ); ?>

例4: コメント承認リンクにnonceを追加

コメント承認リンクにnonceを追加します。

<?php echo wp_nonce_url( admin_url( 'comment.php?action=approve&c=' . get_comment_ID() ), 'approve-comment_' . get_comment_ID() ); ?>

例5: プラグイン設定ページへのリンクにnonceを追加

プラグイン設定ページへのリンクにnonceを追加します。

<?php echo wp_nonce_url( admin_url( 'options-general.php?page=plugin-settings' ), 'plugin-settings' ); ?>

例6: カスタムアクション名を使用したnonce付きURL

カスタムアクション名を使用してnonce付きURLを作成します。

<?php echo wp_nonce_url( 'http://example.com/custom-action', 'custom-action' ); ?>

例7: ユーザープロフィール編集リンクにnonceを追加

ユーザープロフィール編集リンクにnonceを追加します。

<?php echo wp_nonce_url( admin_url( 'profile.php' ), 'edit-profile_' . get_current_user_id() ); ?>

例8: メディアファイル削除リンクにnonceを追加

メディアファイル削除リンクにnonceを追加します。

<?php echo wp_nonce_url( admin_url( 'upload.php?action=delete&media=' . get_the_ID() ), 'delete-media_' . get_the_ID() ); ?>

注意点

  • nonceはセッションやユーザーに依存するため、ログアウトすると無効になります。
  • nonceは完全なセキュリティ対策ではないため、重要な操作には追加の検証が必要です。

関連機能: