Eins-zu-viele-Post-Beziehungen, die nach Kategorien angezeigt werden (mithilfe von Posts-zu-Posts-Plugins)

Brauche dringend Hilfe. Bitte leiten Sie mich bei Bedarf zum richtigen Forum, aber ich muss das sehr gut lösen.

Ich erstelle eine Property-Management-Site, in der die grundlegende functionalität wie folgt funktionieren muss:

  • Der Benutzer meldet sich an und sieht die von ihm verwalteten Gebäude / Objekte.
  • Der Benutzer klickt auf ein Gebäude und sieht Kategorien von Service- / Reparaturelementen (Strom, Abwasser, Internet usw.).
  • Der Benutzer wählt eine Kategorie aus und sieht für dieses spezielle Gebäude in dieser Kategorie eindeutige Servicepositionen (z. B. wo sich die Kabelbox befindet, wo sich die Unterbrecherbox befindet usw.).

Mein Problem ist, dass ich die Service-Elemente für alle Gebäude, nicht nur für das derzeit verwaltete, erhalte. Der aktuelle Fluss geht von einer Seite namens Buildings, die alle verfügbaren Gebäudeposts anzeigt (die ich mit einer Dateivorlage-Buildings.php angepasst habe) auf die einzelne Seite für den benutzerdefinierten Posttyp “Gebäude”, die eine Liste der Kategorien anzeigt ( behandelt von single-buildings.php) auf der Seite category.php, um alle Serviceartikel in der ausgewählten Kategorie auf der single.php-Seite anzuzeigen, auf der ein einzelner Artikel angezeigt wird.

Mein großer Zusammenbruch scheint auf category.php zu sein. Ich versuche NUR die Objekte in einer Kategorie anzuzeigen, die mit dem zuvor ausgewählten Gebäudepost zu tun haben. Ich versuche, das posts-to-posts-Plugin zu verwenden, um dies zu ermöglichen. Hier ist der Code soweit.

 'buildings' ) ); p2p_type( 'buildings_to_si' )->each_connected( $wp_query, array( 'cat' => $catid ), 'service_items' ); // Display connected posts while ( $wp_query->have_posts() ) : $wp_query->the_post(); foreach ( $post->service_items as $post ) : setup_postdata( $post ); ?> 
<a class="btn btn-elegant" href="https://wordpress.stackexchange.com/questions/279396/one-to-many-post-relationships-that-are-displayed-by-category-using-posts-to-po/">

Ab sofort bekomme ich alle Beiträge in einer Kategorie für alle Gebäude, unabhängig von der durch das Plugin festgelegten Beziehung. Ich weiß, dass es mit der Tatsache zu tun hat, dass ich versuche, dies auf der Archivseite der Kategorie zu tun, aber ich weiß wirklich nicht, was ich noch tun soll. Ich bin bereit, bei Bedarf eine völlig andere Route zu gehen. Wird bei Bedarf zur Klärung aktualisiert. Vielen Dank!

Bearbeiten: Für die Nachwelt

Also habe ich es basierend auf dem Kommentar von kuchenundkakao zum Laufen gebracht. Ich habe diesen Code der single-buildings.php-Datei hinzugefügt, die die Post-ID zur Kategorielink-Adresse hinzufügt (der aktualisierte Code ist fett gedruckt)

  true, 'orderby' => 'name', 'order' => 'ASC', 'parent' => 0, 'posts_per_page' => -1 ); $categories = get_categories($args); foreach($categories as $category) { // Get the ID of a given category $category_id = get_cat_ID( $category->name ); // Get the URL of this category $category_link = get_category_link( $category_id ); /////////// Added bit of code ///////////////// $category_link .= "?building_id=".get_the_ID(); echo ''; ?> 

Dann auf category.php habe ich ein paar Variablen hinzugefügt, um diese ID abzurufen. Hier ist der aktualisierte Code basierend darauf.

  'buildings', ////////// Added code //////////////// 'p' => $buildingid ) ); p2p_type( 'buildings_to_si' )->each_connected( $wp_query, array( 'cat' => $catid ), 'service_items' ); // Display connected posts while ( $wp_query->have_posts() ) : $wp_query->the_post(); foreach ( $post->service_items as $post ) : setup_postdata( $post ); ?> 
<a class="btn btn-elegant" href="https://wordpress.stackexchange.com/questions/279396/one-to-many-post-relationships-that-are-displayed-by-category-using-posts-to-po/">

Dadurch wurde das Problem behoben und ich konnte die Kategorieseite weiterhin wie beabsichtigt verwenden. Es fügt meinen URLs ein bisschen Unordnung hinzu, aber dies ist eine private Seite für eine Firma, so dass das kein Problem sein wird.

Solutions Collecting From Web of "Eins-zu-viele-Post-Beziehungen, die nach Kategorien angezeigt werden (mithilfe von Posts-zu-Posts-Plugins)"

Ich bin nicht so vertraut mit dem Posts-to-Posts-Plugin, aber Ihr Hauptproblem könnte sein, dass die Kategorieseite nicht weiß, welches Gebäude Sie im vorherigen Schritt ausgewählt haben, wenn Sie es nicht in einem Parameter übertragen oder speichern in einer Sitzung oder einem Cookie. Vielleicht wäre es besser, die verbundenen Objekte auf der Gebäudeseite wie folgt auszugeben:

  Building (description etc) - category 1 -item 1 - category 2 -item 2 -item 3 ...