在Woocommerce中将每个购买的产品自动设置为“精选”

时间:2018-09-06 22:44:17

标签: php wordpress woocommerce product orders

在Woocommerce中,我想在订单发疯时将所购买的产品自动设置为“精选”(em)(我对所有类型的订单的默认状态为“保留” )。

因此,基本上,如果订单为“挂起”,则订购的产品应变为“精选”。

我为什么要这个?因为我不是按照WC的预期方式使用“特色”商品,而是为售罄的商品显示自定义标签(因为自从我将售罄的商品放置在Shop中之后,购买)。

因此,我不想在售出每种产品后手动将其标记为“特色”,而是希望自动完成。

可以在我的子主题的functions.php中使用一些WC挂钩来完成此操作吗?欢迎任何帮助。

1 个答案:

答案 0 :(得分:0)

当订单状态设置为“保留”时,以下代码将设置为“精选”所有购买的产品:

add_action('woocommerce_order_status_on-hold', 'order_status_on_hold_featured_products', 20, 2);
function order_status_on_hold_featured_products( $order_id, $order ) {
    foreach ( $order->get_items() as $item_id => $item ) {
        $product = $item->get_product();
        $product->set_featured(true);
        $product->save();
    }
}

代码进入您的活动子主题(或活动主题)的function.php文件中。应该可以。