① Transient API
特徴
- WordPress標準のキャッシュ機能。
- 「キー(名前)」「値(保存するデータ)」「有効期限(秒)」を指定して保存。
- 有効期限を過ぎると自動的に削除される(ただし実際には「次にアクセスされたときに削除」される)。
保存例(キャッシュとして1日保持する場合)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
// 保存(set_transient) set_transient( 'tides_data_tokyo', $json_data, DAY_IN_SECONDS ); // 取得(get_transient) $data = get_transient( 'tides_data_tokyo' ); if ( $data === false ) { // キャッシュ切れ → 新しく取得して保存 $data = fetch_tide_data_from_api(); set_transient( 'tides_data_tokyo', $data, DAY_IN_SECONDS ); } // 削除(delete_transient) delete_transient( 'tides_data_tokyo' ); |
② ファイル保存(例: wp-content/uploads/tides/)
特徴
- 自分で作ったキャッシュ用フォルダに JSON や XML を保存。
- ファイルなのでサイズが大きめでもOK。
- 削除は
unlink()を使う。
保存例
|
1 2 3 4 5 6 7 8 |
$upload_dir = wp_upload_dir(); $dir = $upload_dir['basedir'] . '/tides/'; if ( ! file_exists( $dir ) ) { wp_mkdir_p( $dir ); } $file = $dir . 'tokyo.json'; file_put_contents( $file, $json_data ); |
取得例
|
1 2 3 4 5 6 7 8 9 |
$upload_dir = wp_upload_dir(); $file = $upload_dir['basedir'] . '/tides/tokyo.json'; if ( file_exists( $file ) ) { $data = file_get_contents( $file ); } else { $data = fetch_tide_data_from_api(); file_put_contents( $file, $data ); } |
削除例
|
1 |
unlink( $file ); |
③ WordPressのDBに保存
特徴
- データベースの
wp_optionsテーブルに保存するのが基本。 - 長期保存や管理画面から参照したいときに便利。
add_option()/update_option()/delete_option()を使う。
保存例
|
1 2 3 4 5 6 7 8 |
// 保存 or 更新 update_option( 'tides_data_tokyo', $json_data ); // 取得 $data = get_option( 'tides_data_tokyo' ); // 削除 delete_option( 'tides_data_tokyo' ); |
保存場所
- デフォルトでは MySQL の
wp_optionsテーブル。 option_name='tides_data_tokyo'option_valueに JSON がそのまま保存される。
✅ まとめ
- 短期間キャッシュ → Transient API(自動削除つき)
- 容量大きめ or 長期保存 → ファイル保存
- DBからすぐ参照したい or 管理画面でも触りたい → Options API

コメント