Last active
April 18, 2020 19:13
-
-
Save scottopolis/52d00e2095d1e959d2ef to your computer and use it in GitHub Desktop.
Add user meta to the WP-API
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* Adds all user meta to the /wp-json/wp/v2/user/[id] endpoint */ | |
function sb_user_meta( $data, $field_name, $request ) { | |
if( $data['id'] ){ | |
$user_meta = get_user_meta( $data['id'] ); | |
} | |
if ( !$user_meta ) { | |
return new WP_Error( 'No user meta found', 'No user meta found', array( 'status' => 404 ) ); | |
} | |
foreach ($user_meta as $key => $value) { | |
$data[$key] = $value; | |
} | |
return $data; | |
} | |
add_action( 'rest_api_init', function () { | |
register_api_field( 'user', | |
'meta', | |
array( | |
'get_callback' => 'sb_user_meta', | |
'update_callback' => null, // add callback here for POST/PUT requests to update user meta | |
'schema' => null, | |
) | |
); | |
} ); |
@Wohlfath great ! Could you provide your functions.php please ?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
How will I update the user meta?