2014-04-25 32 views
0

您好我認爲,當我們刪除父類別,所有子類別將被刪除,以及但這並沒有消除。這是WordPress的錯誤嗎?有沒有我們可以從wordpress獲得的參考,這是他們的實施?感謝目前,我使用的是3.8.1 wordpress版本。請指教。謝謝!Wordpress-我刪除父類別,但兒童catageory仍然

回答

0

這不是錯誤,這是WordPress的實現,其子類別仍然刪除父類別後。

然而,如果你需要刪除其子類別也可以使用WordPress的鉤子「delete_category」做執行自定義操作。欲瞭解更多信息請查看this link

+0

嗨,有沒有我們可以從wordpress得到這是他們的實施的參考?謝謝 – user2450064

0

就必須爲WooCommerce的產品類別做到這一點,所以這裏有雲:

add_action('pre_delete_term', 'prefix_pre_delete_term', 10, 2); 

function prefix_pre_delete_term($term, $taxonomy) { 

    if ($taxonomy === 'product_cat') { 

     $term_children = get_term_children($term, $taxonomy); 

     if (!empty($term_children)) { 

      foreach ($term_children as $term_child) { 

       wp_delete_term($term_child, $taxonomy); 

      } 

     } 
    } 

} 

正如你可以看到我添加了一個條件,只讓這種行爲發生的產品類別。如果您刪除了分類標準,它將適用於您所有網站的分類標準。

如果你有很多的子類別或項目的所有術語的層級內的,它可能需要很長時間才能結束進程相當多(執行時間超時和內存限制枯竭有一定的可能性)。

請注意,沒有必要進行迭代,因爲鉤將爲每個wp_delete_term()調用得到執行。

也請注意,爲了針對前端除去該類別及其子類別「刪除」被點擊時,將需要一些額外的JavaScript代碼。