O WP Migrations é um pacote para migrar postagens do WordPress para Laravel de maneira simples e eficiente.
Para instalar via Composer, execute o seguinte comando:
composer require combizera/wordpress-to-laravel-migrator
Após a instalação, publique o arquivo de configuração para personalizar o comportamento do pacote:
php artisan vendor:publish --tag=wp-migration-config
🔹 O que é migrado?
- ✅ Postagens do WordPress
- ✅ Imagens e PDF's
- ❌ Páginas do WordPress (por enquanto, apenas posts são suportados)
🔹 Requisitos obrigatórios:
- A Model de postagens deve se chamar
Post
(ou ser configurada nowp-migration.php
). - A Model deve conter os seguintes campos no banco de dados:
category_id
(integer)title
(string)slug
(string)content
(text)created_at
(timestamp)updated_at
(timestamp)
- Atributos fillable: Certifique-se de que sua
Post
Model possui os campos acima em$fillable
. - Ter um arquivo
.xml
exportado do WordPress com as postagens.
1️⃣ Tenha o XML exportado do WordPress
Para exportar suas postagens, vá até Ferramentas > Exportar no painel do WordPress e gere um arquivo .xml
.
2️⃣ Execute a migração:
Após instalar o pacote e configurar sua Model de Post
, basta rodar o comando:
php artisan wp:migrate database/migration.xml
Considerações Importantes:
- Se o arquivo de configuração não tiver sido publicado, você será perguntado se deseja importar as imagens.
- O comando processa o XML, cria os posts no banco e salva as mídias localmente (se ativado).
O pacote permite personalizar algumas configurações publicando o arquivo wp-migration.php
:
php artisan vendor:publish --tag=wp-migration-config
O arquivo de configuração (config/wp-migration.php
) permite alterar:
[//]: # ()
return [
'post_model' => App\Models\Post::class,
'post_columns' => [
'title' => 'title',
'slug' => 'slug',
'content' => 'content',
'is_published' => 'is_published',
],
'category_model' => App\Models\Category::class,
'default_user_id' => 1,
'import_images' => true,
];
Se quiser ajudar a melhorar este pacote:
- Faça um fork do repositório.
- Crie uma branch para sua feature:
git checkout -b feat/#issue-number-feature-name # Exemplo: git checkout -b feat/#42-upgrade-config-file
- Faça suas alterações e commite:
git commit -m "feat(File): Add new feature"
- Envie um pull request e aguarde!
Sinta-se à vontade para abrir issues caso tenha dúvidas ou sugestões! 🚀
Este projeto é licenciado sob a MIT License. Sinta-se livre para usá-lo e modificá-lo conforme necessário.
Viva o Open Source! 🎉