Saya mencari cara yang aman dan cepat untuk menghapus semua posting jenis posting khusus ini. Menggunakan get_posts()
dan wp_delete_post()
untuk setiap pos yang dikembalikan tidak berfungsi; itu tidak cukup cepat karena banyaknya permintaan basis data yang terlibat (kesalahan waktu habis).
Lebih disukai, saya sedang mencari query database tunggal untuk menjalankan yang menghapus semua posting yang merupakan jenis posting kustom. Adakah pikiran?
custom-post-types
database
performance
Marcus McLean
sumber
sumber
wpdb
kelas itu. Metode yang disukai dan "cara WP" untuk bekerja secara langsung dengan DB. Beri tahu kami jika Anda membutuhkan bantuan dengan kueri itu. Saya dapat memposting jawaban lengkap nanti jika diperlukan codex.wordpress.org/Class_Reference/wpdb'fields' => 'ids',
diget_posts
untuk mendapatkan hanya posting ID. Ini semua yang Anda butuhkan dan itu akan secara signifikan mempercepat permintaan Andawp_cron()
Jawaban:
Anda dapat menghapus semua posting melalui
$wpdb
atau gunakan kueri ini ganti dengan {{CPT Anda}} dengan Jenis Posting Kustom Anda
sumber
wp_term_taxonomy
. Sepertinya fungsi yang Anda cari untuk memperbarui jumlahwp_update_term_count($terms, $taxonomy, false)
atauwp_update_term_count_now($terms, $taxonomy)
didefinisikan dalamwp-includes/taxonomy.php
.Anda dapat menghapus semua posting dari jenis posting kustom dalam berbagai metode tetapi di sini saya akan menunjukkan kepada Anda bagaimana melakukan ini tanpa menggunakan query SQL. Di sini, misalnya, jenis posting kami adalah produk
Lihat referensi tutorial lengkap di sini
sumber
get_posts()
danwp_delete_post()
untuk setiap posting yang dikembalikan tidak berfungsi; itu tidak cukup cepat karena banyaknya permintaan basis data yang terlibat (kesalahan waktu habis)." Anda menggunakan dua fungsi yang tidak ingin ia gunakan.