Ich hoffe, diese Frage hat hier ihren Platz.
Ich habe immer gedacht, dass das Verbinden verschiedener benutzerdefinierter Beitragstypen ein ziemlich häufiges Bedürfnis ist, wie in gängigen Tutorial-Beispielen für die Verwendung benutzerdefinierter Taxonomien (Bücher / Autoren / Titel, Filme / Schauspieler / Regisseure usw.). Ich persönlich benutze "Posts 2 Posts", aber der Support wurde eingestellt.
Bei Google verweisen die aktuellsten Ergebnisse auf dieses Plugin. Welche langfristigen Alternativen gibt es? Was würde ein erfahrener WordPress-Webentwickler heute verwenden, um ein Buch- / Autoren- / Titelverwaltungssystem mit WordPress zu entwerfen, wenn das P2P-Plugin fertig ist?
custom-post-types
drake035
quelle
quelle
If you want to help maintain the plugin, fork it on github and open pull requests.
Antworten:
Als Programmierer würde ich anfangen, meinen eigenen Code zu schreiben, um meine Beitragstypen zu verbinden. Es ist kein schneller Weg, es ist nicht einfach, aber es macht viel Spaß.
Die Beitragstypen
Wir beginnen mit zwei einfachen Post - Typen erstellen,
Author
undBooks
:Nichts Besonderes dort. In der Tat ist es aus dem Codex !
Die Metabox
Lassen Sie uns fortfahren, indem wir unserem Buchposttyp eine Metabox für unseren Autor hinzufügen:
Hier sehen Sie eine Rückruffunktion,
p2p2_book_author_metabox
die sich in unserer Metabox befindet.Der Inhalt der Metabox
Lassen Sie uns die Funktion erstellen:
Hier passiert die Magie. Zuerst werden wir die Datenbank nach Autoren abfragen und dann eine
<select>
mit unseren Abfrageergebnissen füllen . Weitere Informationen finden Sie im CodexWP_Query
. Jetzt können Sie zu Ihrem Buchpostentyp gehen und Ihre Dropdown-Liste anzeigen:Speichern unserer Inhalte
Natürlich möchten wir unsere Auswahl speichern, damit wir eine weitere Funktion hinzufügen, mit der die Metabox für uns gespeichert wird:
Speichern Sie jetzt ein Buch mit einem Autor! Der Autor des Buches wird in der
wp_postmeta
Datenbanktabelle gespeichert und der ausgewählte Wert der Dropdown-Liste ist der im Meta.Eine Autorenspalte für ein Buch
Erweitern wir den Administrationsbereich für unsere Bücher. Wir beginnen mit dem Ändern der Spalten:
Diese Funktion stellt sicher, dass nur der Spaltentitel und p2p2_author angezeigt werden. Die Spalte cb checkbox wird für die Massenbearbeitungsfunktion von WordPress benötigt. Jetzt müssen wir unserer Spalte einige Informationen hinzufügen. Wir fügen diese Funktion hinzu:
Der Schalter gilt für jede Spalte, die Sie gerade in der vorherigen Funktion hinzugefügt haben. Sie füllen es, indem Sie das wiederholen, was Sie anzeigen möchten. Wir erhalten den Beitrag, der der Autor unseres Buches ist, und erstellen einen schönen Permalink zu seiner 'Profilseite'. So sieht es aus:
Fortsetzung folgt
Wir haben zwei Post-Typen im Backend unserer WordPress-Site verbunden, aber im Frontend können wir nichts davon sehen. Es wird viel mehr Arbeit erfordern, um dies zu erreichen, aber die Möglichkeiten sind etwas endlos. Wir können:
Ich werde weiter an dieser Antwort arbeiten, da ich diese Lösung selbst brauche. Ich werde jedoch vorerst aufhören, daran zu arbeiten. Ich werde morgen mit der Aktualisierung dieser Antwort beginnen.
quelle
Ich würde mir darüber keine Sorgen machen, da sich ein paar großartige Entwickler freiwillig bereit erklärten , den Support fortzusetzen . Wenn Sie jedoch etwas anderes verwenden möchten, überprüfen Sie das Feld ACF-Beziehung .
quelle
Da die ursprüngliche Frage lautet: "Was würden Sie tun, wenn P2P weggehen würde?" Ich habe einen Gedanken / Vorschlag. Ich brauchte es tatsächlich, denn wenn Sie ein Plugin erstellen, ist es nicht immer sinnvoll, den Benutzern zu sagen, dass sie ein anderes Plugin installieren sollen.
Eine einfache Methode wäre die Verwendung der Post-Meta. Beispielsweise. In der post_meta des Autors können Sie die Bücher speichern. Entweder als eindeutige Einträge oder als einzelner durch Kommas getrennter Eintrag oder als serialisiertes Array. Anschließend speichern Sie im Buch die inversen Informationen der Autoren.
Eine andere Möglichkeit wäre, eine neue DB-Tabelle (verpönt) hinzuzufügen, in der die Beziehungen und andere relevante Informationen gespeichert sind.
Keine Ahnung, wie effizient eine der beiden Lösungen im Maßstab ist, aber sie funktionieren.
quelle