phycticio / wp-boilerplate
WordPress boilerplate with Composer, easier configuration, and an improved folder structure
Installs: 4
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:project
Requires
- php: >=8.1
- ext-pdo: *
- composer/installers: ^2.2
- oscarotero/env: ^2.1
- ramsey/uuid: ^4.7
- roots/bedrock-autoloader: ^1.0
- roots/wordpress: 6.7.1
- roots/wp-config: 1.0.0
- roots/wp-password-bcrypt: 1.2.0
- timber/timber: ^2.3
- vlucas/phpdotenv: ^5.5
Requires (Dev)
- laravel/pint: ^1.18
- roave/security-advisories: dev-latest
- wpackagist-plugin/wp-crontrol: ^1.17
Suggests
- wpackagist-plugin/loco-translate: ^2.7
- wpackagist-plugin/user-role-editor: ^4.64
README
Plantilla moderna para desarrollo WordPress con arquitectura escalable y stack tecnológico actualizado.
Características Clave
- 🚀 Stack Moderno: PHP 8.1+, Node 18+, Composer 2+, pnpm
- 🧩 Gestión de Dependencias:
- Plugins manejados via Composer
- Assets con Webpack 5 y ES6+
- 🧱 Block Theme:
- Bloques nativos con React
- Full Site Editing (FSE)
- Integración frontend/backend total
- 📐 Arquitectura Limpia:
- Patrón MVC con Twig templating
- Configuración por ambientes
- Separación clara de responsabilidades
- ⚙️ Flujo Profesional:
- GitHub Actions integrado
- PHP Code Standards (Pint)
- Webpack multi-entorno
Requisitos Previos
- PHP 8.1+
- Node.js 18+
- Composer 2.2+
- pnpm 8+
Instalación Rápida
composer create-project phycticio/wp-boilerplate project-name
cd project-name
cp sample.env .env
pnpm install
pnpm run build
Configuración
Entornos
- Edita
.env
con tus variables - Configura ambientes en
config/environments/
development.php
: Config localproduction.php
: Config producción
Archivos Principales
config/application.php
: Configuración compartidaweb/wp-config.php
: Bootstrap WordPressapp/App.php
: Inicializador del tema
Estructura de Directorios
wp-boilerplate/
├── .github/ # GitHub Actions workflows
├── app/ # Lógica de aplicación
│ ├── Features/ # Traits y funcionalidades
│ ├── Hooks/ # WordPress hooks
│ ├── Services/ # Servicios y DB interactions
│ └── App.php # Inicializador principal
├── config/ # Configuraciones
│ ├── environments/ # Variables por entorno
│ ├── application.php # Config base
│ └── webpack.*.js # Configuraciones Webpack
├── resources/ # Assets y templates
│ ├── blocks/ # Bloques personalizados
│ ├── scripts/ # JS entry points
│ ├── scss/ # Estilos globales
│ └── views/ # Plantillas Twig
├── web/ # Web root
│ ├── content/ # WP content directory
│ └── wp/ # Core WordPress
└── [config files] # Configuraciones globales
Desarrollo
Comandos Principales
# Instalar dependencias pnpm install # Desarrollo con hot-reload pnpm run dev # Build producción pnpm run build # Lint PHP pnpm run lint # Formatear código pnpm run format
Creación de Bloques
- Añade nuevo bloque en
resources/blocks/
- Usa
registerBlockType
de WordPress - Importa estilos/scripts en Webpack config
Templates Twig
// Ejemplo de uso en WordPress View::render('template-name', ['data' => $values]);
Workflow GitHub Actions
- Lint: Verificación de código PHP/JS
- Build: Compilación de assets
- Deploy: Configurable para distintos ambientes
Coding Standards
- PHP: PHP-CS-Fixer (config en
pint.json
) - JS: ESLint con config estándar
- Estilos: SCSS con estructura SMACSS
Contribución
- Haz fork del proyecto
- Crea feature branch (
feat/my-feature
) - Envía Pull Request
Licencia
GPL-3.0. Ver LICENSE para detalles.
Changelog
Ver CHANGELOG.md para historial de versiones.