{"id":497,"date":"2026-02-04T23:07:29","date_gmt":"2026-02-04T23:07:29","guid":{"rendered":"https:\/\/heartacademy.edu.vn\/?page_id=497"},"modified":"2026-03-08T21:26:42","modified_gmt":"2026-03-08T21:26:42","slug":"coursepremium","status":"publish","type":"page","link":"https:\/\/heartacademy.edu.vn\/index.php\/coursepremium\/","title":{"rendered":"CoursePremium"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"497\" class=\"elementor elementor-497\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7796f97 e-con-full e-flex e-con e-parent\" data-id=\"7796f97\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2f98912 elementor-widget elementor-widget-html\" data-id=\"2f98912\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n\r\n<html class=\"light\" lang=\"vi\"><head>\r\n<meta charset=\"utf-8\"\/>\r\n<meta content=\"width=device-width, initial-scale=1.0\" name=\"viewport\"\/>\r\n<script src=\"https:\/\/cdn.tailwindcss.com?plugins=forms,container-queries\"><\/script>\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Montserrat:wght@300;400;500;600;700;800&amp;family=Public+Sans:wght@300;400;500;600;700&amp;display=swap\" rel=\"stylesheet\"\/>\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&amp;display=swap\" rel=\"stylesheet\"\/>\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&amp;display=swap\" rel=\"stylesheet\"\/>\r\n<script id=\"tailwind-config\">\r\n        tailwind.config = {\r\n            darkMode: \"class\",\r\n            theme: {\r\n                extend: {\r\n                    colors: {\r\n                        \"primary\": \"#1E40AF\",\r\n                        \"accent\": \"#DC2626\",\r\n                        \"background-light\": \"#f8f9fa\",\r\n                        \"background-dark\": \"#0f172a\",\r\n                    },\r\n                    fontFamily: {\r\n                        \"display\": [\"Montserrat\", \"sans-serif\"],\r\n                        \"body\": [\"Public Sans\", \"sans-serif\"]\r\n                    },\r\n                    borderRadius: {\"DEFAULT\": \"0.25rem\", \"lg\": \"0.5rem\", \"xl\": \"0.75rem\", \"full\": \"9999px\"},\r\n                },\r\n            },\r\n        }\r\n    <\/script>\r\n<style>\r\n        body { font-family: 'Public Sans', sans-serif; }\r\n        h1, h2, h3, button, .font-display { font-family: 'Montserrat', sans-serif; }\r\n    <\/style>\r\n<\/head>\r\n<body class=\"bg-background-light dark:bg-background-dark text-slate-900 dark:text-slate-100 antialiased\">\r\n<main class=\"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-10\">\r\n<!-- Page Heading & Search Section -->\r\n<div class=\"mb-10\">\r\n<div class=\"flex flex-col md:flex-row md:items-end justify-between gap-6 mb-8\">\r\n<div class=\"flex flex-col gap-2\">\r\n<nav class=\"flex items-center gap-2 text-sm font-medium text-primary mb-2\">\r\n<span>Heart Academy<\/span>\r\n<span class=\"material-symbols-outlined text-sm\">chevron_right<\/span>\r\n<span class=\"text-slate-500\">Kho\u00e1 h\u1ecdc N\u00e2ng cao<\/span>\r\n<\/nav>\r\n<h1 class=\"text-4xl md:text-5xl font-extrabold tracking-tight text-slate-900 dark:text-white\">\r\n                        Danh s\u00e1ch <span class=\"text-primary border-b-4 border-accent\">Kho\u00e1 h\u1ecdc N\u00e2ng cao<\/span>\r\n<\/h1>\r\n<p class=\"text-lg text-slate-600 dark:text-slate-400 mt-2\">N\u00e2ng t\u1ea7m s\u1ef1 nghi\u1ec7p chuy\u00ean gia c\u00f9ng Heart Academy<\/p>\r\n<\/div>\r\n<div class=\"w-full md:max-w-md\">\r\n<div class=\"relative group\">\r\n<div class=\"absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none\">\r\n<span class=\"material-symbols-outlined text-slate-400 group-focus-within:text-primary transition-colors\">search<\/span>\r\n<\/div>\r\n<input id=\"course-search\" class=\"block w-full pl-11 pr-4 py-3 bg-white dark:bg-slate-800 border-slate-200 dark:border-slate-700 rounded-xl focus:ring-2 focus:ring-primary focus:border-primary transition-all shadow-sm\" placeholder=\"T\u00ecm ki\u1ebfm kho\u00e1 h\u1ecdc n\u00e2ng cao...\" type=\"text\"\/>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<div class=\"flex flex-col lg:flex-row gap-8\">\r\n<!-- Sidebar Filter -->\r\n<aside class=\"w-full lg:w-64 shrink-0 space-y-8\">\r\n<!-- Categories -->\r\n<div class=\"bg-white dark:bg-slate-800 p-6 rounded-xl shadow-sm border border-slate-100 dark:border-slate-700\">\r\n<h3 class=\"font-display font-bold text-lg mb-4 flex items-center gap-2\">\r\n<span class=\"material-symbols-outlined text-primary\">category<\/span> Danh m\u1ee5c\r\n                    <\/h3>\r\n<div class=\"space-y-3\">\r\n<label class=\"flex items-center gap-3 cursor-pointer group\">\r\n<input class=\"rounded border-slate-300 text-primary focus:ring-primary\" type=\"checkbox\" value=\"Marketing B\u0110S\" onchange=\"window.toggleCategory(this.value, this.checked)\"\/>\r\n<span class=\"text-slate-700 dark:text-slate-300 group-hover:text-primary transition-colors\">Marketing B\u0110S<\/span>\r\n<\/label>\r\n<label class=\"flex items-center gap-3 cursor-pointer group\">\r\n<input class=\"rounded border-slate-300 text-primary focus:ring-primary\" type=\"checkbox\" value=\"K\u1ef9 n\u0103ng ch\u1ed1t deal\" onchange=\"window.toggleCategory(this.value, this.checked)\"\/>\r\n<span class=\"text-slate-700 dark:text-slate-300 group-hover:text-primary transition-colors\">K\u1ef9 n\u0103ng ch\u1ed1t deal<\/span>\r\n<\/label>\r\n<label class=\"flex items-center gap-3 cursor-pointer group\">\r\n<input class=\"rounded border-slate-300 text-primary focus:ring-primary\" type=\"checkbox\" value=\"Ph\u00e1p l\u00fd B\u0110S\" onchange=\"window.toggleCategory(this.value, this.checked)\"\/>\r\n<span class=\"text-slate-700 dark:text-slate-300 group-hover:text-primary transition-colors\">Ph\u00e1p l\u00fd B\u0110S<\/span>\r\n<\/label>\r\n<label class=\"flex items-center gap-3 cursor-pointer group\">\r\n<input class=\"rounded border-slate-300 text-primary focus:ring-primary\" type=\"checkbox\" value=\"Qu\u1ea3n l\u00fd \u0111\u1ed9i nh\u00f3m\" onchange=\"window.toggleCategory(this.value, this.checked)\"\/>\r\n<span class=\"text-slate-700 dark:text-slate-300 group-hover:text-primary transition-colors\">Qu\u1ea3n l\u00fd \u0111\u1ed9i nh\u00f3m<\/span>\r\n<\/label>\r\n<\/div>\r\n<\/div>\r\n<!-- Price Range -->\r\n<div class=\"bg-white dark:bg-slate-800 p-6 rounded-xl shadow-sm border border-slate-100 dark:border-slate-700\">\r\n<h3 class=\"font-display font-bold text-lg mb-4 flex items-center gap-2\">\r\n<span class=\"material-symbols-outlined text-primary\">payments<\/span> Kho\u1ea3ng gi\u00e1\r\n                    <\/h3>\r\n<div class=\"space-y-4\">\r\n<input id=\"price-filter\" class=\"w-full h-2 bg-slate-200 rounded-lg appearance-none cursor-pointer accent-primary\" max=\"50\" min=\"1\" step=\"1\" type=\"range\" value=\"50\" oninput=\"document.getElementById('price-val').innerText = this.value + '.000.000\u0111';\" onchange=\"window.setPriceFilter(this.value)\"\/>\r\n<div class=\"flex justify-between text-xs font-bold text-slate-500 mt-2\">\r\n<span>1.000.000\u0111<\/span>\r\n<span id=\"price-val\" class=\"text-primary font-bold\">50.000.000\u0111<\/span>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<!-- Ratings -->\r\n<div class=\"bg-white dark:bg-slate-800 p-6 rounded-xl shadow-sm border border-slate-100 dark:border-slate-700\">\r\n<h3 class=\"font-display font-bold text-lg mb-4 flex items-center gap-2\">\r\n<span class=\"material-symbols-outlined text-primary\">grade<\/span> \u0110\u00e1nh gi\u00e1\r\n                    <\/h3>\r\n<div class=\"space-y-2\">\r\n<button class=\"flex items-center gap-2 text-slate-600 dark:text-slate-400 hover:text-primary transition-colors\">\r\n<div class=\"flex text-yellow-400\">\r\n<span class=\"material-symbols-outlined text-sm fill-current\">star<\/span>\r\n<span class=\"material-symbols-outlined text-sm fill-current\">star<\/span>\r\n<span class=\"material-symbols-outlined text-sm fill-current\">star<\/span>\r\n<span class=\"material-symbols-outlined text-sm fill-current\">star<\/span>\r\n<span class=\"material-symbols-outlined text-sm fill-current\">star<\/span>\r\n<\/div>\r\n<span class=\"text-sm\">5 sao<\/span>\r\n<\/button>\r\n<button class=\"flex items-center gap-2 text-slate-600 dark:text-slate-400 hover:text-primary transition-colors\">\r\n<div class=\"flex text-yellow-400\">\r\n<span class=\"material-symbols-outlined text-sm fill-current\">star<\/span>\r\n<span class=\"material-symbols-outlined text-sm fill-current\">star<\/span>\r\n<span class=\"material-symbols-outlined text-sm fill-current\">star<\/span>\r\n<span class=\"material-symbols-outlined text-sm fill-current\">star<\/span>\r\n<span class=\"material-symbols-outlined text-sm\">star<\/span>\r\n<\/div>\r\n<span class=\"text-sm\">T\u1eeb 4 sao<\/span>\r\n<\/button>\r\n<\/div>\r\n<\/div>\r\n<\/aside>\r\n<!-- Main Grid -->\r\n<div class=\"flex-1\">\r\n<div id=\"course-grid\" class=\"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-6\">\r\n<!-- Course Cards will be dynamically loaded -->\r\n<\/div>\r\n<!-- Pagination -->\r\n<div id=\"pagination\" class=\"mt-12 flex items-center justify-center gap-2\">\r\n<!-- Pagination will be dynamically loaded -->\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/main>\r\n<script>\r\n(function() {\r\n    'use strict';\r\n\r\n    const BASE = 'https:\/\/heartacademy.edu.vn\/wp-json\/wp\/v2';\r\n    const POST_TYPE = 'premiumcourse'; \r\n    const DETAIL_PAGE = 'detail.html';\r\n    const PER_PAGE = 6;\r\n    \r\n    let currentPage = 1;\r\n    let searchQuery = '';\r\n    let selectedCategories = [];\r\n    let currentRatingFilter = 0;\r\n    let currentPriceFilter = 50000000;\r\n    let allCoursesData = []; \r\n\r\n    const grid = document.getElementById('course-grid');\r\n    const pagination = document.getElementById('pagination');\r\n    const searchInput = document.getElementById('course-search');\r\n\r\n    window.toggleCategory = function(cat, isChecked) {\r\n        if (isChecked) {\r\n            if (!selectedCategories.includes(cat)) selectedCategories.push(cat);\r\n        } else {\r\n            selectedCategories = selectedCategories.filter(c => c !== cat);\r\n        }\r\n        currentPage = 1;\r\n        applyClientFilters();\r\n    };\r\n\r\n    window.setPriceFilter = function(val) {\r\n        currentPriceFilter = parseInt(val) * 1000000;\r\n        currentPage = 1;\r\n        applyClientFilters();\r\n    };\r\n\r\n    window.setRatingFilter = function(stars) {\r\n        if (currentRatingFilter === stars) {\r\n            currentRatingFilter = 0;\r\n        } else {\r\n            currentRatingFilter = stars;\r\n        }\r\n        \r\n        document.querySelectorAll('.rating-btn').forEach(btn => {\r\n            btn.classList.add('opacity-60');\r\n            btn.classList.remove('bg-slate-100', 'dark:bg-slate-800');\r\n        });\r\n        \r\n        if (currentRatingFilter > 0) {\r\n            const activeBtn = document.getElementById('filter-rating-' + stars);\r\n            if (activeBtn) {\r\n                activeBtn.classList.remove('opacity-60');\r\n                activeBtn.classList.add('bg-slate-100', 'dark:bg-slate-800');\r\n            }\r\n        }\r\n        currentPage = 1;\r\n        applyClientFilters();\r\n    };\r\n\r\n    function getCourseRating(course) {\r\n        const acf = course.acf || {};\r\n        return parseFloat(acf.course_rating || (course.meta && course.meta.course_rating) || '0');\r\n    }\r\n\r\n    function getCoursePrice(course) {\r\n        const acf = course.acf || {};\r\n        return parseFloat(acf.course_price || (course.meta && course.meta.course_price) || getFallbackData(course, 'price') || 0);\r\n    }\r\n\r\n    function applyClientFilters() {\r\n        let filtered = allCoursesData;\r\n        \r\n        if (selectedCategories.length > 0) {\r\n            filtered = filtered.filter(c => {\r\n                const cat = (c.acf && c.acf.course_category) || getFallbackData(c, 'category') || '';\r\n                return selectedCategories.some(selected => cat.includes(selected));\r\n            });\r\n        }\r\n\r\n        if (currentRatingFilter > 0) {\r\n            filtered = filtered.filter(c => getCourseRating(c) >= currentRatingFilter);\r\n        }\r\n        \r\n        if (currentPriceFilter > 0) {\r\n            filtered = filtered.filter(c => getCoursePrice(c) <= currentPriceFilter);\r\n        }\r\n\r\n        const totalPages = Math.ceil(filtered.length \/ PER_PAGE) || 1;\r\n        const start = (currentPage - 1) * PER_PAGE;\r\n        const paginated = filtered.slice(start, start + PER_PAGE);\r\n\r\n        renderCourses(paginated);\r\n        renderPagination(totalPages);\r\n    }\r\n\r\n    function fetchCourses() {\r\n        grid.innerHTML = '<div class=\"flex items-center justify-center col-span-full py-20\"><div class=\"animate-spin rounded-full h-12 w-12 border-b-2 border-primary\"><\/div><\/div>';\r\n        \r\n        let url = `${BASE}\/${POST_TYPE}?per_page=100&_embed&status=publish`;\r\n        if (searchQuery) url += `&search=${encodeURIComponent(searchQuery)}`;\r\n\r\n        fetch(url)\r\n            .then(res => res.json().then(data => ({ data, ok: res.ok })))\r\n            .then(({ data, ok }) => {\r\n                if (!ok || !Array.isArray(data)) {\r\n                    throw new Error((data && data.message) ? data.message : 'L\u1ed7i t\u1ea3i d\u1eef li\u1ec7u');\r\n                }\r\n                allCoursesData = data;\r\n                applyClientFilters();\r\n            })\r\n            .catch(err => {\r\n                console.error('Fetch Error:', err);\r\n                grid.innerHTML = `<div class=\"col-span-full text-center py-20 text-slate-500 px-4\">${err.message}<\/div>`;\r\n            });\r\n    }\r\n\r\n    function formatCurrency(amount) {\r\n        if (!amount || isNaN(amount) || amount === 0) return 'Li\u00ean h\u1ec7 t\u01b0 v\u1ea5n';\r\n        return parseInt(amount).toLocaleString('vi-VN') + '\u0111';\r\n    }\r\n\r\n    function getFallbackData(course, key) {\r\n        const tempDiv = document.createElement('div');\r\n        tempDiv.innerHTML = course.content.rendered;\r\n        const el = tempDiv.querySelector('#card-data');\r\n        if (el) {\r\n            try {\r\n                let raw = el.textContent.replace(\/[\\u201C\\u201D\\u2033]\/g, '\"').replace(\/[\\u2018\\u2019]\/g, \"'\").replace(\/\\u2013\/g, '-');\r\n                return JSON.parse(raw)[key];\r\n            } catch (e) { return null; }\r\n        }\r\n        return null;\r\n    }\r\n\r\n    function renderCourses(courses) {\r\n        if (!courses || courses.length === 0) {\r\n            grid.innerHTML = '<div class=\"col-span-full text-center py-20 text-slate-500\">Kh\u00f4ng t\u00ecm th\u1ea5y kh\u00f3a h\u1ecdc n\u00e0o.<\/div>';\r\n            return;\r\n        }\r\n\r\n        grid.innerHTML = courses.map(course => {\r\n            const acf = course.acf || {};\r\n            const embedded = course._embedded || {};\r\n            const media = (embedded['wp:featuredmedia'] || [])[0];\r\n            \r\n            const img = acf.course_image || (course.meta && course.meta.course_image) || getFallbackData(course, 'image') || (media && media.source_url) || 'https:\/\/via.placeholder.com\/600x400?text=Heart+Academy';\r\n            const title = course.title.rendered;\r\n            const excerpt = course.excerpt.rendered.replace(\/<[^>]+>\/g, '').substring(0, 100) + '...';\r\n            \r\n            const rating = acf.course_rating || (course.meta && course.meta.course_rating) || getFallbackData(course, 'rating') || '5.0';\r\n            const reviewCount = acf.course_review_count || (course.meta && course.meta.course_review_count) || getFallbackData(course, 'reviews') || '0';\r\n            const price = getCoursePrice(course);\r\n            const originalPrice = parseInt(price) * 1.5; \/\/ Dummy logic to show original price\r\n            \r\n            return `\r\n                <div class=\"group bg-white dark:bg-slate-800 rounded-xl overflow-hidden shadow-md hover:shadow-xl transition-all border border-slate-100 dark:border-slate-700 flex flex-col\">\r\n                    <div class=\"relative aspect-video\">\r\n                        <img decoding=\"async\" class=\"w-full h-full object-cover group-hover:scale-105 transition-transform duration-500\" src=\"${img}\"\/>\r\n                        <div class=\"absolute top-3 left-3\">\r\n                            <span class=\"bg-accent text-white text-[10px] font-bold tracking-widest px-2 py-1 rounded-sm uppercase\">N\u00c2NG CAO<\/span>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"p-5 flex flex-col flex-1\">\r\n                        <div class=\"flex items-center gap-1 mb-2\">\r\n                            <div class=\"flex text-yellow-500\">\r\n                                <span class=\"material-symbols-outlined text-[16px] fill-current\">star<\/span>\r\n                                <span class=\"material-symbols-outlined text-[16px] fill-current\">star<\/span>\r\n                                <span class=\"material-symbols-outlined text-[16px] fill-current\">star<\/span>\r\n                                <span class=\"material-symbols-outlined text-[16px] fill-current\">star<\/span>\r\n                                <span class=\"material-symbols-outlined text-[16px] fill-current\">star<\/span>\r\n                            <\/div>\r\n                            <span class=\"text-xs text-slate-500 font-medium\">(${reviewCount})<\/span>\r\n                        <\/div>\r\n                        <h3 class=\"font-display font-bold text-lg text-slate-900 dark:text-white leading-tight mb-2 group-hover:text-primary transition-colors line-clamp-2\">${title}<\/h3>\r\n                        <p class=\"text-slate-600 dark:text-slate-400 text-sm mb-4 line-clamp-2\">${excerpt}<\/p>\r\n                        <div class=\"mt-auto pt-4 border-t border-slate-100 dark:border-slate-700 flex items-center justify-between\">\r\n                            <div class=\"flex flex-col\">\r\n                                <span class=\"text-xs text-slate-400 line-through\">${price > 0 ? formatCurrency(originalPrice) : ''}<\/span>\r\n                                <span class=\"text-lg font-bold text-accent\">${formatCurrency(price)}<\/span>\r\n                            <\/div>\r\n                            <a href=\"${course.link}\" class=\"bg-primary text-white text-sm font-bold px-4 py-2 rounded-lg hover:bg-primary\/90 transition-colors\">Xem chi ti\u1ebft<\/a>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            `;\r\n        }).join('');\r\n    }\r\n\r\n    function renderPagination(totalPages) {\r\n        if (totalPages <= 1) {\r\n            pagination.innerHTML = '';\r\n            return;\r\n        }\r\n\r\n        let html = '';\r\n        html += `\r\n            <button class=\"w-10 h-10 rounded-lg flex items-center justify-center border border-slate-200 dark:border-slate-700 hover:bg-primary hover:text-white transition-all ${currentPage === 1 ? 'opacity-50 cursor-not-allowed' : ''}\" \r\n                    ${currentPage === 1 ? 'disabled' : ''} onclick=\"window.changePage(${currentPage - 1})\">\r\n                <span class=\"material-symbols-outlined\">chevron_left<\/span>\r\n            <\/button>\r\n        `;\r\n\r\n        for (let i = 1; i <= totalPages; i++) {\r\n            if (i === 1 || i === totalPages || (i >= currentPage - 1 && i <= currentPage + 1)) {\r\n                html += `\r\n                    <button class=\"w-10 h-10 rounded-lg flex items-center justify-center font-bold transition-all ${i === currentPage ? 'bg-primary text-white shadow-md' : 'border border-slate-200 dark:border-slate-700 hover:bg-primary hover:text-white'}\" \r\n                            onclick=\"window.changePage(${i})\">${i}<\/button>\r\n                `;\r\n            } else if (i === currentPage - 2 || i === currentPage + 2) {\r\n                html += '<span class=\"px-2 text-slate-400\">...<\/span>';\r\n            }\r\n        }\r\n\r\n        html += `\r\n            <button class=\"w-10 h-10 rounded-lg flex items-center justify-center border border-slate-200 dark:border-slate-700 hover:bg-primary hover:text-white transition-all ${currentPage === totalPages ? 'opacity-50 cursor-not-allowed' : ''}\" \r\n                    ${currentPage === totalPages ? 'disabled' : ''} onclick=\"window.changePage(${currentPage + 1})\">\r\n                <span class=\"material-symbols-outlined\">chevron_right<\/span>\r\n            <\/button>\r\n        `;\r\n\r\n        pagination.innerHTML = html;\r\n    }\r\n\r\n    window.changePage = function(page) {\r\n        currentPage = page;\r\n        applyClientFilters();\r\n        window.scrollTo({ top: 0, behavior: 'smooth' });\r\n    };\r\n\r\n    let searchTimer;\r\n    searchInput.addEventListener('input', (e) => {\r\n        clearTimeout(searchTimer);\r\n        searchTimer = setTimeout(() => {\r\n            searchQuery = e.target.value;\r\n            currentPage = 1;\r\n            fetchCourses();\r\n        }, 500);\r\n    });\r\n\r\n    fetchCourses();\r\n\r\n})();\r\n<\/script>\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Heart Academy chevron_right Kho\u00e1 h\u1ecdc N\u00e2ng cao Danh s\u00e1ch Kho\u00e1 h\u1ecdc N\u00e2ng cao N\u00e2ng t\u1ea7m s\u1ef1 nghi\u1ec7p chuy\u00ean gia c\u00f9ng Heart Academy search category Danh m\u1ee5c Marketing B\u0110S K\u1ef9 n\u0103ng ch\u1ed1t deal Ph\u00e1p l\u00fd B\u0110S Qu\u1ea3n l\u00fd \u0111\u1ed9i nh\u00f3m payments Kho\u1ea3ng gi\u00e1 1.000.000\u0111 50.000.000\u0111 grade \u0110\u00e1nh gi\u00e1 star star star star star 5 sao star [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-497","page","type-page","status-publish","hentry"],"acf":{"hero_image":"https:\/\/heartacademy.edu.vn\/wp-content\/uploads\/2026\/02\/Picture16.png","hero_title_1":"Ki\u1ebfn t\u1ea1o t\u01b0\u01a1ng lai c\u00f9ng","hero_title_2":"Heart Academy","hero_description":"Gia nh\u1eadp \u0111\u1ed9i ng\u0169 nh\u1eefng chuy\u00ean gia \u0111am m\u00ea, n\u01a1i b\u1ea1n \u0111\u01b0\u1ee3c th\u1eed th\u00e1ch, ph\u00e1t tri\u1ec3n v\u00e0 \u0111\u1ecbnh h\u00ecnh t\u01b0\u01a1ng lai c\u1ee7a ng\u00e0nh marketing b\u1ea5t \u0111\u1ed9ng s\u1ea3n.","benefits_title":"T\u1ea1i sao ch\u1ecdn Heart Academy?","benefits_subtitle":"Ch\u00fang t\u00f4i kh\u00f4ng ch\u1ec9 x\u00e2y d\u1ef1ng s\u1ef1 nghi\u1ec7p, ch\u00fang t\u00f4i x\u00e2y d\u1ef1ng con ng\u01b0\u1eddi.","gallery_title":"Kho\u1ea3nh kh\u1eafc Heart Academy","cta_text":"Kh\u00f4ng t\u00ecm th\u1ea5y v\u1ecb tr\u00ed ph\u00f9 h\u1ee3p? H\u00e3y g\u1eedi CV c\u1ee7a b\u1ea1n v\u00e0o ng\u00e2n h\u00e0ng nh\u00e2n s\u1ef1."},"_links":{"self":[{"href":"https:\/\/heartacademy.edu.vn\/index.php\/wp-json\/wp\/v2\/pages\/497","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/heartacademy.edu.vn\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/heartacademy.edu.vn\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/heartacademy.edu.vn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/heartacademy.edu.vn\/index.php\/wp-json\/wp\/v2\/comments?post=497"}],"version-history":[{"count":23,"href":"https:\/\/heartacademy.edu.vn\/index.php\/wp-json\/wp\/v2\/pages\/497\/revisions"}],"predecessor-version":[{"id":1141,"href":"https:\/\/heartacademy.edu.vn\/index.php\/wp-json\/wp\/v2\/pages\/497\/revisions\/1141"}],"wp:attachment":[{"href":"https:\/\/heartacademy.edu.vn\/index.php\/wp-json\/wp\/v2\/media?parent=497"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}