Die zusätzlichen Felder des benutzerdefinierten Beitragstyps – wie geht das?

Ich habe diese Frage ein paar Wochen lang nicht gestellt, da ich nicht ganz sicher war, was ich klären wollte … denke, ich habe es verstanden.

Ich bin dabei, ein Plugin zu erstellen, um ein etwas komplexes Portfolio-Feature für meine neue persönliche Seite zu erstellen. Die Notwendigkeit bestand in einer angemessenen Anzahl von benutzerdefinierten Feldern für jedes Portfolioelement, eine Anzahl von Kategorien (Illustration, Webdesign usw.) und eine Möglichkeit, Beziehungen aufzubauen. Ich verwende diese Kategorien, um eine Liste zu füllen, die Daten über vom Benutzer übermittelte Ajax-Anfragen liefert.

Ich wog mehrere Optionen dafür und landete auf dem, was ich wusste – und speziell nicht benutzerdefinierte Post-Typen verwendet; wirklich, der einzige Grund war Unwissenheit. Ich habe eine Reihe von Artikeln zu diesem Thema gelesen, aber mir war nicht klar, wie ich meine Ziele erreichen sollte.

Jedenfalls habe ich an den letzten Wochenenden ein Plugin erstellt, das drei neue Tabellen erstellt, mit CRUD von den Admin-Seiten ausgeht und Ajax-Anfragen steuert. Und es funktioniert in der Tat gut für die “Multi” Vorlage (die nur Kategorien von Thumbnails sammelt).

Dann begann ich mit der Arbeit an der “Single” -Seite (die nur eine Vorlage für die Anzeige einer einzelnen Werbebuchung sein sollte), und mir wurde klar, dass ich, um Suchfunktionen, Kommentare, Permalinks usw. einzubinden, eine Aufgabe machen müsste Viel Hacking, um meine benutzerdefinierten Daten in das Haupt-wp-System zu binden.

Jedenfalls. Seitdem habe ich verstanden, dass ich in der Tat benutzerdefinierte Post-Typen verwenden kann, um die Portfolio-Werbebuchungen zu halten, und eine benutzerdefinierte Taxonomie, um die Menge von Begriffen zu entwickeln, die ich für die Kategorisierung benötige. Ich hoffe, dass jemand mich über einige Details informieren kann, die noch haften (weil die Dokumentation zu diesem Thema bestenfalls sehr dünn ist …).

Der Code zum Erstellen eines benutzerdefinierten Post-Typs scheint ziemlich einfach zu sein, ebenso wie der Code für eine benutzerdefinierte Taxonomie, aber ich bin immer noch unklar in Bezug auf einige Punkte:

1. Benutzerdefinierte Felder

Wie verwalte ich sie? Ich habe etwa 20 Spalten, die ich bevölkere – ich habe ein paar Dinge gelesen, die besagen, dass sie über Metaboxen erstellt wurden. In welcher Tabelle sind die Daten tatsächlich gespeichert? wp-posts?

2: Benutzerdefinierte Begriffe

Ich verstehe, wie eine benutzerdefinierte Taxonomie erstellt wird, aber wie gehe ich vor, um meinen benutzerdefinierten Beitragstyp mit dieser Taxonomie zu verknüpfen? Wie filtere ich eine Abfrage für diese Taxonomie, um den Dropdown-Selektor für den nach vorne gerichteten Ajax zu füllen?

Gibt es Plugins, die das vereinfachen können? Ich plane alles zu diesem Zeitpunkt zu programmieren.

Zu guter Letzt, sind angesichts des scopes meines Projekts benutzerdefinierte Post-Typen geeignet für das, was ich versuche zu tun ? Macht es Sinn zu verschrotten, was ich schon zusammengestellt habe? Ehrlich gesagt – das ist mein erster Versuch mit einem Plugin, und ich habe ziemlich viel gelernt – aber die Hinzufügung von wp-functionen wie Suchen, Kommentare, Permalinks usw. scheinen alle ziemlich attraktiv zu sein.

Ich unterbreite mich den Experten –

Aktualisieren

Wie filtere ich eine Abfrage für diese Taxonomie, um den Dropdown-Selektor für den nach vorne gerichteten Ajax zu füllen?

Lassen Sie mich das deutlicher erklären. Wenn die nach vorne gerichtete Portfolio-Seite von einem Benutzer besucht wird, führe ich eine Abfrage nach allen verfügbaren Begriffen durch (derzeit stammt dieser Begriff aus meinen nicht-wp, benutzerdefinierten Tabellen) und verwende diese, um entweder einen Dropdown-Selektor zu füllen, oder nur eine ungeordnete Liste. Ich hakte in diese Elemente ein, um (in diesem Fall) ID-Werte (Kategorien wie “Illustration” oder “Webdesign”) an eine Ajax-Sequenz zu übergeben, die ein JSON-Objekt zurückgibt, das SQL-Ergebnisse enthält. Ich baue dann Thumbnails und andere Inhalte für diese Objekte dynamisch aus.

Die Frage ist dann, wie kann ich eine Abfrage strukturieren, um benutzerdefinierte Beitragstypen basierend auf Begriffen aus einer benutzerdefinierten Taxonomie zurückzugeben ? Solange ich ein Json-Objekt von dieser Abfrage zurückgeben kann, kann ich einfach meine aktuelle ajax / js-Sequenz verwenden, wie sie ist.

Danke für die Hilfe –

Solutions Collecting From Web of "Die zusätzlichen Felder des benutzerdefinierten Beitragstyps – wie geht das?"

Wie verwalte ich sie? Ich habe etwa 20 Spalten, die ich bevölkere – ich habe ein paar Dinge gelesen, die besagen, dass sie über Metaboxen erstellt wurden.

Die benutzerdefinierten Felder sind eher eine Speicher-Engine für Metadaten. Es liegt an dir, wie man sie benutzt. Und ja, Meta-Boxen sind üblich für diese, wenn Sie eine nette Möglichkeit zur Eingabe / Bearbeitung von ihnen auf dem Post-Bildschirm benötigen.

In welcher Tabelle sind die Daten tatsächlich gespeichert?

*_postmeta

Ich verstehe, wie eine benutzerdefinierte Taxonomie erstellt wird, aber wie gehe ich vor, um meinen benutzerdefinierten Beitragstyp mit dieser Taxonomie zu verknüpfen?

Wenn Sie eine Taxonomie registrieren, übergeben Sie Objekttypen, auf die sie angewendet wird.

Wie filtere ich eine Abfrage für diese Taxonomie, um den Dropdown-Selektor für den nach vorne gerichteten Ajax zu füllen?

Ich bin mir nicht sicher, was genau du hier brauchst. Erarbeiten?

Aktualisieren

Wie strukturiere ich eine Abfrage, um benutzerdefinierte Beitragstypen basierend auf Begriffen aus einer benutzerdefinierten Taxonomie zurückzugeben?

Sehen:

  • WP_Query> Taxonomieparameter
  • Erweiterte Taxonomie-Abfragen

Gibt es Plugins, die das vereinfachen können?

Ja, viel. Aber wenn Sie genug beherrschen, um mit so viel Code direkt umzugehen, empfehle ich zumindest, es zuerst nativ zu versuchen.

Es gibt viele tolle Frameworks, Plugins und anderen Hilfscode für WordPress, aber es ist sehr schwierig, genau zu recherchieren, zu bewerten und auszuwählen, was auf lange Sicht perfekt zu Ihren Bedürfnissen passt.

Zu guter Letzt, sind angesichts des scopes meines Projekts benutzerdefinierte Post-Typen geeignet für das, was ich versuche zu tun?

Scheint mir vollkommen angemessen.