Homepage » WordPress » Mass Find & Replace WordPress adatbázisok - az Easy Way

    Mass Find & Replace WordPress adatbázisok - az Easy Way

    Számos alkalomra van szükségünk URL-ek megváltoztatása a WordPress webhelyadatbázisunkban. Például ezt a WordPress adatbázis egyik webhelyről, pl. tól http://acme.com távoli termelési helyszín, a http://acme.dev helyi fejlesztési honlapunkat a számítógépünkön.

    A WordPress.org számos plugint tartalmaz, például a WP DBManager és a WP Migrate DB, és számos olyan harmadik fél eszköze is van, amely lehetővé teszi, hogy import adatbázis könnyen. A trükkös résznek kell minden URL-példány módosítása az adatbázisban.

    Az adatbázis áthelyezése után az URL-ek belsejében találhatóak még mindig a régi oldalra mutat, ebben az esetben acme.com. A régi URL-címet a wp_options táblázatban beállítva siteurl és itthon opciók, és valószínűleg az adatbázis több sorában és táblájában is beágyazódik. Ezek a régi URL-ek végül megakadályozhatják a webhely helyes működését, ezért szükség van rá módosítsa őket az új URL-címre, példánkban acme.dev.

    KÉP: Sequel Pro, adatbázis-érték keresése

    Ezen a ponton elérheti a fejlesztési webhelyet acme.dev egyszerűen vezet egy üres oldalra.

    Szóval hogyan változtatjuk meg ezeket az URL-eket az adatbázisban?

    SQL lekérdezés futtatása

    Általában az emberek az alábbi SQL lekérdezéseket futtatják, amelyek helyettesítik a siteurl és itthon opciók a wp_options asztal.

     UPDATE wp_options SET option_value = helyettesít (option_value, 'http://acme.com', 'http://acme.dev') WHERE opció_neve = 'home' vagy opció_név = 'siteurl'; 

    Ezt követően egy másik SQL lekérdezést használnak az összes URL-előfordulás helyettesítésére wp_posts táblázat, nevezetesen a POST_CONTENT oszlopok.

     UPDATE wp_posts SET post_content = cserélje ki (post_content, 'http://acme.com', 'http://acme.dev'); 

    Ezeknek a lekérdezéseknek a futtatása működőképes megoldás, ugyanakkor nem célszerű. Lehet, hogy még ideg-rázkódás is lehet, látva, hogy az adatbázis miért fordulhat a haywire-re a lekérdezésen belüli egyszerű felügyelet miatt.

    A WP-CLI kihasználása

    Egy másik út, amit tehetünk, és amelyet egy sokkal alternatívabbnak találtam, az a a WP-CLI parancssor kihasználása. Ez azt jelenti, hogy telepítenie kell a WP-CLI-t.

    Feltételezve, hogy telepítette a WP-CLI-t és rendelkezik a wp parancsot, amely alias néven elérhető, keresse meg azt a könyvtárat, ahová a WordPress webhelyfájlok tartózkodnak.

    Ezután futtassa a következő parancsot:

    wp search-helyettesíti a http://acme.com címet http://acme.dev

    Az első paraméter, 'Http://acme.com', a régi bejegyzés helyett a második, 'Http://acme.dev'.

    A parancssor a keresést végzi az adatbázis összes táblázata, nem csak a POST_CONTENT oszlop és wp_options táblázat, és cserélje ki minden példányt a bejegyzés átjárta a parancs paramétereit.

    Ahogy a fenti képernyőről is látható, összesen 225 csere történt. És egy egyszerű parancssoron keresztül tettük meg.

    Szerintem érdemes megemlíteni, hogy használhatjuk wp keresés helyettesítése parancsot, nem csak az URL-ek cseréjére, hanem az összes darabra érték az adatbázisban is tárolható. A műveletet egy bizonyos táblázatba is korlátozhatjuk úgy, hogy a táblázat nevét negyedik paraméterként továbbítjuk:

    wp search-helyettesíti a ".jpg" .webp wp_posts parancsot

    A fenti parancs futtatásával csak a keresést végzi wp_posts, a táblázatot, amely tárolja a tartalmát - bejegyzéseket, oldalakat stb. - és cserélje ki a képkiterjesztést .jpg nak nek .webp.

    A WP-CLI az SQL-műveletet intuitívabbá teszi, és kényelmesebb módon dolgozhat vele. Ha a parancsokat finomhangolni szeretné, nézze meg a WP-CLI dokumentációját, amely az opciók listáját nyújtja a fejlettebb műveletek végrehajtásához a wp keresés helyettesítéseparancs.