自动设置为 "featured" 每个在 Woocommerce 中购买的产品
Set automatically as "featured" every purchased product in Woocommerce
在 Woocommerce 中,我希望当订单疯狂时,自动设置为 "Featured" 购买的产品 (我所有订单的默认状态是 "on-hold").
所以基本上,如果订单是 "on-hold",订购的产品应该变成 "Featured"。
我为什么要这个?因为我没有按照 WC 预期的方式使用 "Featured" 东西,而是显示了已售罄产品的自定义标签(因为我将已售罄的产品在商店中显示了好几天购买后)。
因此,我不想在每个产品售出后手动将其标记为精选,而是希望自动完成此操作。
这可以在我的子主题 functions.php 中使用一些 WC 挂钩来完成吗?欢迎任何帮助。
当订单状态设置为"on-hold"时,以下代码将设置为"featured"所有购买的产品:
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 文件。它应该有效。
在 Woocommerce 中,我希望当订单疯狂时,自动设置为 "Featured" 购买的产品 (我所有订单的默认状态是 "on-hold").
所以基本上,如果订单是 "on-hold",订购的产品应该变成 "Featured"。
我为什么要这个?因为我没有按照 WC 预期的方式使用 "Featured" 东西,而是显示了已售罄产品的自定义标签(因为我将已售罄的产品在商店中显示了好几天购买后)。
因此,我不想在每个产品售出后手动将其标记为精选,而是希望自动完成此操作。
这可以在我的子主题 functions.php 中使用一些 WC 挂钩来完成吗?欢迎任何帮助。
当订单状态设置为"on-hold"时,以下代码将设置为"featured"所有购买的产品:
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 文件。它应该有效。