gpt4 book ai didi

php - 如何在 WooCommerce 中的结帐页面上重新排序其他字段

转载 作者:行者123 更新时间:2023-12-04 07:36:09 31 4
gpt4 key购买 nike

我无法弄清楚如何在 WooCommerce 的结帐页面上重新排序附加字段。
我在 WooCommerce 附加信息部分添加了一个额外的字段。我想先显示时间字段,然后是它下面的订单注释。
这是我正在使用的代码:

add_filter(  'woocommerce-additional-fields', 'custom_order_fields', 20, 1 );
function custom_order_fields( $fields ) {

$fields['order_comments']['priority'] = 80;
$fields['woocommerce-delivery-time-field']['priority'] = 70;

return $fields;
}

然而,这并没有达到预期的结果。有人能告诉我我做错了什么吗?

最佳答案

如果要先显示自定义字段,然后再显示订单备注。
您可以使用:

// Add 'delivery time' field before 'order comments'
function filter_woocommerce_checkout_fields( $fields ) {
// Get 'order comments' field
$order_comments = $fields['order']['order_comments'];

// Unset 'order comments' field
unset( $fields['order']['order_comments'] );

// Add 'delivery time' field
$fields['order']['delivery_time'] = array(
'label' => __( 'Delivery time', 'woocommerce' ),
'required' => true,
'type' => 'text',
'class' => array( 'form-row-wide' ),
);

// Add 'order comments' field
$fields['order']['order_comments'] = $order_comments;

return $fields;
}
add_filter( 'woocommerce_checkout_fields' , 'filter_woocommerce_checkout_fields', 10, 1 );

使用 woocommerce_before_order_notes Action 钩
function action_woocommerce_before_order_notes( $checkout ) {       
// Add field
woocommerce_form_field( 'delivery_time', array(
'type' => 'text',
'class' => array( 'form-row form-row-wide' ),
'label' => __( 'Delivery time', 'woocommerce' ),
'required' => true,
), $checkout->get_value( 'delivery_time' ) );
}
add_action( 'woocommerce_before_order_notes', 'action_woocommerce_before_order_notes', 10, 1 );

关于php - 如何在 WooCommerce 中的结帐页面上重新排序其他字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67730596/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com