В общем, если у кого-то возникнет такая же проблема, моя была - в некорректной обработке вордпрессом не своего запроса ajax. Если использовать встроенный ajax, то в data все возвращается в нормальном виде
$.ajax({ cache: false,
url: window.wp_data.ajax_url,
type: 'POST',
dataType: 'json',
data: {
'action':'users_vote',
'user_id': user_id,
'post_id': post_id,
'type_vote': type_vote
}
}).done(function (data) {
if(data.result == 'success'){
var count = parseInt(element.find('b').html());
element.find('b').html(count+1);
} else {
alert('Вы уже проголосовали');
}
}).fail(function (jqXHR, textStatus) {
});
add_action('wp_ajax_users_vote', 'users_vote');
add_action('wp_ajax_nopriv_users_vote', 'users_vote');
function users_vote(){
$section_wall_data = new sectionWall();
return $section_wall_data->setVotedUsers($_POST['post_id'], $_POST['user_id'], $_POST['type_vote']);
wp_die();
}