So integrieren Sie benutzerdefinierte Datenbanktabellen in Wordpress und verwenden Wordpress-Funktionen


8

Ich bin dran Wordpress 3.0.4und es fällt mir schwer, mich für einen Weg zu entscheiden. Folgendes ist mein Problem:

Ich habe eine mysqlDatenbanktabelle widgetsmit ungefähr 10 propertieswie ID, Größe, Farbe usw.

Jetzt möchte ich diese Tabelle integrieren Wordpress, vorzugsweise so, dass ich paginierte Listen von erhalten widgets, Informationen in einem einzelnen Widget anzeigen und ein flexibles Layout haben kann.

Vorzugsweise möchte ich die Möglichkeit haben, eine benutzerdefinierte Vorlage so zu ändern, dass ich die Position jeder Eigenschaft auf der Seite ändern kann (Vielleicht möchte ich zB die Größe-Eigenschaft oben auf der Seite links platzieren , später möchte ich es vielleicht unten rechts platzieren).

Was wäre der beste Weg, um die zu speichern widgets, sie mit möglichst vielen integrierten WordpressFunktionen abzurufen und wie kann ich auch dieses flexible Layout erhalten?

Ich habe schon einmal meine eigenen Plugins geschrieben, daher habe ich mehr als nur Grundkenntnisse Wordpress/PHP/MySQL.


Bitte überprüfen Sie dieses Plugin wordpress.org/extend/plugins/custom-tables , es erspart mir viel Arbeit, definieren Sie einfach Ihre Tabellenfelder und importieren Sie dann Ihre Daten.

Antworten:


8

Genau dafür sind benutzerdefinierte Beitragstypen gedacht .

Wenn es mein Projekt wäre, würde ich die benutzerdefinierte Tabelle, die Sie haben, verschrotten, einen benutzerdefinierten Beitragstyp für Ihre "Widgets" einrichten, alle vorhandenen Widgets als regulären WP-Inhalt hinzufügen und Standard-WordPress-Funktionen und -Vorlagen verwenden, um sie abzufragen und anzuzeigen .

Es ist kurzfristig eine kleine Investition (wenn Sie viele vorhandene Daten haben, die Sie migrieren müssen), aber auf lange Sicht ist es am besten, alle Ihre Inhalte in Standard-WordPress-Tabellen zu haben und sie mit Standard-WordPress-Funktionen und -Vorlagen anzuzeigen. -wenn es keinen wirklich zwingenden Grund gibt, dies nicht zu tun.


Danke MathSmath, in diesem Fall meinst du, dass ich die Daten in der Tabelle in Beiträge konvertiere? Ich denke in diesem Fall müsste ich Post-Metadaten verwenden, um die Layout-Flexibilität zu haben?
JanWillem

Ja, Sie würden Post-Metadaten verwenden, um eine beliebige Anzahl von benutzerdefinierten Feldern hinzuzufügen (die mit Ihren Spalten in Ihrer Tabelle korrelieren), und dann damit ein anderes Layout erstellen, basierend darauf, welches "Widget" welche Post-Metadaten hat.
Don Gilbert

1
Für diejenigen, die hier über Google landen ... gibt es eine Reihe von Plugins, mit denen Sie CSV-Dateien importieren (und später mithilfe von CSV-Dateien aktualisieren) und in benutzerdefinierte Inhalte vom Typ Post konvertieren können. Hurra für vier Jahre später.
Will

3

Wenn sich diese Tabelle in derselben Datenbank befindet wie Ihre WordPress-Installation, können $wpdbSie Daten daraus abrufen. Andernfalls können Sie Ihr eigenes wpdbObjekt mit Verbindungsdetails für eine andere Datenbank instanziieren .

Ich bin mir nicht sicher, was Sie in diesem Fall mit Widgets meinen. Klingt das nicht nach WordPress-Widgets? Da ich diesbezüglich unklar bin, habe ich keine Vorschläge, wie ich mit Vorlagen für diese umgehen soll.


Hallo Rarst, mit Widget meine ich ein "Ding", könnte ein Buch, ein Auto, ein Wein sein, im Grunde alles mit Eigenschaften.
JanWillem

1

FWIW, wir haben so etwas gemacht, wo wir die Daten aus einer externen Datenquelle abrufen. Wir haben benutzerdefinierte Beitragstypen erstellt und Funktionen erstellt, die von verschiedenen WordPress-Hooks ausgelöst werden. So können wir den Besuchern der Website und in wp-admin alles vorab anzeigen. Die Beiträge werden nicht in wpdb gespeichert, auch nicht als "Proxy" -Post.

Es ist also möglich, dies auf diese Weise zu tun, obwohl wir noch keine Möglichkeit gefunden haben, den Papierkorb zum Löschen zu verwenden, und ich habe schließlich meine eigenen wp-admin-Paginierungslinks mit JQuery hinzugefügt.

Sofern Sie keinen guten Grund dafür haben, stimme ich @MathSmath zu: Erstellen Sie einen benutzerdefinierten Beitragstyp und speichern Sie sie als "echte" WordPress-Beiträge.


-1

Soweit ich weiß, können Sie mit Caspio problemlos erreichen, was Sie tun wollten. Sie müssen nicht einmal eine Datenbank verwenden. Sie bieten eine Online-Datenbank, auf der Sie alle Arten von datenbankgesteuerten Funktionen erstellen können. Hier ist ein Video, das ich von ihnen gesehen habe und das zeigt, wie eine durchsuchbare Kontaktdatenbank in nur wenigen Minuten ohne Codierung auf einer WP-Site erstellt und eingebettet werden kann: https://www.youtube.com/watch?v=BgHV7ZPplo0

Hoffe das hilft!


Dies ist keine Antwort auf die Frage.
Nilambar Sharma
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.