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

Magic Fileds で設定できるフィールドには related type というのがある。
Magic Fields で作成したライトパネルまたは投稿タイプを指定しておくと、指定した括りの投稿がプルダウンで表示されるので、その中から選択した投稿のIDがカスタムフィールド値として保存される。*カテゴリーごとにライトパネルを作成すればカテゴリー別にできる。

投稿Aの作成時に投稿Bを選択すると、投稿Aでは選択した投稿として投稿Bを表示でき、

<?php
$pID = get('related_type');
	$args = array(
		'p' => $pID,
	);
	query_posts($args);
?>

投稿Bでは投稿Bを選択した投稿を表示できる。

<?php
$pvalue = get_the_ID();
	$args = array(
		'meta_key' => related_type,
		'meta_value' => $pvalue,
	);
	query_posts($args);
?>

前者の場合で、フィールドを複製して複数の値を取る場合は

<?php
$related = get_post_meta($post->ID, 'related', false);
$args = array(
    'post__in' => $related
	);
	query_posts($args);
?>

複数のキーから複数の値を取る場合は

<?php
$related1 = get_post_meta($post->ID, 'related1', false);
$related2 = get_post_meta($post->ID, 'related2', false);
$related = array_merge_recursive($related1, $related2);
$args = array(
    'post__in' => $related
	);
	query_posts($args);
?>

関連記事やレビュー、その他いろいろな紐付けに利用できる。

2012.03.24 投稿 2015.04.05 更新

新しい情報を追記している場合はありますが、古い情報の修正はしていません。投稿日・文中の日付を参照してください。

Recent Articles