wp_json_encode()


WordPressのwp_json_encode()関数は、データをJSON形式にエンコードするために使用されます。この関数はPHPのjson_encode()関数に基づいており、特定のWordPress環境に適したカスタマイズが施されています。

シンタックス

wp_json_encode( mixed $data, int $options = 0, int $depth = 512 );

引数の説明

  • $data (mixed) — JSON形式にエンコードするデータ。
  • $options (int) — JSONエンコードのオプション。デフォルトは0
  • $depth (int) — エンコードする際の最大ネスト深度。デフォルトは512

例 1: 配列をJSON形式にエンコードする

以下のコードは、配列をJSON形式に変換します。

<?php
$data = array( 'key1' => 'value1', 'key2' => 'value2' );
echo wp_json_encode( $data );
?>

例 2: オプションを指定してJSONエンコード

JSON_UNESCAPED_SLASHESオプションを使用してエンコードします。

<?php
$data = array( 'url' => 'https://example.com/path' );
echo wp_json_encode( $data, JSON_UNESCAPED_SLASHES );
?>

例 3: ネストされた配列のエンコード

深くネストされた配列をエンコードします。

<?php
$data = array( 'level1' => array( 'level2' => array( 'level3' => 'value' ) ) );
echo wp_json_encode( $data );
?>

例 4: カスタムデータのエンコード

オブジェクトをエンコードする例です。

<?php
$data = (object) array( 'name' => 'WordPress', 'type' => 'CMS' );
echo wp_json_encode( $data );
?>

例 5: JSONエンコードエラーのチェック

エンコード処理中に発生したエラーをチェックします。

<?php
$data = "\xB1\x31"; // 無効な文字列
$result = wp_json_encode( $data );
if ( $result === false ) {
    echo json_last_error_msg();
}
?>

注意点

この関数は、PHPのjson_encode()のラッパーとして動作しますが、WordPress固有の設定や環境に最適化されています。そのため、JSONエンコードの処理がPHPの標準動作と若干異なる場合があります。


関連機能: