Navigation

カスタムフィールドをJSONで一括エクスポート・インポートする機能

📅 7月 8, 2025
👤
1 min read

概要

この記事では、WordPressのカスタムフィールドをJSON形式で一括エクスポート・インポートする機能について解説します。

ユースケース

カスタムフィールドはWordPressサイトで追加情報を保存するための便利な機能ですが、複数の記事やページに同じフィールドを一括で追加したい場合や、他のサイトに移行する際にデータを簡単に移行したいときにこのスニペットが役立ちます。

前提条件

この機能を実現するためには、WordPressの管理画面にアクセスし、テーマやプラグインを変更できる権限を持っている必要があります。

サンプルコード


// カスタムフィールドをJSON形式でエクスポート
function export_custom_fields_to_json() {
    $posts = get_posts(array('post_type' => 'post', 'posts_per_page' => -1));
    $custom_fields = array();

    foreach ($posts as $post) {
        $custom_fields[$post->ID] = get_post_custom($post->ID);
    }

    $json_data = json_encode($custom_fields);
    
    header("Content-type: application/json");
    header("Content-Disposition: attachment; filename=custom_fields.json");
    
    echo $json_data;
    die();
}
add_action('init', 'export_custom_fields_to_json');

解説

  • `get_posts()`関数を使って、全ての投稿を取得し、`get_post_custom()`関数でカスタムフィールドのデータを取得します。
  • 取得したデータを連想配列に格納し、`json_encode()`関数でJSON形式に変換します。
  • `header()`関数を使ってJSONファイルとしてダウンロードされるように設定し、最終的にJSONデータを出力します。

ベストプラクティス

  • エクスポートしたJSONファイルは適切にバックアップしておくことで、データの損失を防ぐことができます。
  • インポート時には、カスタムフィールドの名前や構造が一致していることを確認し、データの整合性を保つことが重要です。
← Back to WordPress