{"id":1548,"date":"2026-09-06T13:30:18","date_gmt":"2026-09-06T07:30:18","guid":{"rendered":"https:\/\/batylbol.kz\/?page_id=1548"},"modified":"2026-09-06T14:45:26","modified_gmt":"2026-09-06T08:45:26","slug":"%d0%bf%d0%b5%d1%81%d0%bd%d0%b8","status":"publish","type":"page","link":"https:\/\/batylbol.kz\/?page_id=1548","title":{"rendered":"\u041f\u0435\u0441\u043d\u0438"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><a style=\"text-decoration: none\" href=\"https:\/\/www.youtube.com\/@BatylBolMedia\" target=\"_blank\" rel=\"noopener\">YouTube-\u043a\u0430\u043d\u0430\u043b BatylBol Media<\/a>\n<\/br>\n<a style=\"text-decoration: none\" href=\"https:\/\/batylbol.kz\/music\/Instructions\/%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F%20%D0%BF%D0%BE%20%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8E%20%D0%BF%D0%B5%D1%81%D0%B5%D0%BD.docx\" target=\"_blank\" rel=\"noopener\">\u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u043f\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044e \u043f\u0435\u0441\u0435\u043d<\/a><\/p>\n\n\n<!-- \u0411\u043b\u043e\u043a \"\u0421\u043f\u0438\u0441\u043e\u043a \u0444\u0430\u0439\u043b\u043e\u0432 \u0438\u0437 \u043f\u0430\u043f\u043a\u0438 \/music\/\" -->\n<!-- \u0412\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u044d\u0442\u043e\u0442 \u043a\u043e\u0434 \u0432 \u0431\u043b\u043e\u043a \"\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 HTML\" \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 https:\/\/batylbol.kz\/?page_id=1548 -->\n<!-- \u041f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u0435 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0431\u043b\u043e\u043a\u0430 \u044d\u0442\u0438\u043c \u043a\u043e\u0434\u043e\u043c -->\n\n<div id=\"music-file-list\">\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0441\u043f\u0438\u0441\u043a\u0430 \u0444\u0430\u0439\u043b\u043e\u0432\u2026<\/div>\n\n<style>\n  #music-file-list .mfl-song { display: flex; margin-bottom: 16px; max-width: 480px; }\n  #music-file-list .mfl-num { font-weight: bold; flex: 0 0 auto; width: 1.8em; }\n  #music-file-list .mfl-files { flex: 1 1 auto; }\n  #music-file-list .mfl-row { margin: 2px 0; }\n  #music-file-list a { text-decoration: none; }\n  #music-file-list a:hover { text-decoration: underline; }\n  #music-file-list .mfl-error { color: #b00020; }\n<\/style>\n\n<script>\n(function () {\n  var container = document.getElementById('music-file-list');\n  var endpoint = window.location.origin + '\/?rest_route=\/batylbol\/v1\/music-files';\n\n  \/\/ \u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043f\u0435\u0441\u043d\u0438 = \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u0431\u0435\u0437 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f.\n  \/\/ \u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0434\u043b\u044f \u043b\u044e\u0431\u044b\u0445 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 (mp3, m4a, pdf, mp4, ...), \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e mp3\/pdf.\n  function baseName(name) {\n    var idx = name.lastIndexOf('.');\n    if (idx <= 0) return name;\n    return name.substring(0, idx);\n  }\n\n  function renderRow(item) {\n    return '<div class=\"mfl-row\"><a href=\"' + item.url + '\" target=\"_blank\" rel=\"noopener\">' + item.name + '<\/a><\/div>';\n  }\n\n  fetch(endpoint)\n    .then(function (response) {\n      if (!response.ok) {\n        throw new Error('HTTP ' + response.status);\n      }\n      return response.json();\n    })\n    .then(function (data) {\n      if (data.error) {\n        throw new Error(data.error);\n      }\n      var files = data.files || [];\n\n      if (files.length === 0) {\n        container.innerHTML = '<p>\u0412 \u043f\u0430\u043f\u043a\u0435 \/music\/ \u043f\u043e\u043a\u0430 \u043d\u0435\u0442 \u0444\u0430\u0439\u043b\u043e\u0432.<\/p>';\n        return;\n      }\n\n      \/\/ \u0413\u0440\u0443\u043f\u043f\u0438\u0440\u0443\u0435\u043c \u0432\u0441\u0435 \u0444\u0430\u0439\u043b\u044b (\u043b\u044e\u0431\u044b\u0445 \u0442\u0438\u043f\u043e\u0432) \u043f\u043e \u043e\u0431\u0449\u0435\u043c\u0443 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044e \u043f\u0435\u0441\u043d\u0438.\n      var groups = {};\n      var order = [];\n\n      files.forEach(function (item) {\n        var base = baseName(item.name);\n        if (!groups[base]) {\n          groups[base] = [];\n          order.push(base);\n        }\n        groups[base].push(item);\n      });\n\n      var html = order\n        .map(function (base, index) {\n          var rows = groups[base].map(renderRow).join('');\n          return (\n            '<div class=\"mfl-song\"><div class=\"mfl-num\">' + (index + 1) + '.<\/div>' +\n            '<div class=\"mfl-files\">' + rows + '<\/div><\/div>'\n          );\n        })\n        .join('');\n\n      container.innerHTML = html;\n    })\n    .catch(function (err) {\n      container.innerHTML =\n        '<p class=\"mfl-error\">\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0444\u0430\u0439\u043b\u043e\u0432 (' + err.message + '). ' +\n        '\u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435, \u0447\u0442\u043e PHP-\u043a\u043e\u0434 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u0438 \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442 ' +\n        '<a href=\"' + endpoint + '\" target=\"_blank\">' + endpoint + '<\/a> \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e.<\/p>';\n    });\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>YouTube-\u043a\u0430\u043d\u0430\u043b BatylBol Media \u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u043f\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044e \u043f\u0435\u0441\u0435\u043d \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0441\u043f\u0438\u0441\u043a\u0430 \u0444\u0430\u0439\u043b\u043e\u0432\u2026<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1548","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/batylbol.kz\/index.php?rest_route=\/wp\/v2\/pages\/1548","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/batylbol.kz\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/batylbol.kz\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/batylbol.kz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/batylbol.kz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1548"}],"version-history":[{"count":13,"href":"https:\/\/batylbol.kz\/index.php?rest_route=\/wp\/v2\/pages\/1548\/revisions"}],"predecessor-version":[{"id":1568,"href":"https:\/\/batylbol.kz\/index.php?rest_route=\/wp\/v2\/pages\/1548\/revisions\/1568"}],"wp:attachment":[{"href":"https:\/\/batylbol.kz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1548"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}