在Woocommerce中,我在Woocommerce中的账单明细之前添加了一个新的自定义结账字段?来自@LoicTheAztec,效果完美。
我有麻烦在管理订单页面显示信息。
然后,我尝试使用“添加订单元数据”来创建Commerce管理订单概述,对代码进行了一些更改以满足我的需要:
// display the extra data in the order admin panel
function kia_display_order_data_in_admin( $order ){ ?>
<div class="order_data_column">
<h4><?php _e( 'Extra Details' ); ?></h4>
<?php
echo '<p><strong>' . __( 'Some field' ) . ':</strong>' . get_post_meta( $order->id, '_my_field_name', true ) . '</p>';?>
</div>
<?php }
add_action( 'woocommerce_admin_order_data_after_order_details', 'kia_display_order_data_in_admin' );?>
显示额外详细信息和某些字段:但不显示自定义字段值。
我还在想我到底做错了什么。关于我应该去哪里看有什么建议吗?
更新3:尝试以下轻度重温的代码:
add_action( 'woocommerce_checkout_before_customer_details', 'custom_checkout_fields_before_billing_details', 20 );
function custom_checkout_fields_before_billing_details(){
$domain = 'woocommerce';
$checkout = WC()->checkout;
echo '<div id="my_custom_checkout_field">';
echo '<h3>' . __('My New Fields Section') . '</h3>';
woocommerce_form_field( '_my_field_name', array(
'type' => 'text',
'label' => __('My 1st new field', $domain ),
'placeholder' => __('Please fill in "my 1st new field"', $domain ),
'class' => array('my-field-class form-row-wide'),
'required' => true, // or false
), $checkout->get_value( '_my_field_name' ));
echo '</div>';
}
// Custom checkout fields validation
add_action( 'woocommerce_checkout_process', 'custom_checkout_field_process' );
function custom_checkout_field_process() {
if ( isset($_POST['_my_field_name']) && empty($_POST['_my_field_name']) )
wc_add_notice( __( 'Please fill in "My 1st new field".' ), 'error' );
}
// Save custom checkout fields the data to the order
add_action( 'woocommerce_checkout_create_order', 'custom_checkout_field_update_meta', 10, 2 );
function custom_checkout_field_update_meta( $order, $data ){
if( isset($_POST['_my_field_name']) && ! empty($_POST['_my_field_name']) )
$order->update_meta_data( '_my_field_name', sanitize_text_field( $_POST['_my_field_name'] ) );
}
// Display the extra data in the order admin panel
add_action( 'woocommerce_admin_order_data_after_order_details', 'display_order_data_in_admin', 10, 1 );
function display_order_data_in_admin( $order ){
if( $value = $order->get_meta( '_my_field_name' ) ) {
echo '<div class="order_data_column">
<h4>' . __( "Extra Details", "woocommerce" ) . '</h4>
<p><strong>' . __( 'Some field', "woocommerce" ) . ':</strong> ' . $value . '</p>
</div>';
}
}
代码进入函数。活动子主题(活动主题)的php文件。测试和工作。
我需要在管理订单页面、谢谢和电子邮件通知中显示我的自定义签出字段。 我正在使用验证和保存WooCommerce回答代码中特定支付网关的额外结账字段来显示,验证和保存我的自定义字段。 从显示管理订单详细信息上的自定义字段数据,我试图显示自定义字段保存的输入值。 这是我到目前为止的代码: 但它不起作用。该字段不会附加到数据库中,但不会显示在任何位置: 如何正确显示字段?
但这给了我添加列中的“未定义变量”错误。 如果我只将放入函数中,它将“rechnung beilegen”输出到my_column_id_2中的每一行。像这样: 因此,问题是:如何根据中的选择将输出转换为?
我有这个代码在我的function.php,我怎么能在管理邮件订单中分配这个字段值?谢谢!
以下仅在WooCommerce Admin single orders中显示产品自定义字段回答我的上一个问题,其中: 添加自定义SKU字段(ArticleID) 如何更改“管理单订单”页面的“订单行项目”部分上显示的元键标签? 现在它显示了“SKU”、“变体ID”(用于产品变体)和“\u articleid”。 我想用“文章ID”代替显示的“_articleid”。 有什么帮助吗?
我创建了一些代码来显示woocommerce上的库存可用性 问题是,如果我更改了自定义字段文本,那么所有以前的订单都会用新的自定义字段文本更新。 例如:一个客户在2021年1月确认了一个产品的订单,其中自定义字段文本是“产品将在2021年3月提供”。第二客户在2021年3月确认了相同的产品订单,其中新的自定义字段文本是“产品将在2021年5月提供”。 两份订单都显示了最后一个自定义字段文本“产品将
我可以在购物车和结账页面中获取元字段,但在电子邮件中,我尝试使用数组获取元字段,但在电子邮件中找不到任何自定义字段。 如何在电子邮件通知中获取自定义元字段(管理员、客户)? 我的代码如下: 任何帮助都很感激。