例えば、一つのお客様の声の投稿に、複数の施工例の投稿を関連付けて、リンクを設けたい場合に使えます。
前提条件として:
・施工例の投稿にworkLinkというカスタムフィールドを設けます
・そのフィールドに関連付けたいお客様の声の投稿IDを入力しておきます。
お客様の声のカテゴリphp(category-voice.php)のループ内に次のスニペットを記述:
$postid = $post -> ID; $args = array( //現在のお客様の声に関連付けられた施工例を抽出 'meta_query' => array( array( 'key' => 'workLink',//カスタムフィールド名 'value' => $postid//現在のお客様の声の投稿ID ) ) ); $workPosts = get_posts($args); $workPostsCnt = count($workPosts);//条件下での投稿数 $workPostCatNam = ""; if ($workPostsCnt > 0){ foreach($workPosts as $workPost){ $workPostId = $workPost -> ID; $workPostPLink = get_permalink($workPostId); $workPostCats = get_the_category($workPostId); foreach ($workPostCats as $workPostCat) { $workPostCatPCat = $workPostCat -> category_parent; if ($workPostCatPCat == "6"){ $workPostCatNam = $workPostCat -> cat_name; break; } } $workPostCatNam = ($workPostCatNam != "")? $workPostCatNam."の施工例を見る":"施工例を見る"; echo "<ul class='towork'>\n"; echo "<li><a href='{$workPostPLink}'>{$workPostCatNam}</a></li>\n"; echo "</ul>\n"; } }