Context
Я создаю шаблон темы WordPress и пытаюсь передать массив данных из поля Advanced Custom Fields> Repeater, используя PHP и основные функции WordPress, в круговую диаграмму JavaScript / HTML5.
Проблема
Я не знаю, как передать данные PHP в JS в формате, понятном JS.
Вопросы
Я не уверен, что правильно задаю вопросы или правильно думаю о проблеме. Например, я считаю, что могу использовать JS для прямого взаимодействия с базой данных. Но вот что я думаю, вопросы:
- Как передать массив PHP вне цикла в формат, читаемый в JS?
- Каковы некоторые ссылки на учебные материалы или курсы по этому предмету?
Код
Вот мой код:
<?php
if( have_rows('tpc_psmr_referrer') ):
while ( have_rows('tpc_psmr_referrer') ) : the_row();
$tpc_psmr_referrer_type = get_sub_field('tpc_psmr_referrer_type');
$tpc_psmr_referrer_platform = get_sub_field('tpc_psmr_referrer_type_platform'); // This needs to get passed as an array to the JS below.
endwhile;
endif;
?>
<script type="text/javascript">
google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data1 = google.visualization.arrayToDataTable([
['Task', 'Hours per Day'],
['Work', 11],
['Eat', 2], // This is where the PHP array needs to be output.
['Commute', 2],
['Watch TV', 2],
['Sleep', 7]
]);
var options = {
title: 'Revenue'
};
var chart1 = new google.visualization.PieChart(document.getElementById('piechart1'));
chart1.draw(data1, options);
var data2 = google.visualization.arrayToDataTable([
['Task', 'Hours per Day'],
['Work', 11],
['Eat', 2],
['Commute', 2],
['Watch TV', 2],
['Sleep', 7]
]);
var options = {
title: 'Budget'
};
var chart2 = new google.visualization.PieChart(document.getElementById('piechart2'));
chart2.draw(data2, options);
}
</script>