Create your WordPress plugin in weeks, not months. Rapidly prototype and deliver your plugin with confidence!
Light Mode | Dark Mode |
---|---|
The plugin consists of two main components: the frontend, built with React, and the backend, which communicates via an API.
To get started, you need to clone the repository and install the dependencies. Then you can rename the plugin and start development. It's that simple!
git clone https://github.com/prappo/wordpress-plugin-boilerplate.git
npm install
composer install
You can easly rename the plugin by changing data in plugin-config.json
file.
{
"plugin_name":"WordPress Plugin Boilerplate",
"plugin_description":"A boilerplate for WordPress plugins.",
"plugin_version":"1.0.0",
"plugin_file_name":"wordpress-plugin-boilerplate.php",
"author_name":"Prappo",
"author_uri":"https://prappo.dev",
"text_domain":"wordpress-plugin-boilerplate",
"domain_path":"/languages",
"main_class_name":"WordPressPluginBoilerplate",
"main_function_name":"wordpress_plugin_boilerplate_init",
"namespace":"WordPressPluginBoilerplate",
"plugin_prefix":"wpb",
"constant_prefix":"WPB"
}
Then run the following command to rename the plugin
npm run rename
📂 wordpress-plugin-boilerplate
-
📂 config
📄 plugin.php
-
📂 database
-
📂 Migrations
📄 create_posts_table.php
📄 create_users_table.php
-
📂 Seeders
📄 PostSeeder.php
📄 UserSeeder.php
-
📂 includes
📂 Admin
📂 Controllers
📂 Core
📂 Frontend
📂 Interfaces
📂 Models
📂 Routes
📂 Traits
📄 functions.php
📂 js
📂 libs
📂 views
📂 vendor
📄 plugin.php
📄 uninstall.php
📄 wordpress-plugin-boilerplate.php
Add your API route in includes/Routes/Api.php
Route::get( $prefix, $endpoint, $callback, $auth = false );
Route::post( $prefix, $endpoint, $callback, $auth = false );
// Route grouping.
Route::prefix( $prefix, function( Route $route ) {
$route->get( $endpoint, $callback, $auth = false );
$route->post( $endpoint, $callback, $auth = false );
});
// Get All posts
$route->get( '/posts/get', '\WordPressPluginBoilerplate\Controllers\Posts\Actions@get_all_posts' );
// Get Single Posts
$route->get( '/posts/get/{id}', '\WordPressPluginBoilerplate\Controllers\Posts\Actions@get_post' );
npm run dev
npm run dev:server
npm run build
npm run release
It will create a relase plugin in release
folder