【问题标题】:Woocommerce /Display Custom Field in WordpressWoocommerce /在WordPress中显示自定义字段
【发布时间】:2015-02-16 09:46:49
【问题描述】:

我在 Woocommerce 中为每个产品添加了一些自定义字段,我希望自定义字段中的数据在结帐完成后显示在以下收据页面(订单详细信息)上。

就是拿不到,php不强,为什么什么都拿不到。我尝试使用var_dump(get_post_custom($order->id)); 结果中没有我的自定义字段。

有人可以点亮我吗?

这是我的代码:

add_action( 'woocommerce_order_details_after_order_table', 'code_activation', 10, 1);

function code_activation($order){
    echo '<p><strong>'.__('Activation code').':</strong> ' . get_post_meta( $order->id, 'activation_code', true ). '</p>';

} 

【问题讨论】:

    标签: woocommerce custom-fields


    【解决方案1】:

    您已向产品添加自定义字段。因此自定义字段将与您的 product-id 相关联。 但是您正在尝试使用错误的 $order->id 检索自定义字段。以下代码应该有助于从订单中检索产品 ID。并且使用产品 ID,您可以检索您的自定义字段。

        $orderItems = $order->get_items();
        foreach($orderItems as $orderItem)
        {
            $product_id   = $orderItem['variation_id'] ? $orderItem['variation_id'] : $orderItem['product_id'] );
    
        }
    

    【讨论】:

    • 非常感谢,我想明白了,你能告诉我我必须把这个foreach放在哪里
    • 如果您想在产品表之后和客户详细信息之前显示详细信息,那么您使用的钩子是完美的 woocommerce_order_details_after_order_table。您可能会感兴趣的其他钩子是 woocommerce_order_details_after_customer_details 和 woocommerce_order_items_table
    • 只是不知道怎么做,按照你告诉我的做了一切,get_post_meta( $order->id 给我一个“数组”,使用 var_dump 表明我'我还没有我的自定义字段,你能不能给我更多的解释。我很抱歉很无聊,好像我看不到孔图,它是如何工作的,通过网络浏览对我没有帮助。
    猜你喜欢
    • 1970-01-01
    • 2017-11-05
    • 1970-01-01
    • 2018-08-26
    • 1970-01-01
    • 2014-02-11
    • 2021-05-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多