Posts 2 Postsプラグインでカスタム投稿タイプを関連付ける

電脳備忘録

本記事のソースコードの利用によって生じた損害について、当方は一切の責任を負いません。ご自身の判断と責任のもとで参照・ご利用ください。

この記事は最終更新から3年以上経過しています。

やりたかったこと

講義というカスタム投稿タイプ(講義内容)と講師というカスタム投稿タイプ(講師のプロフィール)があり、これらを関連付けて講義内容に講師のプロフィールを表示させたい

データのひも付けを実現するには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;
  ?>

カスタム投稿タイプ「講義」のエントリー編集画面で、関連付けるエントリーを選択して保存。
ここでは例として「ごむたろう」講師を関連付けています。 2013-07-07-002.jpg

講義の詳細ページに「ごむたろう」講師が表示されました。 2013-07-07-003.jpg

An Introduction to the Posts 2 Posts Plugin
0%