为了账号安全,请及时绑定邮箱和手机立即绑定

WooCommerce:出售时将特色产品设置为假

WooCommerce:出售时将特色产品设置为假

PHP
HUH函数 2022-11-04 17:35:11
我正在尝试在我的 WooCommerce 上添加一个片段,以在产品出售时将其从特色中删除。我尝试了下面的代码,但它似乎不起作用。任何援助将不胜感激。add_action('woocommerce_order_status_processing', 'order_status_processing_featured_products', 10, 2);function order_status_processing_featured_products( $order_id, $order ) {    foreach ( $order->get_items() as $item_id => $item ) {        $product = $item->get_product();        $product->set_featured(false);        $product->save();    }}
查看完整描述

1 回答

?
慕哥6287543

TA贡献1831条经验 获得超10个赞

那是因为您使用的钩子并非用于创建的每个订单,始终使用的钩子是woocommerce_thankyou.


所以你得到:(通过附加代码中的注释进行解释)


function action_woocommerce_thankyou( $order_id ) {

    // Get $order object

    $order = wc_get_order( $order_id );

    

    // Loop through order items

    foreach ( $order->get_items() as $item_key => $item ) {

        // The WC_Product object

        $product = wc_get_product( $item['product_id'] );

            

        // Instanceof

        if ( $product instanceof WC_Product ) {

            // True

            if ( $product->get_featured() ) {               

                // Set featured false

                $product->set_featured( false );

                

                // Save

                $product->save();

            }

        }

    }

}

add_action( 'woocommerce_thankyou', 'action_woocommerce_thankyou', 10, 1 );


查看完整回答
反对 回复 2022-11-04
  • 1 回答
  • 0 关注
  • 60 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信