it-swarm.com.de

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

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

Ich habe eine mysql Datenbanktabelle widgets mit ungefähr 10 properties wie id, size, color etc.

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

Am liebsten 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 also zB die size-Eigenschaft oben setzen von der Seite links, später möchte ich sie vielleicht rechts unten einfügen).

Was wäre der beste Weg, um die widgets zu speichern, abzurufen, indem so viele Wordpress eingebaute Funktionen verwendet werden, und wie kann ich dieses flexible Layout auch erhalten?

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

8
JanWillem

Genau dafür gibt es benutzerdefinierte Beitragstypen .

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 Ihre vorhandenen Widgets als regulären WP Inhalt hinzufügen und Standard-WordPress-Funktionen und verwenden Vorlagen, um sie abzufragen und anzuzeigen.

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

8
MathSmath

Befindet sich diese Tabelle in derselben Datenbank wie Ihre WordPress-Installation, können Sie $wpdb verwenden, um Daten von ihr abzurufen. Andernfalls können Sie Ihr eigenes wpdb-Objekt mit Verbindungsdetails für eine andere Datenbank instanziieren.

Ich bin mir nicht sicher, was Sie unter Widgets verstehen. Klingt in diesem Fall nicht so wie bei WordPress-Widgets? Da ich diesbezüglich keine Ahnung habe, habe ich keine Vorschläge, wie ich mit Vorlagen umgehen soll.

3
Rarst

FWIW, wir haben so etwas gemacht, in dem wir die Daten von einer externen Datenquelle beziehen. Wir haben benutzerdefinierte Post-Typen und Funktionen erstellt, die von verschiedenen WordPress-Hooks ausgelöst werden, mit dem Ergebnis, dass wir den Site-Besuchern und in wp-admin alles von vornherein anzeigen können. Die Posts werden nicht in wpdb gespeichert, auch nicht als "Proxy" -Posts.

Es ist also IS möglich, dies auf diese Weise zu tun, obwohl wir noch nicht herausgefunden haben, wie wir sie mit dem Papierkorb löschen können, und ich habe schließlich meine eigenen wp-admin-Paginierungslinks mit JQuery hinzugefügt.

Ich stimme @MathSmath zu, es sei denn, Sie haben einen sehr guten Grund, dies so zu tun: Erstellen Sie einen benutzerdefinierten Beitragstyp und speichern Sie diese als "echte" WordPress-Beiträge.

1
PapaFreud