Taxonomy: Member Status
Member Status taxonomy for a Member post type (for sites that do not use Users as Members). Because adding Custom Statuses is still a little weird in Wordpress (if you want to access them through the Wordpress Dashboard UI), we can use a custom taxonomy. Be sure to replace text_domain with your own theme’s text_domain.
if ( ! function_exists( 'tax_member_status' ) ) { // Register Custom Taxonomy function tax_member_status() { $labels = array( 'name' => _x( 'Member Statuses', 'Taxonomy General Name', 'text_domain' ), 'singular_name' => _x( 'Member Status', 'Taxonomy Singular Name', 'text_domain' ), 'menu_name' => __( 'Member Statuses', 'text_domain' ), 'all_items' => __( 'All Member Statuses', 'text_domain' ), 'parent_item' => __( 'Parent Member Status', 'text_domain' ), 'parent_item_colon' => __( 'Parent Member Status:', 'text_domain' ), 'new_item_name' => __( 'New Member Status Name', 'text_domain' ), 'add_new_item' => __( 'Add New Member Status', 'text_domain' ), 'edit_item' => __( 'Edit Member Status', 'text_domain' ), 'update_item' => __( 'Update Member Status', 'text_domain' ), 'view_item' => __( 'View Member Status', 'text_domain' ), 'separate_items_with_commas' => __( 'Separate Member Statuses with commas', 'text_domain' ), 'add_or_remove_items' => __( 'Add or remove Member Statuses', 'text_domain' ), 'choose_from_most_used' => __( 'Choose from the most used', 'text_domain' ), 'popular_items' => __( 'Popular Member Statuses', 'text_domain' ), 'search_items' => __( 'Search Member Statuses', 'text_domain' ), 'not_found' => __( 'Not Found', 'text_domain' ), 'no_terms' => __( 'No Member Statuses', 'text_domain' ), 'items_list' => __( 'Member Statuses list', 'text_domain' ), 'items_list_navigation' => __( 'Member Status list navigation', 'text_domain' ), ); $args = array( 'labels' => $labels, 'hierarchical' => true, 'public' => true, 'show_ui' => true, 'show_admin_column' => true, 'show_in_nav_menus' => false, 'show_tagcloud' => false, 'show_in_rest' => false, ); register_taxonomy( 'member_status', array( 'member' ), $args ); } add_action( 'init', 'tax_member_status', 0 ); }