Početna » WordPress » Mass Find & Zamijeni WordPress baze podataka - jednostavan način

    Mass Find & Zamijeni WordPress baze podataka - jednostavan način

    Postoji nekoliko prilika u kojima moramo promijenite URL-ove u našoj bazi podataka WordPress web-mjesta. Na primjer, to trebamo učiniti nakon migracije WordPress baze podataka s jednog mjesta, npr. od http://acme.com udaljenom mjestu proizvodnje, na http://acme.dev web-mjesta lokalnog razvoja na našem računalu.

    WordPress.org sadrži veliki broj dodataka, kao što su WP DBManager i WP Migrate DB, a tu su i brojni alati treće strane koji vam omogućuju da uvesti bazu podataka lako. Lukav dio je to promijeniti svaku instancu URL-a unutar baze podataka.

    Nakon migracije baze podataka, URL-ovi unutar nje još uvijek ukazuju na staru stranicu, u ovom slučaju acme.com. Stari URL možete pronaći u wp_options tablica, postavljena kao vrijednost SITEURL i Dom opcija, a vjerojatno je i ugrađen u nekoliko drugih redaka i tablica u bazi podataka. Ti stari URL-ovi mogu spriječiti pravilno funkcioniranje vaše web-lokacije, tako da je potrebno promijenite ih u novi URL, u našem primjeru acme.dev.

    SLIKA: nastavak Pro, pretraživanje vrijednosti baze podataka

    U ovom trenutku, pristup našem razvojnom mjestu na adresi acme.dev će jednostavno voditi na praznu stranicu.

    Kako ćemo promijeniti sve te URL-ove u bazi podataka?

    Pokretanje SQL upita

    Obično bi ljudi pokrenuli sljedeći SQL upit koji zamjenjuje vrijednosti SITEURL i Dom u opcijama wp_options stol.

     UPDATE wp_options SET option_value = zamijeni (option_value, 'http://acme.com', 'http://acme.dev') GDJE option_name = 'home' ILI option_name = 'siteurl'; 

    Nakon toga, oni koriste drugi SQL upit za zamjenu svih URL pojavljivanja u wp_posts tablice, naime u POST_CONTENT stupca svakog retka.

     UPDATE wp_posts SET post_content = zamijeni (post_content, 'http://acme.com', 'http://acme.dev'); 

    Pokretanje ovih upita djelotvorno je rješenje, ali u isto vrijeme nije prikladno. Moglo bi biti čak i nervozno, budući da se baza podataka može preokrenuti zbog jednostavnog nadzora u upitu.

    Utjecati na WP-CLI

    Drugi put koji možemo učiniti, a za koji sam otkrio da je zgodnija alternativa, jest iskorištavanjem WP-CLI naredbenog retka. To znači da ćete morati instalirati WP-CLI.

    Pod pretpostavkom da imate instaliran WP-CLI i imate wp naredba dostupna kao pseudonim, idite do direktorija gdje se nalaze vaše WordPress stranice.

    Zatim pokrenite sljedeću naredbu:

    wp search-zamijeni "http://acme.com" http://acme.dev

    Prvi parametar, 'Http://acme.com', je stari unos koji se zamjenjuje drugim, 'Http://acme.dev'.

    Redak za naredbe će pretraživati sve tablice unutar baze podataka, ne samo POST_CONTENT stupcu i wp_options stol, i zamijenite svaku instancu unosa prolazi kroz parametre naredbe.

    Kao što možete vidjeti na slici iznad, napravljeno je ukupno 225 zamjena. I učinili smo to kroz jednostavnu zapovjednu liniju.

    Mislim da je vrijedno spomenuti da možemo koristiti wp pretraživanje-zamjena naredbu, ne samo za zamjenu URL-ova, nego i za bilo koji dio vrijednost pohranjene u bazi podataka. Također možemo ograničiti operaciju na određenu tablicu prosljeđivanjem naziva tablice kao četvrtog parametra, kako slijedi:

    wp search-replace '.jpg ".webp" wp_posts

    Pokretanjem gornje naredbe, pretraživat će se samo wp_posts, tablicu u kojoj se pohranjuju naši sadržaji - postovi, stranice itd. - i zamijenite proširenje slike iz .jpg do .webp.

    WP-CLI čini zapetljanu SQL operaciju intuitivnijom i možete raditi s njom na prikladniji način. Ako želite fino podesiti svoje naredbe, pogledajte dokumentaciju WP-CLI, koja vam daje popis opcija za obavljanje naprednijeg rada s wp pretraživanje-zamjenanaredba.