mrD
mrD

Reputation: 45

Woocommerce Rest APi get custom meta field

I'm trying to pull a products custom meta and custom taxonomy value from woocommerce using the rest api. But no matter what I try a can't seem to get it to work. Not sure what I'm missing.

Example, my products have a custom meta value "product_location". The post meta value exists and works because I can use this to pull the value into the woocommerce product page:

get_post_meta($product->get_id(), 'product_location', true );

In my functions.php file I've added:

add_action( 'rest_api_init', 'handle_location' );

function handle_location() {
    register_rest_field( 'post', 'product_location', array(
        'get_callback' => array( $this, 'get_the_product_location' ),
        'schema' => null
    ));        
}   

function get_the_product_location( $post, $field_name, $request ) { 
    return get_post_meta( $post[ 'id' ], $field_name, true );
}

However, when I make a call say https://*******.com/wc-api/v2/products/302341/ the meta data isn't included. So basically how can I include the additional meta data? I plan on trying this for a custom taxonomy as well. Any help is appreciated - Thanks

Upvotes: 0

Views: 1058

Answers (1)

csyecom
csyecom

Reputation: 1

Try changing your bottom function to

  function get_the_product_location( $post, $field_name, $request ) { 
  return get_post_meta( $post[ 'id' ], 'product_location', $meta_value );
  }

Upvotes: 0

Related Questions