WordPress pozwala łatwo tworzyć i zarządzać różnymi typami treści – wpisami, stronami, produktami, wydarzeniami czy projektami. Czasem jednak chcesz połączyć te treści między sobą – np. powiązać autora z jego książkami, wydarzenie z lokalizacją, albo artykuł z podobnymi wpisami.
W tym poradniku pokażę Ci trzy podejścia do tworzenia relacji między postami:
Za pomocą metadanych (post meta),
Za pomocą wtyczki Advanced Custom Fields (ACF),
Za pomocą własnej tabeli w bazie danych — dla bardziej złożonych struktur.
Czym są relacje między postami?
Relacja między postami to po prostu powiązanie dwóch lub więcej wpisów (postów, produktów, wydarzeń itd.). Najczęstsze typy relacji to:
Relacja 1-do-1 → np. jeden autor ma jedno bio (stronę profilu),
Relacja 1-do-wielu → np. jeden autor ma wiele artykułów,
Relacja wiele-do-wielu → np. jeden produkt może być powiązany z wieloma akcesoriami, i odwrotnie.
Krok 1: Relacje za pomocą metadanych (post_meta)
Najprostszy sposób – zapis ID powiązanego posta w meta polu.
// Dodanie relacji (np. do powiązanego wpisu)
update_post_meta( $post_id, '_related_post', $related_post_id );
// Odczyt relacji
$related = get_post_meta( $post_id, '_related_post', true );
// Wyświetlenie tytułu powiązanego wpisu
if ( $related ) {
echo '<p>Powiązany wpis: <a href="' . get_permalink( $related ) . '">' . get_the_title( $related ) . '</a></p>';
}
✅ Zalety:
Proste do wdrożenia,
Nie wymaga żadnych wtyczek.
⚠️ Wady:
Trudniejsze do przeszukiwania (brak relacji odwrotnej),
Sprawdza się tylko w prostych przypadkach (np. 1-do-1).
$related_ids = $wpdb->get_col(
$wpdb->prepare(
"SELECT related_id FROM $table_name WHERE post_id = %d",
12
)
);
Takie rozwiązanie pozwala tworzyć złożone struktury danych, które można łatwo przeszukiwać i filtrować w zapytaniach SQL.
Kiedy które rozwiązanie wybrać?
Cel / Zastosowanie
Najlepsze rozwiązanie
Prosta relacja 1-do-1
post_meta
Relacja 1-do-wielu
ACF lub post_meta (tablica ID)
Relacja wiele-do-wielu (duże projekty)
Własna tabela
Podsumowanie
Tworzenie relacji między postami w WordPressie daje ogromne możliwości — od prostych powiązań treści, po skomplikowane bazy danych. Dzięki kilku linijkom kodu (lub ACF) możesz połączyć wpisy, produkty czy wydarzenia w logiczne zestawy, zwiększając wartość i użyteczność swojej strony.