Hide or Show Fields on Member Profiles based on Membership Level in Paid Memberships Pro

Hide or Show Fields on Member Profiles based on Membership Level in Paid Memberships Pro on child sites.

Snippet Type

Execute on Child Sites

Snippet

function my_pmpro_member_profile_fields( $fields, $user ) {

	$premium_fields = array( 'user_url', 'facebook', 'twitter', 'linkedin', 'instagram' );
	$premium_levels = array( 1, 2, 5, 6 );

	if ( ! empty( $fields ) && ! pmpro_hasMembershipLevel( $premium_levels, $user->ID ) ) {

		$new_fields = array();

		foreach ( $fields as $key => $field ) {

			$include = true;

			foreach ( $premium_fields as $pfield ) {
				if ( ! isset( $field[1] ) || $field[1] == $pfield ) {
					$include = false;
					break;
				}
			}

			if ( $include ) {
				$new_fields[] = $field;
			}
		}

		$fields = $new_fields;
	}

	return $fields;
}
add_filter( 'pmpro_member_profile_fields', 'my_pmpro_member_profile_fields', 10, 2 );

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.