get_registered_meta_keys

説明

array[] get_registered_meta_keys( string $object_type [ , string $object_subtype = '' ] )
メタフィールドのキー情報を取得する。

パラメータ

  • $object_type
    オブジェクトタイプ('post'、'comment'、'term'、'user'など)を指定。
  • $object_subtype
    [4.9.8]サブタイプを指定(省略時は'')。

返り値

パラメータ$object_typeおよび$object_subtypeにマッチするメタフィールドのキー情報(連想配列)を配列を返す。該当するメタフィールドがない場合は空の配列を返す。

注意

register_post_meta関数( register_meta関数)などによって登録されたメタフィールド情報を参照し、パラメータ$object_typeおよび$object_subtypeにマッチするものを返している。

[4.9.8]パラメータ$object_subtypeが追加された。

例えば、「投稿」のメタフィールドのキー情報は次のように取得する。

$keys = get_registered_meta_keys( 'post', 'post' );
var_dump( $keys );

$keysの内容は次に示すように、配列のキーにはメタフィールドのキー名が、値にはその属性情報が連想配列で格納されている。

array(1) {
  ["footnotes"]=>
  array(7) {
    ["type"]=>
    string(6) "string"
    ["description"]=>
    string(0) ""
    ["single"]=>
    bool(true)
    ["sanitize_callback"]=>
    NULL
    ["auth_callback"]=>
    string(13) "__return_true"
    ["show_in_rest"]=>
    bool(true)
    ["revisions_enabled"]=>
    bool(true)
  }
}

使用例

  • ユーザー情報のメタフィールドキー情報を取得する
    $keys = get_registered_meta_keys( 'user' );
  • カスタム投稿タイプのメタフィールドキー情報を取得する
    $keys = get_registered_meta_keys( 'post', $post_type );

フィルター

直接実行するフィルターはありません。

アクション

直接実行するアクションはありません。

ソースファイル

/wp-includes/meta.php

最終更新 : 2023年12月28日 11:51



お勧め

Login rebuilder:プラグイン作ってみました(2024年11月7日 更新)

昨年投稿した「ログインページを変える」をプラグイン化。ログインページを独自の名前のページ変更し、標準のログインページwp-login.phpを使用できないようにするプラグインです。部外者によるwp-login.phpのアクセスにお悩みの方にお勧めします。また2.0.0では「XML-RPCリクエストの管理機能」を追加。2.2.0では管理者のログイン時にメールで通知する機能を追加しました。

管理画面の'アイキャッチ画像'を'写真'に変える(2013年1月23日 更新)

クライアント向けに専用のテーマを提供する際、稀に管理画面内の用語の変更を依頼されることがある。今回は、'アイキャッチ画像'だとわかりにくいので'写真'に変えてほしいということだった。

カスタムフィールド関連関数のおさらい(2012年6月22日 更新)

カスタムフィールドは、投稿記事の拡張情報としてよく利用されている。投稿ページで登録した情報をアーカイブや投稿ページで表示しているが、投稿ページを表示する際にカスタムフィールドの値を更新して、サイドバーのようなページ内要素に利用したりしている。

5.3への準備:投稿写真を使っているサイトは準備しておこう(2019年10月10日 更新)

この記事は先日公開した「5.3の新機能:JPEG画像の向きを調整」の続きのようなものになる。高解像度の投稿写真を扱っているサイトは、5.3のリリースに合わせて対応を検討しておくべきことをまとめてみた。

ブロックエディターで現在の「ロケール」を取得した時のメモ(2024年8月10日 更新)

ブロックエディター向けのプラグインで日本語固有の機能を実装する際、現在のロケール(言語)を取得したい。ブロックエディターの編集時、投稿を編集しているユーザーの言語が優先され、それをどうやって取得するかを「ChatGPT」に聞いてみたのだが。。。