パントレ開発部

【WordPress】メタデータとは?設定方法まとめ

Programming

 投稿メタデータやユーザーメタデータを設定する方法をまとめます。

メタデータとは

 WordPress におけるメタデータとは、データ本体に対する付加的な情報を指します。

  • 投稿メタデータ:投稿に紐づく付加的情報。カテゴリやタグなど。
  • ユーザーメタデータ:投稿者に紐づく付加的情報。アバター画像など。

 以下では、これらのメタデータを追加したり、読み取ったりする方法をまとめます。
 

投稿メタデータ

 以下、投稿メタデータを編集するための WordPress 関数です。

update_post_meta()

update_post_meta($post_id, $meta_key, $meta_value)

 投稿メタデータを保存(更新)する関数です。$post_id という投稿 ID の投稿の、$meta_key という投稿メタデータに対して、$meta_value という値を格納します。例えば、投稿ID が 1 の投稿の weekly_view という投稿メタデータに、30 という数字を代入する場合は、以下のように記述します。WP_Query を用いると、この投稿メタデータを元に並び替えもできます。

update_post_meta(1, 'weekly_view', 30)

 

get_post_meta()

get_post_meta($post_id, $meta_key, $single)

 投稿メタデータを読み出す関数です。$post_id という投稿 ID の投稿の、$meta_key という投稿メタデータを読み出します。$single は true で先頭のデータのみの読み出しで、false で全てのデータを配列で読み出します。例えば、投稿ID が 1 の投稿の weekly_view という投稿メタデータを $weekly_view という変数に格納するには、以下のように記述します。

$weekly_view = get_post_meta(1, 'weekly_view', true)

 
 ちょっとデータを加えるぐらいでしたら上記の update_post_meta() で十分かと思いますが、本格的にデータを管理しようと思ったら、自作テーブルを作った方が早そうです。
 

ユーザーメタデータ

 以下、ユーザーメタデータを編集するための WordPress 関数です。

update_user_meta()

update_user_meta($user_id, $meta_key, $meta_value)

 ユーザーメタデータを保存(更新)する関数です。$user_id というユーザー ID の投稿者の、$meta_key というユーザーメタデータに対して、$meta_value という値を格納します。例えば、ユーザーID が 1 の投稿者の user_slug というユーザーメタデータに、test-slug という文字列を代入する場合は、以下のように記述します。

update_user_meta(1, 'user_slug', 'test-slug')

 

get_user_meta()

get_user_meta($user_id, $meta_key, $single)

 ユーザーメタデータを読み出す関数です。$user_id というユーザー ID の投稿者の、$meta_key というユーザーメタデータを読み出します。$single は true で先頭のデータのみの読み出しで、false で全てのデータを配列で読み出します。例えば、ユーザー ID が 1 の投稿者の user_slug というユーザーメタデータを $user_slug という変数に格納するには、以下のように記述します。

$user_slug = get_user_meta(1, 'user_slug', true)

 なお、user_contactmethods というフィルターフックで作ったユーザーの追加プロフィール項目も、get_user_meta() で読み出せます。
 

少し宣伝

 当サイトは WordPress 自作テーマを用いた海外旅ブログまとめサイトとなっています。トップページに地図がありますが、地名を押すと画像が開き、画像を押すと関連記事一覧(クリック数順)が開きます。記事数が多い国ほど赤く、地名もその国で記事が多い都市の文字が大きくなるようにしています。ぜひ覗いてみてください。
 当サイトで海外旅ブログを執筆することも可能です(もちろん無料です)! また既にブログをお持ちの方も、当サイトからリンクを貼ることができるようになっています。パントレ開発部までお気軽にお問い合わせください。


 このページが皆様のプログラミングの一助となりますことをお祈りいたします。

パントレ開発部