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

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.