Crearea propriilor tabele în WordPress bază de date

Crearea propriilor tabele în WordPress bază de date

În acest articol, vom discuta despre cum să creați un tabel din baza de date WordPress, precum și modul în care puteți obține pentru a adăuga și elimina informațiile din tabelele noastre.

Pentru început, cred că este necesar să spunem că în WordPress, există 2 tipuri de date care urmează să fie stocate.

Primul - este informația de instalare. așa-numitele setări (opțiune de utilizator), care vorbesc în acest articol: salvează setările în WordPress. Aceste date sunt de obicei stocate în baza de date atunci când modelul de activare sau fișa nu schimbă în mod frecvent.

Al doilea - datele, informațiile pe care care pot fi adăugate, modificate și recuperate în orice moment în timpul exploatării dop (sau șablon). Pentru astfel de informații, și trebuie să creați tabelele în baza de date. Asta WordPress acest tip de date stocate vom discuta în acest articol.

Mai departe în mod direct la cazul.

Crearea tabelelor din baza de date

Înainte de a crea masa noastră să vorbim despre unele dintre nuanțele pe care ar trebui să fie luate în considerare.

Prefixul tabelelor din baza de date -cu instalare WordPress, utilizatorului i se solicită să se înregistreze un prefix pentru tabelele din baza de date. Implicit, «wp_«. De asemenea, acest prefix poate fi schimbat în «wp-config.php» fișier. În acest sens, nu știm dinainte ce ar fi în tabelul de prefix de pe site-ul de utilizator. Prefik pentru tabele WordPress pot fi accesate prin variabila $ wpdb la nivel mondial (trebuie să fie declarate în prealabil), cum ar fi atât wpdb- $> prefix. Aici este un exemplu de a obține prefixul tabelelor din WordPress.

Acum e timpul să vorbim direct despre modul în care vom fi adăugarea la masa noastră în baza de date. Nu vom face direct interogarea SQL la baza de date, dar în loc să utilizați built-in funcția de WordPress dbDelta. Această caracteristică va face adăugarea mesei este mai sigur, deoarece este foarte meticulos se aplică datelor. Doar ia în considerare faptul că funcția de cost dbDelta este în fișierul wp-admin / include / upgrade.php, care nu este activată în mod implicit, și trebuie să-l conectați manual.

Înainte de adăugarea unui tabel de exemplu folosind dbDelta. Vreau să subliniez câteva aspecte legate de activitatea sa:

  • În termeni SQL, trebuie să scrie fiecare câmp pe o linie separată.
  • Necesită două spații între cuvinte, cheie primară, și definirea cheii primare.
  • Trebuie să utilizați tasta de cuvinte cheie. mai degrabă decât indexul său sinonim. De asemenea, trebuie să desemneze cel puțin o cheie.

Ei bine, acum trecem la distracție, acesta este un exemplu:

Acum hai sa vorbim mai multe despre cum să adăugați date într-un tabel de arbitrare.

Să începem cu faptul că tabelul pe care le adăugați date numite «wp_onwp_price« (wp_ - acest prefix poate fi diferit, sa discutat mai sus). Matricea este format din rânduri id (autoincrement) - completate automat, id_user - utilizator id, id_product - ID de produs, preț - prețul și data - data.

Acum, un pic despre acțiunile pe care le realizăm în acest cod. Noi folosim onwp_insert_item funcția () - Trimite 3 valoare de $ id_user, $ id_product, $ preț. Noi nu trece id-ul - deoarece este generat automat (atunci când un tabel se adaugă la baza de date a fost înregistrată: id MEDIUMINT (9) NOT AUTO_INCREMENT NULL) și data - valoarea pe care o umple data curentă. Toate cele trei variabile $ id_user, $ id_product, $ preț înainte de a scrie la baza de date folosind $ wpdb-> insert am proces utilizând esc_sql. Acest lucru se face pentru securitate. esc_sql - pregătește un șir de caractere pentru a fi utilizat într-o interogare SQL. Acesta protejează împotriva SQL Injection (PHP pentru addslashes tip () - funcționează numai cu matrice). În loc. Puteți utiliza wpdb- $> pregăti (), mai multe detalii aici: wpdb Class.

După procesarea datelor, obținem numele complet al tabelului cu prefixul: $ table_name = $ wpdb-> get_blog_prefix (). 'Onwp_price';

$ Wpdb-> Inserare

Și completează efectul este adăugarea imediată a datelor la o masă. Funcția $ wpdb-> Inserare ($ tabel, date $, format $) - adaugă un rând la masă și ia următorii parametri:

tabel (string) Numele tabelului în care vor fi introduse datele.
date (șir) de date care urmează să fie inserat ( „coloană în cazul în care pentru a insera“ => „care încorpora“).
Format (string) format de date care va fi asociată cu valoarea specificată la datele de parametrul $. Dacă nu specificați, pentru toate valorile de $ date vor fi specificate în format șir de caractere. Posibile formate de date:% s - șirul de caractere; . - întreg și f% - numărul fracționar. Când specificați formatul, WordPress convertește datele transmise în formatul specificat înainte de a salva datele în baza de date.

tabel de actualizare

Dacă aveți nevoie de brusc pentru a actualiza tabelul, de exemplu, trebuie să adăugați coloane noi. Că aceasta nu este o problemă. Doar au nevoie pentru a efectua o interogare SQL ca atunci când este adăugat un tabel la baza de date. Atât datele din tabel (tabelul cu același nume) se înlocuiește. Încărcările duplicat codul nu va, acesta este un pic mai devreme în acest articol.

întrebări despre

Dacă ați devenit interesat de acest subiect, puteți vedea cele mai frecvente întrebări cu răspunsuri cu privire la acest subiect: