Не получается получить список комментариев в ленте активности Buddypress
Пытаюсь вывести в отдельном окне комментарии из публикации ленты активности Buddypress. Но все время получаю сообщение Error loading comments.
// AJAX обработчик для загрузки комментариев
function bpcp_load_comments() {
$activity_id = intval($_POST['activity_id']);
$sort_order = sanitize_text_field($_POST['sort_order']);
if (!$activity_id) {
wp_send_json_error('Invalid activity ID');
}
// Получение комментариев
$comments = bp_activity_get_meta($activity_id, 'comments');
if (!$comments) {
wp_send_json_error('Error loading comments');
}
if ($sort_order === 'popular') {
usort($comments, function($a, $b) {
$a_votes = get_comment_meta($a['id'], 'votes', true);
$b_votes = get_comment_meta($b['id'], 'votes', true);
return $b_votes - $a_votes;
});
} else {
usort($comments, function($a, $b) {
return strtotime($b['date_recorded']) - strtotime($a['date_recorded']);
});
}
wp_send_json_success($comments);
}
add_action('wp_ajax_bpcp_load_comments', 'bpcp_load_comments');
add_action('wp_ajax_nopriv_bpcp_load_comments', 'bpcp_load_comments');
// Загрузка комментариев
function loadComments(activity_id, sort_order) {
$.post(bpcp_ajax.ajax_url, {
action: 'bpcp_load_comments',
activity_id: activity_id,
sort_order: sort_order
}, function(response) {
if (response.success && Array.isArray(response.data)) {
$('#bpcp-comments-list').html(response.data.map(function(comment) {
return `<div class="bpcp-comment" data-comment-id="${comment.id}">
<div class="bpcp-comment-content">${comment.content}</div>
<div class="bpcp-comment-votes">
<span class="bpcp-vote-up" data-comment-id="${comment.id}">?</span>
<span class="bpcp-votes-count">${comment.votes || 0}</span>
<span class="bpcp-vote-down" data-comment-id="${comment.id}">?</span>
</div>
</div>`;
}).join(''));
} else {
alert('Error loading comments');
}
});
}