web-dev-qa-db-fra.com

Exporter des messages WordPress et méta-informations au format CSV

J'ai besoin d'exporter tous les posts WordPress et les méta-informations associées à l'aide d'une requête SQL. J'ai réussi à exporter uniquement les messages, mais j'ai compris que les méta-informations se trouvaient dans un autre tableau.

Est-ce que quelqu'un pourrait me dire comment j'agirais, s'il vous plaît?

Merci!

EDIT: Le résultat final du fichier CSV devrait ressembler à quelque chose comme ça.

[TABLE POSTS] post_content | post_title | post_excerpt | Auteur (meta_key) | [META TABLE] AuthorName (meta_value) | Publisher (meta_key) | PublisherName (meta_value) | BookCondition (meta_key) | BookCondition (meta_value)

Donc, une publication par ligne avec les méta-informations dans une ligne mais dans la même colonne.

5
SixfootJames

Quelle est la requête SQL que vous utilisez? Quels sont les détails du format d'exportation et de fin dont vous avez besoin?

Les choses évidentes sont 1) http://wordpress.org/extend/plugins/navayan-csv-export/

"Navayan CSV Export est un plugin wordpress permettant d’exporter toutes vos données de tableau au format CSV (valeurs séparées par des virgules)."

et 2) exportation avec phpmyadmin - l’utilitaire de base de données - vers CSV. http://www.phpmyadmin.net/home_page/index.php

phpmyadmin est généralement disponible sur les hôtes Web. Utilisez "Exporter" puis sélectionnez CSV.

phpmyadmin est également disponible sous forme de plugin, bien que seules les anciennes versions du plugin semblent sans bug: http://wordpress.org/extend/plugins/portable-phpmyadmin/

Est-ce que l'un ou l'autre fonctionnera?

2
markratledge

Je devais faire exactement la même chose et trouver un moyen. Avec plusieurs jointures, vous obtiendrez toutes les méta_valeurs dans une ligne par ID de publication:

SELECT 
 p.ID, p.post_content,
 p.post_title,
 p.post_excerpt, 
 pm1.meta_value as author,
 pm2.meta_value as publisher,
 pm3.meta_value as book_condition
FROM wp_posts p
LEFT JOIN wp_postmeta pm1
 ON p.ID = pm1.post_id
 AND pm1.meta_key = 'author'
LEFT JOIN wp_postmeta pm2
 ON p.ID = pm2.post_id
 AND pm2.meta_key = 'publisher'
LEFT JOIN wp_postmeta pm3
 ON p.ID = pm3.post_id
 AND pm3.meta_key = 'book_condition'
WHERE post_type = 'books' AND post_status = 'publish'
1
Gustavo