Jm Cabugnason
Jm Cabugnason

Reputation: 63

Get customer custom meta on order

I just want to ask how to display custom post meta that I created on customer order detail page on frontend.

Like for example I want to get the value of this meta receive_newsletter on success order detail page on Woocommerce.

Thanks, JM

Upvotes: 0

Views: 119

Answers (2)

Tuấn Phương
Tuấn Phương

Reputation: 121

It is depend on where you want to show on order detail page. For example this hook: do_action( 'woocommerce_order_details_after_order_table', $order ); You can use:

add_action('woocommerce_order_details_after_order_table','wn_display_receive_newsletter');
function wn_display_receive_newsletter($order){
    $oder_id = $order->get_id();
    $receive_newsletter = get_post_meta('receive_newsletter',$oder_id,true);
    echo $receive_newsletter;
}

If you saved "receive_newsletter" meta to user, you can use this

add_action('woocommerce_order_details_after_order_table','wn_display_receive_newsletter');
function wn_display_receive_newsletter($order){
    $user_id= $order->get_user_id();
    $receive_newsletter = get_user_meta('receive_newsletter',$user_id,true);
    echo $receive_newsletter;
}

Upvotes: 1

Volod
Volod

Reputation: 1427

You can try this:

 $user_id = get_current_user_id(); 
 $key = 'receive_newsletter'; 
 $single = true; 
 $meta = get_user_meta( $user_id, $key, $single ); 
 echo $meta; 

Upvotes: 1

Related Questions