2-Hour Workshops
Perfect for travelers. Discover local culture and create your own unique Hanoi artwork
View WorkshopsHướng dẫn chỉnh sửa website tại /guide/. Nội dung tự động đồng bộ từ theme khi admin đăng nhập WP hoặc upload code mới — không cần sửa tay page này (chỉnh trong inc/guide-page.php nếu là dev).
WP Admin → Tools → ATH Content (mở)
Trang chủ = page tại Settings → Reading → Homepage. Sửa trong Pages → [homepage] → Edit. Block động = block Shortcode (dán cả chuỗi kèm tham số vào một dòng).
Ảnh poster hiện trước khi video chạy. Video: video_url (khuyên dùng) hoặc video_id + video_version (Cloudinary).
| Tham số | Ý nghĩa | Mặc định |
|---|---|---|
| aria_label | Nhãn accessibility | Art studio |
| poster | Ảnh chờ video — assets/images/ hoặc URL | hero2.jpg |
| video_url | URL .mp4 đầy đủ | (trống) |
| video_id | Public ID Cloudinary | Banner_tmdhl6 |
| video_version | Version Cloudinary | v1780352977 |
| video_width | Max width (px) | 1920 |
| cloudinary_folder | Ghi chú folder | video |
| autoplay, muted, loop, playsinline | 1 hoặc 0 | 1 |
| preload | auto | metadata | none | auto |
video_id / video_version: từ URL Cloudinary .../v1780352977/Banner_tmdhl6.mp4.
[ath_home_hero aria_label="Art studio" poster="hero2.jpg" video_url="https://res.cloudinary.com/dwy4wtjtc/video/upload/q_auto,w_1920,c_limit/f_auto/v1780352977/Banner_tmdhl6.mp4" video_width="1920" cloudinary_folder="video" autoplay="1" muted="1" loop="1" playsinline="1" preload="auto"]
Perfect for travelers. Discover local culture and create your own unique Hanoi artwork
View WorkshopsWeekly classes for adults and kids to build long-term art skills
View CoursesTry a single taster session to test our teaching style before joining long-term
Book a TrialDedicated studio space and mentorship for local and international professional artists
Apply nowThẻ từ data/{source}.php — mỗi thẻ: title, desc, link, link_type (experience | page | url).
| Tham số | Ý nghĩa | Mặc định |
|---|---|---|
| source | File data | home-cards |
| button | Chữ nút | View Courses |
| aria_label | Nhãn section | Featured programs |
[ath_home_cards source="home-cards" button="View Courses" aria_label="Featured programs"]
Art Tutor Hanoi is a collective of academically trained artists specializing in fine art
PHP động (shuffle, lazy-load). Ảnh từ data/{source}.php.
| Tham số | Ý nghĩa | Mặc định |
|---|---|---|
| intro | Text trên gallery | (text studio) |
| source | File data | frontpage-gallery |
| cloudinary_folder | Ghi chú folder | website/image/frontpage |
| visible | Ảnh hiện ngay | 5 |
| load_more | Ảnh khi Load more; 0 = còn lại | 0 |
| shuffle | 1 = xáo mỗi lần load | 1 |
| button | Chữ nút Load more | Load more photos |
[ath_home_gallery source="frontpage-gallery" cloudinary_folder="website/image/frontpage" visible="3" load_more="0" shuffle="0" button="Load more photos"]
Our courses
Danh sách khóa học trên trang chủ — mỗi dòng link tới /courses/#anchor. Dữ liệu từ data/{source}.php — mỗi item: num, title, anchor.
| Tham số | Ý nghĩa | Mặc định |
|---|---|---|
| source | File data | home-programs |
| label | Nhãn nhỏ (Our courses) | (từ data) |
| heading | Tiêu đề section | (từ data) |
| courses_page | Page key cho link | courses |
| footer_label | Link dưới cùng | Explore all courses |
| aria_label | Nhãn accessibility | Structured programs |
[ath_home_programs source="home-programs" label="Our courses" heading="Structured programs for every stage of your artistic journey in Hanoi." courses_page="courses" footer_label="Explore all courses" aria_label="Structured programs"]
Carousel học viên (Posts category Learner’s artworks) — PHP động, sắp xếp theo comment mới nhất. Dòng thống kê từ data/home-community.php hoặc tham số stat (hai dòng cách nhau bằng |).
| Tham số | Ý nghĩa | Mặc định |
|---|---|---|
| source | File data | home-community |
| stat | Text thống kê (dòng1|dòng2) | (từ data) |
| limit | Số thẻ carousel | 6 |
| always_visible | 1 = luôn mở (homepage) | 1 |
| footer_label | Link dưới carousel | View all |
| view_all_page | Page key hub artworks | students-artworks |
| aria_label | Nhãn accessibility | Artist community |
Thêm học viên vào carousel: Posts → Add New → category Learner’s artworks → Featured image + publish. Không sửa file data.
[ath_home_community source="home-community" stat="150+ artists from 40+ countries|have studied at Art Tutor Hanoi." limit="6" always_visible="1" footer_label="View all" view_all_page="students-artworks" toggle_show="View Community" toggle_hide="Hide Community" panel_id="community-panel" toggle_id="community-toggle" aria_label="Artist community"]
Testimonials
Slider đánh giá + ảnh bên phải. Nội dung từ data/{source}.php — mỗi slide: text, author. JS slider dùng track_id / dots_id (mặc định testimonials-track).
| Tham số | Ý nghĩa | Mặc định |
|---|---|---|
| source | File data | home-testimonials |
| label | Nhãn nhỏ | Testimonials |
| heading | Tiêu đề | What our students say |
| photo | Ảnh — assets/images/ hoặc URL | gallery/HTT_1707.jpg |
| photo_alt | Alt ảnh | (từ data) |
| aria_label | Nhãn accessibility | Testimonials |
[ath_home_testimonials source="home-testimonials" label="Testimonials" heading="What our students say" photo="gallery/HTT_1707.jpg" photo_alt="Students at an art exhibition" track_id="testimonials-track" dots_id="testimonials-dots" prev_label="Previous review" next_label="Next review" aria_label="Testimonials"]
Nút teal giống thẻ trang chủ (.btn-view). Dùng block Shortcode trong bất kỳ page Gutenberg nào — thay cho nút mặc định của editor.
| Tham số | Ý nghĩa | Mặc định |
|---|---|---|
| label | Chữ trên nút (bắt buộc) | — |
| link | Slug / page key / URL (bắt buộc) | — |
| link_type | experience | page | book | url | url |
| style | view | contact | cta | view |
| align | center | right (trống = trái) | (trống) |
| newtab | 1 = mở tab mới | 0 |
Ví dụ link_type: page + courses → /courses/; experience + life-drawing → workshop; book + adults → tab Book.
[ath_btn label='View Courses' link='courses' link_type='page' style='view']
Xem trước:
View Courses/courses/{slug}/, /workshops/{slug}/ — Pages con (template Course / Workshop), chỉnh Gutenberg sau migration/kids-courses/{slug}/ — file data/*.phpForm đặt chỗ người lớn nhúng tại /book/?tab=adult. Quy tắc Date và Preferred time slots nằm trong Custom Javascript của form — không sửa trong theme trừ VietQR (mục 7d).
Mở editor: WP Admin → Fluent Forms → All Forms → Adult Booking (ID 40) → tab Settings & Integrations → Custom CSS/JS → ô Custom Javascript → Save Form.
| Field trên form | Name attribute | Loại |
|---|---|---|
| Program | dropdown | Dropdown |
| Workshop | dropdown_1 | Dropdown (conditional) |
| Date | datetime | Date/time (flatpickr) |
| Preferred time slot | time_slots | Radio — một lựa chọn; Value từng option phải khớp JS |
| Number of participants | item-quantity | Item Quantity |
| Điều kiện | Date picker |
|---|---|
| Program = Art Residency | Mọi ngày đều chọn được |
| Program khác Art Residency | Thứ 5 bị mờ — không chọn |
| Workshop = Nude model drawing | Chỉ thứ 7 (Saturday) |
Trong JS: getDay() === 2 = thứ 3, getDay() === 4 = thứ 5 (Date), getDay() === 6 = thứ 7 (0 = Chủ nhật).
| Slot (Value trên form) | Chỉ chọn khi |
|---|---|
13;30 – 16:00 | Workshop = Nude model drawing (lưu ý dấu ; trong form hiện tại) |
18:30 – 20:30 | Date đã chọn là thứ 3 |
| Các slot khác | Bình thường (trừ khi bị rule Nude model khóa) |
Đổi Date sang ngày không phải thứ 3 → slot 18:30 tự bỏ chọn và mờ. Đổi Workshop khỏi Nude model → các slot khác mở lại.
Sau khi đổi label/value option trong form editor, cập nhật các hằng số ở đầu file JS (phải trùng Value của option, không chỉ label hiển thị):
var RESIDENCY = 'Art Residency';
var NUDE_MODEL = 'Nude model drawing';
var NUDE_SLOT = '13;30 u2013 16:00';
var TUESDAY_SLOT = '18:30 u2013 20:30';
getDisableRules() và isDateAllowed().var MY_SLOT = '...'; và nhánh trong isSlotAllowed().select[name="dropdown"], dropdown_1, datetime, input[name="time_slots"] trong JS và đổi cho khớp Name Attribute.– phải giống hệt; có thể dùng u2013 trong chuỗi JS).(Program + Courses + Duration); Item Quantity map payment_input.config/fluent-qr.php (form 40, tỉ giá USD→VND 26 500). Custom HTML cần #qr_amount và #qr_img.40 (ATH_ADULT_BOOKING_FORM_ID trong config/book-tabs.php).backup/pre-gutenberg-snapshot/