Skip to main content
Create a folder named after the plugin slug, with a minimal <slug>.php carrying the plugin headers. On a terminal, anything you leave out is asked for by a short wizard; with --no-interaction (-n), nothing is asked.

Usage

Arguments

string
Name of the plugin. Asked for when it is missing; with --no-interaction, a missing name fails with exit code 2.
string
Folder name and slug of the plugin. Always normalized to a slug (my_plugin becomes my-plugin); when omitted, it is derived from the name.

Options

The options allow you to set the information in your plugin’s header (see the WordPress documentation).
string
Plugin URI plugin header
string
Description plugin header
string
default:"1.0.0"
Version plugin header
string
Requires at least plugin header
string
Requires PHP plugin header
string
Author plugin header
string
Author URI plugin header
string
License plugin header
string
License URI plugin header
string
Text Domain plugin header
string
Domain Path plugin header
string
Network plugin header
boolean
Do not ask any interactive question

Interactive mode

On a terminal, wpc plugin init opens a wizard:
  1. Plugin name, unless you passed it.
  2. Headers to edit: a checklist of the optional headers. The ones that already have a value are ticked: the options you passed, Version (1.0.0) and the author details known to your organization (Author, Author URI).
  3. One question per ticked header, pre-filled with its current value.
Press esc at any step to abandon: nothing is written.
The registry refuses to publish a plugin without an Author header. If your organization has no author details, or wpc has no API key to look them up, pass --author yourself.
Options passed on the command line are never overwritten by these defaults. With --no-interaction, the same defaults fill in the headers you did not pass, without asking. Outside a terminal (piped input, CI), or with --output=plain or WPC_NO_TUI=1, the same questions are asked line by line instead, after a Would you like to define plugin additional headers ? [N/y] confirmation.

Examples