Wordpress:Transferencia de noticias de Port@l2 a wp mediante CSV
Mediante este proceso, se transfieren las noticias de Portal2 a Wordpress. Se transfieren también las categorias de estas noticias, y se selecciona la primera imagen que existe de esa noticia, convirtiéndose en la featured image del post de Wordpress.
Se requiere:
- Python 3.x
- El plugin de Wordpress Ultimate CSV Importer Free (https://es.wordpress.org/plugins/wp-ultimate-csv-importer/)
- Los scripts de Python que se encuentran en: smb://emc1.eprinsa.es/almacen/CMS/WordPress/pyt/importaciones_wp
Preparación del entorno de trabajo:
1.- Instalar Python 3.x según vuestro SO
2.- Instalar Python Virtual Environment. Para ello, ejecutad en una terminal:
pip install virtualenv
3.- Crear una carpeta en local. En este ejemplo, la llamaremos migracion, aunque el nombre puede ser cualquiera.
4.- Copiar todo el contenido de smb://emc1.eprinsa.es/almacen/CMS/WordPress/pyt/importaciones_wp en esa carpeta. Debe quedar como la imagen.
Abrir una terminal en la carpeta migracion
5.- Ejecutar:
virtualenv migracion
6.- En Mac y Linux, ejecutad:
source migracion/bin/activate
En Windows:
migracion\Scripts\activate
7.- Para instalar todas las dependencias necesarias (Este paso solo es necesario la primera vez que se efectua el proceso):
pip install -r requirements.txt
Configuración de los datos del cliente:
1.- Abrir con un editor de texto parameters.py.
El contenido del fichero es bastante explícito:
portal_host='mysqlserver-production.eprinsa.es'
portal_database='portal2_xxxxxxx'
portal_user='portal2_xxxxxx'
portal_password='yyyyyyyyyyyyyyy'
portal2_img_url="https://www.xxxxxx.es/sites/default/files/field/image/"
wp_img_url="https://portalx.eprinsa.es/wp-content/uploads/aaaa/mm/"
max_row=10
Las cuatro primeras lineas son los datos de conexión a la base de datos MySQL de Port@l2. Se pueden obtener accediendo a nuestro fichero key.kdbx mediante Keepass o Macpass.
Las dos siguientes lineas son los paths de las imagenes, el primero en Port@l2, el segundo en el WP de destino. Estos valores habra que obtenerlos de cada uno de los portales correspondientes.
Por último, max_row establece el número máximo de registros que se van a obtener. Este proceso se ha probado con un máximo de 2000 registros. Evidentemente, para traerse todas las noticias habra que usar un numero de registros superior al de estas noticias. Se aconseja hacer alguna prueba previa con un número limitado de registros (10 ó 20) para comprobar que todo va bien.
Descarga de imágenes:
Este proceso obtiene de la base de datos de Port@l2 la primera imagen de las asociadas a la noticia, y la descarga a la carpeta images del directorio que hemos llamado migracion