// Define page-post-type connection
p2p_register_connection_type( array(
'name' => 'page-post-type',
'from' => 'page',
'to' => 'post-type',
'sortable' => true,
'cardinality' => 'one-to-many',
'admin_box' => array(
'show' => 'from',
'context' => 'side'
),
'admin_column' => false,
'title' => __('Connected post types on page', 'domain')
) );
// Show Admin Box for page-post-type connection only on homepage
function restrict_p2p_box_display( $show, $ctype, $post ) {
if ( 'page-post-type' == $ctype->name) {
$frontpage_id = get_option('page_on_front');
return($post->ID == $frontpage_id);
}
return $show;
}
add_filter( 'p2p_admin_box_show', 'restrict_p2p_box_display', 10, 3 );
// Show page-post-type connections in homepage template
if ( is_front_page() ) :
if (function_exists('p2p_type')) {
$connected = new WP_Query( array(
'post_type' => 'post-type',
'connected_type' => 'page-post-type',
'connected_items' => get_queried_object(),
'nopaging' => true
) );
if ($connected->have_posts() ) :
while ($connected->have_posts() ) : $connected->the_post();
the_title();
endwhile;
endif;
wp_reset_postdata();
wp_reset_query();
} else {
echo 'Plugin not found';
}
endif;