Memasang, Memperbarui, dan Mengelola Plugin WordPress Dengan WP-CLI
Diterbitkan: 2022-07-26WP-CLI memungkinkan Anda untuk melakukan hampir semua hal yang dapat Anda lakukan di admin WordPress, tetapi di baris perintah. Ini menghemat banyak waktu dan memberikan alur kerja yang lebih bersih. Anda dapat menggunakan WP-CLI untuk mengelola inti WordPress, menjalankan pembaruan tema, mengelola instalasi multisite, dan banyak lagi. Pada artikel ini kita akan berkonsentrasi pada salah satu kasus penggunaan yang paling umum, mengelola plugin WordPress Anda.
Perintah WP-CLI semuanya terstruktur dengan cara yang sama. Selalu ada perintah induk (seperti wp plugin
) dan subperintah (seperti install
), diikuti oleh parameter dan sakelar. Kami akan berkonsentrasi pada wp plugin
dan sub-perintahnya di artikel ini, tetapi Anda dapat melihat penjelasan yang lebih rinci dalam panduan kami untuk struktur perintah WP-CLI.
Artikel itu menggunakan perintah wp plugin
sebagai contoh, menyoroti cara menginstal dan mengaktifkan plugin menggunakan WP-CLI. Pada artikel ini kita akan menyelam lebih dalam tentang bagaimana mengelola plugin kita menggunakan antarmuka baris perintah WordPress.
Memasang dan Mengaktifkan Plugin
Saat ini ada 16 sub-perintah resmi untuk perintah induk wp plugin
. Di bagian ini kita akan membahas sub-perintah untuk instalasi dan aktivasi. Kami juga akan melihat cara menginstal dan mengaktifkan plugin dengan satu perintah. Kita juga akan melihat cara memasang plugin dari sumber selain Direktori Plugin WordPress.
Masukkan wp plugin install
diikuti oleh slug resmi plugin untuk menginstal versi terbaru:
instal plugin wp hello-dolly Memasang Hello Dolly (1.7.2) Mengunduh paket instalasi dari https://downloads.wordpress.org/plugin/hello-dolly.1.7.2.zip... Menggunakan file cache '/Users/eriktorsner/.wp-cli/cache/plugin/hello-dolly-1.7.2.zip'... Keaslian hello-dolly.1.7.2.zip tidak dapat diverifikasi karena tidak ada tanda tangan yang ditemukan. Membongkar paket... Memasang plugin... Plugin berhasil diinstal. Sukses: Memasang 1 dari 1 plugin.
Selanjutnya, kita mengaktifkan plugin menggunakan perintah wp plugin activate
:
plugin wp mengaktifkan hello-dolly Plugin 'hello-dolly' diaktifkan. Sukses: Mengaktifkan 1 dari 1 plugin.
Mencari Plugin Slug
Perhatikan bahwa slug seringkali berbeda dari nama plugin. Siput terlihat di URL plugin di Direktori Plugin WordPress, tetapi Anda dapat mempercepat alur kerja Anda dengan tetap menggunakan baris perintah dan menggunakan subperintah search
, diikuti oleh dua parameter dan nilainya: --per-page=1
dan --fields=name,slug
.
Parameter --per-page
opsional memberi tahu WP-CLI berapa banyak hasil yang akan ditampilkan kepada kami, dalam hal ini hanya satu. Ini akan default untuk menampilkan 10 hasil jika Anda tidak memberikan parameter ini. Saya telah memberikan nilai 1
di sini karena saya hanya ingin melihat hasil yang paling relevan.
Parameter --fields
memberi tahu WP-CLI untuk meminta bidang tertentu dari API, dalam hal ini nama plugin dan slug. Ada berbagai macam nilai yang dapat Anda gunakan di sini, termasuk version
untuk melihat nomor versi saat ini, dan rating
untuk melihat peringkat plugin sebagai persentase dan jumlah total peringkat. Anda dapat menggunakan --field=<field>
jika Anda hanya ingin menampilkan hasil dari satu bidang. Anda harus menggunakan parameter --fields
atau --field
dengan perintah wp plugin search
.
pencarian plugin wp "wp offload media" --per-page=1 --fields=name,slug Sukses: Menampilkan 1 dari 66 plugin. +------------------------------------------------- -------------------------------+------------------ --------+ | nama | siput | +------------------------------------------------- -------------------------------+------------------ --------+ | WP Offload Media Lite untuk Amazon S3, DigitalOcean Spaces, dan Google Cloud Sto | amazon-s3-and-cloudfront | | marah | | +------------------------------------------------- -------------------------------+------------------ --------+
Karena respons untuk perintah ini adalah daftar, ini adalah kesempatan bagus untuk menunjukkan apa yang bisa dilakukan parameter --format
. Mari kita minta WP-CLI untuk memberi kita daftar itu dalam format JSON, dan kemudian menyalurkannya melalui utilitas jq untuk pemformatan yang lebih cantik. Utilitas jq adalah prosesor JSON baris perintah ringan yang dapat Anda instal di tautan di atas, atau coba online. Pastikan untuk menghilangkan | jq
| jq
dari perintah di bawah ini jika Anda belum menginstalnya.
Saat kami meminta output berformat JSON, WP-CLI menghilangkan pesan status agar JSON tidak rusak:
$ wp plugin cari "wp offload media" --per-page=1 --fields=name,slug --format=json | jq [ { "name": "WP Offload Media Lite untuk Amazon S3, DigitalOcean Spaces, dan Google Cloud Storage", "slug": "amazon-s3-and-cloudfront" } ]
Untuk mengaktifkan plugin setelah diinstal, gunakan wp plugin activate
diikuti oleh slug resmi plugin.
Menginstal dan Mengaktifkan Plugin Secara Bersamaan
Ketika datang untuk mengelola plugin Anda dengan WP-CLI, salah satu keuntungan besar adalah Anda dapat menginstal dan mengaktifkan plugin dengan satu perintah. Meskipun activate
dapat digunakan sebagai subperintah dengan wp plugin
, itu juga dapat digunakan sebagai parameter dengan perintah wp plugin install
:
# Menginstal dan mengaktifkan plugin secara bersamaan instal plugin wp --aktifkan hello-dolly
Memasang Versi Plugin Tertentu
Bukan hal yang aneh jika Anda ingin menginstal versi plugin tertentu untuk tujuan pengujian. Selama versi yang Anda inginkan masih tersedia di Direktori Plugin WordPress, Anda dapat memilih versi apa pun yang Anda inginkan:
# Memasang versi plugin tertentu instal plugin wp woocommerce --version=5.5.3
Memasang Plugin Dari Lokasi Lain
Direktori Plugin WordPress bukan satu-satunya tempat kita bisa mendapatkan plugin. Kami juga dapat menginstal plugin langsung dari sistem file. Sebagian besar waktu ketika Anda membeli plugin premium, Anda mendapatkan pengiriman awal dalam bentuk file zip. WP-CLI akan dengan senang hati menginstal file zip itu secara langsung, tanpa perlu mengekstrak paketnya terlebih dahulu:
# Memasang plugin dari folder Unduhan $wp plugin install ~/Downloads/advanced-custom-fields-pro.zip
Ini juga berfungsi jika plugin yang ingin Anda instal tersedia di URL, mungkin hanya dapat diakses dengan memberikan kredensial melalui parameter permintaan atau di server dengan sertifikat yang ditandatangani sendiri:
# Dapatkan plugin dari URL instal plugin wp http://www.hellfish.media/my-plugin.zip # ...atau bahkan file pribadi dari ember Amazon: instal plugin wp https://s3.amazonaws.com/bucketname/my-plugin.zip?X-Amz-SignedHeaders=host&X-Amz-Expires=900&X-Amz-Signature=abc123 # Dari server internal kami dengan sertifikat yang ditandatangani sendiri: instal plugin wp https://intranet.hellfish.media/my-plugin.zip --insecure
Memperbarui Plugin Dengan WP-CLI
Setelah Anda menginstal plugin, penting untuk tetap memperbaruinya demi alasan keamanan. Untuk mengetahui apakah ada plugin yang akan diperbarui, kita dapat menjalankan perintah wp plugin list
:
daftar plugin wp +-------------------------------+----------+------ -----+--------+ | nama | status | perbarui | versi | +-------------------------------+----------+------ -----+--------+ | amazon-s3-and-cloudfront | aktif | tersedia | 2.6.1 | | halo-boneka | aktif | tersedia | 1.7.1 | | wunderdevmu | harus digunakan | tidak ada | 1.0 | +-------------------------------+----------+------ -----+--------+
Dalam hal ini, plugin Hello Dolly dan WP Offload Media memerlukan pembaruan. Secara alami ada sub-perintah terpisah untuk itu yang disebut update
.
Kami dapat memperbaruinya satu per satu, atau sedikit malas dan hanya memperbarui semua yang perlu diperbarui sekaligus menggunakan --all
switch. Perilaku default dari perintah pembaruan adalah memperbarui hingga versi terbaru yang tersedia, yang mencakup peningkatan versi utama. Tapi dengan menggunakan --minor
switch kita bisa sedikit lebih berhati-hati dan hanya update untuk versi minor. Misalnya, kita dapat memintanya untuk memperbarui dari 1.2.3 ke 1.3.0, tetapi tidak ke 2.0.0. Kita bahkan bisa sangat ekstra hati-hati dan menggunakan sakelar --patch
untuk membatasi pembaruan hanya pada patch, yaitu dari 1.2.3 ke 1.2.5 tetapi tidak pernah ke 1.3.0.
# Perbarui plugin dengan hati-hati satu per satu pembaruan plugin wp wp-offload-media pembaruan plugin wp hello-dolly # Pendekatan koboi pembaruan plugin wp --all #Sedikit lebih masuk akal pembaruan plugin wp --all --minor # Sangat defensif pembaruan plugin wp --all --patch
Catatan: --minor
dan --patch
mengasumsikan bahwa plugin menggunakan versi semantik. Jauh dari semua plugin melakukan ini, jadi Anda harus mencari plugin yang Anda gunakan sehingga Anda tidak mendapatkan kejutan yang tidak menyenangkan. Opsi --dry-run
memungkinkan Anda untuk memeriksa dan memastikan perintah Anda benar:
# Uji pembaruan satu plugin menjadi hanya tambalan pembaruan plugin wp hello-dolly --patch --dry-run
Parameter --exclude=<plugin name>
digunakan untuk menunjukkan plugin mana yang harus dikecualikan dari pembaruan. Sertakan nama plugin sebagai daftar yang dipisahkan koma, dan WP-CLI akan memperbarui semua plugin lain sambil membiarkannya sendiri:
pembaruan plugin wp --all --exclude=hello-dolly Mengaktifkan mode Pemeliharaan... Mengunduh pembaruan dari https://deliciousbrains.com/my-account/download/7512/?version=2.6.2... Membongkar pembaruan... Menginstal versi terbaru... Menghapus versi lama plugin... Plugin berhasil diperbarui. Menonaktifkan mode Pemeliharaan... +--------------------------+------------+-------- -----+--------+ | nama | versi_lama | versi_baru | status | +--------------------------+------------+-------- -----+--------+ | amazon-s3-and-cloudfront | 2.6.1 | 2.6.2 | Diperbarui | +--------------------------+------------+-------- -----+--------+
Memaksa Instalasi Ulang Plugin
Sebagian besar plugin premium dilengkapi dengan pemeriksa pembaruan bawaan mereka sendiri yang juga berfungsi baik dengan WP-CLI. Menurut pengalaman saya, plugin apa pun yang dapat diperbarui dengan satu klik melalui halaman admin WordPress juga dapat diperbarui menggunakan WP-CLI. Namun dalam beberapa kasus, pembaruan disediakan melalui versi baru file zip yang perlu Anda letakkan di tempat yang benar di server Anda. Anda dapat menerapkan pembaruan semacam ini dengan memaksa penginstalan ulang plugin menggunakan tombol --force
:
# Paksa plugin untuk menginstal ulang instal plugin wp ~/Downloads/my-custom-plugin-v2.zip --force
Mengaktifkan Pembaruan Otomatis
Sejak versi 5.5, WordPress dapat secara otomatis memperbarui plugin. Pembaruan otomatis perlu diaktifkan untuk setiap plugin individual. WP-CLI tidak menawarkan penanganan massal untuk pembaruan otomatis. Itu harus dilakukan secara individual per plugin dengan menggunakan sub auto-updates
. Anda dapat melihat cara kerjanya dengan perintah berikut:
# Periksa apakah pembaruan otomatis diaktifkan untuk sebuah plugin plugin wp pembaruan otomatis status hello-dolly # Aktifkan pembaruan otomatis pembaruan otomatis plugin wp mengaktifkan hello-dolly # Nonaktifkan lagi plugin wp pembaruan otomatis menonaktifkan hello-dolly
Menonaktifkan dan Menghapus Plugin
Memasang, mengaktifkan, dan memperbarui plugin adalah salah satu tugas yang paling umum, tetapi ada pekerjaan manajemen plugin lain yang dapat ditangani WP-CLI untuk kami.
Jika Anda pernah mencoba mencari tahu apa yang menyebabkan masalah di situs WordPress Anda, Anda mungkin disarankan untuk menonaktifkan semua plugin sebagai salah satu langkah pertama. Dimungkinkan untuk melakukan ini dengan penanganan massal di browser web, tetapi selalu membuat saya merasa gugup. Saya lebih suka melakukannya melalui baris perintah menggunakan --all
switch.
# Nonaktifkan semua plugin sekaligus plugin wp nonaktifkan --all # Dan aktifkan kembali lagi aktifkan plugin wp --all
Menghapus plugin sepenuhnya juga mudah dilakukan dengan WP-CLI. Satu perbedaan antara melakukan ini melalui baris perintah dan browser adalah bahwa WP-CLI akan membiarkan Anda menghapus plugin tanpa menjalankan kait penonaktifan terlebih dahulu. Jika Anda pernah menginstal plugin yang membuat WordPress crash selama penonaktifan, Anda tahu mengapa ini bisa sangat berguna:
# Nonaktifkan dan hapus instalan plugin wp menonaktifkan hello-dolly --uninstall # Hapus plugin tanpa memberikannya kesempatan untuk menonaktifkan plugin wp hapus hello-dolly
Ada juga subcommand toggle
yang berhubungan dengan aktivasi dan penonaktifan plugin. Ini akan membalik atau mengaktifkan status aktivasi sehingga berubah menjadi kebalikan dari status saat ini. Anda dapat menambahkan --network
untuk mengaktifkan atau menonaktifkan plugin untuk seluruh jaringan multisitus.
Plugin Checksum
WP-CLI memiliki kemampuan untuk membandingkan checksum dari plugin yang Anda instal dengan checksum untuk plugin dan versi yang sama di Direktori Plugin WordPress. Ini adalah cara yang sangat efisien untuk menentukan apakah file plugin di instalasi WordPress Anda telah dimanipulasi. Jika ya, itu merupakan indikasi kuat bahwa Anda telah diretas.
Checksum adalah algoritma komputer khusus yang dapat mengambil input dari jenis dan ukuran apa pun dan mengubahnya menjadi string pendek. String ini biasanya memiliki panjang sekitar 20-40 karakter, yang membuatnya cocok untuk disimpan dalam database. String yang dihasilkan ini disebut hash, tanda tangan, atau karena alasan historis, checksum.
Apa yang membuat algoritme ini unik adalah jika bahkan satu karakter berubah pada input, outputnya akan sangat berbeda. Masukkan semua file plugin ke dalam algoritma checksum satu per satu, dan Anda akan mendapatkan satu tanda tangan kecil, atau checksum, yang mewakili keseluruhan plugin.
Setiap kali versi baru plugin diterbitkan di Direktori Plugin WordPress, checksum dihitung dan disimpan untuk versi spesifik tersebut. Beberapa bulan kemudian ketika Anda ingin memeriksa ulang apakah Anda belum diretas, Anda dapat meminta WP-CLI untuk menghitung checksum untuk plugin Anda, dan membandingkannya dengan checksum asli yang disimpan WordPress. Jika ada file yang ditambahkan, dimodifikasi, atau hilang di pihak Anda, checksum untuk plugin akan berbeda dari yang asli dan WP-CLI akan membuat kebisingan tentangnya.
Sub-perintah yang menangani sihir pemeriksaan hash ini disebut verify-checksums
dan pada dasarnya sama dengan menanyakan “apakah plugin saya tidak berubah sejak saya mendapatkannya dari Direktori Plugin WordPress?”
# Periksa satu plugin plugin wp verifikasi-checksum hello-dolly Sukses: Terverifikasi 1 dari 1 plugin # Periksa semua plugin yang berasal dari repo plugin wp verifikasi-checksum --all
Ini hanya berfungsi untuk plugin yang diinstal dari Direktori Plugin WordPress resmi, jadi plugin premium Anda tidak akan diperiksa dengan perintah ini. Sub-perintah verify-checksums
juga ada untuk wp core
tetapi tidak dapat digunakan untuk memverifikasi tema WordPress.
Perintah untuk Scripting
Sejauh ini, perintah yang telah kami bahas berguna bagi siapa saja yang perlu mengelola plugin WordPress. Kumpulan sub-perintah wp plugin
terakhir yang akan saya bahas terutama menarik bagi pengembang WordPress, karena sebagian besar ditujukan untuk digunakan dalam skrip Bash.
Pertama kita perlu berbicara sedikit tentang kode keluar Unix. Dalam sistem Unix, semua program yang keluar berjalan kembali dengan kode keluar. Interpretasi standar adalah bahwa kode keluar 0
berarti program selesai dengan baik, sedangkan kode keluar bukan nol menunjukkan kesalahan terjadi.
Kode kesalahan sering digunakan dalam skrip shell untuk digunakan dalam pernyataan if/else
dan bentuk percabangan lainnya. Kami tidak melihat kode keluar saat menjalankan perintah secara normal dari command prompt, tetapi kami selalu dapat menemukannya dengan menggunakan $?
:
# Jalankan sesuatu yang berfungsi dan dapatkan kode keluar tanggal gema $? 0 # Jalankan sesuatu yang gagal ls /folder yang tidak ada ls: /idongfdg: Tidak ada file atau direktori seperti itu gema $? 1
Di WP-CLI, kami memiliki banyak perintah yang sebagian besar dimaksudkan untuk memeriksa sesuatu dan mengembalikan kode keluar yang berguna. Perintah wp plugin
memiliki dua sub-perintah ini, is-installed
dan is-active
, yang memungkinkan kita memeriksa apakah plugin tertentu diinstal dan diaktifkan:
# Periksa apakah hello-dolly diinstal (sudah) plugin wp sudah diinstal hello-dolly gema $? 0 # Hapus hello-dolly dan periksa lagi plugin wp hapus hello-dolly plugin wp sudah diinstal hello-dolly gema $? 1 # Periksa apakah woocommerce diaktifkan plugin wp aktif woocommerce gema $? 0 # Nonaktifkan woocommerce plugin wp menonaktifkan woocommerce plugin wp aktif woocommerce gema $? 1
Menggunakan perintah di atas, dimungkinkan untuk menulis skrip Bash yang melakukan hal yang berbeda tergantung pada apakah plugin tertentu diinstal/diaktifkan atau tidak.
Subcommand terakhir yang saya duga sebagian besar untuk keperluan scripting adalah path
. Perintah ini hanya mengembalikan path ke file PHP utama plugin, dan akibatnya ke folder plugin juga. Kita bisa menggabungkan ini dengan tipuan Bash lainnya, misalnya seperti ini:
# Tampilkan semua file di folder plugin woocommerce ls -al $(dirname $(jalur plugin wp woocommerce))
Ini tidak terlalu berguna dalam pekerjaan baris perintah sehari-hari, tetapi tentu saja berguna saat menulis skrip dan Anda perlu mendapatkan jalur untuk sebuah plugin.
Kesimpulan
Seperti yang Anda lihat, mengelola plugin WordPress melalui baris perintah meningkatkan kecepatan Anda dan membuat banyak tugas umum menjadi lebih sederhana. Saya telah membahas tugas paling umum dalam hal mengelola plugin Anda, tetapi saya mendorong Anda untuk menjelajah lebih jauh sendiri. Anda akan segera menemukan bahwa kekuatan WP-CLI jauh melampaui plugin, memungkinkan Anda untuk melakukan hampir semua hal yang dapat Anda lakukan di admin WordPress, tetapi jauh lebih cepat.
Apakah Anda memiliki contoh bagus tentang bagaimana Anda menggunakan perintah wp plugin
? Tolong beri tahu saya di komentar.