Wordpress-我删除了父类别,但子类别仍然保留
嗨,我想当我们删除一个父类别时,所有的子类别也会被删除,但这并没有删除。这是wordpress中的一个bug吗?我们可以从wordpress那里得到一个参考,这就是他们的实现吗?谢谢,我现在使用的是3.8.1版wordpress。请告知。谢谢 这不是bug,这是WordPress实现,删除父类别后子类别仍然保留Wordpress-我删除了父类别,但子类别仍然保留,wordpress,blogs,categories,Wordpress,Blogs,Categories,嗨,我想当我们删除一个父类别时,所有的子类别也会被删除,但这并没有删除。这是wordpress中的一个bug吗?我们可以从wordpress那里得到一个参考,这就是他们的实现吗?谢谢,我现在使用的是3.8.1版wordpress。请告知。谢谢 这不是bug,这是WordPress实现,删除父类别后子类别仍然保留 但是,如果您也需要删除子类别,您可以使用WordPress钩子“delete_category”来执行自定义操作。欲了解更多信息,请查看刚刚为WooCommerce的产品类别做了这项工作
但是,如果您也需要删除子类别,您可以使用WordPress钩子“delete_category”来执行自定义操作。欲了解更多信息,请查看刚刚为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\u delete\u term()
都会执行钩子
另外,请注意,为了让前端在单击“删除”时删除类别及其子类别,需要一些额外的javascript代码。Hi,我们是否可以从wordpress获得一个参考,这是他们的实现?谢谢