Como exportar e importar taxonomias (categoria, tag e / ou taxonomia customizada) e seus termos


10

Quero exportar todas as categorias do Wordpress (sem postagens, apenas categorias) de um blog para outro. Como eu posso fazer isso ?


Você já tentou acessar Gerenciar> Exportar no painel Admin do blog.

Não há menu Gerenciar, existe apenas no menu Ferramentas / Export mas doens't me permitem categorias exportação só
chubbyk

Desculpe por isso, eu li isso em um blog online. Você poderia fazer isso no nível do banco de dados?

Se você precisar de um esforço simples, tente o plug-in Exportar Categorias . wordpress.org/plugins/export-categories

Respostas:


5

Essa resposta é essencialmente a mesma que a de Ünsal, mas eu gostaria de elaborar um pouco porque, apesar de estar certa, a resposta dele não me ajudou (eu estava apenas tentando lembrar o que havia feito no passado, eu deveria ter lido a resposta dele. com mais cuidado e eu teria descoberto, mas acho que para outros uma descrição completa seria útil).

Para exportar a hierarquia completa da categoria, você precisa exportar "Todo o conteúdo"

Qualquer outra opção não fornecerá os dados completos (por exemplo, a exportação de uma postagem com todas as categorias marcadas funciona principalmente, mas você perde todos os dados de ascendência / hierarquia sobre taxonomias hierárquicas).

Quando você exporta "Todo o conteúdo", o arquivo resultante possui uma seção com dados sobre seus termos. Se você olhar através do arquivo, deve ser fácil encontrá-lo, depois dos autores e antes dos "itens" (ou seja, postagens).

Você pode simplesmente importar e excluir o conteúdo, se for uma opção *

A importação do arquivo completo replicará perfeitamente a hierarquia da taxonomia, mas obviamente também importará todas as páginas e postagens. Se não houver muitos, considere excluí-los manualmente. Não levará muito tempo se você fizer isso em massa e houver menos de centenas (lembre-se de que você pode usar as Opções de tela na tela Editar postagens para mostrar mais do que o padrão e, portanto, editar em massa mais de uma vez).

Se você tiver muito conteúdo para remover tudo, precisará editar o arquivo WXR manualmente para remover tudo, exceto os termos que deseja manter.

Editando o arquivo WXR para remover o conteúdo

Isso pode ser um pouco complicado, mas, na verdade, se você observar o conteúdo do arquivo, não é tão difícil descobrir o que cada elemento faz. O XML é como HTML com tags, portanto, o principal a ter cuidado é que você não exclui uma tag de fechamento enquanto deixa a tag de abertura etc.

Você verá que existem de um a três tipos de definições de termos no WXR, um tipo para categorias, um para "tags" e outro para "termos". "Taxonomias personalizadas" usam termos, enquanto categorias e tags antiquados têm seu próprio formato especial.

EXEMPLO DE CATEGORIA

<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>

EXEMPLO DE TAG

<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>

EXEMPLO DE TERMO DE TAXONOMIA PERSONALIZADO

<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>

Portanto, o que você deseja fazer é remover todo o conteúdo que não seja essas tags de categoria / tag / termo do arquivo WXR. Ou seja, as tags wp: author que vêm antes e as muitas tags de itens que vêm depois. Mais importante: não remova as tags de fechamento / canal e / rss na parte inferior! Sem eles, o XML não será validado.

Obviamente, você testará os resultados da importação do arquivo editado antes de usá-lo em um site ativo. Tente importá-lo para uma nova instalação localmente e veja se ele falha completamente. Em seguida, verifique a tela de listagem de categorias em wp-admin e verifique se tudo está exatamente como o esperado.

Boa sorte!


11
Observe que isso não adicionará uma hierarquia às categorias que já foram criadas. Somente atribuirá categorias-pai a subcategorias que ainda não existem.
Zade

4

Resolvi esse problema com 2 consultas.

Esta não é a melhor maneira, suponho, mas com certeza não é a mais segura . Além disso, pressupõe que você esteja trabalhando no mesmo banco de dados (se esse não for o caso, é possível exportar facilmente a consulta e depois importar para outro banco de dados).

Eu usei em uma instalação vazia do wordpress:

1 - Importar os termos da categoria:

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 - Importar relacionamentos e descrições de categorias

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] de qualquer maneira newwp_se refere à tabela na qual você deseja importar, enquanto oldwp_se refere à tabela de origem


2

Você não pode exportar apenas categorias (ou taxonomias em geral). Basta exportar todo o conteúdo com Ferramentas / Exportar e você pode excluir o conteúdo, exceto as categorias do xml.


2

Qual é o seu objetivo final aqui? Apenas para obter uma lista de categorias de um blog para outro? Ou você está tentando mover todo o conteúdo de uma categoria ou categorias para outra instalação do WordPress?

É meio feio, mas você pode exportar todo o conteúdo e excluir o conteúdo dentro das categorias ou excluir as categorias que você não deseja. Provavelmente, seria uma das maneiras mais rápidas de atingir seu objetivo.


2

Se você tiver acesso às tabelas do banco de dados, poderá exportar o mysql dump das tabelas wp_term_relationships, wp_term_taxonomy, wp_terms e importá-las para a nova instalação do wordpress. Eu fiz isso entre duas instalações WP com mais de 300 categorias e funcionou bem.


obrigado, isso funcionou bem do meu lado.
Nikhil VJ
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.