WordPress ajax — get_attached_media возвращает пустой массив

Я попытался создать ajax-вызов wordpress, который должен возвращать изображения, прикрепленные к сообщению, но функция get_attached_media возвращает пустой массив. Я могу получить любые данные поста, но не прикрепленные изображения. Вот что я сделал:

в functions.php:

add_action('wp_ajax_getGallery', 'getGallery');
add_action('wp_ajax_nopriv_getGallery', 'getGallery');

function getGallery() {
$pid = $_REQUEST["post_id"];
$n = 1;
$gallery = get_attached_media('image', $pid);// this $gallery returns an empty array
foreach($gallery as $item) {
if ($n > 5) {
$img_object = wp_get_attachment_image_src($item->ID,'gallerythumb');
$img = $img_object[0];
$str .= '<div class="col-sm-2 col-xs-4"><div class="img-holder"><img class="img-responsive" src="' . $img . '" /></div></div>';
$n++;
}
}
echo $str;

die();
}

и в .js:

$(".post-link").click(function(){

var post_id = $(this).attr("rel");
$("#post-container").html("content loading");
$.ajax({
url: '/wp-admin/admin-ajax.php',
type: 'POST',
data: {
action: 'getGallery',
post_id: post_id
},
success: function(data) {
console.log(data);
$("#post-container").html(data);
},
fail: {
}
});
return false;
});

Кто-нибудь знает, почему я не могу получить изображения здесь? Весь код выглядит нормально для меня.
Thnx.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector