我需要在管理订单页面、谢谢和电子邮件通知中显示我的自定义签出字段。
我正在使用验证和保存WooCommerce回答代码中特定支付网关的额外结账字段来显示,验证和保存我的自定义字段。
从显示管理订单详细信息上的自定义字段数据,我试图显示自定义字段保存的输入值。
这是我到目前为止的代码:
// Display field value on the order edit page
add_action( 'woocommerce_admin_order_data_after_billing_address',
'show_Ean_nummer_in_admin', 10, 1 );
function show_Ean_nummer_in_admin ( $order ){
// Get "ean" custom field value
$udfyld_ean = get_post_meta( $order_id, '_udfyld_ean', true );
// Display "ean" custom field value
echo '<p>'.__('EAN', 'woocommerce') . $udfyld_ean . '</p>';
}
// Display field value on the order emails
add_action( 'woocommerce_email_order_details', 'ean_in_emails' 50, 1 );
function ean_in_emails( $order, $sent_to_admin, $plain_text, $email ){
// Get "ean" custom field value
$udfyld_ean = get_post_meta( $order_id, '_udfyld_ean', true );
// Display "ean" custom field value
echo '<p>'.__('EAN', 'woocommerce') . $udfyld_ean . '</p>';
}
// Display field value in thank you
add_action( 'woocommerce_thankyou', 'ean_in_thankyou' );
function ean_in_thankyou() {
// Get "ean" custom field value
$udfyld_ean = get_post_meta( $order_id, '_udfyld_ean', true );
// Display "ean" custom field value
echo '<p>'.__('EAN', 'woocommerce') . $udfyld_ean . '</p>';
}
但它不起作用。该字段不会附加到数据库中,但不会显示在任何位置:
如何正确显示字段?
您正在使用以下代码获取\u udfyld\u ean
的值:
get_post_meta( $order_id, '_udfyld_ean', true );
但问题是,您没有在任何地方定义$order\u id
。您需要传递订单ID的有效值才能获得预期的输出。
以下代码将在订单和电子邮件通知中显示“Udfyld EAN”自定义字段值:
1) 要在订单管理单页中显示该信息,请执行以下操作:
// Display field value on the admin order edit page
add_action( 'woocommerce_admin_order_data_after_shipping_address', 'custom_field_admin_display_order_meta', 10, 1 );
function custom_field_admin_display_order_meta( $order ){
$business_address = get_post_meta( $order->get_id(), 'Business Address?', true );
if( $udfyld_ean = $order->get_meta('_udfyld_ean') )
echo '<p><strong>'.__('Udfyld EAN', 'woocommerce').': </strong> ' . $udfyld_ean . '</p>';
}
代码进入函数。活动子主题(或活动主题)的php文件。测试和工作。
2) 要显示收到的订单、订单视图和电子邮件通知,您将使用:
add_filter( 'woocommerce_get_order_item_totals', 'add_udfyld_ean_row_to_order_totals', 10, 3 );
function add_udfyld_ean_row_to_order_totals( $total_rows, $order, $tax_display ) {;
$new_total_rows = [];
foreach($total_rows as $key => $total ){
$new_total_rows[$key] = $total;
if( $order->get_meta('_udfyld_ean') && 'payment_method' === $key ){
$new_total_rows['udfyld_ean'] = array(
'label' => __('Udfyld EAN', 'woocommerce'),
'value' => esc_html( $order->get_meta('_udfyld_ean') ),
);
}
}
return $new_total_rows;
}
代码进入函数。活动子主题(或活动主题)的php文件。测试和工作。
我有这个代码在我的function.php,我怎么能在管理邮件订单中分配这个字段值?谢谢!
在Woocommerce中,我在Woocommerce中的账单明细之前添加了一个新的自定义结账字段?来自@LoicTheAztec,效果完美。 我有麻烦在管理订单页面显示信息。 然后,我尝试使用“添加订单元数据”来创建Commerce管理订单概述,对代码进行了一些更改以满足我的需要: 显示额外详细信息和某些字段:但不显示自定义字段值。 我还在想我到底做错了什么。关于我应该去哪里看有什么建议吗?
我可以在购物车和结账页面中获取元字段,但在电子邮件中,我尝试使用数组获取元字段,但在电子邮件中找不到任何自定义字段。 如何在电子邮件通知中获取自定义元字段(管理员、客户)? 我的代码如下: 任何帮助都很感激。
所以我已经为一个在线商店做了一个自定义管理订单模板(重新设计和重新安排了很多)。我已经知道“show image=>false/true”这不是我要找的答案,因为我完全改变了我的电子邮件模板中的一切。现在我的问题是不知道如何展示产品形象。 欢迎任何帮助,因为我是编码的新手。 编辑:这是我现在存在的错误: 下面是我的代码:
我在这个相关的答案中找到了对我的问题的部分和可行的答案: send-an-email-notification-when-order-status-changhe-fron-pendig-to-cancelled 我正在考虑使用提供的解决方案,但想看看我是否可以更改电子邮件通知,明确地说,“未决付款订单现在取消”,所以它不同于常规取消的订单。 我该怎么做?
我在wordpress网站上安装了签出字段编辑器。我创建了自定义字段。但是,使用以下代码,PCCustomer字段将同时出现在发送给我和客户的“新订单”电子邮件中。相反,我希望它完全属于我。我试着编辑代码,但仍然不起作用。