Massan etsiminen ja korvaaminen WordPress-tietokannat - helppo tapa
Meillä on useita tilaisuuksia vaihda URL-osoitteita WordPress-sivustosi tietokannassamme. Esimerkiksi meidän on tehtävä tämä, kun olet siirtänyt WordPress-tietokannan yhdestä sivustosta, esim. alkaen http://acme.com
etätyömaalla http://acme.dev
paikallisen kehityksen verkkosivustomme tietokoneessamme.
WordPress.org -palvelimessa on suuri määrä laajennuksia, kuten WP DBManager ja WP Migrate DB, ja on myös useita kolmannen osapuolen työkaluja, joiden avulla voit tuontitietokanta helposti. Hankala osa on vaihda jokaista URL-osoitetta tietokannan sisällä.
Kun olet siirtänyt tietokannan, sen sisällä olevat URL-osoitteet osoita edelleen vanhaan sivustoon, tässä tapauksessa acme.com
. Saatat löytää vanhan URL-osoitteen wp_options
taulukko, joka asetetaan arvoksi SITEURL
ja Koti
vaihtoehtoja, ja se on todennäköisesti myös upotettu useisiin muihin tietokannan riveihin ja taulukoihin. Nämä vanhat URL-osoitteet saattavat ehkä estää sivustosi toimivuuden, joten sinun täytyy vaihda ne uuteen URL-osoitteeseen, esimerkissämme acme.dev
.
Tässä vaiheessa pääset kehityskeskukseen osoitteeseen acme.dev
yksinkertaisesti johtaa tyhjälle sivulle.
Joten miten muutamme kaikki nämä tietokannan URL-osoitteet?
SQL-kyselyn suorittaminen
Yleensä ihmiset suorittavat seuraavan SQL-kyselyn, joka korvaa arvot SITEURL
ja Koti
vaihtoehtoja wp_options
pöytä.
UPDATE wp_options SET option_value = korvaa (option_value, 'http://acme.com', 'http://acme.dev') WHERE option_name = 'home' tai vaihtoehto_nimi = 'siteurl';
Myöhemmin he käyttävät toista SQL-kyselyä korvaamaan kaikki wp_posts
taulukossa, nimittäin POST_CONTENT
kunkin rivin sarake.
UPDATE wp_posts SET post_content = korvaa (post_content, 'http://acme.com', 'http://acme.dev');
Näiden kyselyjen suorittaminen on toimiva ratkaisu, mutta samalla ei ole kätevää. Se voi olla jopa hermostunut, nähdessään, miten tietokanta voi kääntyä haywiren kyselyn yksinkertaisen valvonnan takia.
WP-CLI: n hyödyntäminen
Toinen reitti, jota voimme tehdä ja jonka olen löytänyt kätevämmäksi vaihtoehdoksi, on WP-CLI-komentorivin hyödyntäminen. Tämä tarkoittaa sitä, että sinun on asennettava WP-CLI.
Jos olet asentanut WP-CLI: n ja sinulla on WP
komento, joka on saatavana aliaksena, siirry hakemistoon, jossa WordPress-sivustosi tiedostot sijaitsevat.
Suorita sitten seuraava komento:
wp haku-korvaa 'http://acme.com' http://acme.dev
Ensimmäinen parametri, 'Http://acme.com'
, on vanha merkintä korvattava toisella, 'Http://acme.dev'
.
Komentorivi etsii kaikki tietokannan taulukot, ei vain POST_CONTENT
sarake ja wp_options
taulukko, ja korvaa jokainen tapaus komennon parametrien kautta.
Kuten yllä olevasta kuvakaappauksesta voi nähdä, yhteensä 225 vaihtoehtoa on tehty. Ja olemme tehneet sen yksinkertaisen komentorivin kautta.
Mielestäni on syytä mainita, että voimme käyttää wp-haku-korvaa
komento, ei vain URL-osoitteiden korvaamiseen, vaan mikä tahansa kappale arvo tallennetaan myös tietokantaan. Voimme myös rajoittaa operaation tiettyyn taulukkoon siirtämällä taulukon nimen neljänneksi parametriksi seuraavasti:
wp search-korvaa '.jpg ".webp' wp_posts
Käyttäen yllä olevaa komentoa se etsii vain wp_posts
, taulukko, joka tallentaa sisällön - viestit, sivut jne. - ja korvaa kuvan laajennuksen kohdasta .jpg
että .WebP
.
WP-CLI tekee sotkeutuneen SQL-toiminnon, joka näyttää intuitiivisemmalta ja voit työskennellä sen kanssa helpommin. Jos haluat hienosäätää komentojasi, tutustu WP-CLI: n dokumentaatioon, jossa on luettelo vaihtoehdoista, joilla voit suorittaa kehittyneemmän toiminnon. wp-haku-korvaa
komento.