0 ? get_userdata( $user_id ) : false; if ( ! $user instanceof WP_User || ! $user->exists() ) { return false; } /** * Roles whose accounts may be connected. Default: customer, subscriber. * * @param string[] $roles Role slugs. */ $roles = (array) apply_filters( 'agentadapt_eligible_roles', array( 'customer', 'subscriber' ) ); if ( ! array_intersect( (array) $user->roles, $roles ) ) { return false; } /** * Capabilities that make an account ineligible. Extend, don't shrink: * a capability removed here lets an agent wield it. * * @param string[] $caps Capabilities. */ foreach ( array_unique( array_merge( self::DENY_CAPS, (array) apply_filters( 'agentadapt_ineligible_caps', array() ) ) ) as $cap ) { if ( user_can( $user, $cap ) ) { return false; } } return true; } }