概要
add_post_meta
関数は、WordPressの投稿にカスタムフィールド情報を追加するために使用される関数です。この関数を使用することで、記事やページに対して追加の情報を関連付けることができ、これによりデータの管理や表示のカスタマイズが可能になります。カスタムフィールド情報は、特に以下のような機能を実装する際によく使われます。
- 投稿の追加情報を保存する
- カスタムテンプレートでのデータ表示
- プラグインによるメタボックスの表示
- 特定の属性に基づくコンテンツフィルタリング
- SEOデータ(例:マイクロデータ、構造化データ)の保存
- ユーザビリティ向上のための追加情報表示
- 外部APIから取得したデータの保存
- ウェブサイトの分析データの関連付け
構文
add_post_meta( $post_id, $meta_key, $meta_value, $unique );
パラメータ
$post_id
(int) – 投稿のID。$meta_key
(string) – メタデータのキー名。$meta_value
(mixed) – メタデータの値。$unique
(bool) – 同じキー名のメタデータを一度だけ追加するかどうか。デフォルトは false です。
戻り値
- 成功した場合、追加されたメタデータのIDが返される。失敗した場合は false が返される。
関連する関数
バージョン
- この関数はWordPressのすべてのバージョンで使用可能です。
コアファイルのパス
wp-includes/post.php
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |
サンプルコード
サンプルコード 1: 基本的なカスタムフィールドの追加
$post_id = 123; // あなたの投稿ID
$meta_key = 'favorite_color';
$meta_value = 'blue';
add_post_meta( $post_id, $meta_key, $meta_value );
このサンプルコードは、投稿ID 123 に「favorite_color」というカスタムフィールドを追加し、その値として「blue」を設定します。
サンプルコード 2: 一意なメタデータの追加
$post_id = 124; // あなたの投稿ID
$meta_key = 'social_image';
$meta_value = 'https://example.com/image.jpg';
add_post_meta( $post_id, $meta_key, $meta_value, true );
このコードは、「social_image」というメタデータを追加し、同じキーのデータが存在しない場合にのみ追加されることを示しています。
サンプルコード 3: 繰り返しデータの追加
$post_id = 125; // あなたの投稿ID
$meta_key = 'tag';
$meta_value = 'WordPress';
add_post_meta( $post_id, $meta_key, $meta_value );
add_post_meta( $post_id, $meta_key, 'PHP' );
この例では、同じ「tag」キーで異なる値(「WordPress」と「PHP」)を持つカスタムフィールドを追加します。
サンプルコード 4: 投稿ストリームのメタデータ追加
$post_id = 126; // あなたの投稿ID
$meta_key = 'view_count';
$meta_value = 100;
add_post_meta( $post_id, $meta_key, $meta_value );
このコードは、投稿ID 126 に対して「view_count」というカスタムフィールドを追加し、その値を100に設定します。
サンプルコード 5: エラーハンドリングの例
$post_id = 127; // あなたの投稿ID
$meta_key = 'custom_field';
$meta_value = 'example value';
$result = add_post_meta( $post_id, $meta_key, $meta_value );
if ( !$result ) {
echo "メタデータの追加に失敗しました。";
} else {
echo "メタデータが正常に追加されました。";
}
このコードは、add_post_meta
関数の結果をチェックし、成功または失敗に応じたメッセージを表示します。