Beranda » WordPress » Massa Temukan & Ganti Database WordPress - Cara Mudah

    Massa Temukan & Ganti Database WordPress - Cara Mudah

    Ada beberapa kesempatan di mana kita harus melakukannya ubah URL di basis data situs web WordPress kami. Misalnya, kita perlu melakukan ini setelah memigrasi basis data WordPress dari satu situs, mis. dari http://acme.com lokasi produksi jarak jauh, ke http://acme.dev situs web pengembangan lokal di komputer kita.

    WordPress.org menjadi tuan rumah sejumlah besar plugin, seperti WP DBManager dan WP Migrate DB, dan ada juga sejumlah alat pihak ke-3 yang memungkinkan Anda untuk impor basis data dengan mudah. Bagian yang sulit adalah harus ubah setiap instance URL di dalam basis data.

    Setelah memigrasi basis data, URL di dalamnya masih menunjuk ke situs lama, dalam hal ini untuk acme.com. Anda dapat menemukan URL lama di wp_options tabel, tetapkan sebagai nilai dari alamat URL dan rumah opsi, dan itu mungkin juga tertanam di sepanjang beberapa baris dan tabel lain dalam database. URL lama ini pada akhirnya dapat mencegah situs Anda berjalan dengan baik, jadi Anda harus melakukannya ubah ke URL baru, dalam contoh kita untuk acme.dev.

    IMAGE: Sequel Pro, mencari nilai basis data

    Pada titik ini, mengakses situs pengembangan kami di acme.dev hanya akan memimpin ke halaman kosong.

    Jadi bagaimana kita mengubah semua URL ini dalam basis data?

    Menjalankan SQL Query

    Biasanya, orang akan menjalankan SQL Query berikut yang menggantikan nilai alamat URL dan rumah opsi dalam wp_options meja.

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

    Selanjutnya, mereka menggunakan SQL Query lain untuk menggantikan semua kemunculan URL di wp_posts tabel, yaitu di isi post_content kolom setiap baris.

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

    Menjalankan kueri ini adalah solusi yang bisa diterapkan, namun pada saat yang sama, tidak nyaman untuk dilakukan. Itu bisa jadi sangat menegangkan, melihat bagaimana database bisa menjadi rusak karena pengawasan sederhana dalam kueri.

    Memanfaatkan WP-CLI

    Rute lain yang bisa kami lakukan, dan yang menurut saya merupakan alternatif yang lebih praktis, adalah dengan meningkatkan baris perintah WP-CLI. Ini berarti Anda harus menginstal WP-CLI.

    Dengan asumsi Anda telah menginstal WP-CLI dan memiliki wp perintah dapat diakses sebagai alias, arahkan ke direktori tempat file situs WordPress Anda berada.

    Kemudian, jalankan perintah berikut:

    wp search-replace 'http://acme.com "http://acme.dev

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

    Baris perintah akan mencari semua tabel dalam database, tidak hanya itu isi post_content kolom dan wp_options meja, dan ganti setiap instance entri melewati parameter perintah.

    Seperti yang dapat Anda lihat dari tangkapan layar di atas, total 225 penggantian telah dilakukan. Dan kami telah melakukannya melalui garis perintah sederhana.

    Saya pikir perlu disebutkan bahwa kita dapat menggunakan ganti pencarian-wp perintah, tidak hanya untuk mengganti URL, tetapi bagian dari nilai disimpan dalam database juga. Kami juga dapat membatasi operasi ke tabel tertentu dengan mengirimkan nama tabel sebagai parameter keempat, sebagai berikut:

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

    Menjalankan perintah di atas, itu hanya akan mencari wp_posts, tabel yang menyimpan konten kami - pos, halaman, dll. - dan ganti ekstensi gambar dari .jpg untuk .webp.

    WP-CLI membuat operasi SQL kusut terlihat lebih intuitif, dan Anda dapat bekerja dengannya dengan cara yang lebih nyaman. Jika Anda ingin menyempurnakan perintah Anda, lihat dokumentasi WP-CLI, yang memberi Anda daftar opsi untuk melakukan operasi yang lebih maju dengan ganti pencarian-wpperintah.