wp scaffold block

Generates PHP, JS and CSS code for registering a Gutenberg block for a plugin or theme.

$ wp scaffold block <slug> [--title=<title>] [--dashicon=<dashicon>] [--category=<category>] [--theme] [--plugin=<plugin>] [--force]

Blocks are the fundamental element of the Gutenberg editor. They are the primary way in which plugins and themes can register their own functionality and extend the capabilities of the editor.

Visit the Gutenberg handbook to learn more about Block API.

When you scaffold a block you must use either the theme or plugin option. The latter is recommended.

OPTIONS

<slug>
The internal name of the block.
[--title=<title>]
The display title for your block.
[--dashicon=<dashicon>]
The dashicon to make it easier to identify your block.
[--category=<category>]
The category name to help users browse and discover your block. --- default: widgets options:
  • common
  • embed
  • formatting
  • layout
  • widgets ---
[--theme]
Create files in the active theme directory. Specify a theme with --theme=<theme> to have the file placed in that theme.
[--plugin=<plugin>]
Create files in the given plugin's directory.
[--force]
Overwrite files that already exist.

EXAMPLES

# Generate a 'movie' block for the 'movies' plugin
$ wp scaffold block movie --title="Movie block" --plugin=movies
Success: Created block 'Movie block'.

# Generate a 'movie' block for the 'simple-life' theme
$ wp scaffold block movie --title="Movie block" --theme=simple-life
 Success: Created block 'Movie block'.

# Create a new plugin and add two blocks
# Create plugin called books
$ wp scaffold plugin books
# Add a block called book to plugin books
$ wp scaffold block book --title="Book" --plugin=books
# Add a second block to plugin called books.
$ wp scaffold block books --title="Book List" --plugin=books

GLOBAL PARAMETERS

--path=<path> Path to the WordPress files.

--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified.

--ssh=[<scheme>:][<user>@]<host|container>[:<port>][<path>] Perform operation against a remote server over SSH (or a container using scheme of "docker", "docker-compose", "vagrant").

--http=<http> Perform operation against a remote WordPress installation over HTTP.

--user=<id|login|email> Set the WordPress user.

--skip-plugins[=<plugins>] Skip loading all plugins, or a comma-separated list of plugins. Note: mu-plugins are still loaded.

--skip-themes[=<themes>] Skip loading all themes, or a comma-separated list of themes.

--skip-packages Skip loading all installed packages.

--require=<path> Load PHP file before running the command (may be used more than once).

--[no-]color Whether to colorize the output.

--debug[=<group>] Show all PHP errors and add verbosity to WP-CLI output. Built-in groups include: bootstrap, commandfactory, and help.

--prompt[=<assoc>] Prompt the user to enter values for all command arguments, or a subset specified as comma-separated values.

--quiet Suppress informational messages.

Related commands
wp scaffold block

Generates PHP, JS and CSS code for registering a Gutenberg block for a plugin or theme.

wp scaffold child-theme

Generates child theme based on an existing theme.

wp scaffold plugin

Generates starter code for a plugin.

wp scaffold plugin-tests

Generates files needed for running PHPUnit tests in a plugin.

wp scaffold post-type

Generates PHP code for registering a custom post type.

wp scaffold taxonomy

Generates PHP code for registering a custom taxonomy.

wp scaffold theme-tests

Generates files needed for running PHPUnit tests in a theme.

wp scaffold underscores

Generates starter code for a theme based on _s.