0

Wonder if anyone can help me on this, driving me crazy! I am trying to grab a date from a plugin which puts the date in the order meta and pass the values to an ACF field. But just not getting anywhere with it.

I have another function for action_woocommerce_new_order which gets the city from the billing details like so: $order_shipping_city = $order_data['shipping']['city']; this works perfectly when being passed to update_field.

The problem I am having is the $order->get_meta( 'Delivery Date', true );

function action_woocommerce_new_order( $order_id ) { 

    $order = wc_get_order( $order_id );

    $order_data = $order->get_data();

    // get order item metadata (in an unprotected array) 

    $item_meta_data = $order->get_meta_data();

    // Get the specific meta data from a meta_key: 

    $meta_value_date = $order->get_meta( 'Delivery Date', true );
     
    // Update collected date field

    update_field('field_5fae8fb8569c6',$meta_value_date, $order_id);      
  
}; 

// add the action 
add_action( 'woocommerce_new_order', 'action_woocommerce_new_order', 10, 1 ); 


Array
(
    [0] => WC_Meta_Data Object
        (
            [current_data:protected] => Array
                (
                    [id] => 24154
                    [key] => is_vat_exempt
                    [value] => no
                )

            [data:protected] => Array
                (
                    [id] => 24154
                    [key] => is_vat_exempt
                    [value] => no
                )

        )

    [1] => WC_Meta_Data Object
        (
            [current_data:protected] => Array
                (
                    [id] => 24155
                    [key] => city
                    [value] => Middlesbrough
                )

            [data:protected] => Array
                (
                    [id] => 24155
                    [key] => city
                    [value] => Middlesbrough
                )

        )

    [2] => WC_Meta_Data Object
        (
            [current_data:protected] => Array
                (
                    [id] => 24156
                    [key] => _city
                    [value] => field_5fbe5656f4fab
                )

            [data:protected] => Array
                (
                    [id] => 24156
                    [key] => _city
                    [value] => field_5fbe5656f4fab
                )

        )

    [3] => WC_Meta_Data Object
        (
            [current_data:protected] => Array
                (
                    [id] => 24157
                    [key] => _total_delivery_charges
                    [value] => 0
                )

            [data:protected] => Array
                (
                    [id] => 24157
                    [key] => _total_delivery_charges
                    [value] => 0
                )

        )

    [4] => WC_Meta_Data Object
        (
            [current_data:protected] => Array
                (
                    [id] => 24158
                    [key] => Delivery Date
                    [value] => 30 November, 2020
                )

            [data:protected] => Array
                (
                    [id] => 24158
                    [key] => Delivery Date
                    [value] => 30 November, 2020
                )

        )

    [5] => WC_Meta_Data Object
        (
            [current_data:protected] => Array
                (
                    [id] => 24159
                    [key] => _orddd_timestamp
                    [value] => 1606694400
                )

            [data:protected] => Array
                (
                    [id] => 24159
                    [key] => _orddd_timestamp
                    [value] => 1606694400
                )

        )

    [6] => WC_Meta_Data Object
        (
            [current_data:protected] => Array
                (
                    [id] => 24160
                    [key] => _orddd_delivery_schedule_id
                    [value] => 0
                )

            [data:protected] => Array
                (
                    [id] => 24160
                    [key] => _orddd_delivery_schedule_id
                    [value] => 0
                )

        )

    [7] => WC_Meta_Data Object
        (
            [current_data:protected] => Array
                (
                    [id] => 24166
                    [key] => _orddd_lockout_reduced
                    [value] => yes
                )

            [data:protected] => Array
                (
                    [id] => 24166
                    [key] => _orddd_lockout_reduced
                    [value] => yes
                )

        )

)

I am accessing the value like so: $meta_value_date = $order->get_meta( 'Delivery Date', true ); which outputs  30 November, 2020

If anyone could help would be massively appreciated.

  • Can you add more context around the what issue you are having with `$order->get_meta( 'Delivery Date', true );`... what is not working? – mikerojas Nov 26 '20 at 16:46
  • What is the array from that you posted? – mikerojas Nov 26 '20 at 16:46
  • Yeah of course, ok so the value which should be coming from $meta_value_date = $order->get_meta( 'Delivery Date', true ); should be "30 November, 2020" doesn't appear to be stored in it's varable $meta_value_date, maybe I am out of scope, the array is part of the order meta_data object that I have queried from the order. https://stackoverflow.com/questions/39401393/how-to-get-woocommerce-order-details – honeybadger Nov 27 '20 at 09:04

0 Answers0