Este es un simple script que convierte los articulos y topicos de una base de datos de PHP-Nuke a una de Wordpress. Este script no importa los comentarios :P

Lo primero que deben hacer es instanalar un nuevo blog/Wordpress en su cuenta/dominio y vaciar las tablas wp_post, wp_categories y wp_post2cat, luego complete el formulario debajo y presione el boton "Comenzar!" cuando este todo listo.

Debes utilizar el mismo usuario y clave para las dos bases de datos.
Servidor:
Usuario DB:
Clave DB:
PHP-Nuke DB Wordpress DB
Nombre DB:
  Nombre DB:

Una vez que presiones el boton comenzara la migracion, y solo tienes que sentarte a esperar a que termine, no demorara demasiado :P

Asumimos que el nombre de las tablas del PHP-Nuke son: nuke_topics y nuke_stories y el prefijo para las tablas del Wordpress es wp_

Una cosa mas, la codificacion de las bases de datos debe ser la misma, sino notaras algunos erores con los acentos y caracteres internacionales.

Si te ha gustado o sido util esta herramienta :), por favor enlazanos desde tu blog a: PHP en EspaƱol


categories convertion */ while ($myrow = mysql_fetch_array($srccatresult)) { $mytopictext = mysql_real_escape_string($myrow['topictext']); $mynicename = mysql_real_escape_string(sanitize($mytopictext)); $sql = "INSERT INTO `" . $wp_prefix . "categories` ( `cat_ID`, `cat_name`, `category_nicename`, `category_description` ) VALUES ( '$myrow[topicid]', '$myrow[topicname]', '$mynicename', '$mytopictext' );"; if($myrow[topicid] > 1) { mysql_select_db($db_wp, $db_connect); mysql_query($sql, $db_connect) or die("Fatal error: ".mysql_error()); } } /* Stories -> Posts convertion */ echo "Conversion Stories -> Posts
"; while ($myrow = mysql_fetch_array($srcresult)) { $myhometext = mysql_real_escape_string($myrow['hometext']); if($myrow['bodytext']) { $mybodytext = mysql_real_escape_string($myrow['bodytext']); $myhometext = $myhometext.'\n\n'.$mybodytext; } $mytitle = mysql_real_escape_string($myrow['title']); $myname = mysql_real_escape_string(sanitize($mytitle)); $sql = "INSERT INTO `" . $wp_prefix . "posts` ( `ID` , `post_author` , `post_date` , `post_date_gmt` , `post_content` , `post_title` , `post_name` , `post_category` , `post_excerpt` , `post_status` , `comment_status` , `ping_status` , `post_password` , `to_ping` , `pinged` , `post_modified` , `post_modified_gmt` , `post_content_filtered` , `post_parent` ) VALUES ( '$myrow[sid]', '1', '$myrow[time]', '0000-00-00 00:00:00', '$myhometext', '$mytitle', '$myname', '$myrow[topic]', '', 'publish', 'open', 'open', '', '', '', '$myrow[time]', '0000-00-00 00:00:00', '', '0' );"; mysql_select_db($db_wp, $db_connect); mysql_query($sql, $db_connect); // now get the ID of the post we just added $sql = "select MAX(ID) from " . $wp_prefix . "posts"; $getID = mysql_query($sql, $db_connect); $currentID = mysql_fetch_array($getID); $currentID = $currentID['MAX(ID)']; echo "- Insertado ID $currentID
\n"; // add post2cat map... why does he have this table? if ($myrow['topic'] == 0) $topicnum = 1; else $topicnum = $myrow['topic']; $sql = "insert into `" . $wp_prefix . "post2cat` (`post_id`, `category_id`) VALUES ('$currentID', '$topicnum');"; $result = mysql_query($sql, $db_connect) or die("Error: ".mysql_error()); } /* Updating Category Counts */ mysql_select_db($db_wp, $db_connect); $tidyresult = mysql_query("select * from $wp_prefix" . "categories", $db_connect) or die("Error: ".mysql_error()); echo "
Actualizando contador de Categorias
"; while ($myrow = mysql_fetch_array($tidyresult)) { $mypostid=$myrow['cat_ID']; $countsql="select COUNT(*) from $wp_prefix" . "post2cat" . " WHERE `category_id` = " . $mypostid; $countresult=mysql_query($countsql) or die("Fatal Error: ".mysql_error()); $catcount=mysql_result($countresult,0,0); $countsql="UPDATE `" . $wp_prefix . "categories` SET `category_count` = '" . $catcount . "' WHERE `cat_ID` = " . $mypostid . " LIMIT 1"; $countresult=mysql_query($countsql) or die("Fatal Error: ".mysql_error()); if($catcount > 0) { echo "- $mypostid : $catcount
\n"; } } echo "
Listo!
"; } ?>