function wdp_get_all_memberships_levels() { global $wpdb; $levels = array(); if ( isset( $wpdb->pmpro_membership_levels ) ) { $levels = $wpdb->get_results( "SELECT * FROM {$wpdb->pmpro_membership_levels} ORDER BY name" ); } return is_array( $levels ) ? $levels : array(); } add_filter( 'wdp_preloaded_list_user_roles', function ( $list ) { if ( ! function_exists('wdp_get_all_memberships_levels') ) { return $list; } foreach ( wdp_get_all_memberships_levels() as $level ) { $list[] = array( 'id' => 'membership_' . $level->id, 'text' => '(membership) ' . $level->name, ); } return $list; } ); add_filter( 'wdp_current_user_roles', function ( $roles ) { /** * @var WDP_User_Impl $wdp_user */ if ( ! function_exists('pmpro_getMembershipLevelsForUser') ) { return $roles; } $user_memberships = pmpro_getMembershipLevelsForUser( get_current_user_id() ); if ( ! $user_memberships ) { return $roles; } $user_memberships = array_map( function ( $id ) { return 'membership_' . $id; }, array_column( $user_memberships, 'id' ) ); return array_merge( $roles, $user_memberships ); }, 10, 1 );
Paid Memberships Pro, by Stranger Studios Print
Created by: Alex Prokaev
Modified on: Fri, 6 Sep, 2019 at 4:07 PM
Did you find it helpful? Yes No
Send feedbackSorry we couldn't be helpful. Help us improve this article with your feedback.