Je souhaite exporter toutes les catégories Wordpress (pas de messages, juste des catégories) d'un blog à un autre. Comment puis je faire ça ?
Je souhaite exporter toutes les catégories Wordpress (pas de messages, juste des catégories) d'un blog à un autre. Comment puis je faire ça ?
Réponses:
Cette réponse est essentiellement la même que celle d'Ünsal, mais j'aimerais m'étendre un peu car, bien qu'ayant raison, sa réponse ne m'a pas aidé (j'essayais juste de me rappeler ce que j'avais fait dans le passé, j'aurais dû lire sa plus attentivement et je l'aurais compris, mais je pense que pour d'autres, une description complète serait utile).
Pour exporter la hiérarchie complète des catégories, vous devez exporter "Tout le contenu"
Toute autre option ne vous donnera pas les données complètes (par exemple, l'exportation d'un article avec toutes les catégories marquées fonctionne principalement, mais vous perdez toutes les données de parenté / hiérarchie sur les taxonomies qui sont hiérarchiques).
Lorsque vous exportez "Tout le contenu", le fichier résultant comporte une section contenant des données sur vos conditions. Si vous parcourez le fichier, il devrait être assez facile de le trouver, après les auteurs et avant les «éléments» (c'est-à-dire les articles).
Vous pouvez simplement importer cela et supprimer du contenu si c'est une option *
L'importation du fichier complet répliquera parfaitement la hiérarchie de taxonomie, mais aussi évidemment importera toutes les pages et publications. S'il n'y en a pas trop, pensez à les supprimer à la main. Cela ne prendra pas si longtemps si vous le faites en masse et il y en a moins de centaines (rappelez-vous que vous pouvez utiliser les Options d'écran sur l'écran Modifier les messages pour afficher plus que la valeur par défaut et donc modifier en masse plus à la fois).
Si vous avez trop de contenu pour tout supprimer, vous devez modifier le fichier WXR à la main pour supprimer tout sauf les termes que vous souhaitez conserver.
Modification du fichier WXR pour supprimer du contenu
Cela peut être un peu délicat, mais si vous regardez le contenu du fichier, ce n'est pas si difficile de comprendre ce que fait chaque élément. XML est comme HTML avec des balises, donc la principale chose à faire est de ne pas supprimer une balise de fermeture tout en laissant la balise d'ouverture, etc.
Vous constaterez qu'il existe 1 à 3 types de définitions de termes dans le WXR, un type pour les catégories, un pour les «balises» et un pour les «termes». Les «taxonomies personnalisées» utilisent des termes tandis que les catégories et les balises à l'ancienne ont leur propre format spécial.
EXEMPLE DE CATÉGORIE
<wp:category><wp:term_id>8880</wp:term_id><wp:category_nicename>runner-up-proposals</wp:category_nicename><wp:category_parent>second-round-proposals</wp:category_parent><wp:cat_name><![CDATA[Runner-up Proposals]]></wp:cat_name></wp:category>
EXEMPLE D'ÉTIQUETTE
<wp:tag><wp:term_id>122</wp:term_id><wp:tag_slug>ave-maria</wp:tag_slug><wp:tag_name><![CDATA[Ave Maria]]></wp:tag_name></wp:tag>
EXEMPLE DE TERME DE TAXONOMIE PERSONNALISÉE
<wp:term><wp:term_id>8579</wp:term_id><wp:term_taxonomy>gv_tools</wp:term_taxonomy><wp:term_slug>digital-video</wp:term_slug><wp:term_parent></wp:term_parent><wp:term_name><![CDATA[Digital Video]]></wp:term_name></wp:term>
Donc, ce que vous voulez faire, c'est supprimer tout le contenu autre que ces balises de catégorie / balise / terme du fichier WXR. À savoir wp: les balises d'auteur qui précèdent et les nombreuses balises d'élément qui viennent après. Plus important encore: ne supprimez pas les balises de fermeture / channel et / rss en bas! Sans eux, le XML ne sera pas validé.
Évidemment, vous testerez les résultats de l'importation de votre fichier modifié avant de l'utiliser sur un site Web en direct. Essayez de l'importer dans une nouvelle installation localement et voyez si elle échoue complètement, puis vérifiez l'écran de liste des catégories dans wp-admin et assurez-vous que tout est exactement comme prévu.
Bonne chance!
J'ai résolu ce problème avec 2 requêtes.
Ce n'est pas la meilleure façon, je suppose, mais certainement pas la plus sûre . De plus, cela suppose que vous travaillez sur la même base de données (si ce n'est pas le cas, vous pouvez facilement exporter la requête puis l'importer dans une autre base de données).
Je l'ai utilisé sur une installation wordpress vide :
1 - Importez les termes de la catégorie:
INSERT INTO newwp_terms
SELECT te.*
FROM oldwp_terms te
JOIN oldwp_term_taxonomy ta
ON te.term_id = ta.term_id
WHERE ta.taxonomy = 'category'
;
2 - Importation des relations et descriptions des catégories
INSERT INTO newwp_term_taxonomy
SELECT term_taxonomy_id,term_id,taxonomy,description,parent,0
FROM oldwp_term_taxonomy ta
WHERE ta.term_taxonomy_id IN
(
SELECT ta2.term_taxonomy_id
FROM oldwp_terms te
JOIN oldwp_term_taxonomy ta2
ON te.term_id = ta2.term_id
WHERE ta.taxonomy = 'category'
)
;
[A] nyway newwp_
fait référence à la table dans laquelle vous souhaitez importer tandis que oldwp_
fait référence à la table source
Vous ne pouvez pas exporter uniquement des catégories (ou des taxonomies en général). Il vous suffit d'exporter tout le contenu avec Tools / Export et vous pouvez supprimer le contenu à l'exception des catégories du XML.
Quel est votre objectif final ici? Juste pour obtenir une liste de catégories d'un blog à un autre? Ou, essayez-vous de déplacer tout le contenu dans une ou plusieurs catégories vers une autre installation WordPress?
C'est plutôt moche, mais vous pouvez exporter tout le contenu, puis simplement supprimer le contenu dans les catégories ou supprimer les catégories dont vous ne voulez pas. Ce serait probablement l'un des moyens les plus rapides d'atteindre votre objectif.
Si vous avez accès aux tables de base de données, vous pouvez effectuer une exportation de vidage mysql des tables wp_term_relationships, wp_term_taxonomy, wp_terms et les importer dans la nouvelle installation wordpress. Je viens de le faire entre deux installations WP avec plus de 300 catégories et cela a bien fonctionné.