Pagrindinis » WordPress » Mass Find & Replace WordPress duomenų bazės - paprastas būdas

    Mass Find & Replace WordPress duomenų bazės - paprastas būdas

    Yra keletas atvejų, kai turime pakeiskite URL „WordPress“ svetainės duomenų bazėje. Pavyzdžiui, mes turime tai padaryti perkėlę „WordPress“ duomenų bazę iš vienos svetainės, pvz. nuo http://acme.com nuotolinės gamybos vietoje http://acme.dev mūsų kompiuterio vietinės plėtros svetainė.

    „WordPress.org“ talpina daugybę papildinių, pvz., „WP DBManager“ ir „WP ​​Migrate DB“, taip pat yra keletas trečiųjų šalių įrankių, kurie leidžia importo duomenų bazė lengvai. Sudėtinga dalis keisti kiekvieną URL pavyzdį duomenų bazėje.

    Perkėlus duomenų bazę, URL viduje vis dar nurodykite seną svetainę, šiuo atveju acme.com. Senąjį URL galite rasti „ wp_options lentelė, nustatyta kaip siteurl ir namai parinktys ir tikriausiai taip pat yra įtraukta į kelias duomenų bazės eilutes ir lenteles. Šie seni URL gali trukdyti jūsų svetainei tinkamai veikti, todėl jums reikia pakeiskite juos į naują URL, mūsų pavyzdyje acme.dev.

    IMAGE: Sequel Pro, ieškant duomenų bazės vertės

    Šiuo metu prieigą prie mūsų plėtros svetainės rasite adresu acme.dev tiesiog veda į tuščią puslapį.

    Taigi, kaip pakeisti visus šiuos URL duomenų bazėje?

    SQL užklausos vykdymas

    Paprastai žmonės vykdytų tokį SQL užklausą, kuri pakeistų siteurl ir namai pasirinktys wp_options lentelė.

     UPDATE wp_options SET option_value = pakeiskite (option_value, 'http://acme.com', 'http://acme.dev') WHERE parinktis = 'home' arba parinktis_name = 'siteurl'; 

    Vėliau jie naudoja kitą SQL užklausą, kad pakeistų visus URL įvykius wp_posts lentelė, būtent post_content kiekvienos eilutės stulpelyje.

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

    Šių užklausų vykdymas yra veiksmingas sprendimas, tačiau tuo pačiu metu nėra patogu. Tai gali būti netgi nervai, matydama, kaip duomenų bazė gali paversti „haywire“ dėl paprastos užklausos stebėjimo.

    WP-CLI panaudojimas

    Kitas maršrutas, kurį galime padaryti, ir kurį aš nustatiau kaip patogesnę alternatyvą, yra WP-CLI komandinės eilutės panaudojimas. Tai reiškia, kad turėsite įdiegti WP-CLI.

    Darant prielaidą, kad įdiegėte WP-CLI ir turite wp komandą, kuri yra prieinama kaip slapyvardis, pereikite prie katalogo, kuriame yra jūsų „WordPress“ svetainės failai.

    Tada paleiskite šią komandą:

    wp search-pakeisti „http://acme.com“ http://acme.dev

    Pirmasis parametras, „http://acme.com“, ar senas įrašas turi būti pakeistas antruoju, „http://acme.dev“.

    Komandinė eilutė ieškos visos duomenų bazės lentelės, ne tik post_content stulpelis ir wp_options lentelė, ir pakeisti kiekvieną egzempliorių įrašo parametrai.

    Kaip matote iš pirmiau pateikto ekrano, iš viso buvo padaryta 225 pakeitimų. Ir mes tai padarėme per paprastą komandą.

    Manau, verta paminėti, kad galime naudoti wp paieška pakeiskite komandą, ne tik pakeičiant URL, bet ir bet kurį vertė taip pat saugomi duomenų bazėje. Taip pat galime apriboti operaciją į tam tikrą lentelę, perduodami lentelės pavadinimą kaip ketvirtąjį parametrą:

    wp search-pakeisti „.jpg“ .webp „wp_posts“

    Vykdant pirmiau nurodytą komandą, ji bus ieškoma tik wp_posts, lentelę, kurioje saugomi mūsų turinys - įrašai, puslapiai ir tt - ir pakeiskite vaizdo plėtinį iš .jpg į .webp.

    „WP-CLI“ atlieka susietą „SQL“ operaciją, kuri atrodo patogesnė, ir jūs galite dirbti su ja patogiau. Jei norite sureguliuoti savo komandas, pažvelkite į WP-CLI dokumentaciją, kuri suteikia jums galimybę atlikti išsamesnę operacijų sąrašą su wp paieška pakeiskitekomandą.