感谢页面上的 woocommerce 挂钩无法正常工作

woocommerce hook on thank you page not working

当我将此代码添加到 woocommerce 的 thankyou.php 时,一切正常(当然没有钩子)。当我将它添加到我的 child 主题上的 function.php 时,它根本不起作用。

function lwb_test() {
foreach ( $order->get_items() as $item_id => $item ) {
    $product_id = $item->get_product_id();
    $order_id = $order->get_id();
    $new_product = new WC_Product( $product_id );  // create an object of WC_Product class

    $product_attribut = $new_product->get_attribute( 'pa_lieferfrequenz' );  // call get_attribute method
    //$product_attribut = '1week';
    $date = date('d-m-Y', strtotime("+ $product_attribut "));
    add_post_meta( $order_id, 'lwb_pickup_time_email_notification', $date );
}
}
add_action('woocommerce_thankyou', 'lwb_test');

您可以在 add_action 中使用您的函数,就像这样。

add_action( 'woocommerce_thankyou', function( $order_id ){
    $order = new WC_Order( $order_id );
});

您可以将它与其他代码一起使用,但我认为仅使用 add_action

对您来说会更容易
add_action('woocommerce_thankyou', 'example', 10, 1);

function example($order_id) {
    $order = new WC_Order( $order_id );
}