我为网上商店添加了一些cart_item_meta和order_item_meta,但是order_item_meta没有显示在收到订单的页面上。有人知道如何解决此问题吗?
这是我使用的代码。在数据库中,一切似乎都很好。在后端,我看到了数据。但不在收到订单的页面上。
<?php
/**
* Display 'huisnummer' in the cart.
*
* @param array $item_data
* @param array $cart_item
*
* @return array
*/
add_action('woocommerce_checkout_create_order_line_item', 'save_custom_order_item_meta_data', 10, 4 );
function save_custom_order_item_meta_data( $item, $cart_item_key, $values, $order ) {
if( isset( $values['huisnummer'] ) ) {
$item->add_meta_data( 'huisnummer', $values['huisnummer'] );
}
$i = 0;
foreach($cart_item['huisnummer'] as $serie) {
$i++;
$item->update_meta_data( 'huisnummer' . $i, $serie['huisnummer'] .' t/m '. $serie['toevoeging'] );
}
if( isset( $values['huisnummer-serie'] ) ) {
$item->add_meta_data( 'huisnummer-serie', $values['huisnummer-serie'] );
}
$i = 0;
foreach($cart_item['huisnummer-serie'] as $serie) {
$i++;
$item->update_meta_data( 'huisnummer-serie' . $i, $serie['eerste-huisnummer'] .' t/m '. $serie['laatste-huisnummer'] );
}
}
add_action( 'woocommerce_after_order_itemmeta', 'order_meta_customized_display',10, 3 );
function order_meta_customized_display( $item_id, $item, $product ){
$all_meta_data= get_metadata( 'order_item', $item_id, "", "");
if (!empty($all_meta_data['huisnummer'])) {
$huisnummer = $all_meta_data;
$i = 1;
foreach ($huisnummer['huisnummer'] as $key => $value) {
$arr = unserialize($value);
foreach ($arr as $key => $value) {
echo '<table class="display_meta"><tbody>';
echo '<tr><th>Bord ' . $i .':</th><td>';
echo 'Huisnummer: '. $value['huisnummer'] . '<br/>';
echo 'Toevoeging: '. $value['toevoeging'] . '<br/>';
echo '</td></tr></tbody></table>';
$i++;
}
}
}
if (!empty($all_meta_data['huisnummer-serie'])) {
$huisnummer = $all_meta_data;
$i = 1;
foreach ($huisnummer['huisnummer-serie'] as $key => $value) {
$arr = unserialize($value);
foreach ($arr as $key => $value) {
echo '<table class="display_meta"><tbody>';
echo '<tr><th>Serie ' . $i .':</th><td>';
echo 'Eerste huisnummer: '. $value['eerste-huisnummer'] . '<br/>';
echo 'Laatste huisnummer: '. $value['laatste-huisnummer'] . '<br/>';
echo '</td></tr></tbody></table>';
$i++;
}
}
}
}
function display_huisnummer_cart( $item_data, $cart_item ) {
if ( !empty( $cart_item['huisnummer'] ) ) {
$i = 0;
foreach($cart_item['huisnummer'] as $serie) {
$i++;
$item_data[] = array(
'key' => __( 'Huisnumer ' . $i, 'wpiad' ),
'value' => $serie['huisnummer'] .' '. $serie['toevoeging'],
);
}
}
if ( !empty( $cart_item['huisnummer-serie'] ) ) {
$i = 0;
foreach($cart_item['huisnummer-serie'] as $serie) {
$i++;
$item_data[] = array(
'key' => __( 'Huisnumer serie ' . $i, 'wpiad' ),
'value' => $serie['eerste-huisnummer'] .' t/m '. $serie['laatste-huisnummer'],
);
}
}
return $item_data;
}
add_filter( 'woocommerce_get_item_data', 'display_huisnummer_cart', 10, 2 );