仅在父级时删除之前发布

Posted

技术标签:

【中文标题】仅在父级时删除之前发布【英文标题】:Delete Before Post only if Parent 【发布时间】:2021-12-17 12:25:45 【问题描述】:

我正在使用下面的 sn-p,但是在删除 WooCommerce 变体时,它会触发代码删除图像

无论如何我只能在删除父项而不是变体时触发这个?

// Automatically Delete Woocommerce Images After Deleting a Product
add_action( 'before_delete_post', 'delete_product_images', 10, 1 );

function delete_product_images( $post_id )

    $product = wc_get_product( $post_id );

    if ( !$product ) 
        return;
    

    $featured_image_id = $product->get_image_id();
    $image_galleries_id = $product->get_gallery_image_ids();

    if( !empty( $featured_image_id ) ) 
        wp_delete_post( $featured_image_id );
    

    if( !empty( $image_galleries_id ) ) 
        foreach( $image_galleries_id as $single_image_id ) 
            wp_delete_post( $single_image_id );
        
    

【问题讨论】:

这似乎是一个常见问题***.com/questions/21075865/… 【参考方案1】:

你可以试试这个吗?

if ( !$product->is_type( 'product_variation' ) ) 

我还没有测试过,我还没有现成的用于测试目的的代码。

【讨论】:

以上是关于仅在父级时删除之前发布的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate @OneToMany 在更新父级时从列表中删除子级

尝试从父级 IOS swift 3 中删除子级时,我的代表为零

仅在父级中运行 Maven 插件

为啥当我在 grails 上删除一对多关系上的父级时,会在子级上调用 beforeInsert 事件?

仅在 Safari 中 - 位置:固定子级在父级为位置时被切断:固定且溢出:隐藏

休眠删除父级