/** * Register internal post type * * @return type */ public function register_post_type() { //only register on the main bp site if (is_multisite() && !bp_is_root_blog()) { return; } register_post_type(bmt_get_post_type(), array('label' => __('BuddyPress Member Types', 'bmt-member-types'), 'labels' => array('name' => __('BuddyPress Member Types', 'bp-member-types'), 'singular_name' => __('Member Type', 'bp-member-types'), 'menu_name' => __('Member Types', 'bp-member-types'), 'all_items' => __('All Member Types', 'bp-member-types'), 'add_new_item' => __('New Member Type', 'bp-member-types'), 'new_item' => __('New Member Type', 'bp-member-types'), 'edit_item' => __('Edit Member Type', 'bp-member-types'), 'search_items' => __('Search Member Types', 'bp-member-types'), 'not_found_in_trash' => __('No Member Types found in trash', 'bp-member-types'), 'not_found' => __('No Member Types found', 'bp-member-types')), 'public' => false, 'show_ui' => true, 'show_in_menu' => true, 'menu_position' => 24, 'menu_icon' => 'dashicons-groups', 'supports' => array('title'))); }
function bmt_get_member_type_by_wp_role($role) { $bmt_ids = array(); $post_type = bmt_get_post_type(); $bmt_args = array('post_type' => $post_type, 'nopaging' => true); $bmt_query = new WP_Query($bmt_args); if ($bmt_query->have_posts()) { while ($bmt_query->have_posts()) { $bmt_query->the_post(); $post_id = get_the_ID(); $selected_roles = get_post_meta($post_id, '_bp_member_type_wp_roles', true); $selected_roles = (array) $selected_roles; $singular_name = strtolower(get_post_meta($post_id, '_bp_member_type_label_singular_name', true)); $name = str_replace(array(' ', ','), array('-', '-'), $singular_name); if (in_array($role, $selected_roles)) { $bmt_ids[] = array('ID' => $post_id, 'name' => $name, 'nice_name' => $singular_name); } } } wp_reset_query(); wp_reset_postdata(); return $bmt_ids; }
private function __construct() { $this->post_type = bmt_get_post_type(); $this->init(); }