$labels * @return array */ public static function get(array $labels = []): array { $labels = self::labels($labels); $methods = [ BookingMethods::DATE_TIME_OPTION => sprintf( // translators: Placeholder values. esc_html__('Date → Time → %s', 'daytidy'), $labels['option_plural'] ), BookingMethods::OPTION_SESSION => sprintf( // translators: Placeholder values. esc_html__('%1$s → %2$s', 'daytidy'), $labels['option_plural'], $labels['time'] ), BookingMethods::SESSION_OPTION => sprintf( // translators: Placeholder values. esc_html__('%1$s → %2$s', 'daytidy'), $labels['time'], $labels['option_plural'] ) ]; return (array) apply_filters('DayTidy/F__DayTidy/Data/BookingMethods__get/methods', $methods); } /** * @return array */ public static function types(): array { $types = self::get(); return array_keys($types); } public static function allowsMultipleSessions(string $method): bool { return in_array($method, [ self::OPTION_SESSION, self::SESSION_OPTION, ], true); } /** * @param array $labels * @return array */ private static function labels(array $labels): array { return array_merge([ 'option_plural' => esc_html__('Options', 'daytidy'), 'time' => esc_html__('Sessions', 'daytidy'), ], $labels); } }