*перезалил код целеком
код выглядит так:
$('.list_cat a').click(function(){
cat_id =$(this).attr('class');
$("div.pic").remove()
data = {
action: 'my_action',
cat_id: cat_id,
};
var ajaxurl = "/wp-admin/admin-ajax.php";
$.ajax({
type: 'POST',
url: ajaxurl,
data: data,
beforeSend:function() {
$('#loader').show();
},
success: function(response){
response = JSON.parse(response);
console.log(response);
response.forEach(function(item, i, arr){
function myContent(title, link, id){
var container = document.createElement('div');
container.className = "pic pic-3d";
container.innerHTML = '<?php echo get_the_post_thumbnail(' + id + '); ?> <span class="pic-caption open-right"> \
<span class="pic-title">'+title+'</span> \
<p><a href="/' + link +'">Смотреть</a></p> \
</span>'
return $('.portfolio_item').append(container);
}
myContent(item.post_title, item.post_name, item.ID);
$('#loader').hide();
});
}
});
});
Вся проблема в php echo get_the_post_thumbnail, оно не хочет его выводить. Как мне показалось, все из-за того что я не правильно вписал + id + или не экранировал "?". Но если его экранировать, то пхп код перестает работать. выводится закомментированным