やりたかったこと
講義というカスタム投稿タイプ(講義内容)と講師というカスタム投稿タイプ(講師のプロフィール)があり、これらを関連付けて講義内容に講師のプロフィールを表示させたい
データのひも付けを実現するにはPosts 2 Postsプラグインを使うようなので、情報を求めてひたすらぐぐりました...。
functions.phpに追記
- 講義...seminar
- 講師...lecturer
function lecturer_relationships() {
p2p_register_connection_type( array(
'name' => 'seminar_to_lecturer',
'from' => 'seminar',
'to' => 'lecturer'
) );
}
add_action( 'p2p_init', 'lecturer_relationships' );
single-seminar.phpに追記
カスタムフィールドで入力した講師名(lecturer_name)を表示
<?php
// Find connected weeks
$connected = new WP_Query( array(
'connected_type' => 'seminar_to_lecturer', // the name of your connection type
'connected_items' => get_queried_object(),
'nopaging' => true,
) );
// Display connected weeks
if ( $connected->have_posts() ) : ?>
<?php while ( $connected->have_posts() ) : $connected->the_post(); ?>
<p><?php echo get_post_meta($post->ID,'lecturer_name',TRUE);?></p>
<?php endwhile; ?>
<?php
// Prevent weirdness
wp_reset_postdata();
endif;
?>
カスタム投稿タイプ「講義」のエントリー編集画面で、関連付けるエントリーを選択して保存。
ここでは例として「ごむたろう」講師を関連付けています。
講義の詳細ページに「ごむたろう」講師が表示されました。
An Introduction to the Posts 2 Posts Plugin