register_meta

説明

bool register_meta( string $object_type, string $meta_key, array $args [ , string | array $deprecated = null ] )
WordPressオブジェクトのメタ情報を登録する。

パラメータ

  • $object_type
    オブジェクトタイプとして'post'、'comment'、'term'、'user'などを指定。
  • $meta_key
    メタキーを指定。
  • $args
    メタ情報の諸設定を連想配列で指定。主な内容は次の通り。
    キー内容デフォルト値
    'object_subtype'[4.9.8]サブタイプ($object_typeが'post'の場合は'post'や'page'などの投稿タイプ)''
    'type'データタイプ('string'、'boolean'、'integer'、'number'、'array'、'object')'string'
    'description'説明文''
    'default'[5.5.0]デフォルト値''
    'single'1つのメタキーに1つの値を保持する場合はtrue、複数の値を保持する場合はfalseを指定false
    'sanitize_callback'サニタイズを行うコールバック関数を指定null
    'auth_callback'edit_post_meta、 add_post_meta delete_post_meta関数が使用された際に権限を確認するコールバック関数を指定null
    'show_in_rest'REST APIで使用する場合はtrueを指定false
    'revisions_enabled'[6.4.0]リビジョンに対応する場合はtrueを指定($object_typeが'post'の場合のみ有効)false
  • $deprecated
    [4.6.0]非推奨に変更。コールバック関数が指定された場合は$args['auth_callback']に適用される。

返り値

メタ情報を登録できた場合はtrueを返す。登録できなかった場合はfalseを返す。

注意

本関数は投稿メタ(カスタムフィールド)やコメントメタなどのメタ情報を登録する場合に使用する。投稿メタの登録は、 register_post_meta関数が使用できる。

[4.6.0]第3パラメータが連想配列に変わり、第4パラメータが非推奨になった。

[5.3.0]パラメータ$args['type']に'array'と'object'が指定可能になった。


使用例

  • REST APIで使用できるユーザーメタ情報を登録する
    register_meta( 'user', 'picture_id', array(
    	'type'         => 'integer',
    	'single'       => true,
    	'show_in_rest' => true,
    ) );

フィルター

[4.6.0]パラメータ$argsにデフォルト値を適用する前に'register_meta_args'フィルターを呼び出す。パラメータ$argsにはメタ情報の諸設定を格納した連想配列が、$defaultsには諸設定のデフォルト値を格納した連想配列が、$object_type$meta_keyには本関数が受け取った内容が格納されている。
$args = apply_filters( 'register_meta_args', $args, $defaults, $object_type, $meta_key );

アクション

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

ソースファイル

/wp-includes/meta.php

最終更新 : 2024年05月25日 15:37



お勧め

Emojin:プラグイン作ってみました(2015年3月21日 更新)

ちょっと前のTLでiOSの絵文字を含んだ投稿を保存すると、絵文字以降の文章がすべて消えた状態で保存されるといったツイートを見かけた。少し検索してみると、MySQLのデータベースの文字セットが「utf8」の場合、iOSの絵文字のような4バイトの文字を正常に保存できず、それ以降の文章も保存されないというものらしい。対処方法としてデータベースの文字セットを「utf8mb4」に変更するのが有効らしいのだが、他に回避策がないか考えてみた。

Twenty Seventeenのフォントサイズを変更してみた(2021年12月15日 更新)

先日投稿した「続テーマを変更せずにWebフォントを使ってみた」では、テーマ「Twenty Seventeen」でもWebフォントを使えるようにした。その際、「Twenty Seventeen」のフォントサイズが少し小さく感じたので、今回はフォントサイズを調整してみた。

HTML entities button:プラグイン作ってみました(2021年4月28日 更新)

以前投稿した「HTML編集モードに定型文ボタンを追加する」をアレンジして、HTML編集モードに特殊文字(HTMLエンティティ)を挿入できるボタン、顔文字を挿入できるボタン、過去の投稿ページのリンクを挿入できるボタンを追加するプラグインを作ってみました。HTML編集モードの作業効率を向上させるプラグインです。2.1.0では「Dashiconsの挿入」を追加しました。HTML編集モードをメインに使用されている方は、お試しあれ。

5.7の機能拡張:エクスポートファイルに更新日時が追加ほか(2021年2月23日 更新)

WordPressはサイト移行を支援する機能として投稿情報のエクスポート機能を備えている。5.7ではこのエクスポート機能が改良され、更新日時情報が追加されるようだ。

query_posts(WP_Queryクラス)でカスタムフィールドを使う(2011年9月15日 更新)

先週3回にわたってtax_queryパラメータを使ったカテゴリーや投稿タグ、投稿フォーマットの絞り込みを整理したが、その途中で目に付いたのが'meta_query'パラメータ。この'meta_query'パラメータは、カスタムフィールドの絞り込み条件を指定するためのもので、3.2で登場した新しいパラメータのようだ。