Cum să integrezi un tabel personalizat în baza de date WordPress și să folosești funcțiile WordPress
Sunt pe Wordpress 3.0.4
și am dificultăți în a decide ce cale să urmez. Iată problema mea:
Am un tabel în baza de date mysql
numit widgets
, cu aproximativ 10 proprietăți
precum id, dimensiune, culoare etc.
Acum aș dori să integrez acest tabel în Wordpress
, preferabil într-un mod în care pot obține liste paginate ale widget-urilor
, să afișez informații despre un singur widget și să am un layout flexibil.
De preferat, aș dori să pot modifica un șablon personalizat astfel încât să pot schimba poziția fiecărei proprietăți în pagină (De exemplu, poate aș dori să pun proprietatea dimensiune în partea de sus stânga a paginii, iar mai târziu să o pot muta în dreapta jos).
Care ar fi cea mai bună modalitate de a stoca widget-urile
, de a le accesa folosind cât mai multe funcții native Wordpress
și cum pot obține acest layout flexibil?
Am scris plugin-uri proprii înainte, așa că am cunoștințe mai mult decât de bază în Wordpress/PHP/MySQL
.

Exact pentru asta sunt concepute tipurile personalizate de postări.
Dacă ar fi proiectul meu, aș renunța la tabelul personalizat pe care îl ai, aș configura un tip personalizat de postare pentru "widget-urile" tale, aș adăuga toate widget-urile existente ca conținut standard WP și aș folosi funcțiile și șabloanele standard WordPress pentru a le interoga și afișa.
Este o investiție pe termen scurt (dacă ai multe date existente care trebuie migrate), dar pe termen lung este cel mai bine să ai tot conținutul în tabelele standard WordPress și să-l afișezi folosind funcțiile și șabloanele standard WordPress - decât dacă există un motiv foarte convingător pentru a nu face asta.

Mulțumesc MathSmath, în acest caz vrei să spun că ar trebui să convertesc datele din tabel în postări? Presupun că în acest caz ar trebui să folosesc metadatele postărilor pentru a avea flexibilitate în aspect?

Da, ai putea folosi metadatele postărilor pentru a adăuga orice număr de câmpuri personalizate (care corespund coloanelor din tabelul tău) și apoi, folosind acestea, să creezi diferite aspecte în funcție de ce "widget" are ce metadate.

Dacă această tabelă se află în aceeași bază de date ca și instalarea WordPress, poți folosi $wpdb
pentru a obține date din ea. În caz contrar, poți instantia propriul obiect wpdb
cu detaliile de conectare pentru o altă bază de date.
Nu sunt sigur ce înțelegi prin widgets în acest caz, nu pare să fie același lucru cu widget-urile din WordPress? Deoarece nu sunt clar în legătură cu asta, nu am sugestii despre cum să gestionezi template-ul pentru acele elemente.

Apropo, am făcut ceva similar unde extragem datele dintr-o sursă externă. Am creat tipuri personalizate de postări (custom post types) și funcții declanșate de diverse hook-uri WordPress, astfel încât să putem afișa conținutul atât pentru vizitatori cât și în wp-admin. Postările nu sunt stocate în wpdb, nici măcar ca postări "proxy".
Deci ESTE posibil să faci așa, deși încă nu am găsit o metodă de a folosi coșul de gunoi pentru ștergere, așa că am adăugat manual link-uri de paginare în wp-admin folosind JQuery.
Dacă nu ai un motiv foarte bun să faci așa, sunt de acord cu @MathSmath: creează un tip personalizat de postare și stochează-le ca postări "reale" în WordPress.

Din câte știu, ceea ce dorești să realizezi poate fi ușor obținut folosind Caspio. Nici măcar nu trebuie să utilizezi nicio bază de date. Ei oferă o bază de date online pe care poți construi tot felul de funcționalități bazate pe date. Iată un videoclip pe care l-am văzut de la ei și care arată cum să construiești și să integrezi o bază de date de contacte căutabilă pe un site WordPress în doar câteva minute, fără nicio codare: https://www.youtube.com/watch?v=BgHV7ZPplo0
Sper că acest lucru te ajută!
