Vazby mezi obsahem, prolinkování, související příspěvky, nazvěte to jak budete chtít, jsou často zmiňovaným způsobem, jak nabídnout čtenáři podobný zajímavý obsah. Zároveň tato technika přispívá, k lepším výsledkům ve vyhledávání. Zde nebudu toto stanovisko obhajovat, nejsem specialista na SEO, ale na mnoha místech se zmiňuje pozitivní dopad, propojení obsahu.
Existují různé „Související příspěvky“ pluginy, v desítkách variant, ale tyto pluginy, naráží na své hranice, při použití různých druhů obsahu. Jednoduše, příspěvky, na stránce s nimi nezobrazíte.
Naštěstí, existuje plugin Posts 2 Posts, který vytvořil Scribu, jméno, které není neznámé, všem, kdo se kolem WordPressu pohybují. Dlouhou dobu byl jedním z vývojářů WP CLI rozhraní. O kvalitách pluginu mluví i to, že s přípravou nové verze WordPressu, se vždy objeví diskuze o zařazení pluginu do jádra.
Co tedy Posts 2 Posts dokáže?
Zjednodušeně řečeno, prováže různé druhy obsahu. Články se stránkou, custom post type s custom post type, jak jen budete chtít.
Příklad:
Budete mít custom post type Projekt a články, které se budou týkat právě uskutečněných projektů. Vytvoříte si spojení, mezi Projekt a články a pak již jen budete vybírat, které články se k projektu přiřadí. Naprosto ideální po návštěvníka a pro SEO.
Bohužel, plugin nepatří mezi ty, které nainstalujete a můžete jen klikat. Propojení musíte vytvářet.
Na začátek si ukážeme propojení stránky a článků. Do functions.php vložíte tento kód:
function my_connection_types() {
p2p_register_connection_type( array(
'name' => 'posts_to_pages',
'from' => 'post',
'to' => 'page'
) );
}
add_action( 'p2p_init', 'my_connection_types' );
Vytvořili jste tak propojení článků a stránek. V detailu stránky pak uvidíte nový metabox:
Vyberete příslušné články a metabox se postará o uložení.

Následně si musíme vytvořit funkci, pro vypisování odkazů na články a vložit ji do functions.php
function custom_list_related($post_id, $title = ''){
$query_args = array(
'connected_type' => 'posts_to_pages',
'connected_items' => intval($post_id),
'nopaging' => true
);
$query = new WP_Query($query_args);
if($query->have_posts()):
if(empty($title))
$title = __('Články', 'frl');
?>
<h3><?php echo $title; ?></h3>
<ul class="related-items">
<?php while($query->have_posts()): $query->the_post(); ?>
<li><a href="<?php the_permalink();?>"><?php the_title();?></a></li>
<?php endwhile;?>
</ul>
<?php
endif;
wp_reset_postdata();
}
Jako poslední krok, musíme vložit funkci , do souboru šablony, například page.php:
global $post; custom_list_related($post->ID);
Výsledek vypadá takto:

Jak můžete vidět, na stránce se zobrazují tři odkazy přiřazených článků.
V případě, že nechcete vkládat funkce do šablony, tak můžete použít shortcody:
[p2p_connected type=posts_to_pages]
[p2p_related type=posts_to_pages mode=ol]
Pro úpravu shortcodů, má plugin vložené akce a filtry https://github.com/scribu/wp-posts-to-posts/wiki/Actions-and-filters
Ostatně, celá Wiki na GitHubu je velmi rozsáhlá a obsahuje řadu ukázek.
Možná si říkáte, že na takovém pluginu nic moc není, ale dejte tento článek přečíst tomu, kdo se vám stará o SEO, nebo obsahovou strategii a garantuji vám, že z možností které se nabízí, bude nadšen. Jen namátkou – můžete vytvářet seriály článků, propojit automobily s dealery a další a další způsoby.
Zkrátka, pro rozsáhlejší obsahové weby, naprosto ideální záležitost.
