Menu
DocumentaçãoPrimeiros passos / Importação

Primeiros passos

Importação

Como um pacote é importado com o Importador do WordPress, o que acontece com a mídia, os arquivos de conteúdo e as opções, e as outras formas de importar.

Com o Importador do WordPress

Envie um pacote .wxrz ou .zip em Ferramentas → Importar → WordPress, como qualquer arquivo WXR. Arquivos WXR compactados com gzip (.xml.gz) e arquivos .xml simples também funcionam.

Exportou como plugin? Instale o .zip em Plugins → Adicionar plugin → Enviar plugin e use o Executar importação dele em Ferramentas.

Ferramentas → Importar abre direto o Importador do WordPress, e a tela dele leva a Todos os importadores (Configurações → Geral desliga isso).

O importador fica com o visual da tela Exportar do plugin: um cabeçalho com o botão principal da etapa (Enviar arquivo e importar, Enviar), cada etapa em cartões e um botão Escolher arquivo no idioma do painel, na linha abaixo do rótulo; Enviar arquivo e importar espera até um arquivo ser escolhido. Estilizar Ferramentas → Importar → WordPress, em Configurações → Geral do plugin, desliga isso; os pacotes são aceitos de qualquer jeito.

Atualizar os itens existentes

O Importador do WordPress pula um item que já existe e adiciona uma cópia quando só o slug coincide: a página Home do tema vira home-2, e uma segunda entrega do mesmo pacote não muda nada. Atualizar páginas, posts e produtos que já existem (mesmo slug) em vez de adicionar cópias, na etapa 1 do importador (e na tela de um plugin exportado como plugin), muda isso:

  • um item do mesmo tipo e slug é o item: ele recebe o título, o conteúdo, o resumo, a ordem, os campos personalizados e os termos do pacote, e mantém o ID;
  • as configurações que apontam para ele (a página inicial, a página da loja…) continuam apontando para ele, então a Home do tema vira a página inicial com o conteúdo do pacote;
  • os anexos que já existem são reaproveitados, e as URLs deles no conteúdo atualizado apontam para este site.

Fica desligado, a não ser que o pacote peça: Atualizar existentes, no painel Detalhes da tela Exportar, grava a escolha no pacote, e a caixa já vem marcada. Quem importa ainda pode desmarcar.

Nos bastidores

Antes de o importador ler qualquer coisa:

  1. O pacote é descompactado em uma pasta privada dentro de wp-content/uploads/eizport/tmp/<random>/. Só os arquivos listados no manifesto são gravados, só dentro dessa pasta e só com os tipos de arquivo que o WordPress permite enviar (nunca PHP).
  2. O WXR substitui o envio, então as verificações e etapas do próprio importador rodam como sempre.
  3. Os arquivos de conteúdo voltam ao lugar: cada post_content/<slug>.html é devolvido ao seu item, pelo ID original ou, se não houver, pelo slug.
  4. A mídia é servida a partir do pacote: quando o importador baixa um anexo, um filtro pre_http_request responde com o arquivo da pasta em vez da rede.
  5. As opções são aplicadas no final (import_end), com cada ID de post remapeado para o post importado. Opções que apontam para itens que não foram importados ficam de fora.
  6. As imagens dos termos são remapeadas no final: os term meta que guardam um ID de anexo (a miniatura de uma categoria de produto), listados em term_media no manifesto, passam a apontar para o anexo importado.

A pasta é excluída quando a importação termina ou é abandonada.

De uma cópia no site

As cópias feitas pela tela Exportar ficam listadas nas Configurações → Cópias do plugin (pela linha dele em Plugins). Cada uma tem a ação Importar, que a importa no mesmo site — útil para restaurar conteúdo ou testar um pacote.

Com código

  • A habilidade eizport/import importa uma copy ou um attachment_id (um .wxrz, .zip ou .xml na biblioteca de mídia).
  • wp eizport import <file> faz isso pela linha de comando — também a partir de uma pasta de pacote gravada por wp eizport export --dir, e com --update-existing.

O que é remapeado

No arquivo Na importação
URLs dos anexos Os arquivos vêm do pacote; o importador cria os anexos e os tamanhos de imagem como sempre
post_content/<slug>.html Devolvido ao conteúdo do item
options.json Definido no final; as opções listadas em post_ids recebem o ID do post importado
term_media no manifesto Os term meta que guardam um ID de anexo recebem o ID do anexo importado
Produtos e suas variações, páginas e suas descendentes Importados com seus ascendentes, como faz o Importador do WordPress