获取与Woocommerce订单项相关的产品自定义字段

时间:2019-01-25 15:13:08

标签: php wordpress woocommerce custom-fields hook-woocommerce

我正在尝试从结帐/订单小计前面的自定义字段中添加数据,但是未显示get_post_meta。我已经尝试过$product->get_ID()$post_idget_the_ID()

  add_filter( 'woocommerce_order_formatted_line_subtotal', 'custom_field_test');


function bmc_test($subtotal){ 
    global $woocommerce;
    global $item_id;
    //echo $values['price_currency'];

    //just tried to see if it I could get display
    wc_get_order_item_meta($item);


    $custom_field =  get_post_meta( $values['product_id'], 'custom_field', true );
    return  $custom_field . ' '. $subtotal;
    }

1 个答案:

答案 0 :(得分:1)

您的代码中缺少一些参数和错误。请尝试以下操作:

add_filter( 'woocommerce_order_formatted_line_subtotal', 'custom_field_test', 10, 3 );
function custom_field_test( $subtotal, $item, $order ){ 
    $product = $item->get_product(); // The instance of the WC_Product Object

    if( $custom_field =  get_post_meta( $product->get_id(), 'custom_field', true ) ) {
        $subtotal = $custom_field . ' '. $subtotal;
    }
    return $subtotal;
}

代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试,可以正常工作。