defines user roles. Mainly for Dashboard/Directory sites * Structure: slug => $options * Note: slug is prepended with BASE * $options includes: * - has_dashboard = user has access to custom dashboard * - can_create = (array) of post types and taxonomies they can create * --> Optionally, if the user is split between types (example: tattoo artist vs piercer), you can define types here. * ex: [ * ['tattoo-artist' => ['tattoo', 'artwork']], * ['piercer' => ['piercing', 'artwork']], * ] * - manage_others = (array) of post types this role can manage other users items * - can_register = (bool) if true, this user can self register * - profile = (string) associated post type to treat as archive page, as registered in Registrar * - register_fields = (array) of field names available in registration, as defined in settings OR associated profile post Registrar * - approve_new = (bool) if true, user content is hidden until verified by admin/other verified users * - keep_stats = (bool) if true, creates a statistics table that tracks how much content is created per user per day * - settings = (array) of fields users can modify * - admin = (array) of fields admin/moderators can modify, attached to user * - register = (array) of field names as defined in settings that are on registration, if can_register === true * - description = (array|string) if an array, each item in array will be it's own paragraph * -> description of the user role. Used in the registration page */ $defaults = []; //if (array_key_exists('enthusiast', JVB_SITE) && JVB_SITE['enthusiast'] === true) { // $defaults['enthusiast'] = [ // 'label' => 'Enthusiast', // 'has_dashboard' => true, // 'can_create' => [], // 'can_register' => true, // 'can_favourite' => true, // 'keep_stats' => true, // 'join_text' => 'Save your favourites. Get Notified.', // 'join_title' => 'Welcome to the Scene.', // 'join_description' => [ // 'Save your favourites for easy access', // 'Get notified when your favourite artists add new content', // 'Stay in the loop with local flash days and events', // 'Discover styles and artists that match your vision' // ], // 'join_bonus' => 'BONUS: Everything\'s free. And always will be. We work with partners vetted by the community to keep the lights on.', // ]; //} $users = array_merge($defaults, apply_filters('jvb_user', [])); define('JVB_USER', $users);