wp_create_nonce( 'members_reset_roles' ), 'ajaxurl' => admin_url( 'admin-ajax.php' ), 'confirmMessage' => esc_html__( 'This will remove only roles created with Members and reset the five WordPress roles (Administrator, Editor, Author, Contributor, Subscriber) to their default capabilities. Roles from other plugins (e.g. WooCommerce) will not be removed. Continue?', 'members' ), 'successMessage' => esc_html__( 'Members-created roles have been removed and WordPress roles have been reset to their defaults.', 'members' ), 'errorMessage' => esc_html__( 'An error occurred while resetting roles. Please try again.', 'members' ) ) ); } /** * Registers the plugin settings. * * @since 2.0.0 * @access public * @return void */ function register_settings() { // Get the current plugin settings w/o the defaults. $this->settings = get_option( 'members_settings' ); // Register the setting. register_setting( 'members_settings', 'members_settings', array( $this, 'validate_settings' ) ); /* === Settings Sections === */ // Add settings sections. add_settings_section( 'roles_caps', esc_html__( 'Roles and Capabilities', 'members' ), array( $this, 'section_roles_caps' ), 'members-settings' ); add_settings_section( 'content_permissions', esc_html__( 'Content Permissions', 'members' ), '__return_false', 'members-settings' ); add_settings_section( 'private_site', esc_html__( 'Private Site', 'members' ), '__return_false', 'members-settings' ); add_settings_section( 'misc', esc_html__( 'Miscellaneous', 'members' ), '__return_false', 'members-settings' ); /* === Settings Fields === */ // Role manager fields. add_settings_field( 'enable_role_manager', esc_html__( 'Role Manager', 'members' ), array( $this, 'field_enable_role_manager' ), 'members-settings', 'roles_caps' ); add_settings_field( 'enable_multi_roles', esc_html__( 'Multiple User Roles', 'members' ), array( $this, 'field_enable_multi_roles' ), 'members-settings', 'roles_caps' ); add_settings_field( 'explicit_denied_caps', esc_html__( 'Capabilities', 'members' ), array( $this, 'field_explicit_denied_caps' ), 'members-settings', 'roles_caps' ); // Content permissions fields. add_settings_field( 'enable_content_permissions', esc_html__( 'Enable Permissions', 'members' ), array( $this, 'field_enable_content_permissions' ), 'members-settings', 'content_permissions' ); add_settings_field( 'hide_protected_posts_rest_api', esc_html__( 'Hide Protected Posts from WP REST API', 'members' ), array( $this, 'field_hide_protected_posts_rest_api' ), 'members-settings', 'content_permissions' ); add_settings_field( 'content_permissions_error', esc_html__( 'Error Message', 'members' ), array( $this, 'field_content_permissions_error' ), 'members-settings', 'content_permissions' ); // Private site fields. add_settings_field( 'enable_private_site', esc_html__( 'Enable Private Site', 'members' ), array( $this, 'field_enable_private_site' ), 'members-settings', 'private_site' ); add_settings_field( 'private_rest_api', esc_html__( 'REST API', 'members' ), array( $this, 'field_private_rest_api' ), 'members-settings', 'private_site' ); add_settings_field( 'enable_private_feed', esc_html__( 'Disable Feed', 'members' ), array( $this, 'field_enable_private_feed' ), 'members-settings', 'private_site' ); add_settings_field( 'private_feed_error', esc_html__( 'Feed Error Message', 'members' ), array( $this, 'field_private_feed_error' ), 'members-settings', 'private_site' ); // Misc fields. add_settings_field( 'review_prompt_removed', esc_html__( 'Disable Review Prompt', 'members' ), array( $this, 'field_remove_review_prompt' ), 'members-settings', 'misc' ); do_action( 'members_register_settings' ); } /** * Validates the plugin settings. * * @since 2.0.0 * @access public * @param array $input * @return array */ function validate_settings( $settings ) { // Validate true/false checkboxes. $settings['role_manager'] = ! empty( $settings['role_manager'] ) ? true : false; $settings['explicit_denied_caps'] = ! empty( $settings['explicit_denied_caps'] ) ? true : false; $settings['show_human_caps'] = ! empty( $settings['show_human_caps'] ) ? true : false; $settings['multi_roles'] = ! empty( $settings['multi_roles'] ) ? true : false; $settings['content_permissions'] = ! empty( $settings['content_permissions'] ) ? true : false; $settings['private_blog'] = ! empty( $settings['private_blog'] ) ? true : false; $settings['private_rest_api'] = ! empty( $settings['private_rest_api'] ) ? true : false; $settings['hide_posts_rest_api'] = ! empty( $settings['hide_posts_rest_api'] ) ? true : false; $settings['private_feed'] = ! empty( $settings['private_feed'] ) ? true : false; // Kill evil scripts. $settings['content_permissions_error'] = stripslashes( wp_filter_post_kses( addslashes( $settings['content_permissions_error'] ) ) ); $settings['private_feed_error'] = stripslashes( wp_filter_post_kses( addslashes( $settings['private_feed_error'] ) ) ); // Return the validated/sanitized settings. return apply_filters( 'members_validate_settings', $settings ); } /** * Role/Caps section callback. * * @since 2.0.0 * @access public * @return void */ public function section_roles_caps() { ?>

'members_settings[content_permissions_error]', 'drag_drop_upload' => true, 'editor_height' => 250 ) ); } /** * Enable private site field callback. * * @since 2.0.0 * @access public * @return void */ public function field_enable_private_site() { ?> 'members_settings[private_feed_error]', 'drag_drop_upload' => true, 'editor_height' => 250 ) ); } /** * Private feed error message field callback. * * @since 2.0.0 * @access public * @return void */ public function field_remove_review_prompt() { ?>
add_help_tab( array( 'id' => 'roles-caps', 'title' => esc_html__( 'Role and Capabilities', 'members' ), 'callback' => array( $this, 'help_tab_roles_caps' ) ) ); // Content Permissions help tab. $screen->add_help_tab( array( 'id' => 'content-permissions', 'title' => esc_html__( 'Content Permissions', 'members' ), 'callback' => array( $this, 'help_tab_content_permissions' ) ) ); // Widgets help tab. $screen->add_help_tab( array( 'id' => 'sidebar-widgets', 'title' => esc_html__( 'Sidebar Widgets', 'members' ), 'callback' => array( $this, 'help_tab_sidebar_widgets' ) ) ); // Private Site help tab. $screen->add_help_tab( array( 'id' => 'private-site', 'title' => esc_html__( 'Private Site', 'members' ), 'callback' => array( $this, 'help_tab_private_site' ) ) ); // Set the help sidebar. $screen->set_help_sidebar( members_get_help_sidebar_text() ); } /** * Displays the roles/caps help tab. * * @since 2.0.0 * @access public * @return void */ public function help_tab_roles_caps() { ?>

restrict_content' ); ?>