[WordPress] query_posts やget_posts をカスタムフィールドを使って検索・抽出・絞り込む方法(複数も可)

  • このエントリーをはてなブックマークに追加
  • Pocket

特定のカスタムフィールドを設定した投稿記事のみを表示させます。
カテゴリーで絞り込んだりは、よくするのですがカスタム投稿などを使わない場合では、特定のカスタムフィールドで絞り込んで表示したいケースもあります。

 
◎特定のカスタムフィールド名と値が登録されている記事のみを抽出する

$args = array( 'meta_query' => array( array('key' => 'カスタムフィールド名', 'value' => 'カスタムフィールド値') ) );
$posts = get_posts($args);

 
◎特定のカスタムフィールド名がセットされている記事のみを抽出する

$args = array( 'meta_query' => array( array('key' => 'カスタムフィールド名', 'compare' => 'EXISTS') ) );
$posts = get_posts($args);

※「compare = EXISTS」の場合は、値指定(value)は省略できます。

 
◎「type」指定でデータ型を指定して、特定のカスタムフィールド名と値が登録されている記事を検索する

$args = array( 'meta_query' => array( array('key' => 'カスタムフィールド名', 'value' => 'カスタムフィールド値') ) );
$posts = get_posts($args);

 
◎複数のカスタムフィールドを指定して記事を絞り込む(「relation」で論理演算子を指定)

$args = array( 'meta_query' => array( 
			array('key' => 'カスタムフィールド名1', 'value' => 'カスタムフィールド値1'),
			array('key' => 'カスタムフィールド名2', 'value' => 'カスタムフィールド値2'),
			'relation'=>'AND'
		 ) );
$posts = get_posts($args);

 
 
 
このように、かなり色々なことができるので便利ですね。

ネット集客を加速させるWebサイトをWordPressで作る方法
WordPress対応 PHPファイル 難読化ツール

ご訪問ありがとうございます。
参考になりましたら『いいね!』もお願いします。

ITの活用情報を毎週お届けする無料メルマガに是非ご登録ください。

閉じる

ご意見・ご感想をお待ちしております。

いただいた情報は一般公開されません。(入力いただいたメールアドレスにてご返信させていただきます)
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。