ワードプレス任意のカスタムフィードの値を持つ、カスタム投稿タイプをwhileループで出力するコードをご紹介いたします。

任意のカスタムフィールドの値を持つ、カスタム投稿タイプを WP_Queryで取得

早速コードを見ていきましょう!

<?php
$args = array(
    'meta_key' => 'カスタムフィールドのメタキー',
    'meta_value' => '検索したいカスタムフィールドの値',
    'post_type' => 'カスタム投稿タイプのスラグ',
    'post_status' => 'publish', //公開済みのみ取得
    'posts_per_page' => -1 //無制限の数を取得
);
$wp_query = new WP_Query( $args );
if ( have_posts() ) :
    while ( have_posts() ) : the_post();
        ?>
        <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
        <?
    endwhile;
else:
    echo '投稿はありませんでした';
endif;
?>

コードの解説

まずWP_Query (ワードプレスの投稿を取得する関数)に渡す取得する属性を設定します

‘meta_key’ => ‘カスタムフィールドのメタキー’,
‘meta_value’ => ‘検索したいカスタムフィールドの値’,
‘post_type’ => ‘カスタム投稿タイプのスラグ’,
‘post_status’ => ‘publish’, //公開済みのみ取得
‘posts_per_page’ => -1 //無制限の数を取得

上記配列を渡すことで任意のカスタムフィールドの値を持つ、カスタムポストタイプを無制限に取得しています。こちらは取得したい任意のカスタム投稿タイプやカスタムフィールドの値に書き換え頂けましたら幸いです。。

※wp_queryに渡せる値は多岐にわたります。下記にすべてのリストがございます
https://gist.github.com/fazlurr/10830359

while ( have_posts() ) : the_post(); は、取得したデータを次から次に処理して出力するループと言われる処理です。

<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> の部分で投稿のタイトルをその投稿へのリンクタグでくるんだリンクするようにしています。

the_permalink() はループの中で使用すると単一投稿へのリンクを出力します。

the_title() はループの中で使用すると単一投稿のタイトルを出力します。

WordPress ワードプレスのテーマやプラグインの修正・カスタマイズのご依頼ご相談はワードプレスドクターまでお気軽にお送りください。