# Free Females Only or Free Males Only Membership Paid Memberships Pro

Source: https://seventhqueen.com/docs/sweetdate/free-females-only-or-free-males-only-membership-paid-memberships-pro/

**NOTICE: This post is outdated and it is possible not to work as expected. **

**NOTE:** If you are using a different field for gender, change "I am a" with the name of your gender field

To assign a free membership to female users once they register, add the following code to your functions.php at child theme

```
/**
* When registering, add the member to a specific membership level
* based on the field value he has selected
*
* @global object $wpdb
* @global object $bp
* @param integer $user_id
*/
function kleo_pmpro_default_level($user_id) {
    global $wpdb, $bp;

    //Change this with your field name
    $field_name= "I am a";

    //Change the field value
    $value_to_match = "Woman";

    //Membership level id
    $membership_level = 1;

    //Done editing
    $field_id = $wpdb->get_var( $wpdb->prepare( "SELECT id FROM {$bp->profile->table_name_fields} WHERE name = %s", $field_name ) );
    if ($_POST['field_'.$field_id] == $value_to_match) {
            pmpro_changeMembershipLevel($membership_level, $user_id);
    }
}

function kleo_mu_pmpro_default_level($user_id, $password, $meta) {
    global $bp, $wpdb;

    //Change this with your field name
    $field_name= "I am a";

    //Change the field value
    $value_to_match = "Woman";

    //Membership level id
    $membership_level = 1;

    //Done editing
    $field_id = $wpdb->get_var( $wpdb->prepare( "SELECT id FROM {$bp->profile->table_name_fields} WHERE name = %s", $field_name ) );
    $field_value = $meta['field_'.$field_id];
    if ( $field_value == $value_to_match ) {
        pmpro_changeMembershipLevel($membership_level, $user_id);
    }
}

if (is_multisite()) {
    add_action( 'wpmu_activate_user', 'kleo_mu_pmpro_default_level', 10, 3);
} else {
    add_action('user_register', 'kleo_pmpro_default_level');
}
```

To assign a free membership to male users once they register, add the following code to your functions.php at child theme

```
/**
* When registering, add the member to a specific membership level
* based on the field value he has selected
*
* @global object $wpdb
* @global object $bp
* @param integer $user_id
*/
function kleo_pmpro_default_level($user_id) {
    global $wpdb, $bp;

    //Change this with your field name
    $field_name= "I am a";

    //Change the field value
    $value_to_match = "Woman";

    //Membership level id
    $membership_level = 1;

    //Done editing
    $field_id = $wpdb->get_var( $wpdb->prepare( "SELECT id FROM {$bp->profile->table_name_fields} WHERE name = %s", $field_name ) );
    if ($_POST['field_'.$field_id] == $value_to_match) {
            pmpro_changeMembershipLevel($membership_level, $user_id);
    }
}

function kleo_mu_pmpro_default_level($user_id, $password, $meta) {
    global $bp, $wpdb;

    //Change this with your field name
    $field_name= "I am a";

    //Change the field value
    $value_to_match = "Man";

    //Membership level id
    $membership_level = 1;

    //Done editing
    $field_id = $wpdb->get_var( $wpdb->prepare( "SELECT id FROM {$bp->profile->table_name_fields} WHERE name = %s", $field_name ) );
    $field_value = $meta['field_'.$field_id];
    if ( $field_value == $value_to_match ) {
        pmpro_changeMembershipLevel($membership_level, $user_id);
    }
}

if (is_multisite()) {
    add_action( 'wpmu_activate_user', 'kleo_mu_pmpro_default_level', 10, 3);
} else {
    add_action('user_register', 'kleo_pmpro_default_level');
}
```
