【发布时间】:2019-01-14 01:12:50
【问题描述】:
在 Woocommerce 中,下面的代码检索特定的自定义订单项目元数据,并在管理员编辑订单页面的一般部分区域下添加可编辑的自定义字段:
function editable_order_meta_general( $order_id ){
$order = wc_get_order( $order_id );
// Loop through order items
foreach( $order->get_items() as $item_id => $item ){
$yourref = $item->get_meta('Your Reference');
}
?>
<br class="clear" />
<h4>Customer Details <a href="#" class="edit_address">Edit</a></h4>
<div class="address">
<p><strong>Customer Reference:</strong> <?php echo $yourref ?></p>
</div>
<div class="edit_address"><?php
woocommerce_wp_text_input( array(
'id' => 'Your Reference',
'label' => 'Customer Ref:',
'value' => $yourref,
'wrapper_class' => 'form-field-wide'
) );
?></div>
}
add_action( 'woocommerce_admin_order_data_after_order_details', 'editable_order_meta_general' );
现在我正在尝试使用以下代码保存自定义可编辑字段值,但一旦我点击更新它就不会保存任何内容。
function save_general_detail_metas( $ord_id ){
update_post_meta( $ord_id, 'Your Reference', wc_clean( $_POST[ 'Your Reference' ] ) );
// wc_clean() and wc_sanitize_textarea() are WooCommerce sanitization functions
}
add_action( 'woocommerce_process_shop_order_meta', 'save_general_detail_metas' );
我做错了什么?如何保存此自定义字段值?
任何帮助将不胜感激。
【问题讨论】:
标签: php wordpress woocommerce custom-fields orders