A boilerplate WordPress plugin designed to help developers kickstart new projects quickly.
- Standardized plugin structure
- Composer support for dependency management
- Easy integration via
composer create-project - Built-in
bdevsCLI for scaffolding classes, widgets, and assets - Ready-to-extend codebase for custom functionality
composer create-project blackdevs/wp-starter my-pluginThe bdevs CLI tool scaffolds classes, Elementor widgets, and asset files — and automatically wires everything into the plugin.
Add the following function to your PowerShell profile ($PROFILE):
function bdevs { php "D:\plugins\wp-starter\bin\bdevs" @args }bdevs <command> [arguments]Creates a PHP class file and auto-wires it into the plugin.
bdevs class <ClassName> [folder]| Folder | Result |
|---|---|
(default) classes |
Plain class → wired into includes() + init_plugin() |
includes |
Plain class → wired into includes() + init_plugin() |
widgets |
Elementor widget stub → wired into widgets/init.php |
# Creates classes/my-feature.php
bdevs class MyFeature
# Creates includes/post-types.php
bdevs class PostTypes includes
# Creates widgets/my-slider.php (Elementor widget)
bdevs class My_Slider widgetsWhen folder is not widgets, automatically:
- Creates the class with the correct namespace
- Adds
require_onceinsideincludes()in the main plugin file - Adds
new ClassName()insideinit_plugin()
When folder is widgets, automatically:
- Creates an Elementor
Widget_Basestub withget_name(),get_title(),register_controls(),render() - Adds
require_onceinsideinit_widgets()inwidgets/init.php - Registers the widget via
$widgets_manager->register()
Creates an asset file and enqueues it in AssetsManager.
bdevs css <filename> [admin]
bdevs js <filename> [admin]| Flag | Hook |
|---|---|
| (none) | wp_enqueue_scripts → enqueue_scripts() |
admin |
admin_enqueue_scripts → enqueue_admin_scripts() |
# Frontend CSS/JS
bdevs css my-feature
bdevs js my-feature
# Admin CSS/JS
bdevs css admin-styles admin
bdevs js admin-panel adminbdevs helpbin/
bdevs # CLI dispatcher
setup.php # Interactive setup wizard
classes/ # Your custom classes (default bdevs target)
includes/ # Core plugin includes
assets-manager.php # Enqueue frontend & admin scripts/styles
widgets/ # Elementor widget classes
init.php # Widget registration
assets/
css/
js/
img/