wp post list

Gets a list of posts.

$ wp post list [--<field>=<value>] [--field=<field>] [--fields=<fields>] [--format=<format>]

Display posts based on all arguments supported by WP_Query().


One or more args to pass to WP_Query.
Prints the value of a single field for each post.
Limit the output to specific object fields.
Render output in a particular format. --- default: table options:
  • table
  • csv
  • ids
  • json
  • count
  • yaml ---


These fields will be displayed by default for each post:

  • ID
  • post_title
  • post_name
  • post_date
  • post_status

These fields are optionally available:

  • post_author
  • post_date_gmt
  • post_content
  • post_excerpt
  • comment_status
  • ping_status
  • post_password
  • to_ping
  • pinged
  • post_modified
  • post_modified_gmt
  • post_content_filtered
  • post_parent
  • guid
  • menu_order
  • post_type
  • post_mime_type
  • comment_count
  • filter
  • url


# List post
$ wp post list --field=ID

# List posts in JSON
$ wp post list --post_type=post --posts_per_page=5 --format=json
[{"ID":1,"post_title":"Hello world!","post_name":"hello-world","post_date":"2015-06-20 09:00:10","post_status":"publish"},{"ID":1178,"post_title":"Markup: HTML Tags and Formatting","post_name":"markup-html-tags-and-formatting","post_date":"2013-01-11 20:22:19","post_status":"draft"}]

# List all pages
$ wp post list --post_type=page --fields=post_title,post_status
| post_title  | post_status |
| Sample Page | publish     |

# List ids of all pages and posts
$ wp post list --post_type=page,post --format=ids
15 25 34 37 198

# List given posts
$ wp post list --post__in=1,3
| ID | post_title   | post_name   | post_date           | post_status |
| 3  | Lorem Ipsum  | lorem-ipsum | 2016-06-01 14:34:36 | publish     |
| 1  | Hello world! | hello-world | 2016-06-01 14:31:12 | publish     |


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

Creates a new post.

wp post delete

Deletes an existing post.

wp post edit

Launches system editor to edit post content.

wp post exists

Verifies whether a post exists.

wp post generate

Generates some posts.

wp post get

Gets details about a post.

wp post list

Gets a list of posts.

wp post meta

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

wp post term

Adds, updates, removes, and lists post terms.

wp post update

Updates one or more existing posts.