Zwei Postarten verknüpfen

und danke im Voraus für Ihre Hilfe.

Ich habe ein wenig gesucht, und diese Frage wurde ein paar Mal mit Bezug auf das “posts 2 posts” -Plugin beantwortet, aber die Dokumentation darüber ist sehr “coder-centric” – ich bin in der Lage und bequem, meine zu bekommen Hände schmutzig, aber ich benötige bessere Schritt-für-Schritt-Dokumentation als das, was dort verfügbar ist. 🙂

Hier ist, was ich brauche. Ich verwende gPress , um “Orte” mit ihrem benutzerdefinierten Post-Typ zu generieren. Das funktioniert erstaunlich gut. Was ich tun muss, ist “Ereignisse” zu einem Ort hinzufügen zu können. Ich kann einen benutzerdefinierten Beitragstyp verwenden, um alle Ereignisdetails zu erfassen, aber dann möchte ich Ereignisse an einen bestimmten Ort anhängen können und umgekehrt. Wenn sich jemand den Event-Post anschaut, gäbe es eine einfache Möglichkeit, die Place-Informationen, die sich auf das Event beziehen, auch zu ziehen.

Irgendwelche Vorschläge werden geschätzt!

Solutions Collecting From Web of "Zwei Postarten verknüpfen"

Scribus posts-to-posts ist ein großartiges und einfaches Plugin, ich bin mir sicher, dass wir Ihnen helfen können, es zum Laufen zu bringen. Die grundlegende Verwendung ist ziemlich einfach.

Wenn Ihre benutzerdefinierten Post-Typen 'place' und 'event' heißen, würde der folgende Code in die functions.php-Datei Ihres Themes gehen:

 function my_connection_types() { p2p_register_connection_type( array( 'name' => 'events_to_places', 'from' => 'event', 'to' => 'place', ) ); } add_action( 'p2p_init', 'my_connection_types', 100 ); 

Dadurch werden die Metaboxen zum Zuweisen von Beziehungen in Ihren benutzerdefinierten Nachbearbeitungsbildschirmen aktiviert.

Für Ihre Single single-event.php und Event-Seiten können Sie in Ihrem Theme benutzerdefinierte Vorlagen erstellen, die der WordPress- Vorlagenhierarchie single-{post_type}.php , also in Ihrem Fall single-event.php und single-place.php . Sie können diese aus der single.php Vorlage duplizieren.

Um Verbindungen aufzulisten, brauchen wir nur ein wenig Code innerhalb dieser Vorlagen, wo immer wir die Liste ausgeben wollen. Dies würde in die Ortvorlage und die Ausgabe verbundener Ereignisse gehen:

 < ?php $connected = new WP_Query( array( 'connected_type' => 'events_to_places', 'connected_items' => get_queried_object() ) ); echo '

Related events:

'; echo '
    '; while( $connected->have_posts() ) : $connected->the_post(); echo '
  • '; the_title(); echo '
  • '; endwhile; echo '
'; wp_reset_postdata(); ?>