0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

WORDPRESS--投稿のカスタムフィールドを配列として取得

Posted at

カスタムフィールドを同一名で複数登録し、取得しようとした際のメモ

以下は$postを取得している前提

カスタムフィールドの設定

「投稿」→「投稿一覧」→投稿の編集画面で右上にある「表示オプションをクリック」→カスタムフィールドにチェック
「カスタムフィールド」新規追加→名前(phpからアクセスするときのプロパティ名およびDB上のmeta_keyの値になる)と値(DB上のmeta_value)を入力して追加

カスタムフィールドに配列として登録

カスタムフィールドを同一名で複数追加

カスタムフィールドの値(単一)を取得

$post->カスタムフィールドの名前でアクセスできる。1

カスタムフィールドの値(配列)を取得

上記のやり方では配列として取得できなかった。
ので、調べたところget_post_meta()を使うことで解決できた。

コード例

          <?php $skills = get_post_meta($post->ID, 'skills', false); ?>
          <?php if($skills) : foreach($skills as $skill): ?>
          	<p><?php print_r($skill); ?></p>
				  <?php endforeach; ?>
          <?php endif; ?>

$postはpostオブジェクト、skillsはカスタムフィールド名、falseはシングルでない=配列として値を取得

  1. オーバーロードを利用しているようです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?