Вывод Статьи через AJAX WP
Пытаюсь вывести Статью на модальное окно по айди.
нашел такое вот решение: ниже код. Если кратко, то та функция работает нормально, если передавать строку или там число а не массив. Если из функции в пхп возращать массив, или там обьект, как в примере ниже. Возращает только слово Array, которое просто слово а не массив, или пишет 500 (Internal Server Error) - .
если что, я имею ввиду про строчку ниже. Я так понял что нельзя массив передавать?
$data = get_post(77); echo $data;
function.php
function go_post() { $data = get_post(77); echo $data; die; } add_action( 'wp_ajax_post', 'go_post', 101 );
а вот во фронтенде
function myFunction(id) { document.getElementById("myModal").style.display = "block"; $("#asdd").text(id); try { history.replaceState(null,null,'?id='+ id); } catch(e) { location.hash = '#id_'+id; } $.ajax({ type: "GET", url: '<?php echo admin_url('admin-ajax.php') ?>', data: { action : 'post', id1 : 83 }, success: function (response) { var d = response; console.log(JSON.parse(d)); alert(); } });
если что, пытался многими способами этот array обработать. и это один из последних. но видимо то просто слово array
console.log(JSON.parse(d));
Как ты думаешь, что находится в $data
? Какой тип данных?
думаю или ассоциативный массив массив. либо обьект класса post. ибо у get_post() есть еще 1 хороший параметер, который тоже пытался юзать. ARRAY_N вроде. ну там еще есть и другой его вид.
Массив нельзя выводить, вместо массива вы можете вывести значение конкретного поля, например контент
мне создавать 3 функции для этого что бы вывести статью? - ну тайтл, текст, картинка.
? и потом вешать их на 1 екшен? или как. как это выглядеть тогда будет, если на 1 екшен(имею ввиду туда приходить как будет)
Советую, некоторым личностям, ознакомится с документацией по работе с массивами в php Массивы дабы не спрашивать почему при выводе массива через echo выводится тип данных вместо желаемого масива
указать тип данных
получение данных
qwert555 спасибо, норм передается таким способом. я то уж думал нельзя. А то некие личности говорили нельзя вывести массив а только 1 поле