• 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.