- One or more IDs of posts to delete.
- Skip the trash bin.
- Recalculate term count in batch, for a performance boost.
Delete and move to trash.
wp post delete 123 Success: Deleted post 123.
Delete permanently without moving into trash.
wp post delete 123 --force Success: Trashed post 1164.
Delete all posts
wp post list --field=ID | xargs -n1 -I % wp post delete %
Delete all posts without moving into trash.
wp post list --field=ID | xargs -n1 -I % wp post delete % --force
Delete all custom post types
wp post list --field=ID --post-type="my-post-type" | xargs -n1 -I % wp post delete %
Delete all custom post types without moving into trash.
wp post list --field=ID --post-type="my-post-type" | xargs -n1 -I % wp post delete % --force
These global parameters have the same behavior across all commands and affect how WP-CLI interacts with WordPress.
|Path to the WordPress files.|
|Pretend request came from given URL. In multisite, this argument is how the target site is specified.|
|Perform operation against a remote server over SSH (or a container using scheme of “docker”, “docker-compose”, “vagrant”).|
|Perform operation against a remote WordPress installation over HTTP.|
|Set the WordPress user.|
|Skip loading all plugins, or a comma-separated list of plugins. Note: mu-plugins are still loaded.|
|Skip loading all themes, or a comma-separated list of themes.|
|Skip loading all installed packages.|
|Load PHP file before running the command (may be used more than once).|
|Whether to colorize the output.|
|Show all PHP errors and add verbosity to WP-CLI output. Built-in groups include: bootstrap, commandfactory, and help.|
|Prompt the user to enter values for all command arguments, or a subset specified as comma-separated values.|
|Suppress informational messages.|