[WordPress]隠しカスタムフィールドを表示する

  • 更新日:
  • 公開日:

Advanced Custom FieldsWooCommerceなどのプラグインは、投稿データに隠しカスタムフィールドを保存したりしています。「_meta_key_name」のように1文字目がアンダースコア(_)で始まるキーは隠し状態になり、投稿編集ページからは見えなくなります。

見えなくしている理由はユーザに勝手に編集されると不具合の元となるからが殆どでしょうが、カスタマイズやプラグイン開発でどういう値があるか確認が必要な場面もあるかと思います。

そんなときはフィルターフックを使い表示させてみましょう。

隠しカスタムフィールドを表示する

表示だけなら1行で済んでしまいます。functions.phpなどに以下を記述します。

// 隠しカスタムフィールドを表示する場合
add_filter( 'is_protected_meta', '__return_false' );

// 値を元に処理などしたい場合
function my_is_protected_meta( $protected, $meta_key, $meta_type ) {
 // 処理

 return $protected;
}
add_filter( 'is_protected_meta', 'my_is_protected_meta', 10, 3 );

こうすると、投稿編集画面のカスタムフィールド欄にキー名がアンダースコアから始まるカスタムフィールドが表示されます。

もし何かしら処理をしたい場合は後者のように関数をフックしましょう。

書いた人

Symbol Mark

Ryoichi(しつ)

除菌ティッシュを買い込んで使いきれずによく乾かす人。

療養目的で退職し、どうやって生きていくか模索中。最近は勉強目的でLaravelやVue.js弄ったり、趣味で音で遊んでます。

※2019年10月16日現在ブログリニューアル中です。崩れなどが発生していたらすみません。

うぇぶ: @s_ryone