ID ) ) { return new \WP_Error( 'us_child_account', esc_html__( 'This is a child account and cannot be signed in to. Please sign in with the parent or guardian account.', 'unsupervised-schedular' ) ); } return $user; } /** * Strip the booking capability from a child account, so the only route to a * lesson in their name is their guardian's authorised booking. * * @param array $allcaps All capabilities currently held. * @param array $caps Required capabilities (unused). * @param array $args Callback args (unused). * @param mixed $user The user being checked (a WP_User in practice). * @return array */ public function withholdBooking( array $allcaps, array $caps, array $args, mixed $user ): array { if ( $user instanceof \WP_User && GuardianService::isChild( (int) $user->ID ) ) { unset( $allcaps[ RoleManager::CAP_BOOK_LESSON ] ); } return $allcaps; } }