namespace . '/settings' ); /* === Settings Fields === */ add_settings_field( 'select_roles', esc_html__( 'Select Roles', 'members' ), array( $this, 'field_select_roles' ), app()->namespace . '/settings', 'general' ); add_settings_field( 'redirect', esc_html__( 'Redirect', 'members' ), array( $this, 'field_redirect' ), app()->namespace . '/settings', 'general' ); add_settings_field( 'toolbar', esc_html__( 'Toolbar', 'members' ), array( $this, 'field_toolbar' ), app()->namespace . '/settings', 'general' ); } /** * Validates the plugin settings. * * @since 1.0.0 * @access public * @param array $input * @return array */ function validate_settings( $settings ) { // Validate selected roles. // // Note that it's possible for `$settings['roles']` to not be set // when no roles at all are selected. if ( empty( $settings['roles'] ) ) { $settings['roles'] = array(); } foreach ( $settings['roles'] as $key => $role ) { if ( ! members_role_exists( $role ) ) unset( $settings['roles'][ $key ] ); } // Escape URLs. $settings['redirect_url'] = esc_url_raw( $settings['redirect_url'] ); if ( ! $settings['redirect_url'] ) $settings['redirect_url'] = esc_url_raw( home_url() ); // Handle checkboxes. $settings['disable_toolbar'] = ! empty( $settings['disable_toolbar'] ) ? true : false; return apply_filters( app()->namespace . '/validate_settings', $settings ); } /** * Role/Caps section callback. * * @since 1.0.0 * @access public * @return void */ public function section_general() { ?>

namespace . '/settings' ); ?>