1.紐付けの設定
テーマのfunctions.phpに紐付けるアイテムを登録します。
今回はサンプルで ‘wordpress_tips’ 投稿タイプのアイテムを ‘portfolio’ 投稿タイプのページで表示するように登録しました。
// カスタム投稿タイプの紐付け
function custom_post_relation() {
p2p_register_connection_type( array(
'name' => 'plugin_relation', // 紐付けグループの名称
'from' => 'wordpress_tips', // 出力されるアイテム
'to' => 'portfolio' // 出力する投稿タイプ
) );
}
add_action( 'p2p_init', 'custom_post_relation' );
2.紐付けるアイテムを選択
編集画面にメタボックスが表示されます。
(今回の例では ‘portfolio’ カスタム投稿タイプ)
投稿ごとに、紐付けるアイテムを選択できます。
3.紐付けたアイテムの出力
紐付けたアイテムを各テンプレートを編集し出力します。
(今回の例では single-portfolio.php のループ内)
通常の出力と同じように、WP_Queryを使って出力できます。
<?php
$args = array(
'connected_type' => 'plugin_relation', // function.php で登録した紐付けグループの名称
'connected_items' => get_queried_object() // 紐付けられた記事の情報の取得
);
?>
<?php $loop = new WP_Query( $args ); ?>
<?php if($loop -> have_posts()): ?>
<ul>
<?php while($loop -> have_posts()): $loop->the_post();?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; ?>
</ul>
<?php endif; ?>
<?php wp_reset_postdata(); ?>
商品などを扱うサイトでは商品とメーカーとの紐付けて表示させるなど、かゆいところに手が届くプラグインです。
今回はご紹介できませんでしたが、ユーザーと紐付けもできたり、さまざまな用途や使い方ができそうです。