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:
- 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). - O WXR substitui o envio, então as verificações e etapas do próprio importador rodam como sempre.
- 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. - A mídia é servida a partir do pacote: quando o importador baixa um anexo, um filtro
pre_http_requestresponde com o arquivo da pasta em vez da rede. - 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. - 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_mediano 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/importimporta umacopyou umattachment_id(um.wxrz,.zipou.xmlna biblioteca de mídia). wp eizport import <file>faz isso pela linha de comando — também a partir de uma pasta de pacote gravada porwp 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 |