solidbunch/starter-kit-theme

WordPress starter theme with a modern development stack for launching projects faster and easily

2.0.0 2025-06-22 18:05 UTC

README

GitHub GitHub release (latest by date)

WordPress starter theme with a modern development stack for launching projects faster and easily.

Requirements

How to use

Installation

  1. Create a new theme directory in wp-content/themes:
mkdir you-theme-dir && cd you-theme-dir
  1. Clone Starter Kit Theme:
git clone --depth=1 git@github.com:solidbunch/starter-kit-theme.git . && rm -rf .git
  1. Setup php dependencies:
composer install
  1. Setup node dependencies:
npm install

Build commands

  • Build minified assets for production:
npm run prod
  • Build assets with source maps for development:
npm run dev
  • Start watcher with browser sync for development:
npm run watch

Structure

── config/                      # Base theme configuration
── src/                         # Main theme functionality files
   ├── Base/                    # Base theme functions
   │   └──Hooks.php             # Registering hooks
   │
   ├── Error/                   # Theme additional error handlers, may be enable in config
   ├── Exception/               # Theme additional exceptions
   │
   ├── Handlers/                # Theme hook handlers, main functionality
   │   ├──Blocks/               # Blocks functionality
   │   ├──CLI/                  # WP CLI comands
   │   ├──Meta/                 # Registering meta fields for post types, taxonomis, users etc. Runs by Base/Hooks
   │   ├──PostTypes/            # Registering custom post types with Taxonomies. Runs by Base/Hooks
   │   ├──Settings/             # Theme settings creation.
   │   │  └──ThemeSettings.php  # Main theme settings. Look in wp-admin Theme Settings
   │   ├──Optimization /        # Removes unnecessary things, performance optimization
   │   ├──Security /            # Provides some security options. Disable xmlrpc, etc
   │   ├──Back.php              # wp-admin functions
   │   ├──Front.php             # Basic Front handlers
   │   └──SetupTheme.php        # Setup theme handlers
   │
   ├── Helper/                  # Helpers classes
   │   ├──Assets.php            # Helper to work with assets processed by webpack
   │   ├──Config.php            # Helper functions for theme configuration
   │   ├──Logger.php            # Logging helper
   │   └──Utils.php             # Other useful functions
   │
   ├── Repository/              # Repositories, help to receive data from DB
   │                            # Classes by each post type
   │
   ├── AbstractSingleton.php    # Abstract Class for creating Singleton Classes
   ├── App.php                  # Application Singleton. Entrypoint
   └── dev.php                  # Some developers functions for debug, logging, etc

── assets/                      # Theme assets
   ├── build/                   # The compiled assets
   ├── fonts/
   ├── images/
   └── src /                    # Assets source files
       ├── js/
       └── styles/

── parts/                       # Custom template parts for the theme. Include things like headers, footers, and sidebars.
── patterns/                    # Reusable patterns.
── templates/                   # Templates, represent the overall document structure of the front-end.
                                  Templates, parts, patterns are made up of block markup.
                                  WordPress will automatically register files included in this folder.

── functions.php
── package.json
── composer.json
── screenshot.png
── style.css
── webpack.mix.js
── .editorconfig
── .gitignore

Blocks

Overview

Gutenberg Blocks in the blocks/ folder are loaded with the autoloader. That is, you can simply create a folder of a new block with the necessary files and this blocks will be automatically available.

Use StarterBlock as an example to create new blocks.