Wordpress-我删除了父类别,但儿童游戏仍然存在

时间:2014-04-25 03:10:21

标签: wordpress blogs categories

嗨我想当我们删除父类别时,所有子类别也将被删除,但是没有删除。这是wordpress中的错误吗?是否有一个我们可以从wordpress获得的参考,这是他们的实现?感谢目前,我正在使用3.8.1 wordpress版本。请指教。谢谢!

2 个答案:

答案 0 :(得分:0)

这不是错误,它是WordPress实现,删除父类别后,子类别仍然存在。

但是,如果您还需要删除子类别,可以使用WordPress钩子“delete_category”来执行自定义操作。有关详细信息,请查看this link

答案 1 :(得分:0)

只需要为WooCommerce的产品类别做到这一点,所以在这里:

Gson

正如您所看到的,我添加条件只会使产品类别​​发生此行为。如果您删除条件分类法,它将适用于您所有网站的分类法。

如果在所有术语的层次结构中有很多子类别或项目,则可能需要相当长的时间来结束该过程(执行时间超时和内存限制耗尽是某些可能性)。

请注意,无需迭代,因为每次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 ); } } } } 次呼叫都会执行挂钩。

另请注意,为了让前端在点击“删除”时删除类别及其子类别,将需要一些额外的JavaScript代码。