Laman » WordPress » Cari & Ganti Pangkalan Data WordPress - Cara Mudah

    Cari & Ganti Pangkalan Data WordPress - Cara Mudah

    Terdapat beberapa keadaan di mana kita perlu menukar URL dalam pangkalan data tapak web WordPress kami. Sebagai contoh, kita perlu melakukan ini selepas memindahkan pangkalan data WordPress dari satu tapak, cth. daripada http://acme.com tapak pengeluaran jauh, kepada http://acme.dev laman web pembangunan tempatan di komputer kami.

    WordPress.org menjadi tuan rumah sejumlah besar plugin, seperti WP DBManager dan WP Migrate DB, dan terdapat juga beberapa alat pihak ke-3 yang membolehkan anda pangkalan data import dengan mudah. Bahagian yang rumit perlu ubah setiap contoh URL dalam pangkalan data.

    Selepas memindahkan pangkalan data, URL di dalamnya masih menunjuk ke laman lama, dalam kes ini kepada acme.com. Anda boleh mencari URL lama di dalam wp_options jadual, ditetapkan sebagai nilai siteurl dan rumah pilihan, dan ia mungkin juga tertanam di beberapa baris dan jadual lain dalam pangkalan data. URL lama ini mungkin menghalang laman web anda daripada berjalan dengan betul, jadi anda perlu ubahnya ke URL baharu, dalam contoh kami kepada acme.dev.

    IMAGE: Sequel Pro, mencari nilai pangkalan data

    Pada ketika ini, mengakses tapak pembangunan kami di acme.dev hanya akan memimpin ke halaman kosong.

    Jadi bagaimana kita menukar semua URL ini dalam pangkalan data?

    Menjalankan SQL Query

    Biasanya, orang akan menjalankan Query SQL berikut yang menggantikan nilai-nilai siteurl dan rumah pilihan dalam wp_options jadual.

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

    Seterusnya, mereka menggunakan SQL Query yang lain untuk menggantikan semua kejadian URL di wp_posts jadual, iaitu di post_content lajur setiap baris.

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

    Menjalankan pertanyaan ini adalah penyelesaian yang boleh dilaksanakan, namun pada masa yang sama, tidak mudah dilakukan. Ia boleh menjadi saraf-wracking, melihat bagaimana pangkalan data boleh berubah haywire kerana pengawasan mudah dalam pertanyaan.

    Memanfaatkan WP-CLI

    Satu lagi laluan yang boleh kita lakukan, dan yang saya dapati menjadi alternatif yang lebih berguna, adalah dengan memanfaatkan baris perintah WP-CLI. Ini bermakna anda perlu memasang WP-CLI.

    Dengan mengandaikan bahawa anda telah memasang WP-CLI dan mempunyai wp arahan boleh diakses sebagai alias, menavigasi ke direktori tempat fail laman WordPress anda berada.

    Kemudian, jalankan arahan berikut:

    wp cari-ganti 'http://acme.com "http://acme.dev

    Parameter pertama, 'http://acme.com', adalah catatan lama yang akan digantikan dengan yang kedua, 'http://acme.dev'.

    Barisan arahan akan mencari semua jadual dalam pangkalan data, bukan sahaja post_content lajur dan wp_options jadual, dan menggantikan setiap contoh kemasukan yang diluluskan melalui parameter arahan.

    Seperti yang anda dapat lihat dari tangkapan skrin di atas, sejumlah 225 penggantian telah dibuat. Dan kita telah melakukannya melalui satu baris arahan yang mudah.

    Saya fikir ia patut disebut bahawa kita boleh menggunakannya wp cari-ganti perintah, bukan sahaja untuk menggantikan URL, tetapi sebilangan kecil nilai disimpan dalam pangkalan data juga. Kami juga boleh menghadkan operasi ke dalam jadual tertentu dengan meluluskan nama jadual sebagai parameter keempat, seperti berikut:

    wp cari-ganti '.jpg ".webp' wp_posts

    Menjalankan arahan di atas, ia hanya akan mencari wp_posts, jadual yang menyimpan kandungan kami - jawatan, halaman, dan sebagainya - dan gantikan pelanjutan imej dari .jpg kepada .webp.

    WP-CLI membuat operasi SQL tertindas kelihatan lebih intuitif, dan anda boleh bekerja dengannya dengan cara yang lebih mudah. Sekiranya anda ingin menyesuaikan arahan anda, lihat dokumentasi WP-CLI, yang memberikan anda senarai pilihan untuk melakukan operasi yang lebih maju dengan wp cari-gantiperintah.