つながるnet

複数の投稿を関連付ける方法

例えば、一つのお客様の声の投稿に、複数の施工例の投稿を関連付けて、リンクを設けたい場合に使えます。

前提条件として:
・施工例の投稿に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";
	}
}

直接メールしてみる

お名前 (必須)
メールアドレス (必須)
件名
ご相談内容
画像文字をご入力ください
captcha

コメントを残す