説明
パラメータ
- $meta_typeオブジェクトタイプとして'post'、'comment'、'term'、'user'などを指定。
- $object_id関連するWordPressオブジェクトのIDを指定。
- $meta_keyメタキーを指定。
- $meta_valueメタ情報の値を指定。
- $uniqueキー名のメタ情報が未登時のみ追加する場合はtrueを指定(省略時はfalse)。
返り値
メタ情報を追加できた場合はそのメタ情報IDを返す。それ以外の場合はfalseを返す。注意
本関数は投稿メタ(カスタムフィールド)やコメントメタなどのメタ情報を追加する場合に使用し、投稿メタを追加する add_post_meta関数や、ユーザーメタを追加する add_user_meta関数などから呼び出される。
[3.1.0]"add_{$meta_type}_metadata"フィルターのコールバック関数にてメタ情報の適切な処理を行い、null以外を返した場合は、以降の処理は行われず、本関数の返り値となる。
パラメータ$uniqueがtrueで既存のメタ情報が存在する場合はすぐにfalseを返し、"add_{$meta_type}_metadata"フィルター以外のフィルター・アクションは実行されない。
メタ情報の追加に失敗した場合、"added_{$meta_type}_meta"アクションは実行されない。
使用例
- メタ情報'access'を追加する
add_metadata( 'user', $user_id, 'access', time() ); - 未登録時のみメタ情報'inactive'を追加する
add_metadata( 'user', $user_id, 'inactive', time(), true );
フィルター
[3.1.0]メタ情報の追加する前に"add_{$meta_type}_metadata"フィルターを呼び出す。パラメータ$checkにはnullが、$object_idには絶対値処理されたオブジェクトIDが、$meta_keyと$uniqueには本関数が受け取った内容が、$meta_valueにはサニタイズした内容が格納されている。$check = apply_filters( "add_{$meta_type}_metadata", $check, $object_id, $meta_key, $meta_value, $unique );アクション
[2.9.0]メタ情報を追加する前に"add_{$meta_type}_meta"アクションを呼び出す。パラメータ$object_idには絶対値処理されたオブジェクトIDが、$meta_keyには本関数が受け取った内容が、$_meta_valueにはシリアライズされていない値が格納されている。do_action( "add_{$meta_type}_meta", $object_id, $meta_key, $_meta_value );do_action( "added_{$meta_type}_meta", $meta_id, $object_id, $meta_key, $_meta_value );ソースファイル
/wp-includes/meta.php最終更新 : 2024年06月25日 17:06
関連
お勧め
ショートコードを使ってテーマ内の画像URLを簡単に指定する(2018年5月27日 更新)
投稿記事の中で画像パーツを使いたいときがある。画像パーツの配置場所は、/imgディレクトリのようなテーマ外の場合と、/wp-content/themes/mytheme/imagesディレクトリのようなテーマ内の場合があり、今回は後者のケース。ショートコードを使って投稿記事の画像ファイルのURLを記述する方法を紹介したい。リクエスト応答を終了する前に何かを処理する(2013年9月26日 更新)
PHPでは、register_shutdown_function関数を使うことでリクエストに対してレスポンスを返した後に何らかの処理を行うことができる。WordPressでもregister_shutdown_function関数は使えると思うのだが、テーマ内のテンプレートでページを表示した後で何かを行う場合はどうすればいいのか、ちょっと調べてみた。
投稿情報を連想配列で参照する(2018年5月27日 更新)
投稿情報は、タイトルや本文、投稿日時といったいくつかのデータが含んでおり、多くの場合オブジェクトになっている。これを連想配列で扱いたい場合はキャストして型変換することが多かった。基本的にはキャストで問題ないのだが、ふと目に留まったto_arrayメソッドが興味深かったのでメモとして残しておく。
段落ブロックに日付・時刻の入力支援を実装した(2023年1月25日 更新)
ブロックエディターには文字入力を支援するAutocompleteがある。自作ブロックだけでなく既存のブロックに適用できるため、ブロックの利用シーンを踏まえた入力支援機能を追加できる。
ブロックエディターのタグ入力にタグクラウド機能を追加した(2019年1月10日 更新)
ブロックエディターのタグ入力には「よく使われているタグから選択」から表示される「タグクラウド」がない。ブロックエディターの不満なところのひとつがこれであり、うまく解消することができないか考えてみた。