{"id":4161,"date":"2026-08-20T22:55:57","date_gmt":"2026-08-20T13:55:57","guid":{"rendered":"https:\/\/winterkorean.com\/winko\/cn\/?page_id=4161"},"modified":"2026-09-17T18:42:43","modified_gmt":"2026-09-17T09:42:43","slug":"korean-class-details","status":"publish","type":"page","link":"https:\/\/winterkorean.com\/winko\/cn\/korean-class-details\/","title":{"rendered":"\u97e9\u8bed\u8bfe\u7a0b\u5b89\u6392"},"content":{"rendered":"<p><b>\u2013 \u60a8\u53ef\u4ee5\u968f\u65f6\u62a5\u540d\u5e76\u5f00\u59cb\u4e0a\u8bfe\u3002\u5982\u679c\u60a8\u60f3\u7acb\u5373\u5f00\u59cb\u5b66\u4e60\u97e9\u8bed\uff0c\u8bf7\u9a6c\u4e0a\u62a5\u540d\u5e76\u5f00\u59cb\u4e0a\u8bfe\uff01<br \/>\n\u2013 \u5982\u679c\u60a8\u7f3a\u8bfe\uff0c\u53ef\u4ee5\u5728\u540c\u4e00\u4e2a\u6708\u5185\u53c2\u52a0\u5176\u4ed6\u5e38\u89c4\u8bfe\u7a0b\u8fdb\u884c\u8865\u8bfe\u3002\u8bf7\u6ce8\u610f\uff0c\u8865\u8bfe\u8bfe\u7a0b\u7684\u7ea7\u522b\u548c\u6388\u8bfe\u8001\u5e08\u53ef\u80fd\u4f1a\u6709\u6240\u4e0d\u540c\u3002<\/b><\/p>\n<h3><font color=\"e04622\">#\u8bf7\u9009\u62e9\u60a8\u5e0c\u671b\u62a5\u540d\u7684\u6708\u4efd\uff0c\u5373\u53ef\u4e00\u76ee\u4e86\u7136\u5730\u67e5\u770b\u8be5\u6708\u7684\u6240\u6709\u8bfe\u7a0b\u5b89\u6392\u3002<\/font><\/h3>\n\n    <div id=\"wkAnnualCalendar\"\n         class=\"wk-calendar-lang-cn\"\n         data-active-course=\"0\"\n         lang=\"zh-CN\"\n         style=\"--wk-start-label: '\u5f00\u8bfe'; --wk-end-label: '\u7ed3\u8bfe';\">\n\n        <div class=\"wk-calendar-top\">\n            <h4 class=\"wk-calendar-title\"><\/h4>\n            <span class=\"wk-calendar-year\"><\/span>\n        <\/div>\n\n        <div class=\"wk-calendar-tabs\">\n                            <button type=\"button\"\n                        class=\"wk-calendar-tab active\"\n                        data-course=\"0\">\n                    <strong>\u6bcf\u54684\u5929\u8bfe\u7a0b<\/strong>\n                    <span>\u5468\u4e00 \u00b7 \u5468\u4e8c \u00b7 \u5468\u56db \u00b7 \u5468\u4e94<\/span>\n                <\/button>\n                            <button type=\"button\"\n                        class=\"wk-calendar-tab\"\n                        data-course=\"3\">\n                    <strong>\u6bcf\u54683\u5929\u8bfe\u7a0b<\/strong>\n                    <span>\u5468\u4e00 \u00b7 \u5468\u4e09 \u00b7 \u5468\u4e94<\/span>\n                <\/button>\n                            <button type=\"button\"\n                        class=\"wk-calendar-tab\"\n                        data-course=\"1\">\n                    <strong>\u5468\u4e8c\u00b7\u5468\u56db\u8bfe\u7a0b<\/strong>\n                    <span>\u5468\u4e8c \u00b7 \u5468\u56db<\/span>\n                <\/button>\n                            <button type=\"button\"\n                        class=\"wk-calendar-tab\"\n                        data-course=\"2\">\n                    <strong>\u5468\u516d\u8bfe\u7a0b<\/strong>\n                    <span>\u5468\u516d<\/span>\n                <\/button>\n                            <button type=\"button\"\n                        class=\"wk-calendar-tab\"\n                        data-course=\"4\">\n                    <strong>\u5468\u4e09\u8bfe\u7a0b<\/strong>\n                    <span>\u5468\u4e09<\/span>\n                <\/button>\n                            <button type=\"button\"\n                        class=\"wk-calendar-tab\"\n                        data-course=\"5\">\n                    <strong>\u5468\u672b\u8bfe\u7a0b<\/strong>\n                    <span>\u5468\u516d \u00b7 \u5468\u65e5<\/span>\n                <\/button>\n                    <\/div>\n\n        <div class=\"wk-calendar-navigation\">\n            <button type=\"button\" class=\"wk-calendar-arrow wk-prev\" aria-label=\"\u4e0a\u4e2a\u6708\">&#8249;<\/button>\n            <div class=\"wk-calendar-month\"><\/div>\n            <button type=\"button\" class=\"wk-calendar-arrow wk-next\" aria-label=\"\u4e0b\u4e2a\u6708\">&#8250;<\/button>\n        <\/div>\n\n        <div class=\"wk-calendar-table-wrap\">\n            <table class=\"wk-calendar-table\">\n                <thead>\n                    <tr>\n                                                    <th class=\"wk-sunday\">\u65e5<\/th>\n                                                    <th>\u4e00<\/th>\n                                                    <th>\u4e8c<\/th>\n                                                    <th>\u4e09<\/th>\n                                                    <th>\u56db<\/th>\n                                                    <th>\u4e94<\/th>\n                                                    <th class=\"wk-saturday\">\u516d<\/th>\n                                            <\/tr>\n                <\/thead>\n                <tbody><\/tbody>\n            <\/table>\n        <\/div>\n\n        <div class=\"wk-calendar-guide\">\n            <span><i class=\"wk-guide-box wk-guide-class\"><\/i>\u4e0a\u8bfe\u65e5<\/span>\n            <span><i class=\"wk-guide-box wk-guide-start\"><\/i>\u5f00\u8bfe\u65e5 \u00b7 \u7ed3\u8bfe\u65e5<\/span>\n        <\/div>\n    <\/div>\n\n    <style>\n#wkAnnualCalendar {\n\n        display: block;\n\n        width: 100%;\n\n        max-width: 650px;\n\n        margin: 0 auto;\n\n        padding: 28px 28px 24px;\n\n        box-sizing: border-box;\n\n        background: #ffffff;\n\n        border: 1px solid #e5e9ef;\n\n        border-radius: 18px;\n\n        box-shadow: 0 5px 25px rgba(0, 0, 0, 0.05);\n\n        font-family: Arial, \"Noto Sans\", sans-serif;\n\n        color: #222222;\n\n    }\n\n    \/* Course colours: main = active tab, start\/end day; text = class-day number; bg = class day; mid = legend box *\/\n    #wkAnnualCalendar[data-active-course=\"0\"],\n    #wkAnnualCalendar .wk-calendar-tab[data-course=\"0\"] {\n        --wk-c-main: #3d7a9e;\n        --wk-c-text: #2f6686;\n        --wk-c-bg: #e3eef6;\n        --wk-c-mid: #c9deeb;\n    }\n\n    #wkAnnualCalendar[data-active-course=\"3\"],\n    #wkAnnualCalendar .wk-calendar-tab[data-course=\"3\"] {\n        --wk-c-main: #dd8656;\n        --wk-c-text: #b9612f;\n        --wk-c-bg: #fde9dc;\n        --wk-c-mid: #f8d3bb;\n    }\n\n    #wkAnnualCalendar[data-active-course=\"1\"],\n    #wkAnnualCalendar .wk-calendar-tab[data-course=\"1\"] {\n        --wk-c-main: #7b72a8;\n        --wk-c-text: #5f5690;\n        --wk-c-bg: #e9e7f5;\n        --wk-c-mid: #d5d1ea;\n    }\n\n    #wkAnnualCalendar[data-active-course=\"2\"],\n    #wkAnnualCalendar .wk-calendar-tab[data-course=\"2\"] {\n        --wk-c-main: #3a9088;\n        --wk-c-text: #2a756e;\n        --wk-c-bg: #dff0ec;\n        --wk-c-mid: #c2e2dc;\n    }\n\n    #wkAnnualCalendar[data-active-course=\"4\"],\n    #wkAnnualCalendar .wk-calendar-tab[data-course=\"4\"] {\n        --wk-c-main: #a67c5b;\n        --wk-c-text: #856043;\n        --wk-c-bg: #f3e8dc;\n        --wk-c-mid: #e6d3bf;\n    }\n\n    #wkAnnualCalendar[data-active-course=\"5\"],\n    #wkAnnualCalendar .wk-calendar-tab[data-course=\"5\"] {\n        --wk-c-main: #73896a;\n        --wk-c-text: #586d50;\n        --wk-c-bg: #e7eee1;\n        --wk-c-mid: #d3dfca;\n    }\n\n    #wkAnnualCalendar * {\n\n        box-sizing: border-box;\n\n    }\n\n    #wkAnnualCalendar .wk-calendar-top {\n\n        display: flex;\n\n        justify-content: space-between;\n\n        align-items: center;\n\n        margin-bottom: 22px;\n\n    }\n\n    #wkAnnualCalendar .wk-calendar-title {\n\n        margin: 0;\n\n        padding: 0;\n\n        font-size: 25px;\n\n        font-weight: 800;\n\n        line-height: 1.3;\n\n        color: #171717;\n\n        text-transform: none;\n\n    }\n\n    #wkAnnualCalendar .wk-calendar-year {\n\n        font-size: 14px;\n\n        color: #8a9099;\n\n    }\n\n    #wkAnnualCalendar .wk-calendar-tabs {\n\n        display: grid;\n\n        grid-template-columns: repeat(3, minmax(0, 1fr));\n\n        width: 100%;\n\n        margin-bottom: 26px;\n\n        border: 1px solid #e6e9ed;\n\n        border-radius: 12px;\n\n        overflow: hidden;\n\n    }\n\n    #wkAnnualCalendar .wk-calendar-tab {\n\n        position: relative;\n\n        width: 100%;\n\n        min-width: 0;\n\n        margin: 0;\n\n        padding: 12px 4px 14px;\n\n        border: 0;\n\n        border-right: 1px solid #ffffff;\n\n        border-bottom: 1px solid #ffffff;\n\n        background: var(--wk-c-bg);\n\n        box-shadow: none;\n\n        cursor: pointer;\n\n        color: var(--wk-c-text);\n\n        font-family: inherit;\n\n        text-align: center;\n\n        text-transform: none;\n\n        appearance: none;\n\n    }\n\n    #wkAnnualCalendar .wk-calendar-tab strong {\n\n        display: block;\n\n        font-size: 15px;\n\n        font-weight: 700;\n\n        line-height: 1.3;\n\n        color: inherit;\n\n        text-transform: none;\n\n    }\n\n    #wkAnnualCalendar .wk-calendar-tab span {\n\n        display: block;\n\n        margin-top: 3px;\n\n        font-size: 11px;\n\n        line-height: 1.3;\n\n        color: inherit;\n\n    }\n\n    #wkAnnualCalendar .wk-calendar-tab:hover,\n\n    #wkAnnualCalendar .wk-calendar-tab:focus {\n\n        background: var(--wk-c-mid);\n\n        color: var(--wk-c-text);\n\n    }\n\n    #wkAnnualCalendar .wk-calendar-tab.active,\n\n    #wkAnnualCalendar .wk-calendar-tab.active:hover,\n\n    #wkAnnualCalendar .wk-calendar-tab.active:focus {\n\n        background: var(--wk-c-main);\n\n        color: #ffffff;\n\n    }\n\n    #wkAnnualCalendar .wk-calendar-navigation {\n\n        display: flex;\n\n        justify-content: center;\n\n        align-items: center;\n\n        gap: 30px;\n\n        margin-bottom: 18px;\n\n    }\n\n    #wkAnnualCalendar .wk-calendar-month {\n\n        min-width: 150px;\n\n        text-align: center;\n\n        font-size: 20px;\n\n        font-weight: 800;\n\n        color: #222222;\n\n    }\n\n    #wkAnnualCalendar .wk-calendar-arrow {\n\n        display: flex;\n\n        align-items: center;\n\n        justify-content: center;\n\n        width: 38px;\n\n        height: 38px;\n\n        margin: 0;\n\n        padding: 0;\n\n        border: 0;\n\n        border-radius: 50%;\n\n        background: transparent;\n\n        box-shadow: none;\n\n        cursor: pointer;\n\n        color: #5d6470;\n\n        font-family: Arial, sans-serif;\n\n        font-size: 31px;\n\n        font-weight: 300;\n\n        line-height: 1;\n\n        appearance: none;\n\n    }\n\n    #wkAnnualCalendar .wk-calendar-arrow:hover {\n\n        background: #f4f6f9;\n\n        color: #24437b;\n\n    }\n\n    #wkAnnualCalendar .wk-calendar-table-wrap {\n\n        width: 100%;\n\n        overflow: visible;\n\n    }\n\n    #wkAnnualCalendar .wk-calendar-table {\n\n        width: 100%;\n\n        margin: 0;\n\n        padding: 0;\n\n        border: 0;\n\n        border-collapse: collapse;\n\n        table-layout: fixed;\n\n        background: #ffffff;\n\n    }\n\n    #wkAnnualCalendar .wk-calendar-table th {\n\n        height: 38px;\n\n        padding: 0 0 8px;\n\n        border: 0;\n\n        background: transparent;\n\n        text-align: center;\n\n        font-size: 12px;\n\n        font-weight: 600;\n\n        color: #8d939b;\n\n    }\n\n    #wkAnnualCalendar .wk-calendar-table th.wk-sunday {\n\n        color: #E1313C;\n\n    }\n\n    #wkAnnualCalendar .wk-calendar-table th.wk-saturday {\n\n        color: #526fa4;\n\n    }\n\n    #wkAnnualCalendar .wk-calendar-table td {\n\n        position: relative;\n\n        width: 14.2857%;\n\n        height: 55px;\n\n        padding: 0;\n\n        border: 0;\n\n        background: transparent;\n\n        text-align: center;\n\n        vertical-align: middle;\n\n        font-size: 14px;\n\n        color: #383d44;\n\n    }\n\n    #wkAnnualCalendar .wk-calendar-day {\n\n        position: relative;\n\n        display: flex;\n\n        align-items: center;\n\n        justify-content: center;\n\n        width: 38px;\n\n        height: 38px;\n\n        margin: 0 auto;\n\n        border-radius: 0;\n\n    }\n\n    #wkAnnualCalendar td.wk-day-sun .wk-calendar-day {\n\n        color: #E1313C;\n\n    }\n\n    #wkAnnualCalendar td.wk-day-sat .wk-calendar-day {\n\n        color: #526fa4;\n\n    }\n\n    #wkAnnualCalendar td.wk-class-day .wk-calendar-day {\n\n        background: var(--wk-c-bg);\n\n        color: var(--wk-c-text);\n\n        font-weight: 700;\n\n    }\n\n    #wkAnnualCalendar td.wk-start-day .wk-calendar-day,\n\n    #wkAnnualCalendar td.wk-end-day .wk-calendar-day {\n\n        background: var(--wk-c-main);\n\n        color: #ffffff;\n\n        font-weight: 800;\n\n    }\n\n    #wkAnnualCalendar td.wk-start-day::after,\n\n    #wkAnnualCalendar td.wk-end-day::after {\n\n        content: var(--wk-start-label);\n\n        position: absolute;\n\n        bottom: 0;\n\n        left: 50%;\n\n        transform: translateX(-50%);\n\n        color: var(--wk-c-text);\n\n        font-size: 7px;\n\n        font-weight: 800;\n\n        line-height: 1;\n\n    }\n\n    #wkAnnualCalendar td.wk-end-day::after {\n\n        content: var(--wk-end-label);\n\n    }\n\n    #wkAnnualCalendar td.wk-holiday .wk-calendar-day {\n\n        color: #E1313C;\n\n    }\n\n    #wkAnnualCalendar td.wk-today .wk-calendar-day::after {\n\n        content: \"\";\n\n        position: absolute;\n\n        bottom: 2px;\n\n        left: 50%;\n\n        width: 4px;\n\n        height: 4px;\n\n        margin-left: -2px;\n\n        border-radius: 50%;\n\n        background: var(--wk-c-main);\n\n    }\n\n    #wkAnnualCalendar td.wk-start-day.wk-today .wk-calendar-day::after,\n\n    #wkAnnualCalendar td.wk-end-day.wk-today .wk-calendar-day::after {\n\n        background: #ffffff;\n\n    }\n\n    #wkAnnualCalendar .wk-calendar-guide {\n\n        display: flex;\n\n        justify-content: center;\n\n        align-items: center;\n\n        flex-wrap: wrap;\n\n        gap: 16px;\n\n        margin-top: 18px;\n\n        padding-top: 16px;\n\n        border-top: 1px solid #eef0f3;\n\n        font-size: 11px;\n\n        color: #7f858d;\n\n    }\n\n    #wkAnnualCalendar .wk-calendar-guide span {\n\n        display: inline-flex;\n\n        align-items: center;\n\n        gap: 5px;\n\n    }\n\n    #wkAnnualCalendar .wk-guide-box {\n\n        display: inline-block;\n\n        width: 9px;\n\n        height: 9px;\n\n        border-radius: 0;\n\n    }\n\n    #wkAnnualCalendar .wk-guide-class {\n\n        background: var(--wk-c-mid);\n\n    }\n\n    #wkAnnualCalendar .wk-guide-start {\n\n        background: var(--wk-c-main);\n\n    }\n\n    @media screen and (max-width: 600px) {\n\n        #wkAnnualCalendar {\n\n            padding: 22px 10px;\n\n            border-radius: 14px;\n\n        }\n\n        #wkAnnualCalendar .wk-calendar-title {\n\n            font-size: 21px;\n\n        }\n\n        #wkAnnualCalendar .wk-calendar-year {\n\n            font-size: 13px;\n\n        }\n\n        #wkAnnualCalendar .wk-calendar-tab {\n\n            padding: 11px 1px 13px;\n\n        }\n\n        #wkAnnualCalendar .wk-calendar-tab strong {\n\n            font-size: 12px;\n\n            line-height: 1.25;\n\n        }\n\n        #wkAnnualCalendar .wk-calendar-tab span {\n\n            min-height: 25px;\n\n            font-size: 9px;\n\n            line-height: 1.25;\n\n        }\n\n        #wkAnnualCalendar .wk-calendar-navigation {\n\n            gap: 14px;\n\n        }\n\n        #wkAnnualCalendar .wk-calendar-month {\n\n            min-width: 135px;\n\n            font-size: 18px;\n\n        }\n\n        #wkAnnualCalendar .wk-calendar-table th {\n\n            font-size: 11px;\n\n        }\n\n        #wkAnnualCalendar .wk-calendar-table td {\n\n            height: 47px;\n\n            font-size: 13px;\n\n        }\n\n        #wkAnnualCalendar .wk-calendar-day {\n\n            width: 34px;\n\n            height: 34px;\n\n        }\n\n        #wkAnnualCalendar td.wk-start-day::after,\n\n        #wkAnnualCalendar td.wk-end-day::after {\n\n            font-size: 6px;\n\n        }\n\n        #wkAnnualCalendar .wk-calendar-tabs {\n\n            grid-template-columns: repeat(2, minmax(0, 1fr));\n\n        }\n\n        #wkAnnualCalendar .wk-calendar-tab strong {\n\n            font-size: 15px;\n\n        }\n\n        #wkAnnualCalendar .wk-calendar-tab span {\n\n            min-height: 24px;\n\n            font-size: 13px;\n\n            line-height: 1.3;\n\n        }\n\n    }\n\n    \/* English tabs need slightly tighter text on narrow screens. *\/\n    @media screen and (max-width: 600px) {\n        #wkAnnualCalendar.wk-calendar-lang-en .wk-calendar-tab strong {\n            font-size: 13px;\n        }\n        #wkAnnualCalendar.wk-calendar-lang-en .wk-calendar-tab span {\n            font-size: 11px;\n        }\n    }\n    <\/style>\n\n    <script type=\"text\/javascript\">\n    (function () {\n        var calendar = document.getElementById('wkAnnualCalendar');\n        if (!calendar) return;\n\n        var i18n = {\"lang\":\"cn\",\"courseNames\":[\"\u6bcf\u54684\u5929\u8bfe\u7a0b\",\"\u5468\u4e8c\u00b7\u5468\u56db\u8bfe\u7a0b\",\"\u5468\u516d\u8bfe\u7a0b\",\"\u6bcf\u54683\u5929\u8bfe\u7a0b\",\"\u5468\u4e09\u8bfe\u7a0b\",\"\u5468\u672b\u8bfe\u7a0b\"],\"months\":[\"1\u6708\",\"2\u6708\",\"3\u6708\",\"4\u6708\",\"5\u6708\",\"6\u6708\",\"7\u6708\",\"8\u6708\",\"9\u6708\",\"10\u6708\",\"11\u6708\",\"12\u6708\"],\"monthFormat\":\"cn\"};\n        var year = 2026;\n\n        \/* Day numbers: 0=Sun, 1=Mon, 2=Tue, 3=Wed, 4=Thu, 5=Fri, 6=Sat *\/\n        var courses = [\n\n\n            {\n\n                name: '\uc8fc 4\uc77c \uc218\uc5c5',\n\n                weekdays: [1, 2, 4, 5],\n\n               \/*\n\n                * Additional class dates\n\n                * \uc218\uc5c5 \uc694\uc77c\uc740 \uc544\ub2c8\uc9c0\ub9cc \uc218\uc5c5\ud558\ub294 \ub0a0\uc9dc\n\n                *\/\n\n            extraDates: [\n\n                '2026-08-19',\n\n                '2026-09-09',\n\n                '2026-09-23',\n\n                '2026-10-07',\n\n                '2026-12-23',\n\n            ],\n\n            \/*\n\n            * Excluded class dates\n\n            * \uc6d0\ub798 \uc218\uc5c5 \uc694\uc77c\uc774\uc9c0\ub9cc \uc218\uc5c5\ud558\uc9c0 \uc54a\ub294 \ub0a0\uc9dc\n\n            *\/\n\n            excludedDates: [\n\n                '2026-08-31',\n\n                '2026-09-01',\n\n                '2026-10-01',\n\n                '2026-11-02',\n\n                '2026-12-01',\n\n                '2026-12-31',                \n\n            ],\n\n                starts: [\n\n                    '2026-01-06',\n\n                    '2026-02-03',\n\n                    '2026-03-05',\n\n                    '2026-04-03',\n\n                    '2026-05-07',\n\n                    '2026-06-04',\n\n                    '2026-07-06',\n\n                    '2026-08-03',\n\n                    '2026-09-03',\n\n                    '2026-10-02',\n\n                    '2026-11-03',\n\n                    '2026-12-03',\n\n                ]\n\n            },\n\n            {\n\n                name: '\ud654\u00b7\ubaa9 \uc218\uc5c5',\n\n                weekdays: [2, 4],\n\n               \/*\n\n                * Additional class dates\n\n                * \uc218\uc5c5 \uc694\uc77c\uc740 \uc544\ub2c8\uc9c0\ub9cc \uc218\uc5c5\ud558\ub294 \ub0a0\uc9dc\n\n                *\/\n\n            extraDates: [\n\n            ],\n\n            \/*\n\n            * Excluded class dates\n\n            * \uc6d0\ub798 \uc218\uc5c5 \uc694\uc77c\uc774\uc9c0\ub9cc \uc218\uc5c5\ud558\uc9c0 \uc54a\ub294 \ub0a0\uc9dc\n\n            *\/\n\n            excludedDates: [\n\n                '2026-09-01',\n\n                '2026-10-01',\n\n                '2026-12-01',\n\n                '2026-12-31',                \n\n            ],\n\n                starts: [\n\n                    '2026-01-06',\n\n                    '2026-02-03',\n\n                    '2026-03-05',\n\n                    '2026-04-07',\n\n                    '2026-05-07',\n\n                    '2026-06-04',\n\n                    '2026-07-07',\n\n                    '2026-08-04',\n\n                    '2026-09-03',\n\n                    '2026-10-06',\n\n                    '2026-11-03',\n\n                    '2026-12-03',\n\n                ]\n\n            },\n\n            {\n\n                name: '\ud1a0\uc694\uc77c \uc218\uc5c5',\n\n                weekdays: [6],\n\n               \/*\n\n                * Additional class dates\n\n                * \uc218\uc5c5 \uc694\uc77c\uc740 \uc544\ub2c8\uc9c0\ub9cc \uc218\uc5c5\ud558\ub294 \ub0a0\uc9dc\n\n                *\/\n\n                extraDates: [\n\n                ],\n\n                \/*\n\n                * Excluded class dates\n\n                * \uc6d0\ub798 \uc218\uc5c5 \uc694\uc77c\uc774\uc9c0\ub9cc \uc218\uc5c5\ud558\uc9c0 \uc54a\ub294 \ub0a0\uc9dc\n\n                *\/\n\n                excludedDates: [\n\n                    '2026-09-26'\n\n                ],\n\n                starts: [\n\n                    '2026-01-10',\n\n                    '2026-02-07',\n\n                    '2026-03-07',\n\n                    '2026-04-04',\n\n                    '2026-05-09',\n\n                    '2026-06-13',\n\n                    '2026-07-04',\n\n                    '2026-08-01',\n\n                    '2026-09-05',\n\n                    '2026-10-10',\n\n                    '2026-11-07',\n\n                    '2026-12-05',\n\n                ]\n\n            },\n\n            \/*\n\n            * 3. \uc8fc 3\uc77c \uc218\uc5c5\n\n            * Monday, Wednesday and Friday\n\n            *\/\n\n            {\n\n                name: '\uc8fc 3\uc77c \uc218\uc5c5',\n\n                weekdays: [1, 3, 5],\n\n                extraDates: [\n\n                ],\n\n                excludedDates: [\n\n                '2026-08-31',\n\n                '2026-09-02',\n\n                '2026-11-02',\n\n                ],\n\n                starts: [\n\n                '2026-08-03',\n\n                '2026-09-04',\n\n                '2026-10-02',\n\n                '2026-11-04',\n\n                '2026-12-02',\n\n                ]\n\n            },\n\n            \/*\n\n            * 4. \uc218\uc694\uc77c \uc218\uc5c5\n\n            *\/\n\n            {\n\n                name: '\uc218\uc694\uc77c \uc218\uc5c5',\n\n                weekdays: [3],\n\n                extraDates: [\n\n                ],\n\n                excludedDates: [\n\n                '2026-09-02',\n\n                '2026-12-02',\n\n                ],\n\n                starts: [\n\n                '2026-08-05',\n\n                '2026-09-09',\n\n                '2026-10-07',\n\n                '2026-11-04',\n\n                '2026-12-09',\n\n                ]\n\n            },\n\n            \/*\n\n            * 5. \uc8fc\ub9d0 \uc218\uc5c5\n\n            * Saturday and Sunday\n\n            *\/\n\n            {\n\n                name: '\uc8fc\ub9d0 \uc218\uc5c5',\n\n                weekdays: [0, 6],\n\n                holidays: ['2026-10-04'],\n\n                \/*\n\n                * \uc815\uaddc \uc694\uc77c\uc774 \uc544\ub2c8\uc9c0\ub9cc \ucd94\uac00\ub85c \uc218\uc5c5\ud558\ub294 \ub0a0\uc9dc\n\n                *\/\n\n                extraDates: [            \n\n                ],\n\n                \/*\n\n                * \ud1a0\uc694\uc77c \ub610\ub294 \uc77c\uc694\uc77c\uc774\uc9c0\ub9cc \uc218\uc5c5\uc77c\uc5d0\uc11c \uc81c\uc678\ud560 \ub0a0\uc9dc\n\n                *\/\n\n                excludedDates: [\n\n               '2026-08-30',\n\n               '2026-09-26',\n\n               '2026-09-27',\n\n               '2026-10-03',\n\n               '2026-10-04',\n\n               '2026-11-01',                 \n\n                ],\n\n                \/*\n\n                * \uac01 \uacfc\uc815\uc758 \uac1c\uac15\uc77c\n\n                *\/\n\n                starts: [\n\n                '2026-08-01',\n\n                '2026-09-05',\n\n                '2026-10-10',\n\n                '2026-11-07',\n\n                '2026-12-05',\n\n                ]\n\n            }\n        ];\n\n        \/* Make course names multilingual for any other shortcode using WK_CALENDAR_DATA. *\/\n        for (var c = 0; c < courses.length; c++) {\n            if (i18n.courseNames[c]) courses[c].name = i18n.courseNames[c];\n        }\n\n        var holidays = [\n\n\n            '2026-01-01',\n\n            '2026-02-16',\n\n            '2026-02-17',\n\n            '2026-02-18',\n\n            '2026-03-01',\n\n            '2026-03-02',\n\n            '2026-05-01',\n\n            '2026-05-05',\n\n            '2026-05-25',            \n\n            '2026-06-03',\n\n            '2026-06-06',\n\n            '2026-07-17',\n\n            '2026-08-15',\n\n            '2026-08-17',\n\n            '2026-09-24',\n\n            '2026-09-25',\n\n            '2026-09-26',\n\n            '2026-09-27',\n\n            '2026-10-03',\n\n            '2026-10-05',\n\n            '2026-10-09',\n\n            '2026-12-25',\n        ];\n\n        var monthNames = i18n.months;\n        var table = calendar.querySelector('.wk-calendar-table');\n        var tbody = table.querySelector('tbody');\n        var monthTitle = calendar.querySelector('.wk-calendar-month');\n        var prevButton = calendar.querySelector('.wk-prev');\n        var nextButton = calendar.querySelector('.wk-next');\n        var tabButtons = calendar.querySelectorAll('.wk-calendar-tab');\n        var today = new Date();\n        var currentMonth = 0;\n        var activeCourse = 0;\n\n        if (today.getFullYear() === year) currentMonth = today.getMonth();\n\n        window.WK_CALENDAR_DATA = {\n            year: year,\n            courses: courses,\n            holidays: holidays,\n            monthNames: monthNames,\n            currentMonth: currentMonth,\n            lang: i18n.lang\n        };\n\n        function addZero(number) {\n            return number < 10 ? '0' + number : String(number);\n        }\n\n        function makeDateKey(month, day) {\n            return year + '-' + addZero(month + 1) + '-' + addZero(day);\n        }\n\n        function arrayHas(array, value) {\n            for (var i = 0; i < array.length; i++) {\n                if (array[i] === value) return true;\n            }\n            return false;\n        }\n\n        function isHoliday(course, key) {\n            return arrayHas(holidays, key) || (course.holidays && arrayHas(course.holidays, key));\n        }\n\n        function isClassDay(course, key, weekday) {\n            var isRegular = arrayHas(course.weekdays, weekday);\n            var isExtra = course.extraDates && arrayHas(course.extraDates, key);\n            var isExcluded = course.excludedDates && arrayHas(course.excludedDates, key);\n            return (isRegular || isExtra) && !isExcluded && !isHoliday(course, key);\n        }\n\n        \/*\n         * End date of each term = the last class day before the next start date\n         * (for the last term of the year: the last class day of the year).\n         *\/\n        function computeEnds(course) {\n            var classKeys = [];\n            var ends = [];\n            var m, d, s, k, last;\n            for (m = 0; m < 12; m++) {\n                var days = new Date(year, m + 1, 0).getDate();\n                for (d = 1; d <= days; d++) {\n                    var key = makeDateKey(m, d);\n                    if (isClassDay(course, key, new Date(year, m, d).getDay())) classKeys.push(key);\n                }\n            }\n            var starts = course.starts.slice().sort();\n            for (s = 0; s < starts.length; s++) {\n                last = '';\n                for (k = 0; k < classKeys.length; k++) {\n                    if (classKeys[k] <= starts[s]) continue;\n                    if (s + 1 < starts.length && classKeys[k] >= starts[s + 1]) break;\n                    last = classKeys[k];\n                }\n                if (last) ends.push(last);\n            }\n            return ends;\n        }\n\n        for (var e = 0; e < courses.length; e++) {\n            courses[e].ends = computeEnds(courses[e]);\n        }\n\n        function getMonthTitle() {\n            if (i18n.monthFormat === 'en') {\n                return monthNames[currentMonth] + ' ' + year;\n            }\n            if (i18n.monthFormat === 'ko') {\n                return year + '\ub144 ' + monthNames[currentMonth];\n            }\n            return year + '\u5e74' + monthNames[currentMonth];\n        }\n\n        function renderCalendar() {\n            var course = courses[activeCourse];\n            var firstDay = new Date(year, currentMonth, 1).getDay();\n            var lastDate = new Date(year, currentMonth + 1, 0).getDate();\n            monthTitle.innerHTML = getMonthTitle();\n\n            var html = '<tr>';\n            var column = 0;\n            var i, day;\n\n            for (i = 0; i < firstDay; i++) {\n                html += '<td class=\"wk-empty\"><\/td>';\n                column++;\n            }\n\n            for (day = 1; day <= lastDate; day++) {\n                var date = new Date(year, currentMonth, day);\n                var weekday = date.getDay();\n                var key = makeDateKey(currentMonth, day);\n                var classes = '';\n\n                if (weekday === 0) classes += ' wk-day-sun';\n                if (weekday === 6) classes += ' wk-day-sat';\n\n                if (isClassDay(course, key, weekday)) classes += ' wk-class-day';\n                if (isHoliday(course, key)) classes += ' wk-holiday';\n\n                if (arrayHas(course.starts, key)) {\n                    classes += ' wk-start-day';\n                } else if (arrayHas(course.ends, key)) {\n                    classes += ' wk-end-day';\n                }\n\n                if (\n                    today.getFullYear() === year &&\n                    today.getMonth() === currentMonth &&\n                    today.getDate() === day\n                ) {\n                    classes += ' wk-today';\n                }\n\n                html += '<td class=\"' + classes + '\"><span class=\"wk-calendar-day\">' + day + '<\/span><\/td>';\n                column++;\n\n                if (column === 7 && day !== lastDate) {\n                    html += '<\/tr><tr>';\n                    column = 0;\n                }\n            }\n\n            if (column !== 0) {\n                while (column < 7) {\n                    html += '<td class=\"wk-empty\"><\/td>';\n                    column++;\n                }\n            }\n\n            html += '<\/tr>';\n            tbody.innerHTML = html;\n\n            window.WK_CALENDAR_DATA.currentMonth = currentMonth;\n            window.dispatchEvent(new CustomEvent('wkCalendarMonthChanged', {\n                detail: { month: currentMonth }\n            }));\n        }\n\n        function selectCourse(courseIndex, selectedButton) {\n            activeCourse = courseIndex;\n            calendar.setAttribute('data-active-course', courseIndex);\n            for (var i = 0; i < tabButtons.length; i++) {\n                tabButtons[i].className = tabButtons[i].className.replace(' active', '');\n            }\n            selectedButton.className += ' active';\n            renderCalendar();\n        }\n\n        for (var i = 0; i < tabButtons.length; i++) {\n            tabButtons[i].onclick = function () {\n                selectCourse(parseInt(this.getAttribute('data-course'), 10), this);\n            };\n        }\n\n        prevButton.onclick = function () {\n            currentMonth--;\n            if (currentMonth < 0) currentMonth = 11;\n            renderCalendar();\n        };\n\n        nextButton.onclick = function () {\n            currentMonth++;\n            if (currentMonth > 11) currentMonth = 0;\n            renderCalendar();\n        };\n\n        renderCalendar();\n    })();\n    <\/script>\n\n    \n\n    <div\n        class=\"wk-schedule-details\"\n        lang=\"zh-CN\"\n        data-fixed-month=\"\"\n    >\n        <div class=\"wk-schedule-loading\">\n            \u6b63\u5728\u52a0\u8f7d\u8bfe\u7a0b\u5b89\u6392...        <\/div>\n    <\/div>\n\n    <style>\n    .wk-schedule-details {\n        width: 100%;\n        max-width: 900px;\n        margin: 24px auto 0 !important;\n        padding: 0;\n        box-sizing: border-box;\n        font-family: Arial, \"Noto Sans\", sans-serif;\n        color: #34445a;\n    }\n\n    .wk-schedule-details * {\n        box-sizing: border-box;\n    }\n\n    .wk-schedule-loading,\n    .wk-schedule-error {\n        padding: 24px;\n        border: 1px solid #d9dfe7;\n        background: #f7f8fa;\n        text-align: center;\n        color: #788395;\n        font-size: 14px;\n    }\n\n    .wk-schedule-main-title {\n        margin: 0 0 18px;\n        padding: 0;\n        color: #233a59;\n        font-size: 24px;\n        font-weight: 800;\n        line-height: 1.4;\n        text-align: left;\n        text-transform: none;\n    }\n\n    .wk-schedule-card {\n        width: 100%;\n        margin: 0 0 24px;\n        padding: 0;\n        border: 0 !important;\n        outline: 0 !important;\n        background: transparent !important;\n        box-shadow: none !important;\n    }\n\n    .wk-schedule-summary {\n        padding: 16px 18px;\n        border-bottom: 1px solid #d4dae2;\n        background: #f6f6f6;\n    }\n\n    .wk-schedule-title {\n        margin: 0;\n        padding: 0;\n        color: #2e435f;\n        font-size: 16px;\n        font-weight: 800;\n        line-height: 1.5;\n        text-align: left;\n        text-transform: none;\n    }\n\n    .wk-schedule-weekdays {\n        margin-top: 8px;\n        color: #748197;\n        font-size: 13px;\n        font-weight: 400;\n        line-height: 1.5;\n        text-align: left;\n    }\n\n    .wk-schedule-calendar-area {\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        min-height: 0;\n        padding: 24px 0 0;\n        border: 0 !important;\n        background: transparent !important;\n        box-shadow: none !important;\n    }\n\n    .wk-mini-calendar {\n        width: 100%;\n        max-width: 500px;\n        margin: 0 auto !important;\n        border: 2px solid #333333;\n        border-collapse: collapse;\n        table-layout: fixed;\n        background: #ffffff;\n    }\n\n    .wk-mini-calendar th,\n    .wk-mini-calendar td {\n        height: 31px;\n        padding: 2px !important;\n        border: 1px dotted #9da5ae;\n        background: #ffffff;\n        text-align: center !important;\n        vertical-align: middle !important;\n        color: #222222;\n        font-size: 13px;\n        font-weight: 700;\n    }\n\n    .wk-mini-calendar .wk-mini-month {\n        height: 34px;\n        border-bottom: 1px solid #555555;\n        color: #111111;\n        font-size: 15px;\n        font-weight: 800;\n    }\n\n    .wk-mini-calendar th.wk-mini-sunday,\n    .wk-mini-calendar td.wk-mini-sunday {\n        color: #E1313C;\n    }\n\n    .wk-mini-calendar th.wk-mini-saturday,\n    .wk-mini-calendar td.wk-mini-saturday {\n        color: #304eda;\n    }\n\n    \/*\n     * Course colours come from the calendar tabs (--wk-c-*).\n     * The values after the comma are only used if the calendar is missing.\n     *\/\n    .wk-mini-calendar td.wk-mini-class-day {\n        background: var(--wk-c-mid, #c9deeb);\n        color: var(--wk-c-text, #2f6686);\n        font-weight: 800;\n    }\n\n    .wk-mini-calendar td.wk-mini-start-day,\n    .wk-mini-calendar td.wk-mini-end-day {\n        background: var(--wk-c-main, #3d7a9e);\n        color: #ffffff;\n    }\n\n    @media screen and (max-width: 600px) {\n        .wk-schedule-details {\n            margin-top: 18px !important;\n        }\n\n        .wk-schedule-main-title {\n            font-size: 20px;\n        }\n\n        .wk-schedule-summary {\n            padding: 14px 12px;\n        }\n\n        .wk-schedule-title {\n            font-size: 14px;\n        }\n\n        .wk-schedule-weekdays {\n            font-size: 12px;\n        }\n\n        .wk-schedule-calendar-area {\n            min-height: 190px;\n            padding: 18px 8px;\n        }\n\n        .wk-mini-calendar th,\n        .wk-mini-calendar td {\n            height: 28px;\n            font-size: 11px;\n        }\n\n        .wk-mini-calendar .wk-mini-month {\n            font-size: 14px;\n        }\n    }\n    <\/style>\n\n    <script>\n    (function () {\n\n        var i18n = {\"error\":\"\u65e0\u6cd5\u4ece\u65e5\u5386\u52a0\u8f7d\u8bfe\u7a0b\u5b89\u6392\u3002\",\"months\":[\"1\u6708\",\"2\u6708\",\"3\u6708\",\"4\u6708\",\"5\u6708\",\"6\u6708\",\"7\u6708\",\"8\u6708\",\"9\u6708\",\"10\u6708\",\"11\u6708\",\"12\u6708\"],\"weekdays\":[\"\u65e5\",\"\u4e00\",\"\u4e8c\",\"\u4e09\",\"\u56db\",\"\u4e94\",\"\u516d\"],\"titleSuffix\":\"\u8bfe\u7a0b\u5b89\u6392\",\"classDaysLabel\":\"\u4e0a\u8bfe\u65e5\uff1a\",\"undecided\":\"\u65e5\u7a0b\u672a\u5b9a\",\"daySuffix\":\"\u65e5\",\"format\":\"cn\"};\n\n        function initializeScheduleDetails() {\n\n            var containers = document.querySelectorAll('.wk-schedule-details');\n\n            if (!containers.length) {\n                return;\n            }\n\n            var data = window.WK_CALENDAR_DATA;\n\n            if (!data || !data.courses) {\n                for (var x = 0; x < containers.length; x++) {\n                    containers[x].innerHTML =\n                        '<div class=\"wk-schedule-error\">' +\n                        escapeHtml(i18n.error) +\n                        '<\/div>';\n                }\n                return;\n            }\n\n            var calendar = document.getElementById('wkAnnualCalendar');\n            var tabButtons = calendar\n                ? calendar.querySelectorAll('.wk-calendar-tab')\n                : [];\n\n            var courseLabels = {};\n            var courseOrder = [];\n            var colorNames = ['--wk-c-main', '--wk-c-text', '--wk-c-bg', '--wk-c-mid'];\n            var i;\n\n            \/*\n             * \ub2ec\ub825 \ud0ed\uc5d0\uc11c \uc218\uc5c5 \uc774\ub984, \uc694\uc77c, \uc218\uc5c5\ubcc4 \uc0c9\uae54\uc744 \uac00\uc838\uc635\ub2c8\ub2e4.\n             *\/\n            for (i = 0; i < tabButtons.length; i++) {\n                var courseIndex = parseInt(\n                    tabButtons[i].getAttribute('data-course'),\n                    10\n                );\n                var strong = tabButtons[i].querySelector('strong');\n                var span = tabButtons[i].querySelector('span');\n                var tabStyle = window.getComputedStyle(tabButtons[i]);\n                var colorStyle = '';\n\n                for (var c = 0; c < colorNames.length; c++) {\n                    var colorValue = tabStyle.getPropertyValue(colorNames[c]).trim();\n                    if (\/^#[0-9a-fA-F]{3,8}$\/.test(colorValue)) {\n                        colorStyle += colorNames[c] + ':' + colorValue + ';';\n                    }\n                }\n\n                courseLabels[courseIndex] = {\n                    name: strong\n                        ? strong.textContent.trim()\n                        : data.courses[courseIndex].name,\n                    weekdays: span\n                        ? span.textContent.trim()\n                        : '',\n                    colorStyle: colorStyle\n                };\n\n                courseOrder.push(courseIndex);\n            }\n\n            \/*\n             * \ub2ec\ub825 \ud0ed\uc744 \ucc3e\uc9c0 \ubabb\ud588\uc744 \ub54c\uc758 \uae30\ubcf8 \uc21c\uc11c\uc785\ub2c8\ub2e4.\n             *\/\n            if (!courseOrder.length) {\n                for (i = 0; i < data.courses.length; i++) {\n                    courseOrder.push(i);\n                    courseLabels[i] = {\n                        name: data.courses[i].name,\n                        weekdays: '',\n                        colorStyle: ''\n                    };\n                }\n            }\n\n            var monthNames = i18n.months;\n            var weekdayNames = i18n.weekdays;\n\n            function addZero(number) {\n                return number < 10\n                    ? '0' + number\n                    : String(number);\n            }\n\n            function makeDateKey(monthIndex, day) {\n                return data.year +\n                    '-' +\n                    addZero(monthIndex + 1) +\n                    '-' +\n                    addZero(day);\n            }\n\n            function arrayHas(array, value) {\n                if (!array) {\n                    return false;\n                }\n                return array.indexOf(value) !== -1;\n            }\n\n            function makeMonthTitle(monthIndex) {\n                if (i18n.format === 'en') {\n                    return monthNames[monthIndex] + ' ' + data.year;\n                }\n                if (i18n.format === 'ko') {\n                    return data.year + '\ub144 ' + monthNames[monthIndex];\n                }\n                return data.year + '\u5e74' + monthNames[monthIndex];\n            }\n\n            function makeDateText(monthIndex, day) {\n                var space = (i18n.format === 'ko' || i18n.format === 'en') ? ' ' : '';\n                return monthNames[monthIndex] + space + day + i18n.daySuffix;\n            }\n\n            \/*\n             * \uae30\uc874 \ub2ec\ub825\uacfc \uac19\uc740 \uae30\uc900\uc73c\ub85c \uc2e4\uc81c \uc218\uc5c5\uc77c\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n             *\/\n            function getClassDates(course, monthIndex) {\n                var dates = [];\n                var lastDate = new Date(\n                    data.year,\n                    monthIndex + 1,\n                    0\n                ).getDate();\n                var day;\n\n                for (day = 1; day <= lastDate; day++) {\n                    var weekday = new Date(\n                        data.year,\n                        monthIndex,\n                        day\n                    ).getDay();\n                    var key = makeDateKey(monthIndex, day);\n\n                    var regularClass = arrayHas(course.weekdays, weekday);\n                    var extraClass = arrayHas(course.extraDates, key);\n                    var excludedClass = arrayHas(course.excludedDates, key);\n                    var holiday =\n                        arrayHas(data.holidays, key) ||\n                        arrayHas(course.holidays, key);\n\n                    if (\n                        (regularClass || extraClass) &&\n                        !excludedClass &&\n                        !holiday\n                    ) {\n                        dates.push(day);\n                    }\n                }\n\n                return dates;\n            }\n\n            function makeRangeText(dates, monthIndex) {\n                if (!dates.length) {\n                    return i18n.undecided;\n                }\n\n                var firstDate = dates[0];\n                var lastDate = dates[dates.length - 1];\n\n                if (firstDate === lastDate) {\n                    return makeDateText(monthIndex, firstDate);\n                }\n\n                return makeDateText(monthIndex, firstDate) +\n                    ' \u2013 ' +\n                    makeDateText(monthIndex, lastDate);\n            }\n\n            function makeMiniCalendar(course, monthIndex, classDates) {\n                var firstWeekday = new Date(\n                    data.year,\n                    monthIndex,\n                    1\n                ).getDay();\n                var lastDate = new Date(\n                    data.year,\n                    monthIndex + 1,\n                    0\n                ).getDate();\n\n                var html =\n                    '<table class=\"wk-mini-calendar\">' +\n                    '<thead>' +\n                    '<tr>' +\n                    '<th colspan=\"7\" class=\"wk-mini-month\">' +\n                    escapeHtml(makeMonthTitle(monthIndex)) +\n                    '<\/th>' +\n                    '<\/tr>' +\n                    '<tr>';\n\n                var i;\n\n                for (i = 0; i < weekdayNames.length; i++) {\n                    var headingClass = '';\n\n                    if (i === 0) {\n                        headingClass = ' wk-mini-sunday';\n                    }\n                    if (i === 6) {\n                        headingClass = ' wk-mini-saturday';\n                    }\n\n                    html +=\n                        '<th class=\"' + headingClass + '\">' +\n                        escapeHtml(weekdayNames[i]) +\n                        '<\/th>';\n                }\n\n                html += '<\/tr><\/thead><tbody><tr>';\n\n                var column = 0;\n\n                for (i = 0; i < firstWeekday; i++) {\n                    html += '<td><\/td>';\n                    column++;\n                }\n\n                var day;\n\n                for (day = 1; day <= lastDate; day++) {\n                    var weekday = new Date(\n                        data.year,\n                        monthIndex,\n                        day\n                    ).getDay();\n                    var dateKey = makeDateKey(monthIndex, day);\n                    var cellClasses = '';\n\n                    if (weekday === 0) {\n                        cellClasses += ' wk-mini-sunday';\n                    }\n                    if (weekday === 6) {\n                        cellClasses += ' wk-mini-saturday';\n                    }\n                    if (arrayHas(classDates, day)) {\n                        cellClasses += ' wk-mini-class-day';\n                    }\n\n                    \/* \uac1c\uac15\uc77c\uacfc \uc885\uac15\uc77c\uc740 \ub2ec\ub825\uacfc \uac19\uc740 \uc9c4\ud55c \uc0c9\uc73c\ub85c \ud45c\uc2dc\ud569\ub2c8\ub2e4. *\/\n                    if (arrayHas(course.starts, dateKey)) {\n                        cellClasses += ' wk-mini-start-day';\n                    } else if (arrayHas(course.ends, dateKey)) {\n                        cellClasses += ' wk-mini-end-day';\n                    }\n\n                    html +=\n                        '<td class=\"' + cellClasses + '\">' +\n                        day +\n                        '<\/td>';\n\n                    column++;\n\n                    if (column === 7 && day !== lastDate) {\n                        html += '<\/tr><tr>';\n                        column = 0;\n                    }\n                }\n\n                if (column !== 0) {\n                    while (column < 7) {\n                        html += '<td><\/td>';\n                        column++;\n                    }\n                }\n\n                html += '<\/tr><\/tbody><\/table>';\n\n                return html;\n            }\n\n            function renderContainer(container, monthIndex) {\n                var html =\n                    '<h3 class=\"wk-schedule-main-title\">' +\n                    escapeHtml(makeMonthTitle(monthIndex) + i18n.titleSuffix) +\n                    '<\/h3>';\n\n                var displayNumber = 1;\n\n                for (\n                    var position = 0;\n                    position < courseOrder.length;\n                    position++\n                ) {\n                    var index = courseOrder[position];\n                    var course = data.courses[index];\n\n                    if (!course) {\n                        continue;\n                    }\n\n                    var labels = courseLabels[index];\n                    var classDates = getClassDates(course, monthIndex);\n                    var rangeText = makeRangeText(classDates, monthIndex);\n\n                    html +=\n                        '<section class=\"wk-schedule-card\" style=\"' +\n                        escapeHtml(labels.colorStyle) +\n                        '\">' +\n                        '<div class=\"wk-schedule-summary\">' +\n                        '<h4 class=\"wk-schedule-title\">' +\n                        displayNumber +\n                        '. ' +\n                        escapeHtml(labels.name) +\n                        ': ' +\n                        escapeHtml(rangeText) +\n                        '<\/h4>' +\n                        '<div class=\"wk-schedule-weekdays\">' +\n                        escapeHtml(i18n.classDaysLabel) +\n                        escapeHtml(labels.weekdays) +\n                        '<\/div>' +\n                        '<\/div>' +\n                        '<div class=\"wk-schedule-calendar-area\">' +\n                        makeMiniCalendar(course, monthIndex, classDates) +\n                        '<\/div>' +\n                        '<\/section>';\n\n                    displayNumber++;\n                }\n\n                container.innerHTML = html;\n            }\n\n            function renderAll(monthIndex) {\n                for (var i = 0; i < containers.length; i++) {\n                    var fixedMonth =\n                        containers[i].getAttribute('data-fixed-month');\n                    var targetMonth =\n                        fixedMonth !== ''\n                            ? parseInt(fixedMonth, 10)\n                            : monthIndex;\n\n                    renderContainer(containers[i], targetMonth);\n                }\n            }\n\n            renderAll(data.currentMonth);\n\n            \/*\n             * \ub2ec\ub825\uc758 \uc774\uc804\u00b7\ub2e4\uc74c \ub2ec \ubc84\ud2bc\uc744 \ub204\ub974\uba74 \uc790\ub3d9 \uac31\uc2e0\ud569\ub2c8\ub2e4.\n             *\/\n            window.addEventListener(\n                'wkCalendarMonthChanged',\n                function (event) {\n                    renderAll(event.detail.month);\n                }\n            );\n        }\n\n        function escapeHtml(value) {\n            return String(value)\n                .replace(\/&\/g, '&amp;')\n                .replace(\/<\/g, '&lt;')\n                .replace(\/>\/g, '&gt;')\n                .replace(\/\"\/g, '&quot;')\n                .replace(\/'\/g, '&#039;');\n        }\n\n        if (document.readyState === 'loading') {\n            document.addEventListener(\n                'DOMContentLoaded',\n                initializeScheduleDetails\n            );\n        } else {\n            initializeScheduleDetails();\n        }\n    })();\n    <\/script>\n\n    \n<p>&nbsp;<br \/>\n&nbsp;<\/p>\n<div align=\"center\"><a href=\"https:\/\/forms.gle\/cEh9uLyR32sESmhP8\" class=\"su-button su-button-style-default\" style=\"color:#ffffff;background-color:#d6181a;border-color:#ac1415;border-radius:9px;-moz-border-radius:9px;-webkit-border-radius:9px\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"color:#ffffff;padding:0px 24px;font-size:18px;line-height:36px;border-color:#e35e5f;border-radius:9px;-moz-border-radius:9px;-webkit-border-radius:9px;text-shadow:none;-moz-text-shadow:none;-webkit-text-shadow:none\"> \u6388\u8bfe\u7533\u8bf7<\/span><\/a><\/div>\n<p>&nbsp;<br \/>\n&nbsp;<\/p>\n<p><!--\n\n\n\n<table border=\"1\" width=\"100%\">\n\n\n<tbody>\n\n\n<tr>\n\n\n<td bgcolor=\"#f5f5f5\">\n\n\n<h4>1. 4day classes per week: Sept. 3 - Sept. 29<\/h4>\n\n\n<h8>- Regular course (Speaking, Grammar, Writing, Reading, Listening, etc.)<\/h8>\n<h8>- Live online regular classes<\/h8>\n<\/td>\n\n\n<\/tr>\n\n\n\n\n<tr>\n\n\n<td>\n\n\n<p align=\"center\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/winterkorean.com\/winko\/ko\/wp-content\/uploads\/2026\/08\/sept26_04.png\" alt=\"\" width=\"536\" height=\"323\" \/><\/p>\n\n\n<\/td>\n\n\n<\/tr>\n\n\n<\/tbody>\n\n\n<\/table>\n\n\n\n\n<table border=\"1\" width=\"100%\">\n\n\n<tbody>\n\n\n<tr>\n\n\n<td bgcolor=\"#f5f5f5\">\n\n\n<h4>2. 3day classes per week: Sept. 4 - Sept. 30\n\n\n(2hours of Makeup class are scheduled within the month)<\/h4>\n\n\n<h8>- Mon\/Wed\/Fri Afternoon Regular Course (Speaking, Grammar, Writing, Reading, Listening, etc.)<\/h8>\n<h8>- Mon\/Wed\/Fri Afternoon Speaking Intensive Course<\/h8>\n<h8>- Mon\/Wed\/Fri Evening Live Online Classes<\/h8>\n<\/td>\n\n\n<\/tr>\n\n\n\n\n<tr>\n\n\n<td>\n\n\n<p align=\"center\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/winterkorean.com\/winko\/ko\/wp-content\/uploads\/2026\/08\/sept26_03.png\" alt=\"\" width=\"536\" height=\"323\" \/><\/p>\n\n\n<\/td>\n\n\n<\/tr>\n\n\n<\/tbody>\n\n\n<\/table>\n\n\n\n\n<table border=\"1\" width=\"100%\">\n\n\n<tbody>\n\n\n<tr>\n\n\n<td bgcolor=\"#f5f5f5\">\n\n\n<h4>3. 2day classes per week (Tue\/Thu): Sept. 3 - Sept. 29\n\n\n(2hours of Makeup class are scheduled within the month)<\/h4>\n\n\n<h8>- Tue\/Thu Afternoon Regular Course (Speaking, Grammar, Writing, Reading, Listening, etc.)<\/h8>\n<h8>- Tue\/Thu Afternoon Speaking Intensive Course<\/h8>\n<h8>- Tue\/Thu Evening Regular Course<\/h8>\n<h8>- Tue\/Thu Evening Regular TOPIK2 Course<\/h8>\n\n\n<h4>4. Weekend Classes (Sat\/Sun): Sept. 5 - Sept. 20\n\n\n(6hours of Makeup class are scheduled within the month)<\/h4>\n\n\n<h8>- Sat + Sun: Regular Course\/TOPIK2 Intensive Course\/Speaking Intensive Course\/Live Online Classes<\/h8>\n\n\n<h4>5. 2day classes per week (Mon\/Wed): Sept. 7 - Sept. 30<\/h4>\n\n\n<h8>- Mon\/Wed Evening Regular Course<\/h8>\n<\/td>\n\n\n<\/tr>\n\n\n\n\n<tr>\n\n\n<td>\n\n\n<p align=\"center\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/winterkorean.com\/winko\/ko\/wp-content\/uploads\/2026\/08\/sept26_02.png\" alt=\"\" width=\"565\" height=\"347\" \/><\/p>\n\n\n<\/td>\n\n\n<\/tr>\n\n\n<\/tbody>\n\n\n<\/table>\n\n\n\n\n<table border=\"1\" width=\"100%\">\n\n\n<tbody>\n\n\n<tr>\n\n\n<td bgcolor=\"#f5f5f5\">\n\n\n<h4>6. TOPIK Classes (Regular and Intensive Courses for TOPIK2)<\/h4>\n\n\n<h8>- TOPIK Tue\/Thu Classes<\/h8>\n<h8>- TOPIK Sat\/Sun Classes<\/h8>\n<h8>- TOPIK Mon\/Wed Classes<\/h8>\n<\/td>\n\n\n<\/tr>\n\n\n\n\n<tr>\n\n\n<td>\n\n\n<p align=\"center\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/winterkorean.com\/winko\/ko\/wp-content\/uploads\/2026\/08\/sept26_t02.png\" alt=\"\" width=\"569\" height=\"358\" \/><\/p>\n\n\n<\/td>\n\n\n<\/tr>\n\n\n<\/tbody>\n\n\n<\/table>\n\n\n\n\n\n<table border=\"1\" width=\"100%\">\n\n\n<tbody>\n\n\n<tr>\n\n\n<td bgcolor=\"#f5f5f5\">\n\n\n<h4>7. Wednesday, One-day Classes: Sept. 9, 16, 23, 30<br \/><\/h4>\n\n\n- Wed Speaking Intensive Course\n<br \/>\n\n\n<h4>8. Saturday, One-day Classes: Sept. 5(4h), 12(4h), 19(4h)<\/h4>\n\n\n- Regular Course\n- TOPIK2 Intensive Course\n- Speaking Intensive Course\n- Live Online Classes\n<\/td>\n\n\n<\/tr>\n\n\n\n\n<tr>\n\n\n<td>\n\n\n<p align=\"center\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/winterkorean.com\/winko\/ko\/wp-content\/uploads\/2026\/08\/sept26_01.png\" alt=\"\" width=\"573\" height=\"353\" \/><\/p>\n\n\n<\/td>\n\n\n<\/tr>\n\n\n<\/tbody>\n\n\n<\/table>\n\n\n--!>\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u2013 \u60a8\u53ef\u4ee5\u968f\u65f6\u62a5\u540d\u5e76\u5f00\u59cb\u4e0a\u8bfe\u3002\u5982\u679c\u60a8\u60f3\u7acb\u5373\u5f00\u59cb\u5b66\u4e60\u97e9\u8bed\uff0c\u8bf7\u9a6c\u4e0a\u62a5\u540d\u5e76\u5f00\u59cb\u4e0a\u8bfe\uff01 \u2013 \u5982\u679c\u60a8\u7f3a\u8bfe\uff0c\u53ef\u4ee5\u5728\u540c\u4e00\u4e2a\u6708\u5185\u53c2\u52a0\u5176\u4ed6\u5e38\u89c4\u8bfe\u7a0b\u8fdb\u884c\u8865\u8bfe\u3002\u8bf7\u6ce8\u610f\uff0c\u8865\u8bfe\u8bfe\u7a0b\u7684\u7ea7\u522b\u548c\u6388\u8bfe\u8001\u5e08\u53ef\u80fd\u4f1a\u6709\u6240\u4e0d\u540c\u3002 #\u8bf7\u9009\u62e9\u60a8\u5e0c\u671b\u62a5\u540d\u7684\u6708\u4efd\uff0c\u5373\u53ef\u4e00\u76ee\u4e86\u7136\u5730\u67e5\u770b\u8be5\u6708\u7684\u6240\u6709\u8bfe\u7a0b\u5b89\u6392\u3002 &nbsp; &nbsp; &nbsp; &nbsp;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-no-sidebar.php","meta":{"footnotes":""},"_links":{"self":[{"href":"https:\/\/winterkorean.com\/winko\/cn\/wp-json\/wp\/v2\/pages\/4161"}],"collection":[{"href":"https:\/\/winterkorean.com\/winko\/cn\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/winterkorean.com\/winko\/cn\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/winterkorean.com\/winko\/cn\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/winterkorean.com\/winko\/cn\/wp-json\/wp\/v2\/comments?post=4161"}],"version-history":[{"count":3,"href":"https:\/\/winterkorean.com\/winko\/cn\/wp-json\/wp\/v2\/pages\/4161\/revisions"}],"predecessor-version":[{"id":4228,"href":"https:\/\/winterkorean.com\/winko\/cn\/wp-json\/wp\/v2\/pages\/4161\/revisions\/4228"}],"wp:attachment":[{"href":"https:\/\/winterkorean.com\/winko\/cn\/wp-json\/wp\/v2\/media?parent=4161"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}