is_protected_ajax_action()


WordPressのis_protected_ajax_action()関数は、特定のAJAXアクションが保護されているかどうかをチェックします。主にセキュリティ目的で使用され、非公開または特権ユーザーのみが実行できるアクションを識別します。

構文

is_protected_ajax_action( string $action );
  • $action (string) — チェックするAJAXアクション名

例1: 基本的な使用法

保護されたAJAXアクションかどうかを確認します。

if (is_protected_ajax_action('my_custom_action')) { echo '保護済み'; } else { echo '未保護'; }

例2: フックでの使用

wp_ajax_フック内でアクションをチェックします。

add_action('wp_ajax_my_action', function() { if (is_protected_ajax_action('my_action')) { wp_die('無効なアクセス'); } });

例3: カスタム権限チェック

保護されたアクションに対して追加の権限チェックを行います。

if (is_protected_ajax_action('delete_post') && !current_user_can('delete_posts')) { wp_die('権限がありません'); }

例4: プラグイン開発での使用

プラグインで保護されたAJAXアクションを登録します。

add_action('wp_ajax_protected_action', 'my_plugin_callback'); if (is_protected_ajax_action('protected_action')) { // セキュリティ処理 }

例5: 非保護アクションの処理

非保護アクションに対して特別な処理を行います。

if (!is_protected_ajax_action('public_action')) { // 公開アクションの処理 }

例6: 複数アクションのチェック

複数のアクションを一度にチェックします。

$actions = ['action1', 'action2']; foreach ($actions as $action) { if (is_protected_ajax_action($action)) { // 保護処理 } }

例7: 管理画面での使用

管理画面専用のAJAXアクションをチェックします。

if (is_admin() && is_protected_ajax_action('admin_action')) { // 管理者用処理 }

注意点

  • この関数はWordPressのコアセキュリティ機能と連携しています
  • カスタムAJAXアクションを登録する際は適切な権限チェックを行ってください
  • 保護されたアクションは常に適切なnonceチェックと共に使用する必要があります

関連機能: