A modern, modular, and scalable WordPress theme built using Composer (PSR-4 autoloading) and Gulp for asset compilation.
Technologies
- Composer PSR-4 autoloading
- Gulp 5 (SCSS, JS, Webpack)
- TGM Plugin Activation support
- Compatible with Elementor
Architecture
- Modular structure: Core, Admin, Integration, etc.
- Class autoloading
- Core plugin to extend functionality (located in
plugins/)
Code Quality
- PHPCS — configured with WordPress standards (
.phpcs.xml) - EditorConfig — consistent formatting
- ESLint / Stylelint — linting for JS and SCSS
theme/
├── assets/ # Compiled styles and scripts
│
├── includes/ # All PHP logic, split into modules
│ ├── Admin/ # Admin area functionality
│ ├── Core/ # Theme core (assets, menus, support, etc.)
│ │ └── Theme.php # Main theme class (initialization)
│ ├── Integration/ # Third-party integrations (TGM, Elementor, etc.)
│ ├── Traits/ # Reusable traits (e.g., Singleton)
│ ├── Utils/ # Helper functions
│ ├── Hooks/ # Hooks: ajax, pre_get_posts, etc.
│ │
│ ├── bootstrap.php # Load autoloader and initialize theme
│ └── bootstrap-compat.php # Compatibility fallback for older PHP/WP versions
│
├── functions.php # Entry point (loads bootstrap.php from includes)
├── languages/ # Translations
├── plugins/ # Plugins shipped with the theme (Core and others)
├── template-parts/ # Template parts
├── style.css # Theme metadata
# Build and configuration files
├── src/ # SCSS and JS source files
├── gulpfile.js # Main Gulp file
├── gulpfile-config.js # Gulp task configuration
├── webpack.config.js # Webpack configuration
├── package.json # Gulp dependencies and scripts
├── .stylelintrc.json # Stylelint configuration
├── .eslintrc.json # ESLint configuration
├── .editorconfig # Code formatting rules
└── README.md # Project documentation
- Node.js & npm
- Composer
- Gulp CLI (
npm install -g gulp) - PHP 7.4+
- WordPress 6.0+
composer install
npm installnpm run devnpm run dev # Development mode: build + watch
npm run build # Production build
npm run lint:php # Lint PHP code
npm run lint:scss # Lint SCSS files
npm run lint:js # Lint JavaScript filesThe theme uses built-in integration with TGM Plugin Activation to automatically recommend and/or install required plugins (e.g., Elementor, Core plugin, etc.).