web-dev-qa-db-fra.com

Importer des données depuis une base de données autre que WordPress, dans WP

Je migre des données d'un style de base de données totalement différent vers WP. Le principal problème que j'essaie de comprendre est de savoir comment importer des métadonnées, étant donné que WP utilise un style de paire keyvalue pour les méta-tables.

Existe-t-il un moyen d'importer les données de colonne sous forme de paires keyvalue?

1
dcolumbus

Vous devriez utiliser une fonction ou un plugin dans WordPress pour y parvenir.

Tout d'abord, vous pouvez insérer les tables dans votre base de données WordPress.

Après cela, assurez-vous de bien utiliser la poststructure de WordPress. Configurez une boucle entre vos publications existantes que vous souhaitez importer.

À chaque publication, créez une publication WordPress à l'aide de wp_insert_post(). Cette fonction renvoie l'ID de votre nouvelle publication.

Chaque métadonnée que vous souhaitez ajouter à votre publication est ensuite ajoutée. Ce serait comme ça:

foreach ( $existingposts as $existingpost ) {

    $newPostData['post_date'] = $existingpost['post_date'];
    // and so on, make sure to populate all the fields except the ID parameter, as this one is given by WordPress

    $newPostID = wp_insert_post( $newPostData );

    add_post_meta( $newPostID, '_firstPostMeta', $existingpost['firstPostMeta'] );
    // and so on, every Meta at a time

}

Veillez à tester votre fonction avant de la parcourir en boucle dans tous les messages. Vous voudrez peut-être diviser votre pile de publications existantes en groupes de 20 ou 50, en fonction de ce que votre serveur est capable de faire, pour éviter les incohérences dues au délai d'attente du serveur.

0
fischi