Med egendefinerte søk kan du gjøre data lesing og / eller manipulasjon du vil ha. Øyeblikkelig åpner en verden med nye muligheter.
De grunnleggende funksjonalitetene i WordPress er fine for de fleste enkle behov, men hva ville du gjøre hvis du vil implementere noen spesifikke behov? Skriver du et plugin kanskje? Da bør du lære hvordan du kan bruke SQL-spørringer i WordPress akkurat nå! De offisielle referansene finnes i WordPress Codex (Custom Queries og WPDB-klassen).
wpdb
KlasseDenne globale WordPress-klassen er nøkkelen for bruk av spørringer. Faktisk bruker hver funksjon denne klassen.
spørsmål
Spørringsfunksjonen trenger en streng som inneholder den egendefinerte spørringen. Returneringsverdien er et heltall som tilsvarer antall rader som er berørt / valgt, og falsk når det oppstår en feil.
$ query = "VELG COUNT (eple) fra frukt"; $ Wpdb-> spør ($ query);
get_results
Denne funksjonen får flere rader når du utfører et søk. Som standard er resultatet av funksjonen en matrise.
$ query = "VELG * FRA wp_terms wt INNER JOIN wp_term_taxonomy wtt ON wt.term_id = wtt.term_id HVOR wtt.taxonomy = 'post_tag' og wtt.count = 0"; $ Wpdb-> get_results ($ query);
get_var
Dette returnerer en variabel fra databasen, men det komplette resultatet av spørringen er cached for senere bruk. Returnerer NULL hvis det ikke ble funnet noe resultat.
$ query = "VELG COUNT (*) FRA brukere"; $ Wpdb-> get_var ($ query);
get_row
En komplett rad vil bli returnert som et resultat av funksjonen, som kan være en gjenstand, en associativ array eller en numerisk indeksert array. NULL er resultatet når ingen matchende data er funnet. result_type
kan være GJENSTAND
, ARRAY_A
eller ARRAY_N
(objekt, assosiativ array eller nummerert array). Offset er et heltall med en standard på 0.
$ query = "SELECT * FROM wp_posts WHERE post_type = 'post'"; $ wpdb-> get_row ($ spørring, ARRAY_A, 3);
get_col
For å få en kolonne, bruk denne funksjonen. Output vil være et dimensjonalt utvalg. Et tomt utvalg vil bli returnert dersom det ikke ble funnet noe resultat. Den andre parameteren er kolonnforskyvningen.
$ query = "SELECT * FROM wp_posts WHERE post_type = 'post'"; $ wpdb-> get_col ($ spørring, 3);
Ifølge php.net manualen:
"De [forberedte spørringer] kan betraktes som en slags kompilert mal for SQL som et program ønsker å kjøre, som kan tilpasses ved hjelp av variable parametere."
Du kan beskytte SQL-spørringer mot SQL-injeksjonsangrep. Kortfattet data i spørringer må være SQL-rømt før spørringen utføres for å forhindre injeksjonsangrep. Dette kan enkelt gjøres med forberedelsesmetoden. I følgende eksempel vil verdiene "10", "ape" og "eple" bli rømt når de brukes i denne metoden.
// Bruk: $ wpdb-> forberede ('spørring' [, value_parameter, value_parameter ...]); $ wpdb-> forespørsel ($ wpdb-> forberede ("INSERT IN to test_table (post_id, animal, food) VALUES (% d,% s,% s)", array (10, "ape", "eple"))) ;
Du kan slå feilmeldinger på og av med show_errors
og hide_errors
funksjoner, men du kan også skrive ut:
$ Wpdb-> show_errors (); $ Wpdb-> hide_errors ();
Slette hurtigbufferen kan gjøres med flush
funksjon.
$ Wpdb-> flush ();
$ wpdb-> sett inn ($ tabell, $ data, $ format); $ wpdb-> insert ('mat', array ('fruit' => 'apple', 'year' => 2012), array ('% s', '% d'));
De brukte parametrene i rekkefølge er:
$ data
. Hvis ikke, vil alle verdier bli behandlet som strenger$ wpdb-> update ('mat', array ('fruit' => 'apple', // streng 'år' => 'value2' // heltall (tall)), array ('ID' => 1) array ('% s', // value1 '% d' // value2), array ('% d'));
De brukte parametrene i rekkefølge er:
Du kan få informasjon om kolonnene av det nyeste resultatet med denne funksjonen. Når en funksjon har returnert en GJENSTAND
og det finnes egenskaper du ikke vet mye om, dette kan være nyttig.
$ wpdb-> get_col_info ('type', offset);
Navn
- kolonne navn (dette er standard)bord
- navnet på tabellen kolonnen tilhørermaks lengde
- Maksimal lengde på kolonnenikke null
- 1 hvis kolonnen ikke kan være NULLWordPress database tabeller kan refereres i wpdb
klasse. Dette er veldig praktisk som tabellnavn kan være annerledes enn standardene. Her er en liste over WordPress database tabell referanser:
$ Wpdb-> innlegg;
$ Wpdb-> postmeta;
$ Wpdb-> kommentarer;
$ Wpdb-> commentmeta;
$ Wpdb-> vilkår;
$ Wpdb-> term_taxonomy;
$ Wpdb-> term_relationships;
$ Wpdb-> brukere;
$ Wpdb-> usermeta;
$ Wpdb-> lenker;
$ Wpdb-> alternativer;
Merk at vi ikke trenger å inkludere prefikset, det er fordelen her hvor wpdb
klassen tar vare på det for oss.
Der har vi det! En referanse for tilpassede søk i WordPress, alt på ett sted for deg.