importar datos de una base de datos diferente de wordpress

Seguro que alguien se encontró con la problemática y quería compartirlo con vosotros. En cada caso cada uno tendrá que hacerse sus pequeñas modificaciones, pero básicamente es lo siguiente:

 
<?php
 
 
 
 
// Conexion a base de datos 1
$enlace = mysql_connect("localhost", "usuario", "contraseña");
      mysql_select_db("nombre_base_de_datos", $enlace);	
 
//Conexion a base de datos 2  - Esto por si la base de datos final no es de wordpress
 
    $conexion = mysql_connect("localhost", "usuario", "contraseña");
    mysql_select_db("nombre_base_de_datos", $conexion);	
 
 
  // Obtengo datos de la base de datos 1
    	$sql  = "SELECT IdDescarga, NombreOriginal, NombreArchivo, ExtensionArchivo, SizeArchivo, NombreFotografia, TituloFotografia, DescripcionDescarga, TituloDescarga, FechaDescarga, NDescargas, NVisitas FROM tblDescargasDocumentacion";	/* o poneis * o lo que cada uno necesite */
 
 
 
 
    $recordset = mysql_query($sql, $enlace) or die("Error" . mysql_error());;
 
    while ($fila = mysql_fetch_array($recordset)){
 
 
  /* datos que queremos capturar de la primera base de datos , y modificaciones con distintas funciones para dejarlos como queremos */
	$NombreOriginal = $fila['NombreOriginal'];  //capturamos el dato del array
	$NombreArchivo = $fila['NombreArchivo'];
	$ExtensionArchivo = $fila['ExtensionArchivo'];
 
  $ExtensionArchivo = $fila['ExtensionArchivo'];
  $ExtensionArchivo=substr($ExtensionArchivo,1);  // modificacion personal quitar un caracter
 
	$SizeArchivo = $fila['SizeArchivo'];
	$DescripcionDescarga = $fila['DescripcionDescarga'];
	$TituloDescarga = $fila['TituloDescarga'];
 
  $guid = str_replace(" ", "-", $TituloDescarga);  // modificacion personal
 
 
    $size=number_format(($SizeArchivo),2)." Kb"; // modificacion personal	 
 
 
 
  /* Voy creandome las diferentes variables con el contenido que quiero para insertar en la nueva base de datos que es de tipo wordpress */
 
    $TituloDescarga = htmlentities($TituloDescarga); // modificacion personal
    $DescripcionDescarga = htmlentities($DescripcionDescarga); // modificacion personal
 
 $DescripcionDescarga = "<div id='ddescargas'><span id='tdescargas'>Descripcion</span><div id='contd'><div id='tddescarga'>".$DescripcionDescarga."</div>
    <div id='fdescarga' class='formato".$ExtensionArchivo."'>Formato: </div></div>
    <a target='_blank' href='http://www.plcmadrid.es/wp-content/uploads/".$NombreArchivo."' id='icdescarga'></a><div class='clearer'></div></div>
    <div id='compartirredes'>
</div>
</div>
 
 
 
    ";
 
 
$DescripcionDescarga = str_replace("Descripcion", "Descripción", $DescripcionDescarga);
// Fin de captura de datos y adecuación para insertar lo que queramos en wordpress
 
    echo "coge datos<br />";
 
 
   // Inserto datos en la base de datos 2 (la de wordpress)
 
 
 
 
 
require_once("wp-load.php");  /* Cargo todos los datos para la conexión y funciones que necesita el segundo servidor en caso de ser de wordpress */
 
 
/* Con funciones de wordpress inserto mis variables en los distintos campos */
 
global $user_ID;
$new_post = array(
'post_title' => $TituloDescarga,
'post_content' => $DescripcionDescarga,
'post_status' => 'publish',
'post_date' => date('Y-m-d H:i:s'),
'post_author' => $user_ID,
'post_type' => 'post',
'post_category' => array(20)
);
$post_id = wp_insert_post($new_post); 
 
 
 
 
 
 
 
 
 
//Insertar datos de forma habitual sin funciones de wordpress, por si a alguien le interesa
 
/* $sql2 ="INSERT INTO wp_posts (post_content, post_title) VALUES ('".$DescripcionDescarga."', '".$TituloDescarga."')";
 
 $recordset2=mysql_query($sql2, $conexion) or die("Error" . mysql_error());;
 
    echo "Inserta datos<br />";
 
   }
 
 
*/
 
 
 
 
  // Me desconecto de las 2 bases de datos
 
	mysql_close($enlace);
	mysql_close($conexion);
?>

Espero os sirva y sobre todo os aligere el trabajo.

Add Comment

Required fields are marked *. Your email address will not be published.