Чиним неработающий импорт комментариев Cackle в WordPress

При выгрузке комментариев обратно в WordPress возникла проблема. Комментарии не импортируются в базу WP. В ходе разбирательств с плагином были внесены небольшие правки, после чего импорт комментариев заработал. Проблема была в том, что channel и post_id это не одно и то же в WP. Ниже прикладываю свой способ решения проблемы.

1. Создать в таблице cackle_channels поле channel, тип varchar, длина 500
2. В файле request_handler.php заменить
$post = $wpdb->get_results($wpdb->prepare("
SELECT *
FROM $wpdb->posts
WHERE post_type != 'revision'
AND post_status = 'publish'
AND ID = %d
ORDER BY ID ASC
LIMIT 1
", $chan['channel']));

на следующий код:
$post = $wpdb->get_results($wpdb->prepare("
SELECT *
FROM $wpdb->posts
WHERE post_type != 'revision'
AND post_status = 'publish'
AND guid = %s
ORDER BY ID ASC
LIMIT 1
", $chan['url']));

3. В том же файле, заменить
$sql = "INSERT INTO {$wpdb->prefix}cackle_channel (id, time, channel) VALUES (%s,%s) ON DUPLICATE KEY UPDATE time = %s";
$sql = $wpdb->prepare($sql,$post_id,0,0);

на
$sql = "INSERT INTO {$wpdb->prefix}cackle_channel (id, time, channel) VALUES (%s,%s,%s) ON DUPLICATE KEY UPDATE time = %s";
$sql = $wpdb->prepare($sql,$post_id,0,$chan['channel'],0);

4. В файле sync.php в функции insert_comm добавить:
$post = $wpdb->get_results($wpdb->prepare("
SELECT ID
FROM $wpdb->posts
WHERE post_type != 'revision'
AND post_status = 'publish'
AND guid = %s
ORDER BY ID ASC
LIMIT 1
", $comment['chan']['url']));
$postid = $post[0]->ID;

вместо
if ($this->startsWith($comment['chan']['channel'], 'http')) {
$postid = url_to_postid($comment['chan']['channel']);
} else {
$postid = $comment['chan']['channel'];
}

Краткое и весьма эффективное решение. Сообщение о неработающих комментариях было отправлено в поддержку Cackle, но так как они уже месяц не торопятся с ответом, было решено выложить решение тут. Вдруг еще кому-то полезно будет.