制作ブログ Web制作アプリケーションWordPressAdvanced Custom Fields 名前を変更して、データも反映させる

Advanced Custom Fields 名前を変更して、データも反映させる

WordPressを自作する上でもはや欠かせないプラグインの一つが、「Advanced Custom Fields」。

名前を変更しようと思って、WordPress管理画面のメニュー「カスタムフィールド 」から該当のフィールドグループを選択して、編集したところ…

すでに登録済みのデータが反映されなくなってしまった…

そして、名前を変更前に戻したら、元通り。ホッ。
ちなみにラベルは何に変更しても問題ない。

データベースにすでに登録された情報で、そのキーを変更するにはデータベースを変更しなくてはならないということか。

そんなプラグインないかな、と検索したが記事は見つけてもプラグイン自体がなかったり。もはや、直書きで対処することにした。

sql文を書いて、直編集!

ここからは完全自己責任でお願いします。
ちなみに、WordPress のバージョンは5.6で試しました。

例)「diary」という名前を「 journal」 に変更する場合

global $wpdb;
$sql = "UPDATE wp_postmeta SET meta_key = 'journal' WHERE meta_key = 'diary'";
$wpdb -> query($sql);
$sql = "UPDATE wp_postmeta SET meta_key = '_journal' WHERE meta_key = '_diary'";
$wpdb -> query($sql);

2つのsql文を実行するのがポイント

「diary」→「journal」と、名前の最初にアンダースコアをつけて、「_diary」→「_journal」、これら2つを上書きする。

反映後は、sql文を忘れずに削除する

無事に変更されて、データもすべて新しい名前に紐づいていることを確認したら、追加したsql文は忘れずに削除して終わり。

さくっと完了しました。