You are using the wrong name on the radio inputs, radio-inline
but when you try to get that value you are using $_POST['gender']
I’ve updated you code and made some improvement too, with the checked()
function
function show_extra_profile_fields( $user ) {
$gender = get_user_meta( $user->ID, 'gender', true );
?>
<section>
<label class="label" for="gender">Gender</label>
<div class="inline-group">
<label class="radio"><input type="radio" name="gender" <?php checked( $gender, 'Male' ); ?> value="Male" /> <i>Male</i></label>
<label class="radio"><input type="radio" name="gender" <?php checked( $gender, 'Female' ); ?> value="Female" /> <i>Female</i></label>
</div>
</section>
<?php }
OBS: you should sanitize data too.
OBS2: Do what @kaiser said:
Questions are meant to be references for later visitors as well. Please rework your questions spelling/punctuation/grammar/capitalization so it as as easy to read as possible. Thanks.
Sorry for bad english