wpseo_ajax_json_echo_die()


関数WordPresswpseo_ajax_json_echo_die()は、Yoast SEOプラグインで使用されるAjaxリクエストを処理するための機能です。この関数は通常、特定の条件下でJSONレスポンスを生成し、出力を終了します。

シンタックス

wpseo_ajax_json_echo_die();
  • wpseo_ajax_json_echo_die() — この関数は引数を取らず、JSON形式のデータを出力した後、スクリプトを停止します。

注意点

  • この関数は主にYoast SEOの内部で使用され、直接的な使用は推奨されません。
  • デバッグやカスタムAjaxエンドポイントを作成する場合に参考にできます。

例1: JSONデータを出力してスクリプトを終了

以下のコードは、カスタムJSONデータを出力します。

<?php
function custom_ajax_handler() {
    wpseo_ajax_json_echo_die();
}
add_action( 'wp_ajax_custom_action', 'custom_ajax_handler' );
?>

例2: Ajaxリクエストに応じたレスポンス

特定のデータを受信し、それに応じたJSONレスポンスを出力します。

<?php
function handle_ajax_request() {
    if ( isset( $_POST['param'] ) ) {
        wpseo_ajax_json_echo_die();
    }
}
add_action( 'wp_ajax_handle_request', 'handle_ajax_request' );
?>

例3: セキュリティチェックを追加したAjaxハンドラー

セキュリティのためにnonce検証を追加。

<?php
function secure_ajax_request() {
    check_ajax_referer( 'secure_nonce', 'security' );
    wpseo_ajax_json_echo_die();
}
add_action( 'wp_ajax_secure_action', 'secure_ajax_request' );
?>

例4: 条件付きレスポンスの生成

特定の条件下でレスポンスを生成します。

<?php
function conditional_ajax_response() {
    if ( is_user_logged_in() ) {
        wpseo_ajax_json_echo_die();
    }
}
add_action( 'wp_ajax_logged_in_action', 'conditional_ajax_response' );
?>

例5: デフォルトエラーメッセージのカスタマイズ

エラー時にカスタムメッセージを返す例。

<?php
function custom_error_message() {
    if ( ! isset( $_POST['required_param'] ) ) {
        echo json_encode( array( 'error' => '必要なパラメータがありません。' ) );
        wpseo_ajax_json_echo_die();
    }
}
add_action( 'wp_ajax_error_action', 'custom_error_message' );
?>

注意事項

  • この関数は内部的にdie()を使用しているため、スクリプト実行が停止します。
  • 外部からの不正アクセスを防ぐために、check_ajax_referer()を使用することを推奨します。