WordPressデベロッパーなら誰もが知っている便利なプラグイン「Advanced Custom Fields」ですが、使ってて不満に感じたのは「定義したフィールド名を後から変更する機能がない」ことです。
後からリファクタリングしていると、「やっぱり”book”じゃなくて、”books”にすればよかった… でも、もうデータが入っているしね…」って悩むことってありますよね?
フィード名を後から変える方法
ACFではWordPressのメタデータを使ってフィードの値を保存しています。
例えばACF側でフィード名がbook
のフィードを作成して、投稿ページ側でそのフィードを埋めて保存すると、データベースのwp_postmeta
テーブルにmeta_key
カラムの値がbook
と_book
のレコードが2つ挿入されます。book
には記事で埋めた値が入っていて、_book
にはACFが利用するフィードオブジェクトへの参照IDが入ってます。
このように、ごく普通のWordPressメタデータを使っていますので、フィード名を変えたかったら、まずACF管理画面でフィード名を変えて保存します。そのあと、以下のSQL文を実行すればOKです。
UPDATE wp_postmeta SET meta_key = '新しいフィード名' WHERE meta_key = '古いフィード名'; UPDATE wp_postmeta SET meta_key = '_新しいフィード名' WHERE meta_key = '_古いフィード名';
以上、意外と簡単です!ちょっとしたTipsでした!