I created a custom user_meta, but I cant update it via curl.
I can do this with user_meta
curl --header "Authorization: Basic ACCESS_TOKEN" -X POST -d "description=New description" http://domain.com/wp-json/wp/v2/users/1
But I cant do the same with custom meta
curl --header "Authorization: Basic ACCESS_TOKEN" -X POST -d "user_continent=Asia" http://domain.com/wp-json/wp/v2/users/1
This may help
How I add the custom meta to the API:
add_action( 'rest_api_init', 'adding_user_meta_rest' );
function adding_user_meta_rest() {
$user_metas = array('account_psn_title', 'account_psn_id', 'account_steam_title', 'account_steam_id', 'account_twitch_title', 'account_twitch_id', 'account_xbox_title', 'account_xbox_id', 'account_youtube_title', 'account_youtube_id', '_uw_balance', 'user_continent', 'user_platform');
foreach ($user_metas as $user_meta) {
register_rest_field( 'user',
$user_meta,
array(
'get_callback' => 'user_meta_callback',
'update_callback' => 'user_meta_update_callback',
'schema' => null,
)
);
}
}
function user_meta_callback( $user, $field_name, $request) {
return get_user_meta( $user[ 'id' ], $field_name, true );
}
function user_meta_update_callback( $user, $field_name, $request) {
update_user_meta( $user[ 'id' ], $field_name, XXXX );
}
function user_meta_update_callback
is my attempt to make those custom meta editable.
What should I put in user_meta_update_callback
in place of the XXXX?
Am I doing right?
user_continent
a meta you have coded yourself ? – mmm Feb 2 '18 at 23:19