Migrer des commentaires Dotclear vers WordPress

Petit script rapide et qui a fonctionné pour moi (oui j’ai re-changé, ça m’amuse).

<?php
mysql_connect('localhost', 'user', 'password');
mysql_select_db('database');
$sql = 'select * from dc_comment order by comment_id ';
$query = mysql_query($sql);
while ($line = mysql_fetch_array($query)) {
    $sql_wp = 'insert into wp_comments (comment_author,
    comment_author_email, 
    comment_author_url, comment_author_IP, comment_date,
    comment_date_gmt,
    comment_content, comment_approved) values (
        "'.addslashes($line['comment_author']).'",
        "'.$line['comment_email'].'",
        "'.$line['comment_site'].'", "'.$line['comment_ip'].'",
        "'.$line['comment_dt'].'",
        "'.$line['comment_dt'].'",
        "'.addslashes($line['comment_content']).'",
        "1"
    )';

    mysql_query($sql_wp);
}
mysql_close();
?>

Avec ça, les commentaires sont insérés dans votre table wp_comments. Par contre, il faut repasser sur chaque commentaire pour récupérer l’identifiant de l’article et mettre à jour la ligne correspondante. Par exemple :

update `wp_comments` set comment_post_ID = 35 WHERE comment_ID = 232

Et enfin, il faut mettre à jour le nombre de commentaires pour un billet :

UPDATE `wp_posts` SET `comment_count` = '10'
WHERE `wp_posts`.`ID` = 32;

Voila, avec ça, ça devrait à peu près tourner.

(photo par Dotclear)

flattr this!

Vus : 530
Publié par Nicolas Lœuillet : 125