Cara Massal Batalkan Pilihan Kategori untuk Postingan tanpa Plugin

Diterbitkan: 2020-10-05

"Kategori" adalah taksonomi default di WordPress. Operator dapat menggunakan kategori untuk mengurutkan dan mengelompokkan posting blog ke dalam bagian yang berbeda. Kategori juga membantu pengunjung menavigasi situs lebih cepat, serta mengetahui topik situs web Anda. Operator situs web dapat menerapkan operasi dasar dengan kategori dan posting dengan panel admin WordPress serta menggunakan plugin WordPress untuk memanipulasi posting dengan cara yang berbeda.

Daftar Isi sembunyikan
  1. 1. Memahami Bagaimana WordPress Menangani Permintaan Web dari Klien?
  2. 2. Tabel Penting untuk Manipulasi Massal Posting WordPress
  3. 3. Pindahkan Semua Posting dari Kategori ke Kategori Lain – Menggunakan Perintah SQL
    1. 3.1. Dapatkan Daftar ID dari Semua Posting yang Termasuk dalam Kategori Tertentu
    2. 3.2. Dapatkan ID Kategori Baru
    3. 3.3. Perbarui Postingan dengan Daftar ID yang Diberikan
  4. 4. Kata-Kata Terakhir

Namun, penggunaan plugin yang berlebihan untuk situs WordPress tidak boleh menjadi pilihan karena mungkin menyebabkan potensi masalah kinerja dan masalah keamanan. Dalam artikel ini, mari pelajari tentang cara membatalkan pilihan kategori secara massal untuk postingan tanpa menggunakan plugin .

Memahami Bagaimana WordPress Menangani Permintaan Web dari Klien?

Memahami bagaimana server web menangani permintaan dari klien diperlukan untuk memanipulasi situs WordPress. Operasi terperinci mencakup posting batalkan pilihan massal dalam suatu kategori.

Server web tipikal adalah tumpukan LAMP (Linux – Apache – MySQL/MariaDB – PHP). Konsep setara lainnya dapat ditemukan di platform server web lainnya.

Untuk membatalkan pilihan posting secara massal, Anda harus belajar tentang bagaimana WordPress menangani permintaan.

LAMP menumpuk komunikasi server-klien

1. Klien mengirimkan permintaan HTTP untuk meminta data web dari server web.

2. Server web menerima permintaan HTTP yang valid dari klien (setelah melewati aturan firewall):

  • Menganalisis struktur permintaan HTTP, mengidentifikasi apa sebenarnya halaman HTML yang dibutuhkan klien;
  • Parsing permintaan ke lapisan skrip (PHP).

3. Lapisan scripting PHP:

  • Permintaan ke database, dapatkan semua informasi yang diperlukan;
  • Kombinasikan dengan kode sumber dalam tema untuk membuat halaman web dinamis;
  • Kembali ke Server Web.

4. Server web:

  • Buat pesan respons HTTP.
  • Kirim pesan respons HTTP ke klien.

5. Klien menerima pesan respons HTTP dari server web, kemudian menampilkan data web di browser webnya.

Tabel Penting untuk Manipulasi Massal Posting WordPress

Ada paket tabel dalam skema database situs WordPress. Skema bervariasi dari situs ke situs. Namun, ketika memanipulasi posting situs WordPress, tabel ini harus menjadi perhatian yang lebih tinggi:

Nama tabel deskripsi
wp_postmeta Simpan data terkait konten tambahan dari situs WordPress.
wp_post Simpan semua data penting terkait konten dari situs WordPress.
wp_term_relationships Simpan semua data konjungsi yang menghubungkan posting ke kategori, tag, tautan. Informasi dari tabel ini bertindak sebagai peta antara objek istilah dan istilah.
wp_term_taxonomy Simpan data tambahan untuk tabel wp_terms .
wp_term Kategori toko, tag untuk posting, halaman, dan link.

Pindahkan Semua Posting dari Kategori ke Kategori Lain – Menggunakan Perintah SQL

Untuk memanipulasi database WordPress secara langsung, operator perlu memutuskan DBMS (Sistem Manajemen Database) mana yang akan digunakan. Karena lingkungan lab menggunakan LAMP stack sebagai platform web, operator dapat bekerja dengan database WordPress menggunakan phpMyAdmin, plugin WordPress, bahkan klien MySQL (perintah terminal) melalui sesi SSH ... Dalam skenario ini, DBMS adalah MySQL WorkBench untuk tujuan ilustrasi yang lebih baik.

Sebelum menerapkan perubahan apa pun dalam database WordPress, disarankan untuk memiliki cadangan penuh dari situs WordPress. Cadangan lengkap ini mencakup kode sumber WordPress (tema, file PHP ...) dan struktur basis data. Untuk tujuan yang ideal, operator dapat membuat cadangan penuh dari seluruh host yang menjalankan situs WordPress.

Berikut adalah skrip SQL lengkap untuk memindahkan semua posting dari kategori "Tidak Berkategori" ke kategori "Inspirasi".

 SET @daftarID = (
     	PILIH GROUP_CONCAT(ID) DARI wp_posts
             	DI MANA post_type="posting"
             	DAN post_status = "terbitkan"
             	DAN ID DI (
                      	PILIH object_id DARI wp_term_relationships
                               	DI MANA istilah_taxonomy_id DI (
                                        	PILIH term_taxonomy_id DARI wp_term_taxonomy
                                                	WHERE taksonomi = "kategori"
                                                	DAN term_id IN (
                                                         	PILIH t.term_id DARI wp_terms t
                                                                  	WHERE t.name="Tidak Dikategorikan"
   	 )
	)
)
);

SET @newCategoryID = (
     	PILIH t.term_id FROM wp_terms t WHERE t.name='Inspirasi'
);
 
PILIH @newCategoryID;
 
set @sqlCmd = CONCAT(
     	'PERBARUI wp_term_relationships tr ',
	'SET tr.term_taxonomy_id = ', @newCategoryID , ' ',
	'WHERE tr.object_id IN (', @listID , ');'
);

PILIH @sqlCmd;

SIAPKAN stmt DARI @sqlCmd;
SET SQL_SAFE_UPDATES = 0;
EKSEKUSI stmt;
SET SQL_SAFE_UPDATES = 1;
DEALOKASI SIAPKAN stmt;

Detail script akan dijelaskan sebagai berikut.

Dapatkan Daftar ID dari Semua Posting yang Termasuk dalam Kategori Tertentu

Dalam demo ini, kami akan mendemonstrasikan cara membatalkan pilihan massal semua posting dari kategori "Tidak Berkategori" lalu memindahkannya ke kategori baru bernama "Inspirasi".

Dari panel admin WordPress, 3 posting ini diurutkan dalam kategori “Tidak Dikategorikan”.

Dapatkan Daftar ID dari 3 posting untuk membatalkan pilihan kategori secara massal.

Perintah SQL di bawah ini akan mengambil semua ID posting dari kategori bernama "Tidak Berkategori".

 SET @daftarID = (
     	PILIH GROUP_CONCAT(ID) DARI wp_posts
             	DI MANA post_type="posting"
             	DAN post_status = "terbitkan"
             	DAN ID DI (
                      	PILIH object_id DARI wp_term_relationships
                               	DI MANA istilah_taxonomy_id DI (
                                        	PILIH term_taxonomy_id DARI wp_term_taxonomy
                                                	WHERE taksonomi = "kategori"
                                                	DAN term_id IN (
                                                         	PILIH t.term_id DARI wp_terms t
                                                                  	WHERE t.name="Tidak Dikategorikan"
        )
    )
)
);

Verifikasi nilai @listID :

Dapatkan daftar ID postingan untuk membatalkan pilihan kategori postingan secara massal.

Dapatkan ID Kategori Baru

 SET @newCategoryID = (
    	PILIH t.term_id FROM wp_terms t WHERE t.name='Inspirasi'
);

Verifikasi nilai @newCategoryID :

Dapatkan ID kategori baru kemudian pindahkan posting ke sana setelah secara massal membatalkan pilihan kategori "Tidak Dikategorikan".

Perbarui Postingan dengan Daftar ID yang Diberikan

Pertama, buat perintah SQL dan simpan dalam variabel @sqlCmd .

 /* Perintah yang diharapkan disimpan dalam variabel @sqlCmd:
PERBARUI wp_term_relationships tr
SET tr.term_taxonomy_id = 5
DI MANA tr.object_id DI (131.132.133);

*/
set @sqlCmd = CONCAT(
    	'PERBARUI wp_term_relationships tr ',
	'SET tr.term_taxonomy_id = ', @newCategoryID , ' ',
	'WHERE tr.object_id IN (', @listID , ');'
);

Kedua, verifikasi:

Verifikasi perintah SQL untuk memperbarui posting dengan daftar ID yang diberikan.

Terakhir, @sqlCmd perintah SQL yang disimpan dalam variabel @sqlCmd dengan pernyataan di bawah ini:

 SIAPKAN stmt DARI @sqlCmd;
SET SQL_SAFE_UPDATES = 0;
EKSEKUSI stmt;
SET SQL_SAFE_UPDATES = 1;
DEALOKASI SIAPKAN stmt;

Inilah hasilnya:

Hasil pembatalan pemilihan kategori untuk posting tanpa plugin secara massal.

Kata-kata terakhir

Ada berbagai cara untuk membatalkan pilihan kategori secara massal untuk posting di situs WordPress. Baik menggunakan plugin untuk berinteraksi melalui antarmuka web, atau menggunakan perintah SQL untuk membuat dampak langsung pada database WordPress, operator harus memahami objek penting apa yang sedang dimodifikasi.

Semoga artikel ini memberi Anda satu pilihan lagi untuk membatalkan pilihan kategori untuk posting secara massal. Untuk mendapatkan teknik yang lebih berguna di WordPress, mari ikuti artikel kami yang akan datang!

Jika Anda ingin menggunakan plugin untuk membatalkan pilihan kategori untuk posting secara lebih mudah, lihat artikel ini.