mirror of
https://gh.wpcy.net/https://github.com/mainwp/Code-Snippets-Functions.git
synced 2026-05-01 11:52:25 +08:00
https://github.com/strangerstudios/pmpro-snippets-library/blob/dev/misc/hide-show-profile-fields-based-on-level.php
31 lines
712 B
Text
31 lines
712 B
Text
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 );
|