カスタムフィールドに配列を追加することができました

試しにやってみて発見したのですが、add_option、add_post_meta、add_user_metaで追加できるメタデータやカスタムフィールドはテキストだけでなく配列をそのまま書き込むことができました。

親子関係を持った配列でもadd_option、add_post_meta、add_user_metaで追加し、get_optionなどでその親子関係を保ったまま取得することができます。カスタムフィールドは親子関係が持てないことが悩みだったのですが(私が知らないだけかもしれませんが)、その問題も解決しそうです。
複雑な階層の配列もそのまま書き込むことができるようなので、カスタムフィールドをさらに便利に使うことができそうです。

AD

実践的な使用例

楽天やYahoo!のWebAPIよりデータを取得して表示するようなサイトの場合、アクセスのたびにAPIからデータを取得すると

・APIの制限を超えてしまいデータが取得できなくなる
・遅い

という問題があります。WebAPIは1秒間に○回以内しかアクセスしてはいけないという制限がある場合が多く、閲覧者が少なかったとしてもあっという間に制限に引っ掛かりアクセスできなくなってしまいます。

そこでAPIから得られた検索結果やその検索結果から生成する記事配列($postをループさせるやつ)をカスタムフィールドなどに保存しておき、APIへアクセスすることなく記事ループを実装します。

一度カスタムフィールドが生成されると更新されないため、更新が必要な場合は日付であったり時間などを基準としてupdate_post_metaで再取得する必要があります。

問題点

投稿の編集 ‹ ホテルガイド — WordPress
カスタムフィールドに配列を入れた場合、ダッシュボードの「カスタムフィールド」欄に出てきません。
手作業でカスタムフィールドを更新する必要がある場合は使いづらい方法です。

AD

Share

Commentsコメント

メールアドレスは公開されません。コメントは必ずご入力ください。

HTMLタグは使用できません。ソースコードを書き込みたい場合はCodetterGistCodePenなどのご利用が便利です。

コメントはまだありません。