wake-up-neo.com

Verwendung gewünschter APIs vom Typ "Post", aber Verwendung einer anderen DB-Tabelle

Wir haben derzeit ein Plugin, das eine neue WP Tabelle erstellt, aber das Rad neu erstellt, wenn es um das Verwalten/Aktualisieren von Daten geht. Es wäre ein guter Kandidat für benutzerdefinierte Beitragstypen, aber wir möchten die wp_posts -Tabelle nicht verschmutzen.

Anwendungsfall: Wir erstellen eine spezielle Jobbörse für ein Unternehmen, in der Hunderte von Jobs aufgelistet sind, und wir möchten die Tabellen für andere PHP-Skripte außerhalb von WP das wird auch auf die gleichen Daten zugreifen. Eingabe und Verwaltung würden von den Standard-WordPress-APIs übernommen.

Frage: Ich möchte die benutzerdefinierten Post-Type-Funktionen von WP verwenden, aber eine andere DB-Tabelle verwenden. Gedanken? Richtungen? Ist es möglich, WordPress einfach anzuweisen, die Tabellen für eine bestimmte Abfrage zu wechseln?

Verwandte Themen: Schwierig zu lesen und zu verstehen und nicht ganz dasselbe: Benutzerdefinierte Datenbank mit benutzerdefiniertem Beitragstyp verwenden

2
Dan Gayle

Ich glaube nicht, dass du das schaffst. Möglicherweise könnten Sie eine ganz neue Datenbank verwenden, aber es ist unwahrscheinlich, dass Sie eine neue Tabelle zum Verwalten eines benutzerdefinierten Beitragstyps hinzufügen können. Zum einen wird ein benutzerdefinierter Beitragstyp in der Tabelle wp_posts gespeichert, aber einige der Daten dafür werden in der Tabelle wp_postmeta gespeichert (insbesondere alle Post-Metafelder). Und wenn Sie eine Taxonomie haben, werden 3 verschiedene Tabellen verwendet. Und wenn Ihr Plugin Optionen speichern muss, befinden sich diese in einer anderen Tabelle.

Ich würde mir keine Sorgen machen, ob die WP-Tabellen verschmutzt werden, sondern wie sie funktionieren. Ein Teil seiner Leistung ist die Erweiterbarkeit, die eingebaut und einfach zu bedienen ist.

Sie könnten möglicherweise eine Möglichkeit zum Entfernen Ihres Beitragstyps und aller Beiträge angeben, wenn Sie ihn vollständig entfernen möchten.

3
Jake