Для всех, кто застрял с этим, он, вероятно, не работает, потому что вызов ajax интерпретирует ваши возвращенные данные как текст - т.е. это еще не объект JSON.
Вы можете преобразовать его в объект JSON, вручную используя команду parseJSON или просто добавив свойство dataType: 'json' к вашему вызову ajax. например,
jQuery.ajax({
type: 'POST',
url: '<?php echo admin_url('admin-ajax.php'); ?>',
data: data,
dataType: 'json', // ** ensure you add this line **
success: function(data) {
jQuery.each(data, function(index, item) {
//now you can access properties using dot notation
});
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("some error");
}
});