web-dev-qa-db-fra.com

Meilleur moyen d'importer des utilisateurs, des publications et des catégories à partir d'une base de données externe

J'ai besoin de migrer un site Web existant vers WordPress. Ce site Web possède déjà une base de données de base contenant des utilisateurs et des publications (avec une catégorie), mais il contient également un nombre élevé d'enregistrements, il est donc impossible de le faire manuellement.

Quel est le meilleur moyen de les importer dans ma base de données WordPress? Devrais-je essayer d'exporter l'ancien dans un fichier CVS ou quelque chose de similaire?

4
Stefano

Sauf s’il existe un filtre d’importation Wordpress disponible pour votre CMS (voir http://codex.wordpress.org/Importing_Content ) ou un plugin pour un CMS. non couvert par le noyau WP (voir http://wordpress.org/extend/plugins/search.php?q=import ), ou une recherche Google pour votre schéma de base de données ne révèle rien, vous devez lancer votre propre importateur.

Le meilleur moyen est d'écrire une requête MySQL qui prendra vos données actuelles et les déplacera dans la structure de la base de données Wordpress. Cela peut être complexe, mais au final, c'est la méthode la plus efficace et la plus précise.

Mais vous pouvez également essayer d’exporter à partir de la base de données en utilisant phpmyadmin vers CSV, puis d’utiliser ce fichier avec Excel ou des éditeurs de texte pour obtenir le contenu dans le schéma de table Wordpress approprié et l’importer avec phpmyadmin (voir http://codex.wordpress.org/Database_Description ou essayez un plug-in d'importation CSV http://wordpress.org/extend/plugins/search. php? q = import + CSV ). C'est évidemment moins intensif en MySQL, si vous n'êtes pas génial avec les requêtes.

Ou vous pouvez essayer de créer puis d'importer un fichier WXR, format d'importation spécial de WP utilisé pour déplacer le contenu entre les installations Wordpress. Exportez quelques articles et pages d’un site test Wordpress pour obtenir un exemple de fichier WXR afin de déterminer le format (voir http://codex.wordpress.org/Tools_Export_Screen ). Et ensuite, prenez une exportation de texte de votre base de données et "masser" dans un fichier WXR.

Une autre idée consiste à configurer un flux RSS pour votre site et à l'importer de cette manière; voir http://codex.wordpress.org/Importing_Content#Importing_from_an_RSS_feed Mais cela ne permet pas d'obtenir des utilisateurs ou des catégories, mais uniquement des publications.

4
markratledge

Vous pouvez écrire un simple script php pour interroger votre base de données, extraire les données pertinentes, puis utiliser wp_insert_post pour créer les publications automatiquement dans wordpress ( http://codex.wordpress.org/Function_Reference/wp_insert_post ). Vous devez inclure wp-blog-header.php dans votre script pour pouvoir utiliser wp_insert_post.

1
andy

Qu'en est-il "simplement" d'écrire un script SQL qui remplit les tables wp_posts, wp_users, ... wordpress avec le contenu de vos tables actuelles?

Pas pour votre CMS spécifique mais vous pourrez trouver des exemples de scripts pour d’autres CMS que vous pourriez utiliser comme point de départ

0
Jordi Cabot