【问题标题】:woocommerce_update_product does not get vendor terms on savewoocommerce_update_product 在保存时未获得供应商条款
【发布时间】:2021-06-24 11:43:54
【问题描述】:

我正在使用 woocommerce_update_product 挂钩在产品创建/更新后获取产品数据。

我正在尝试从名为 wcpv_product_vendors 的分类法中获取术语。在第一次保存(作为草稿)时,我可以获得其他 product_cat 条款,但 wcpv_product_vendors 的条款直到我下次保存帖子才会出现。

add_action( 'woocommerce_update_product', [$this, 'dcgsql_update_product'], 50, 1);

public function dcgsql_update_product(){

  $get_vendors = get_the_terms($product_id, 'wcpv_product_vendors');
    if (!empty($get_vendors)) {
        foreach ($get_vendors as $vendor) {
            $vendorsarray[] = $vendor->term_id;
        }
        $vendors = implode(',',$vendorsarray);
    } else {
        $vendors = '';
    }    

}

第一次保存为草稿时,$get_vendors 总是为空,但我已经申请了一个。

product_cat 的所有其他术语都恢复正常。

【问题讨论】:

    标签: php wordpress


    【解决方案1】:

    使用下面的代码就可以了...

    add_action( 'woocommerce_update_product', 'dcgsql_update_product', 50, 1);
    
    public function dcgsql_update_product(){
    
      $get_vendors = wp_get_post_terms($product_id, 'wcpv_product_vendors');
        if (!empty($get_vendors)) {
            foreach ($get_vendors as $vendor) {
                $vendorsarray[] = $vendor->term_id;
            }
            $vendors = implode(',',$vendorsarray);
        } else {
            $vendors = '';
        }    
    
    }
    

    【讨论】:

    • 谢谢,但还没有解决问题。它仍然没有获取数据。
    • 你会检查 $get_vendors 是否能够获取数据?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-15
    • 2013-12-09
    • 2014-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多