Freelance Journal フリーランス ジャーナル

WordPressプラグイン「Advanced Custom Fields」のフィールド名を後から変更する方法

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でした!