Jadi baru-baru ini saya memindahkan klien dari Blogger ke Wordpress.
Ketika posting diimpor dari blogger, itu menyimpan "label" blogger sebagai "tag" di Wordpress. Karena saya ingin menjadikan ini sebagai kategori, saya menggunakan plugin untuk mengonversi semua tag ke kategori.
Ini berfungsi dengan baik dan keren, tetapi membuat Uncategorized pada semua posting saya. Jadi sekarang saya memiliki sekitar 900 posting yang semuanya memiliki kategori yang benar terpasang, serta "Tidak Dikategorikan".
Jadi tujuan saya adalah menghapus "Tidak Dikategorikan" dari semua 900 posting, tetapi saya berjuang untuk menemukan metode cepat untuk melakukan ini.
Adakah yang tahu bagaimana saya bisa mencapai ini dalam metode massal?
categories
Corey
sumber
sumber
Uncategorized
kategorinya.Uncategorized
kategori itu adalah kategori posting default yang ditetapkan untuk posting ketika tidak ada yang ditetapkan tetapi kita dapat default ini dengan pergi keSettings-->Writing
Jawaban:
Dengan wp-cli terinstal, Anda dapat menjalankan skrip bash seperti ini untuk menghapus kategori 'tidak dikategorikan' dari semua posting dengan lebih dari satu kategori
Simpan ini sebagai sesuatu seperti
delete_uncategorized.bash
dan kemudian jalankanbash delete_uncategorized.bash
dari baris perintah.sumber
Berikut adalah plugin yang setelah aktivasi, loop melalui semua posting yang ada di kategori tidak dikategorikan. Jika itu dalam kategori lain, itu dihapus tanpa kategori. Lebih lanjut, ketika sebuah posting disimpan, ia melakukan pemeriksaan yang sama.
sumber
Agak terlambat ke pesta, tapi aku hanya perlu melakukan ini sendiri. Solusinya adalah melalui query SQL di phpmyadmin, sesuatu seperti:
(ganti awalan wp_ dengan awalan Anda) Biasanya "uncategorized" memiliki term_taxonomy_id = 1. Kueri di atas akan mengelompokkan semua id posting di mana ada lebih dari satu kategori, jadi tentu saja "uncategorized" ditampilkan terlebih dahulu dalam pengelompokan. Jadi pilih semua baris yang memiliki term_taxonomy_id = 1 dan hapus. Dan itu saja!
Sekarang yang harus Anda lakukan adalah mengedit bidang hitung "tanpa kategori " ( term_taxonomy_id = 1) di tabel wp_term_taxonomy . Nomor hitung adalah berapa banyak artikel yang terdaftar dalam kategori ini, tetapi bidang spesifik tidak diperbarui secara otomatis.
Jika Anda pergi ke panel admin wp Anda, bagian kategori, nomor hitungan yang lama (salah) masih ditampilkan, tetapi jika Anda menekan nomor itu dan pergi ke daftar posting 'tidak dikategorikan', wordpress biasanya menceritakan posting yang berafiliasi dengan itu kategori. Hitungan yang benar akan ditampilkan di kanan atas Anda, jadi pergilah ke db Anda, dan edit bidang hitung yang sesuai :)
Sunting: Sebenarnya, penghitungan akhirnya diperbarui, tidak segera, jadi Anda mungkin ingin melewatkan pembaruan penghitungan manual.
sumber
Berdasarkan jawaban @ TechSmurfy saya datang dengan ini:
sumber
Nah, cara termudah tanpa mengacaukan basis data adalah membuat kategori baru, menjadikannya default, lalu masuk ke daftar posting dan mengurutkan berdasarkan kategori 'tidak dikategorikan'. Edit posting tersebut dan hapus tag kategori 'tidak dikategorikan'.
Setelah selesai, Anda dapat menghapus kategori. Kategori tidak dapat dihapus jika ada posting yang menggunakan kategori itu.
sumber
Setelah mengacau dan mencoba semua pendekatan dari atas, saya menemukan bahwa kueri sql ini adalah cara tercepat untuk menghapus posting dari Uncategorized yang memiliki lebih dari satu kucing.
Menggunakan WP-CLI akan menjadi pilihan terbaik, jika tidak lambat sekali.
Dalam kasus saya, saya harus menghapus lebih dari 50.000 hubungan istilah, jadi itu hanya GAGAL.
sumber