wp post delete

Deletes an existing post.

$ wp post delete <id>... [--force] [--defer-term-counting]


One or more IDs of posts to delete.
Skip the trash bin.
Recalculate term count in batch, for a performance boost.


# Delete post skipping trash
$ wp post delete 123 --force
Success: Deleted post 123.

# Delete all pages
$ wp post delete $(wp post list --post_type='page' --format=ids)
Success: Trashed post 1164.
Success: Trashed post 1186.

# Delete all posts in the trash
$ wp post delete $(wp post list --post_status=trash --format=ids)
Success: Deleted post 1268.
Success: Deleted post 1294.


--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

Creates a new post.

Deletes an existing post.

Launches system editor to edit post content.

Verifies whether a post exists.

Generates some posts.

Gets details about a post.

Gets a list of posts.

Adds, updates, deletes, and lists post custom fields.

Adds, updates, removes, and lists post terms.

Updates one or more existing posts.