PHP HTML Shell
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
commands
internal-api
.gitignore
LICENSE
README.md
bug-reports.md
code-review.md
commands-cookbook.md
committers-credo.md
common-issues.md
config.md
contributing.md
documentation-standards.md
external-resources.md
force-output-specific-locale.md
governance.md
hosting-companies.md
identify-plugin-theme-conflict.md
implementation-details.md
index.md
installing.md
internal-api.md
philosophy.md
plugin-unit-tests.md
pull-requests.md
quick-start.md
release-checklist.md
repository-management.md
roadmap.md
running-commands-remotely.md
sharing-wp-cli-packages.md
shell-friends.md
tools.md
troubleshooting.md
wp-cli.yml

README.md

wp-cli/handbook

These files comprise the WP-CLI handbook (make.wordpress.org/cli/handbook) and WP-CLI commands directory (developer.wordpress.org/cli/commands).

The documentation is located in GitHub to enable a pull request-based editing workflow.

Long-form documentation (e.g. "Commands cookbook") can be edited directly.

Internal API docs and command pages are generated dynamically from the WP-CLI codebase using the wp handbook series of commands.

Before running these commands the bash script bin/install-packages.sh should be run to install the latest versions of the non-bundled commands in bin/packages. Note wp must point to the target WP-CLI instance, i.e. the phar/git that contains the docblocks to be generated against, and should be run with WP_CLI_PACKAGES_DIR=bin/packages and WP_CLI_CONFIG_PATH=/dev/null.

So for instance to generate all dynamically created documentation against the nightly phar run:

wp cli update --nightly
bin/install-packages.sh
WP_CLI_PACKAGES_DIR=bin/packages WP_CLI_CONFIG_PATH=/dev/null wp handbook gen-all

All documentation is imported automatically into WordPress.org in a two step process:

  1. WordPress reads commands-manifest.json or handbook-manifest.json to understand all pages that need to be created.
  2. Each WordPress page has a markdown_source attribute specifying a Markdown file to be fetched, converted to HTML, and saved in the database.

For make.wordpress.org/cli, the import process is a WordPress plugin running a WP Cron job every 15 minutes. For developer.wordpress.org/cli, this is a class in the devhub theme running a WP Cron job every 12 hours.