Daten für Plugin für erweiterte benutzerdefinierte Felder importieren?


8

Ich habe einen Mitgliederbereich, der mit dem Plugin http://www.advancedcustomfields.com erstellt wurde . Es gibt 300 Mitglieder mit jeweils folgenden Daten:

  • Name der Firma
  • Spezialisierung (Kontrollkästchen)
  • Webadresse
  • Telefonnummer
  • Region
  • Adresse
  • Email

Was ist der beste Weg, um in die Datenbank zu importieren? Wie soll ich eine CSV-Datei einrichten? Ich habe die 300 Mitgliedsseiten nicht hinzugefügt. Ich habe nur diese benutzerdefinierten Felder mit dem Plugin eingerichtet.


Als Off-Topic abgestimmt . Dies ist entweder eine PHP / SQL- Frage und keine WordPress- Frage, oder es handelt sich um eine Plugin-spezifische Frage, die zu lokalisiert ist .
Chip Bennett

4
@ChipBennett ??? Das ist lächerlich! In welchem ​​Forum soll ich das dann genau fragen? Wenn sie im normalen SO-Forum gefragt würden, würden sie mich einfach hierher schicken! Hier gibt es viele Plugin-spezifische Fragen. Du bist viel zu aggressiv beim Modden dieses Forums, da dies nicht das erste Mal ist!
Rob

Meinetwegen. Also: Was ist der WordPress- spezifische Teil dieser Frage ? Sie möchten einen beliebigen Datensatz in eine beliebige Datenbank importieren und dies über eine CSV-Datei. Nichts davon hat etwas mit WordPress zu tun. (ps ich bin kein Mod.)
Chip Bennett

5
@ChipBennett Es hat ALLES mit Wordpress zu tun, da ich alles in einem Format brauche, das von cms gelesen werden kann. Sie sagen also, dass die Hunderte von Fragen hier, die mit Plugins zu tun haben, zu lokalisiert sind und Datenbankfragen nicht miteinander zusammenhängen. Die Seitenleiste für verwandte Fragen ist mit ähnlichen Fragen gefüllt, aber gemäß Ihren "Regeln" kann ich sie hier nicht posten! Wo genau poste ich das dann?
Rob

Was meinen Sie mit " vom CMS lesbar "? Wollen Sie damit sagen, dass Sie versuchen, einen SQL-Rohimport durchzuführen, um die wp_post_metaDB-Tabelleneinträge für 300 vorhandene Beiträge zu aktualisieren ?
Chip Bennett

Antworten:


5

Klingt so, als hätten Sie alle 300 Seiten basierend auf den Kommentaren erfolgreich importiert. (Unabhängig davon, wie Sie es gemacht haben, entweder mit dem WordPress-Import-Plugin oder mit einem MySQL-Tool wie phpMyAdmin oder Sequel Pro oder was auch immer) ... Sie haben 300 Seiten in der wp_postsTabelle. Fangen wir dann hier an ...

Das ACF-Plugin verwendet die wp_postmetaTabelle, um benutzerdefinierte Felder zu füllen und mit bestimmten Posts / Seiten zu verknüpfen. (Ein sehr durchdachtes Design übrigens)!

Diese Tabelle besteht aus 4 Spalten:

meta_id - Ein eindeutiger automatisch inkrementierter Primärschlüssel

post_id - Ein Fremdschlüssel, der auf den Beitrag oder die Seite verweist

meta_key - In diesem Fall der Name (Schlüssel) des benutzerdefinierten Feldes

meta_value - Der tatsächliche Text oder Inhalt für dieses benutzerdefinierte Feld

Wenn Sie also eine CSV-Datei erstellt haben, würden Sie Ihre Daten grundsätzlich so erstellen, dass sie in dieses Modell passen. Wenn Sie 300 Datensätze in Ihrer wp_postsTabelle haben, sollten alle eine eindeutige ID(in der IDSpalte) haben. Das ist die ID, die Sie in die wp_postmeta.post_idSpalte einfügen.

Wenn Sie nun die von Ihnen erstellte Feldgruppe überprüfen, werden alle Feldnamen angezeigt (dies sind die wp_postmeta.meta_keyWerte. Hier ist ein Screenshot eines Beispiels in einem Projekt, an dem ich gerade arbeite:

ACF Beispiel

Ich habe meine benannt header_contentund left_sidebar_contentzum Beispiel. Zum Schluss werfen Sie die Werte jedes Ihrer Felder in das wp_postmeta.meta_valueFeld.

All dies ist eine allgemeine Anleitung für das Schema und die Struktur der Daten. Die eigentliche Implementierung , wie Sie die Daten importieren , bleibt Ihnen überlassen. (Egal, ob Sie eine CSV-Datei oder XML verwenden oder tatsächlich SQL schreiben, um die Daten einzufügen).

Ich hoffe, das bringt Sie auf den richtigen Weg!


Ich kann nicht zustimmen, dass der von ACF verwendete Ansatz ein gutes Design ist oder nicht, da die Daten nicht einfach zu suchen oder zu indizieren sind ...
Raptor
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.