Using API – update_user_meta
-
Hello! I have a piece of code that changes user’s role depends on a certan status they achieve. Here is how it is looks like:
$user_subscriber_role = 'a:1:{s:10:"subscriber";s:1:"1";}'; $user_author_role = 'a:1:{s:6:"author";s:1:"1";}'; if( $points > 30 && $uid!='1'){ $sql = "UPDATE <code>wp_usermeta</code> SET <code>meta_value</code>='$user_author_role' WHERE <code>user_id</code> = $uid and <code>meta_key</code> = 'wp_capabilities';"; $rate_log = $wpdb->query($sql); $sql = "UPDATE <code>wp_usermeta</code> SET <code>meta_value</code>='2' WHERE <code>user_id</code> = $uid and <code>meta_key</code> = 'wp_user_level';"; $rate_log = $wpdb->query($sql); } else { $sql = "UPDATE <code>wp_usermeta</code> SET <code>meta_value</code>='$user_subscriber_role' WHERE <code>user_id</code> = $uid and <code>meta_key</code> = 'wp_capabilities';"; $rate_log = $wpdb->query($sql); $sql = "UPDATE <code>wp_usermeta</code> SET <code>meta_value</code>='0' WHERE <code>user_id</code> = $uid and <code>meta_key</code> = 'wp_user_level';"; $rate_log = $wpdb->query($sql); }
I understand I should better use WordPress API but I can’t figure out the meta_value to do the same by update_user_meta function. So my solution is working but I would likt to do it more correctly. What would that be?
- The topic ‘Using API – update_user_meta’ is closed to new replies.