Плагин Posts 2 Posts создает функционал связей многие ко многим (many-to-many). Плагин может использоваться для самых разнообразных задач.
Posts 2 Posts
После установки плагина, в админке не будет никаких управляющих элементов или меню. Плагин создает возможность создания функций на его основе.
Связать страницы с записями
function my_connection_types() { p2p_register_connection_type( array( 'name' => 'pages_to_posts', 'from' => 'page', 'to' => 'post' ) ); } add_action( 'p2p_init', 'my_connection_types' );
После инициализации этой функции на страницах и записях появляется дополнительный блок для добавления связанных записей/страниц. При этом если мы привязали страницу к какой-либо записи, то эта же связь будет отображаться и в самой записи — т.е. связь двусторонняя.
Сортировка связей
Для сортировки необходимо добавить еще один параметр ‘sortable’ => ‘any’. sortable может принимать значения ‘from’, ‘to’, ‘any’, по умолчанию false.
Вывести связанные записи на странице (таким же образом выводим страницы в записи, только необходимо изменять заголовок h3)
<?php // Find connected pages $connected = new WP_Query( array( 'connected_type' => 'pages_to_posts', 'connected_items' => get_queried_object(), 'nopaging' => true, ) ); // Display connected pages if ( $connected->have_posts() ) : ?> <h3>Связанные записи:</h3> <ul> <?php while ( $connected->have_posts() ) : $connected->the_post(); ?> <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> <?php endwhile; ?> </ul> <?php // Prevent weirdness wp_reset_postdata(); endif; ?>[site-socialshare]