Domača » WordPress » Mass Find & Zamenjaj WordPress baze podatkov - na preprost način

    Mass Find & Zamenjaj WordPress baze podatkov - na preprost način

    Obstaja več priložnosti, kjer moramo spremenite naslove URL v naši spletni strani WordPress. To moramo na primer narediti po selitvi baze podatkov WordPress z enega mesta, npr. Iz http://acme.com oddaljene proizvodne enote http://acme.dev spletno mesto lokalnega razvoja na našem računalniku.

    WordPress.org gosti veliko število vtičnikov, kot sta WP DBManager in WP Migrate DB, poleg tega pa obstajajo številna orodja tretjih oseb, ki vam omogočajo, da podatkovne baze uvoza enostavno. Težaven del je spremenite vsak primerek URL-ja znotraj baze podatkov.

    Po selitvi baze podatkov, URL-ji znotraj nje še vedno kažejo na staro mesto, v tem primeru acme.com. Stari URL lahko najdete v wp_options tabela, nastavljena kot vrednost siteurl in doma možnosti in je verjetno tudi vgrajen v več drugih vrsticah in tabelah v bazi podatkov. Ti stari URL-ji lahko sčasoma preprečijo pravilno izvajanje spletnega mesta, zato morate spremenite v novi URL, v našem primeru acme.dev.

    SLIKA: Sequel Pro, iskanje vrednosti baze podatkov

    Na tej točki, dostop do naše razvojne strani na acme.dev preprosto vodil na prazno stran.

    Torej, kako spremeniti vse te URL-je v bazi podatkov?

    Izvajanje poizvedbe SQL

    Običajno bi ljudje izvajali naslednjo poizvedbo SQL, ki nadomešča vrednosti siteurl in doma možnosti wp_options tabela.

     UPDATE wp_options SET option_value = zamenjaj (option_value, 'http://acme.com', 'http://acme.dev') WHERE option_name = 'home' ALI option_name = 'siteurl'; 

    Nato uporabljajo drugo poizvedbo SQL za zamenjavo vseh pojavitev URL-jev v wp_posts tabele, in sicer v post_content stolpca vsake vrstice.

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

    Izvajanje teh poizvedb je uporabna rešitev, vendar obenem ni priročno. Lahko bi bilo celo razburjenje z živci, saj lahko zaradi preprostega nadzora nad poizvedbo baza podatkov postane neprijetna..

    Izkoriščanje WP-CLI

    Druga pot, ki jo lahko naredimo in za katero sem ugotovila, da je bolj priročna alternativa, je s pomočjo ukazne vrstice WP-CLI. To pomeni, da boste morali namestiti WP-CLI.

    Ob predpostavki, da ste namestili WP-CLI in imate wp Ukaz, ki je dostopen kot vzdevek, se pomaknite do imenika, v katerem so vaše datoteke WordPress.

    Nato zaženite ta ukaz:

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

    Prvi parameter, »http://acme.com«, je stari vnos, ki ga je treba zamenjati z drugim, »http://acme.dev«.

    Ukazna vrstica bo iskala vse tabele v bazi podatkov, ne samo post_content stolpcu in wp_options tabela, in. \ t zamenjajte vsak primer vnosa, ki je potekal skozi parametre ukaza.

    Kot lahko vidite iz zgornjega posnetka, je bilo opravljenih 225 zamenjav. In to smo naredili s preprostim ukazom.

    Mislim, da je vredno omeniti, da lahko uporabimo wp search-replace ukaz, ne samo za zamenjavo URL-jev, temveč tudi za vsak kos vrednost shranjene tudi v bazi podatkov. Operacijo lahko omejimo tudi na določeno tabelo tako, da podamo ime tabele kot četrti parameter, kot sledi:

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

    Z izvajanjem zgornjega ukaza bo samo iskal wp_posts, tabelo, v kateri so shranjene naše vsebine - objave, strani itd .jpg do .webp.

    WP-CLI naredi zapleteno SQL operacijo bolj intuitivno in z njo lahko delate na bolj priročen način. Če želite natančno nastaviti ukaze, si oglejte dokumentacijo WP-CLI, ki vam ponuja seznam možnosti za izvedbo naprednejšega delovanja s wp search-replaceukaz.