2013-09-07 22 views

cevap

49

aktarılmasından sonra

WordPress> Destek »Fix yorum ve kategori sayıları:

İlgili sorular @kaorukobo tarafından cevap iyi çalışıyor

UPDATE wp_term_taxonomy SET count = (
SELECT COUNT(*) FROM wp_term_relationships rel 
    LEFT JOIN wp_posts po ON (po.ID = rel.object_id) 
    WHERE 
     rel.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id 
     AND 
     wp_term_taxonomy.taxonomy NOT IN ('link_category') 
     AND 
     po.post_status IN ('publish', 'future') 
) 
+0

Mükemmel cevap ve çok kullanışlı mükemmel ve çok hızlı –

+0

teşekkür ederim 4.1 –

+0

gün koruyucu çalışıyor Works –

2

. Bununla birlikte, CPT için tüm terimleri otomatik olarak güncellemek için biraz daha özelleştirme ihtiyacım vardı ... özellikle birkaç özel taksonomi içeren bir WooCommerce ürün CPT'si ...

Aşağıdakiler, CPT ürününün tüm sınıflandırmasını güncelledi.

UPDATE wp_term_taxonomy tt 
    SET count = 
    (SELECT count(p.ID) FROM wp_term_relationships tr 
    LEFT JOIN wp_posts p 
    ON (p.ID = tr.object_id AND p.post_type = 'product' AND p.post_status = 'publish') 
    WHERE tr.term_taxonomy_id = tt.term_taxonomy_id 
) 
+0

Bu, benim Woocommerce web sitemde mükemmel bir şekilde çalıştı. Kategorileri yayınlara manuel olarak ayarlıyordum. Bu güzel parça kodu, bu eklerden sonra koştuktan sonra güzelce çalıştı. Teşekkürler (ve teşekkürler @kaorukobo) – Sim2K

8

Daha WordPress uyumlu yolu wp_update_term_count_now (https://developer.wordpress.org/reference/functions/get_terms/)

Örnek kullanarak olurdu:

$update_taxonomy = 'my_taxonomy'; 
$get_terms_args = array(
     'taxonomy' => $update_taxonomy, 
     'fields' => 'ids', 
     'hide_empty' => false, 
     ); 

$update_terms = get_terms($get_terms_args); 
wp_update_term_count_now($update_terms, $update_taxonomy); 
İlgili konular