{"id":1658,"date":"2024-10-06T13:21:00","date_gmt":"2024-10-06T12:21:00","guid":{"rendered":"https:\/\/www.besacc-vca.be\/?p=1658"},"modified":"2025-02-21T14:40:07","modified_gmt":"2025-02-21T13:40:07","slug":"opleidingen-1-test","status":"publish","type":"post","link":"https:\/\/www.besacc-vca.be\/fr\/opleidingen-1-test\/","title":{"rendered":"cours 1 test"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"1658\" class=\"elementor elementor-1658\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3f385f7 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3f385f7\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5ed5916\" data-id=\"5ed5916\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-53246b0 elementor-widget elementor-widget-html\" data-id=\"53246b0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t  <script type=\"text\/javascript\">\n    \/\/ base script block, this needs to be first to set up the basic code, only include once per page\n    window.centersTableScript = function(tableSelector, columnConfiguration) {\n      window.centersTableScriptGlobals = window.centersTableScriptGlobals ?? {}\n      const queryParams = new URLSearchParams(document.location.search)\n\n      const tableState = {\n        sortBy: undefined,\n        sortOrderAsc: true,\n        filters: new Map()\n      }\n      const parentElement = document.querySelector(tableSelector)\n      if (parentElement == null) return\n      function onJsonLoaded() {\n        buildFilters()\n        buildTable()\n      }\n\n      const lettersOnlyRegex = \/^[a-z]+$\/i\n        const keyReplacementRegex = \/({[a-z]+})\/gi\n      function getCellValue(rowData, key) {\n        if (lettersOnlyRegex.test(key)) {\n          return rowData[key]\n        }\n        keyReplacementRegex.lastIndex = 0\n        const matches = key.match(keyReplacementRegex)\n        let result = key\n        for (const match of matches) {\n          const matchKey = match.substring(1, match.length - 1)\n          let value = rowData[matchKey] ?? ''\n          if (Array.isArray(value)) value = value.join(', ')\n          result = result.replaceAll(match, value)\n        }\n        return result          \n      }\n\n      const classNameRegex = \/[^a-z0-9\\-]*\/gi\n      function getColumnClass(key) {\n        classNameRegex.lastIndex = 0\n        return `column-${key.replaceAll(classNameRegex, '')}`\n      }\n\n      function buildFilters() {\n        const filterColumnConfigurations = columnConfiguration.filter(cc => cc.showFilter)\n        if (filterColumnConfigurations.length > 0) {\n          const filterWrapperElement = createAppendElement('div')\n          filterWrapperElement.classList.add('filter-wrapper')\n\n          for (const colConfig of filterColumnConfigurations) {\n            const filterBlockElement = createAppendElement('label', filterWrapperElement)\n            const filterLabel = createAppendElement('span', filterBlockElement)\n            filterLabel.textContent = colConfig.label\n            const filterInput = createAppendElement('input', filterBlockElement)\n            filterInput.setAttribute('type', 'text')\n            filterInput.oninput = () => {\n              const filterValue = (filterInput.value ?? '').toLowerCase()\n              if (filterValue === '') tableState.filters.delete(colConfig.key)\n              else tableState.filters.set(colConfig.key, filterValue)\n              buildTable()\n            }\n          }\n          \n          \/\/ add or replace the DOM elements\n          const existingFilterWrapperElement = parentElement.querySelector('div.filter-wrapper')\n          if (existingFilterWrapperElement == null) {\n            parentElement.appendChild(filterWrapperElement)\n          } else {\n            existingFilterWrapperElement.replaceWith(filterWrapperElement)\n          }\n        }\n      }\n\n      function buildTable() {\n        const jsonData = window.centersTableScriptGlobals.jsonData\n        \n        \/\/ build the table\n        const tableElement = createAppendElement('table')\n        tableElement.classList.add('centers-table')\n        \/\/ build the header\n        const tableHeaderRow = createAppendElement('tr', tableElement)\n        for (const colConfig of columnConfiguration) {\n          if (colConfig.show === false) continue\n          const tableHeader = createAppendElement('th', tableHeaderRow)\n          tableHeader.classList.add(getColumnClass(colConfig.key))\n          tableHeader.onclick = () => {\n            console.log(`clicked ${colConfig.key}`)\n            if (tableState.sortBy === colConfig.key) {\n              if (tableState.sortOrderAsc) tableState.sortOrderAsc = false\n              else if (!tableState.sortOrderAsc) tableState.sortBy = undefined\n            } else {\n              tableState.sortBy = colConfig.key\n              tableState.sortOrderAsc = true\n            }\n            buildTable()\n          }\n          const tableLabel = createAppendElement('span', tableHeader)\n          tableLabel.textContent = colConfig.label\n          if (tableState.sortBy === colConfig.key) {\n            const tableSortIndicator = createAppendElement('span', tableHeader)\n            tableSortIndicator.classList.add('sort-indicator')\n            tableSortIndicator.textContent = tableState.sortOrderAsc ? '(oplopend)' : '(aflopend)'\n          }\n        }\n\n        \/\/ get relevant query params\n        const filterQueryValPerColumn = new Map()\n        const matchQueryValPerColumn = new Map()\n        for (const colConfig of columnConfiguration) {\n          if (colConfig.filterQueryParam ?? '' !== '') {\n            const filterQueryVal = queryParams.get(colConfig.filterQueryParam)\n            if (filterQueryVal != null) {\n              filterQueryValPerColumn.set(colConfig.key, filterQueryVal.toLowerCase())\n            }\n          }\n          if (colConfig.matchQueryParam ?? '' !== '') {\n            const matchQueryVal = queryParams.get(colConfig.matchQueryParam)\n            if (matchQueryVal != null) {\n              matchQueryValPerColumn.set(colConfig.key, matchQueryVal)\n            }\n          }\n        }\n        \n        \/\/ filter data\n        const distinctData = new Map()\n        for (const rowData of jsonData) {\n          const rowKeyParts = []\n          let includeRow = true\n          for (const colConfig of columnConfiguration) {\n            const cellValue = getCellValue(rowData, colConfig.key)\n            const filterQueryVal = filterQueryValPerColumn.get(colConfig.key)\n            if (filterQueryVal != null) {\n              if (Array.isArray(cellValue)) {\n                if (!cellValue.some(val => val.toLowerCase().includes(filterQueryVal))) {\n                  includeRow = false\n                  break\n                }\n              } else if (!cellValue.toLowerCase().includes(filterQueryVal)) {\n                  includeRow = false\n                  break\n                }\n            }\n            const filterInputVal = tableState.filters.get(colConfig.key)\n            if (filterInputVal != null) {\n              if (Array.isArray(cellValue)) {\n                if (!cellValue.some(val => val.toLowerCase().includes(filterInputVal))) {\n                  includeRow = false\n                  break\n                }\n              } else if (!cellValue.toLowerCase().includes(filterInputVal)) {\n                  includeRow = false\n                  break\n                }\n            }\n            const matchQueryVal = matchQueryValPerColumn.get(colConfig.key)\n            if (matchQueryVal != null) {\n              if (Array.isArray(cellValue)) {\n                if (!cellValue.some(val => val === matchQueryVal)) {\n                  includeRow = false\n                  break\n                }\n              } else if (cellValue !== matchQueryVal) {\n                  includeRow = false\n                  break\n                }\n            }\n            if (colConfig.combineDistinct !== true) {\n              rowKeyParts.push(Array.isArray(cellValue) ? cellValue.sort().join('') : cellValue)\n            }\n          }\n          if (!includeRow) continue\n          const rowKey = rowKeyParts.join('')\n          const newRowData = distinctData.get(rowKey) ?? {}\n          for (const colConfig of columnConfiguration) {\n            const cellValue = getCellValue(rowData, colConfig.key)\n            if (colConfig.combineDistinct === true) {\n              const existingData = (newRowData[colConfig.key] ?? [])\n              const cellValueArray = Array.isArray(cellValue) ? cellValue : [cellValue]\n              for (const value of cellValueArray) {\n                if (!existingData.includes(value))\n                  newRowData[colConfig.key] = [...existingData, value]\n              }\n              newRowData[colConfig.key] = newRowData[colConfig.key].sort()\n            } else {\n              newRowData[colConfig.key] = cellValue\n            }\n          }\n          newRowData.fullData = [...(newRowData.fullData ?? []), rowData]\n          distinctData.set(rowKeyParts.join(''), newRowData)\n        }\n        \n        \/\/ sort data\n        let sortedRows = Array.from(distinctData.values())\n        if (tableState.sortBy != null) {\n          sortedRows = Array.from(distinctData.values()).sort((a, b) => {\n            if (Array.isArray(a[tableState.sortBy]))\n              return (a[tableState.sortBy] ?? []).join('').localeCompare((b[tableState.sortBy] ?? []).join(''))            \n            return (a[tableState.sortBy] ?? '').localeCompare(b[tableState.sortBy] ?? '')\n          })\n          if (!tableState.sortOrderAsc) sortedRows = sortedRows.reverse()\n        }\n\n        \/\/ build data rows\n        for (const rowData of sortedRows) {\n          const tableDataRow = createAppendElement('tr', tableElement)\n          for (const colConfig of columnConfiguration) {\n            if (colConfig.show === false) continue\n            const tableCell = createAppendElement('td', tableDataRow)\n            tableCell.classList.add(getColumnClass(colConfig.key))\n            const data = rowData[colConfig.key]\n            if (Array.isArray(data))\n              if (colConfig.linkFormat != null) {\n                for (let index = 0; index < data.length; index++) {\n                  const value = data[index];\n                  if (index > 0) {\n                    const spacerElement = createAppendElement('span', tableCell)\n                    spacerElement.textContent = ', '\n                  }\n                  let linkUrl = colConfig.linkFormat\n                  const relatedDataRow = rowData.fullData.find(fd => fd[colConfig.key] === value) ?? rowData.fullData[0]\n                  for (const key in relatedDataRow) {\n                    const replaceValue = key === colConfig.key ? value : relatedDataRow[key]\n                    linkUrl = linkUrl.replaceAll(`{${key}}`, encodeURIComponent(Array.isArray(replaceValue) ? replaceValue.join('') : replaceValue))\n                  }\n                  const linkElement = createAppendElement('a', tableCell)\n                  linkElement.textContent = value\n                  linkElement.setAttribute('href', linkUrl)\n                }\n                data.map(value => value).join(', ')                \n              } else \n                tableCell.textContent = data.join(', ')\n            else {\n              if (colConfig.linkFormat != null) {\n                let linkUrl = colConfig.linkFormat\n                const relatedDataRow = rowData.fullData.find(fd => fd[colConfig.key] === data) ?? rowData.fullData[0]\n                for (const key in relatedDataRow) {\n                  const replaceValue = relatedDataRow[key]\n                  linkUrl = linkUrl.replaceAll(`{${key}}`, encodeURIComponent(Array.isArray(replaceValue) ? replaceValue.join('') : replaceValue))\n                }\n                const linkElement = createAppendElement('a', tableCell)\n                linkElement.textContent = data\n                linkElement.setAttribute('href', linkUrl)\n              } else\n                tableCell.textContent = data\n            }\n          }\n        }\n\n        \/\/ add or replace the DOM elements\n        const existingTableElement = parentElement.querySelector('table.centers-table')\n        if (existingTableElement == null) {\n          parentElement.appendChild(tableElement)\n        } else {\n          existingTableElement.replaceWith(tableElement)\n        }\n      }\n\n      window.centersTableScriptGlobals.onLoadComplete = window.centersTableScriptGlobals.onLoadComplete ?? []\n      window.centersTableScriptGlobals.onLoadComplete.push(() => onJsonLoaded())\n      if (window.centersTableScriptGlobals.loadInProgress !== true && window.centersTableScriptGlobals.jsonData == null) {\n        window.centersTableScriptGlobals.loadInProgress = true\n        getJSON('https:\/\/besacc-site.s3.eu-west-1.amazonaws.com\/centers.json', (jsonData) => {\n          window.centersTableScriptGlobals.jsonData = jsonData\n          window.centersTableScriptGlobals.loadInProgress = false\n          for (const onLoadComplete of window.centersTableScriptGlobals.onLoadComplete) {\n            onLoadComplete()\n          }\n        })\n      }\n      \/\/ helper functions\n      function getJSON(url, callback) {\n        fetch(url)\n          .then(res => res.json())\n          .then(out =>\n          callback( out))\n          .catch(err => console.log(err))\n      }\n      function createAppendElement(tagName, parentElement) {\n        const newElement = document.createElement(tagName)\n        if (parentElement != null)\n          parentElement.appendChild(newElement)\n        return newElement\n      }\n    }        \n  <\/script>\n  <script type=\"text\/javascript\">\n    \/\/ table configuration block, call window.centersTableScript(tableSelector, columnConfiguration) once per table\n    window.addEventListener(\"load\",function(event) {\n      const currentPageUrlWithoutParameters = location.protocol + '\/\/' + location.host + location.pathname\n\n      \/\/ example 1 shows everything\n      const tableSelector = '.example-1'\n      \/* Available keys:\n        centerCode: the centers code\n        centerName: the centers name\n        centerEmail: the centers email\n        centerPhone: the centers phone\n        centerLanguages: the centers languages (array)\n        centerAddress: the centers street & house number etc.\n        centerCityName: the centers city name\n        centerCountryCode: the centers country code (usually 'BE')\n        centerPostalCode: the centers postal code\n        centerState: the centers region ('Vlaanderen', 'Wallonie')\n        centerStateCode: the centers region code\n        centerCounty: the centers province\n        centerCountyCode: the centers province code\n        centerCommunity: the centers community\n        centerCityLatitude: the centers latitude\n        centerCityLongitude: the centers longitude\n        riskTaskKey: the risk task key ('AV001', 'IS005', etc.)\n        riskTaskLanguages: the languages this risk task is given in (array)\n        riskTaskNlShort: the short description for this risk in Dutch\n        riskTaskNlLong: the long description for this risk in Dutch\n        riskTaskFrShort: the short description for this risk in French\n        riskTaskFrLong: the long description for this risk in French\n        riskTaskEnShort: the short description for this risk in English\n        riskTaskEnLong: the long description for this risk in English\n      *\/\n\n      \/* columnConfiguration = array of {\n          \/\/ key: required: see Available keys above\n          \/\/ can make combined keys by using {key} in a string ex: '{centerAddress}, {centerPostalCode} {centerCityName} ({centerCountryCode})'\n          key: 'centerName'\n          \/\/ label: required: the text on the header etc\n          label: 'Center'\n          \/\/ show: optional (true by default), used when you want to filter on data without showing the column\n          show: false\n          \/\/ filterQueryParam: optional: if this query parameter is present, will filter the rows on it, case insensitive\n          \/\/ example: if the url is https:\/\/www.url.be\/page.html?cn=acta > only shows rows that have acta in this column like 'Acta vzw'\n          filterQueryParam: 'cn'\n          \/\/ matchQueryParam: optional: if this query parameter is present, will only show rows where this column is an exact match\n          \/\/ case sensitive, in case of array field, one match is enough\n          \/\/ example: if the url is https:\/\/www.url.be\/page.html?cc=BE90011 > only shows rows that have an exact match in this column\n          matchQueryParam: 'cc'\n          \/\/ linkFormat: optional: if set, will make this cell a link, the string can contain {key} to be replaced by that key's value\n          \/\/ example: if this field is 'https:\/\/www.url.be\/page.html?ck={centerCode}' and this row has BE90011 for its centerCode,\n          \/\/   it will link to https:\/\/www.url.be\/page.html?ck=BE90011\n          linkFormat: 'https:\/\/www.url.be\/page.html?ck={centerCode}'\n          \/\/ showFilter: optional, default: false: should a filter be shown for this column\n          showFilter: true\n          \/\/ combineDistinct: optional, default: false: if true, ignores this column for distinct check and then shows concatenated values as this column's value\n          combineDistinct: true\n        }           \n      *\/\n      const columnConfiguration = [\n        { key: 'centerCode', label: 'Centra code', matchQueryParam: 'cc'},\n        { key: 'centerName', label: 'Centra', filterQueryParam: 'cn', linkFormat: `${currentPageUrlWithoutParameters}?cc={centerCode}`, showFilter: true},\n        { key: 'centerEmail', label: 'Email'},\n        { key: 'centerPhone', label: 'Telefoon'},\n        \/\/ { key: 'centerLanguages', label: 'Centra talen'},        \n        { key: '{centerAddress}, {centerPostalCode} {centerCityName} ({centerCountryCode})', label: 'Address', showFilter: true}\n        \/\/ { key: 'centerAddress', label: 'Address'},\n        \/\/ { key: 'centerCityName', label: 'Stad', showFilter: true},\n        \/\/ { key: 'centerCountryCode', label: 'Landcode'},\n        \/\/ { key: 'centerPostalCode', label: 'Postcode'},\n        \/\/ { key: 'centerState', label: 'Deelstaat'},\n        \/\/ { key: 'centerStateCode', label: 'Deelstaat code'},\n        \/\/ { key: 'centerCounty', label: 'Provincie'},\n        \/\/ { key: 'centerCountyCode', label: 'Provincie code'},\n        \/\/ { key: 'centerCommunity', label: 'Gemeenschap'},\n        \/\/ { key: 'centerCityLatitude', label: 'Latitude'},\n        \/\/ { key: 'centerCityLongitude', label: 'Longitude'},\n        \/\/ { key: 'riskTaskKey', label: 'Opleiding', showFilter: true}\n        \/\/ { key: 'riskTaskLanguages', label: 'Opleiding talen', matchQueryParam: 'lang', showFilter: true},\n       \/\/ { key: 'riskTaskNlShort', label: 'Opleiding Nl Short'},\n        \/\/ { key: 'riskTaskNlLong', label: 'Opleiding Nl Long'},\n        \/\/ { key: 'riskTaskFrShort', label: 'Opleiding Fr Short'},\n       \/\/  { key: 'riskTaskFrLong', label: 'Opleiding Fr Long'},\n      \/\/  { key: 'riskTaskEnShort', label: 'Opleiding En Short'},\n       \/\/ { key: 'riskTaskEnLong', label: 'Opleiding En Long'}\n      ]\n\n      window.centersTableScript(tableSelector, columnConfiguration)\n    }, false)\n  <\/script>\n  <script type=\"text\/javascript\">\n    \/\/ table configuration block, call window.centersTableScript(tableSelector, columnConfiguration) once per table\n    window.addEventListener(\"load\",function(event) {\n      const currentPageUrlWithoutParameters = location.protocol + '\/\/' + location.host + location.pathname\n\n      \/\/ example 2 shows only the centra's\n      const tableSelector = '.example-2'\n      const columnConfiguration = [\n        { key: 'centerCode', label: 'Centra code', matchQueryParam: 'cc'},\n        { key: 'centerName', label: 'Centra', filterQueryParam: 'cn', linkFormat: `${currentPageUrlWithoutParameters}?cc={centerCode}`, showFilter: true},\n        { key: 'centerEmail', label: 'Email'},\n        { key: 'centerPhone', label: 'Telefoon'},\n        \/\/ { key: 'centerLanguages', label: 'Centra talen'},\n        { key: '{centerAddress}, {centerPostalCode} {centerCityName} ({centerCountryCode})', label: 'Address', showFilter: true},\n        \/\/ { key: 'centerAddress', label: 'Address'},\n        \/\/ { key: 'centerCityName', label: 'Stad', showFilter: true},\n        \/\/ { key: 'centerCountryCode', label: 'Landcode'},\n        \/\/ { key: 'centerPostalCode', label: 'Postcode'},\n        \/\/ { key: 'centerState', label: 'Deelstaat'},\n        \/\/ { key: 'centerStateCode', label: 'Deelstaat code'},\n        \/\/ { key: 'centerCounty', label: 'Provincie'},\n        \/\/ { key: 'centerCountyCode', label: 'Provincie code'},\n        \/\/ { key: 'centerCommunity', label: 'Gemeenschap'},\n        \/\/ { key: 'centerCityLatitude', label: 'Latitude'},\n        \/\/ { key: 'centerCityLongitude', label: 'Longitude'},\n        \/\/ { key: 'riskTaskKey', label: 'Opleiding', showFilter: true},\n        { key: 'riskTaskLanguages', label: 'Opleiding talen', matchQueryParam: 'lang', combineDistinct: true},\n        \/\/ { key: 'riskTaskNlShort', label: 'Opleiding Nl Short'},\n        \/\/ { key: 'riskTaskNlLong', label: 'Opleiding Nl Long'},\n        \/\/ { key: 'riskTaskFrShort', label: 'Opleiding Fr Short'},\n        \/\/ { key: 'riskTaskFrLong', label: 'Opleiding Fr Long'},\n        \/\/ { key: 'riskTaskEnShort', label: 'Opleiding En Short'},\n        \/\/ { key: 'riskTaskEnLong', label: 'Opleiding En Long'}\n      ]\n\n      window.centersTableScript(tableSelector, columnConfiguration)\n    }, false)\n  <\/script>\n  <script type=\"text\/javascript\">\n    \/\/ table configuration block, call window.centersTableScript(tableSelector, columnConfiguration) once per table\n    window.addEventListener(\"load\",function(event) {\n      const currentPageUrlWithoutParameters = location.protocol + '\/\/' + location.host + location.pathname\n\n      \/\/ example 3 shows only the riskTasks and the centra's they are given in\n      const tableSelector = '.example-3'\n      const columnConfiguration = [\n        { key: 'centerCode', label: 'Centra code', show: false, matchQueryParam: 'cc', combineDistinct: true},\n        { key: 'centerName', label: 'Centra', filterQueryParam: 'cn', linkFormat: `${currentPageUrlWithoutParameters}?cc={centerCode}`, combineDistinct: true},\n        \/\/ { key: 'centerEmail', label: 'Email'},\n        \/\/ { key: 'centerPhone', label: 'Telefoon'},\n        \/\/ { key: 'centerLanguages', label: 'Centra talen'},\n        \/\/ { key: 'centerAddress', label: 'Address'},\n        \/\/ { key: 'centerCityName', label: 'Stad', showFilter: true},\n        \/\/ { key: 'centerCountryCode', label: 'Landcode'},\n        \/\/ { key: 'centerPostalCode', label: 'Postcode'},\n        \/\/ { key: 'centerState', label: 'Deelstaat'},\n        \/\/ { key: 'centerStateCode', label: 'Deelstaat code'},\n        \/\/ { key: 'centerCounty', label: 'Provincie'},\n        \/\/ { key: 'centerCountyCode', label: 'Provincie code'},\n        \/\/ { key: 'centerCommunity', label: 'Gemeenschap'},\n        \/\/ { key: 'centerCityLatitude', label: 'Latitude'},\n        \/\/ { key: 'centerCityLongitude', label: 'Longitude'},\n        { key: 'riskTaskKey', label: 'Opleiding', showFilter: true},\n        { key: 'riskTaskLanguages', label: 'Opleiding talen', matchQueryParam: 'lang', linkFormat: `${currentPageUrlWithoutParameters}?lang={riskTaskLanguages}`, showFilter: true}\n        \/\/ { key: 'riskTaskNlShort', label: 'Opleiding Nl Short'},\n        \/\/ { key: 'riskTaskNlLong', label: 'Opleiding Nl Long'},\n        \/\/ { key: 'riskTaskFrShort', label: 'Opleiding Fr Short'},\n        \/\/ { key: 'riskTaskFrLong', label: 'Opleiding Fr Long'},\n        \/\/ { key: 'riskTaskEnShort', label: 'Opleiding En Short'},\n        \/\/ { key: 'riskTaskEnLong', label: 'Opleiding En Long'}\n      ]\n\n      window.centersTableScript(tableSelector, columnConfiguration)\n    }, false)\n  <\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5a60e00 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5a60e00\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-8ea06a2\" data-id=\"8ea06a2\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-c8991db elementor-widget elementor-widget-html\" data-id=\"c8991db\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t    <div id=\"example-1\">\n      Example 1: (<a href=\"#top\">go to top<\/a>) Focus op opleidingen<br\/>\n      <div class=\"example-1\"\/>\n    <\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Exemple 1 : (haut de page) Mettre l'accent sur la formation<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[28],"tags":[],"class_list":["post-1658","post","type-post","status-publish","format-standard","hentry","category-opleiding"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.besacc-vca.be\/fr\/wp-json\/wp\/v2\/posts\/1658","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.besacc-vca.be\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.besacc-vca.be\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.besacc-vca.be\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.besacc-vca.be\/fr\/wp-json\/wp\/v2\/comments?post=1658"}],"version-history":[{"count":21,"href":"https:\/\/www.besacc-vca.be\/fr\/wp-json\/wp\/v2\/posts\/1658\/revisions"}],"predecessor-version":[{"id":2068,"href":"https:\/\/www.besacc-vca.be\/fr\/wp-json\/wp\/v2\/posts\/1658\/revisions\/2068"}],"wp:attachment":[{"href":"https:\/\/www.besacc-vca.be\/fr\/wp-json\/wp\/v2\/media?parent=1658"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.besacc-vca.be\/fr\/wp-json\/wp\/v2\/categories?post=1658"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.besacc-vca.be\/fr\/wp-json\/wp\/v2\/tags?post=1658"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}