@ostup17
Начинающий программист (flutter dev - frontend de)

Как написать функцию на php которая будет выводить js и html?

В общем суть такая, пишу плагин для wordpress'a. Мне нужно написать функцию на php внутри которой будет мой js/html.
Вот мой php -
register_activation_hook( __FILE__, 'my_plugin_activate' );

    function my_plugin_activate() {
        
    }


И вот мой js + html
<head>
    <script src="https://cdn.anychart.com/releases/8.11.0/js/anychart-core.min.js"></script>
    <script src="https://cdn.anychart.com/releases/8.11.0/js/anychart-stock.min.js"></script>
</head>
 
<div id="container" style="width: 700px; height: 500px"></div>
 
    <script>
      let requestURL =
        "https://api.coincap.io/v2/candles?exchange=poloniex&interval=h8&baseId=ethereum&quoteId=bitcoin";
      let container = document.querySelector("#container");
      let offset = 0;
      async function requestAndTreatment() {
        const response = await fetch(requestURL);
        const res = await response.json();
        console.log(res);
        //Получаем дату с апишки
        let time = res.timestamp;
        let date = new Date(time);
 
        //заполняет массив информацией
        const point = res.data[offset++];
        data.addData([[res.timestamp, point.open, point.high, point.low, point.close]]);
       
        // const newData = res.data.map(item => [res.timestamp, res.data.open, res.data.high, res.data.low, res.data.close])
        // data.addData(newData)
      }
 
      let data = anychart.data.table(0);
 
      anychart.onDocumentReady(function () {
        // create a chart
        chart = anychart.stock();
 
        mapping = data.mapAs({ open: 1, high: 2, low: 3, close: 4 });
        // create a japanese candlestick series and set the data
        var series = chart.plot(0).candlestick(mapping);
 
        // set container id
        chart.container("container");
 
        // initiate drawing the chart
        chart.draw();
 
        setInterval(requestAndTreatment, 10000);
      });
    </script>
  • Вопрос задан
  • 203 просмотра
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Скорее всего вам нужно что-то типа:
function my_plugin_activate() {
  ob_start(); //если нужно в возвращаемом значении иметь строку
  include /path/to/html; //путь куда сохраните ваш "мой js + html"
  return ob_get_clean(); // если надо просто вставлять код, то 1 и 3 строки функции не нужны
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
artzolin
@artzolin Куратор тега WordPress
php, WordPress разработка сайтов artzolin.ru
Можно добавить дополнительный javascript код к зарегистрированному скрипту с помощью wp_add_inline_script(). Пример:

add_action( 'wp_enqueue_scripts', 'masonry_init_scripts' );
function masonry_init_scripts() {

	wp_enqueue_script('masonry');

	$masonry_init = 'jQuery(function($) {
		var $container = $(".masonry-container");
		$container.imagesLoaded( function() {
			$container.masonry({
				columnWidth: ".masonry-item",
				itemSelector: ".masonry-item"
			});
		});
	});';

	wp_add_inline_script( 'masonry', $masonry_init );

}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы