register_post_meta

説明

bool register_post_meta( string $post_type, string $meta_key, array $args )
投稿向けのカスタムフィールドを登録する。

パラメータ

  • $post_type
    投稿タイプを指定。
  • $meta_key
    カスタムフィールド名を指定。
  • $args
    カスタムフィールドの属性情報を連想配列で指定。
    キー内容
    'type'stringデータタイプとして'string'、'boolean'、'integer'、'number'、'array'および'object'のいずれか(省略時は'string')
    'description'stringカスタムフィールドの説明(省略時は'')
    'default'mixed[5.5.0]カスタムフィールドの初期値(省略時は'')
    'single'bool1つカスタムフィールド名で複数の値を保持しない場合はtrueを指定(省略時はfalse)
    'sanitize_callback'callableサニタイズ用のコールバック関数(省略時はnull)
    'auth_callback'callableケイパビリティ(権限)確認用のコールバック関数(省略時はnull)
    'show_in_rest'bool|arrayREST API向けの設定(省略時はfalse)

返り値

カスタムフィールドを登録できた場合はtrueを、登録できなかった場合はfalseを返す。

注意

本関数はすぐに register_meta関数を呼び出す。その際、本関数のパラメータ$post_typeはパラメータ$argsのキー'object_subtype'の値となる。

ブロックエディターでカスタムフィールドを使用する場合、本関数を使って登録する必要がある(バージョン5.8.2現在)。

'sanitize_callback'と'auth_callback'に指定するコールバック関数のパラメータは次の通り。

function sanitize_func( mixed $meta_value, string $meta_key, string $object_type, string $object_subtype )
function auth_func( bool $allowed, string $meta_key, int $object_id, int $user_id, string $cap, array $caps )

使用例

  • 投稿向けのカスタムフィールド'extra_text'を登録する
    register_post_meta( 'post', 'extra_text', array( 'single' => true ) );

フィルター

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

アクション

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

ソースファイル

/wp-includes/post.php

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



お勧め

4.2.3でちょっと変わったショートコード(2018年5月27日 更新)

4.3のリリースまであと少しなわけですが、4.2.3が緊急リリースされました。4.2.2とソースコードを比較すると、ざっくりTinyMCE絡みが多い印象を受けたのですが、ショートコード関連も少し変わっていたので簡単にまとめてみました。

タイトルのみをキーワード検索する(2014年4月3日 更新)

WordPressのキーワード検索は、投稿タイトルと本文のどちらかに指定したキーワードが含まれているかを調べるわけだが、時々タイトルだけとか、逆に本文だけ検索したいケースがある。

プラグインのヘッダー情報を国際化対応しよう(2018年5月27日 更新)

バージョン4.8がリリースされてひと段落。あらためてプラグイン一覧ページを見てみると「Akismet」が「Akismet Anti-Spam (アンチスパム)」と表示されていた。説明文だけじゃなくプラグイン名も国際化対応できたのね。

Gutenbergエディターのフォントを変える(2018年10月16日 更新)

Gutenbergエディターを試していてしっくりこないのが、編集時とそれを投稿した際の見た目の違い。GutenbergエディターとテーマTwenty Seventeenとではまったく異なるタイプのフォントが適用されていることが大きな理由である。

Contact Form 7に確認フェーズを(2012年12月16日 更新)

Contact Form 7はWordPressによるサイト製作でお世話になることが多いプラグインの1つ。ただ、クライアント様によっては、入力、確認、送信の3フェーズにしたいという要望があり、そんな時は別の方法を採用していたのですが、JavaScript(jQuery)を使ってページ遷移しなくてもいいなら確認フェーズは用意できるかなと思い、作り込んでみた。