2016.01.28
異なる投稿タイプを紐付けるプラグイン「Posts 2 Posts」
「Posts 2 Posts」は、2つのカスタム投稿タイプの記事やユーザーとの紐付けが可能なプラグインです。
各投稿に他の投稿タイプの記事を個別に紐付けられるので、ブログサイトでは関連記事として表示させたりできます。
ダウンロード
1.紐付けの設定 | シングルページや固定ページ、カスタム投稿タイプなど、紐付けの設定をfunctions.phpで行います。 |
---|---|
2.紐付けるアイテムを選択 | 各編集ページで紐付けるアイテムを設定します。 |
3.紐付けたアイテムの出力 | 紐付けたアイテムを各テンプレートを編集し出力します。 |
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(); ?>
商品などを扱うサイトでは商品とメーカーとの紐付けて表示させるなど、かゆいところに手が届くプラグインです。
今回はご紹介できませんでしたが、ユーザーと紐付けもできたり、さまざまな用途や使い方ができそうです。