1, 'content_permissions' => 1, 'private_blog' => 0, // @since 0.2.0 // Do not use gettext here, or it will cause translation error in WP 6.7+ 'private_feed' => 0, 'content_permissions_error' => 'Sorry, but you do not have permission to view this content.', 'private_feed_error' => 'You must be logged into the site to view this content.', // @since 1.0.0 'explicit_denied_caps' => true, 'multi_roles' => true, // @since 2.0.0 'show_human_caps' => true, 'private_rest_api' => false, // @since 3.2.11 'hide_posts_rest_api' => true, ); } /** * Validates and sanitizes the plugin settings before saving. Shared by the settings screen and * the AI (MCP) abilities. * * @since 3.3.0 * @access public * @param array $settings Submitted settings. * @return array */ function members_validate_settings( $settings ) { $settings = is_array( $settings ) ? $settings : array(); // 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( isset( $settings['content_permissions_error'] ) ? (string) $settings['content_permissions_error'] : '' ) ) ); $settings['private_feed_error'] = stripslashes( wp_filter_post_kses( addslashes( isset( $settings['private_feed_error'] ) ? (string) $settings['private_feed_error'] : '' ) ) ); // Return the validated/sanitized settings. return apply_filters( 'members_validate_settings', $settings ); }