Facebook にシェア
[`evernote` not found]
LINEで送る

よくある、商品に対して関連商品を表示する方法。関連付けにはタグを利用。
(商品ページと同じタグを使っているページを関連商品として認識)

//関連商品を最後に表示(タグ関連づけ)
add_filter('the_content', 'related_item',22);
function related_item($content){
	global $usces, $post;
        if( ($post->post_mime_type != 'item' || !is_single()) ) return $content;//商品ページ以外の場合戻る
	$tags = get_the_tags($post->ID);	//現在の投稿のタグを取得
	$taglist = array();			
	foreach($tags as $value){		//タグのIDをtaglistに入力
		$taglist[] = $value->term_id;
	}

	$myQuery = new WP_Query();		// WP_Queryオブジェクトの生成
	$param = array(				//パラメータ配列
		'tag__in' => $taglist,		//投稿のタグのいずれかが含む場合を関連商品と設定
		'show_posts' => '4',		//表示数は4個に設定
		'post__not_in' => array($post->ID)	//自身のページは排除する。
	);
	$myQuery->query($param);  // クエリをパラメータで指定
	$html = '	<ul class="clearfix">';
	if($myQuery->have_posts()){
		 while($myQuery->have_posts()){
			$myQuery->the_post();
			//ここに商品データを表示
			$html .= '<li><a href="' . get_permalink($post->ID) .  '">' . usces_the_itemName('return',$post->ID) . '</a></li>';
		}
	}
	$html .= '</ul>';
	return $content .  $html;
}

*(11/03追記。Welcartページ以外にも表示されていたバグを修正)
後は商品の画像でも貼り付けたりするとそれっぽいかも。
価格はIDからは引っ張れなかった。引っ張る方法をさがすか、値段をカスタムフィールドに入力しておいて対応する予定。
(11/03追記。どうするか迷いましたがskuの中から一番安い価格を選択して表示するようにしましたが、テーマと関係ないので割愛)