{"id":16048277,"url":"https://github.com/wp-cli/entity-command","last_synced_at":"2026-04-01T22:27:54.804Z","repository":{"id":19511782,"uuid":"87201389","full_name":"wp-cli/entity-command","owner":"wp-cli","description":"Manage WordPress comments, menus, options, posts, sites, terms, and users.","archived":false,"fork":false,"pushed_at":"2026-03-26T23:33:32.000Z","size":9573,"stargazers_count":104,"open_issues_count":12,"forks_count":94,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-03-27T07:25:08.138Z","etag":null,"topics":["cli","comment","entity","hacktoberfest","menu","meta","network","option","page","post","session","site","taxonomy","term","user","wordpress","wp-cli","wp-cli-package"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wp-cli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2017-04-04T15:10:32.000Z","updated_at":"2026-03-26T20:06:26.000Z","dependencies_parsed_at":"2024-01-11T11:55:20.321Z","dependency_job_id":"9e968874-62ac-42b6-8d41-11eb2b5f68dc","html_url":"https://github.com/wp-cli/entity-command","commit_stats":{"total_commits":1822,"total_committers":143,"mean_commits":"12.741258741258742","dds":0.7749725576289792,"last_synced_commit":"f5d8814e4e3544a095bba834b341ac3a3a58cab0"},"previous_names":[],"tags_count":59,"template":false,"template_full_name":null,"purl":"pkg:github/wp-cli/entity-command","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wp-cli%2Fentity-command","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wp-cli%2Fentity-command/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wp-cli%2Fentity-command/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wp-cli%2Fentity-command/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wp-cli","download_url":"https://codeload.github.com/wp-cli/entity-command/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wp-cli%2Fentity-command/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31292639,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T21:15:39.731Z","status":"ssl_error","status_checked_at":"2026-04-01T21:15:34.046Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","comment","entity","hacktoberfest","menu","meta","network","option","page","post","session","site","taxonomy","term","user","wordpress","wp-cli","wp-cli-package"],"created_at":"2024-10-09T00:05:50.142Z","updated_at":"2026-04-01T22:27:54.779Z","avatar_url":"https://github.com/wp-cli.png","language":"PHP","readme":"wp-cli/entity-command\n=====================\n\nManage WordPress comments, menus, options, posts, sites, terms, and users.\n\n[![Testing](https://github.com/wp-cli/entity-command/actions/workflows/testing.yml/badge.svg)](https://github.com/wp-cli/entity-command/actions/workflows/testing.yml) [![Code Coverage](https://codecov.io/gh/wp-cli/entity-command/branch/main/graph/badge.svg)](https://codecov.io/gh/wp-cli/entity-command/tree/main)\n\nQuick links: [Using](#using) | [Installing](#installing) | [Contributing](#contributing) | [Support](#support)\n\n## Using\n\nThis package implements the following commands:\n\n### wp comment\n\nCreates, updates, deletes, and moderates comments.\n\n~~~\nwp comment\n~~~\n\n**EXAMPLES**\n\n    # Create a new comment.\n    $ wp comment create --comment_post_ID=15 --comment_content=\"hello blog\" --comment_author=\"wp-cli\"\n    Success: Created comment 932.\n\n    # Update an existing comment.\n    $ wp comment update 123 --comment_author='That Guy'\n    Success: Updated comment 123.\n\n    # Delete an existing comment.\n    $ wp comment delete 1337 --force\n    Success: Deleted comment 1337.\n\n    # Trash all spam comments.\n    $ wp comment delete $(wp comment list --status=spam --format=ids)\n    Success: Trashed comment 264.\n    Success: Trashed comment 262.\n\n    # Create a note for a block (WordPress 6.9+).\n    $ wp comment create --comment_post_ID=15 --comment_content=\"This block needs revision\" --comment_author=\"editor\" --comment_type=\"note\"\n    Success: Created comment 945.\n\n    # List notes for a specific post (WordPress 6.9+).\n    $ wp comment list --type=note --post_id=15\n    +------------+---------------------+----------------------------------+\n    | comment_ID | comment_date        | comment_content                  |\n    +------------+---------------------+----------------------------------+\n    | 945        | 2024-11-10 14:30:00 | This block needs revision        |\n    +------------+---------------------+----------------------------------+\n\n    # Reply to a note (WordPress 6.9+).\n    $ wp comment create --comment_post_ID=15 --comment_content=\"Updated per feedback\" --comment_author=\"editor\" --comment_type=\"note\" --comment_parent=945\n    Success: Created comment 946.\n\n    # Resolve a note by adding a comment with status meta (WordPress 6.9+).\n    $ wp comment create --comment_post_ID=15 --comment_content=\"Resolving\" --comment_author=\"editor\" --comment_type=\"note\" --comment_parent=945 --porcelain\n    947\n    $ wp comment meta add 947 _wp_note_status resolved\n    Success: Added custom field.\n\n    # Reopen a resolved note (WordPress 6.9+).\n    $ wp comment create --comment_post_ID=15 --comment_content=\"Reopening for further review\" --comment_author=\"editor\" --comment_type=\"note\" --comment_parent=945 --porcelain\n    948\n    $ wp comment meta add 948 _wp_note_status reopen\n    Success: Added custom field.\n\n\n\n### wp comment approve\n\nApproves a comment.\n\n~~~\nwp comment approve \u003cid\u003e...\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e...\n\t\tThe IDs of the comments to approve.\n\n**EXAMPLES**\n\n    # Approve comment.\n    $ wp comment approve 1337\n    Success: Approved comment 1337.\n\n\n\n### wp comment count\n\nCounts comments, on whole blog or on a given post.\n\n~~~\nwp comment count [\u003cpost-id\u003e]\n~~~\n\n**OPTIONS**\n\n\t[\u003cpost-id\u003e]\n\t\tThe ID of the post to count comments in.\n\n**EXAMPLES**\n\n    # Count comments on whole blog.\n    $ wp comment count\n    approved:        33\n    spam:            3\n    trash:           1\n    post-trashed:    0\n    all:             34\n    moderated:       1\n    total_comments:  37\n\n    # Count comments in a post.\n    $ wp comment count 42\n    approved:        19\n    spam:            0\n    trash:           0\n    post-trashed:    0\n    all:             19\n    moderated:       0\n    total_comments:  19\n\n\n\n### wp comment create\n\nCreates a new comment.\n\n~~~\nwp comment create [--\u003cfield\u003e=\u003cvalue\u003e] [--porcelain]\n~~~\n\n**OPTIONS**\n\n\t[--\u003cfield\u003e=\u003cvalue\u003e]\n\t\tAssociative args for the new comment. See wp_insert_comment().\n\n\t[--porcelain]\n\t\tOutput just the new comment id.\n\n**EXAMPLES**\n\n    # Create comment.\n    $ wp comment create --comment_post_ID=15 --comment_content=\"hello blog\" --comment_author=\"wp-cli\"\n    Success: Created comment 932.\n\n    # Create a note (WordPress 6.9+).\n    $ wp comment create --comment_post_ID=15 --comment_content=\"This block needs revision\" --comment_author=\"editor\" --comment_type=\"note\"\n    Success: Created comment 933.\n\n\n\n### wp comment delete\n\nDeletes a comment.\n\n~~~\nwp comment delete \u003cid\u003e... [--force]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e...\n\t\tOne or more IDs of comments to delete.\n\n\t[--force]\n\t\tSkip the trash bin.\n\n**EXAMPLES**\n\n    # Delete comment.\n    $ wp comment delete 1337 --force\n    Success: Deleted comment 1337.\n\n    # Delete multiple comments.\n    $ wp comment delete 1337 2341 --force\n    Success: Deleted comment 1337.\n    Success: Deleted comment 2341.\n\n\n\n### wp comment exists\n\nVerifies whether a comment exists.\n\n~~~\nwp comment exists \u003cid\u003e\n~~~\n\nDisplays a success message if the comment does exist.\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the comment to check.\n\n**EXAMPLES**\n\n    # Check whether comment exists.\n    $ wp comment exists 1337\n    Success: Comment with ID 1337 exists.\n\n\n\n### wp comment generate\n\nGenerates some number of new dummy comments.\n\n~~~\nwp comment generate [--count=\u003cnumber\u003e] [--post_id=\u003cpost-id\u003e] [--format=\u003cformat\u003e]\n~~~\n\nCreates a specified number of new comments with dummy data.\n\n**OPTIONS**\n\n\t[--count=\u003cnumber\u003e]\n\t\tHow many comments to generate?\n\t\t---\n\t\tdefault: 100\n\t\t---\n\n\t[--post_id=\u003cpost-id\u003e]\n\t\tAssign comments to a specific post.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: progress\n\t\toptions:\n\t\t  - progress\n\t\t  - ids\n\t\t---\n\n**EXAMPLES**\n\n    # Generate comments for the given post.\n    $ wp comment generate --format=ids --count=3 --post_id=123\n    138 139 140\n\n    # Add meta to every generated comment.\n    $ wp comment generate --format=ids --count=3 | xargs -d ' ' -I % wp comment meta add % foo bar\n    Success: Added custom field.\n    Success: Added custom field.\n    Success: Added custom field.\n\n\n\n### wp comment get\n\nGets the data of a single comment.\n\n~~~\nwp comment get \u003cid\u003e [--field=\u003cfield\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe comment to get.\n\n\t[--field=\u003cfield\u003e]\n\t\tInstead of returning the whole comment, returns the value of a single field.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific fields. Defaults to all fields.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - yaml\n\t\t---\n\n**EXAMPLES**\n\n    # Get comment.\n    $ wp comment get 21 --field=content\n    Thanks for all the comments, everyone!\n\n\n\n### wp comment list\n\nGets a list of comments.\n\n~~~\nwp comment list [--\u003cfield\u003e=\u003cvalue\u003e] [--field=\u003cfield\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e]\n~~~\n\nDisplay comments based on all arguments supported by\n[WP_Comment_Query()](https://developer.wordpress.org/reference/classes/WP_Comment_Query/__construct/).\n\n**OPTIONS**\n\n\t[--\u003cfield\u003e=\u003cvalue\u003e]\n\t\tOne or more args to pass to WP_Comment_Query.\n\n\t[--field=\u003cfield\u003e]\n\t\tPrints the value of a single field for each comment.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific object fields.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - ids\n\t\t  - csv\n\t\t  - json\n\t\t  - count\n\t\t  - yaml\n\t\t---\n\n**AVAILABLE FIELDS**\n\nThese fields will be displayed by default for each comment:\n\n* comment_ID\n* comment_post_ID\n* comment_date\n* comment_approved\n* comment_author\n* comment_author_email\n\nThese fields are optionally available:\n\n* comment_author_url\n* comment_author_IP\n* comment_date_gmt\n* comment_content\n* comment_karma\n* comment_agent\n* comment_type\n* comment_parent\n* user_id\n* url\n\n**EXAMPLES**\n\n    # List comment IDs.\n    $ wp comment list --field=ID\n    22\n    23\n    24\n\n    # List comments of a post.\n    $ wp comment list --post_id=1 --fields=ID,comment_date,comment_author\n    +------------+---------------------+----------------+\n    | comment_ID | comment_date        | comment_author |\n    +------------+---------------------+----------------+\n    | 1          | 2015-06-20 09:00:10 | Mr WordPress   |\n    +------------+---------------------+----------------+\n\n    # List approved comments.\n    $ wp comment list --number=3 --status=approve --fields=ID,comment_date,comment_author\n    +------------+---------------------+----------------+\n    | comment_ID | comment_date        | comment_author |\n    +------------+---------------------+----------------+\n    | 1          | 2015-06-20 09:00:10 | Mr WordPress   |\n    | 30         | 2013-03-14 12:35:07 | John Doe       |\n    | 29         | 2013-03-14 11:56:08 | Jane Doe       |\n    +------------+---------------------+----------------+\n\n    # List unapproved comments.\n    $ wp comment list --number=3 --status=hold --fields=ID,comment_date,comment_author\n    +------------+---------------------+----------------+\n    | comment_ID | comment_date        | comment_author |\n    +------------+---------------------+----------------+\n    | 8          | 2023-11-10 13:13:06 | John Doe       |\n    | 7          | 2023-11-10 13:09:55 | Mr WordPress   |\n    | 9          | 2023-11-10 11:22:31 | Jane Doe       |\n    +------------+---------------------+----------------+\n\n    # List comments marked as spam.\n    $ wp comment list --status=spam --fields=ID,comment_date,comment_author\n    +------------+---------------------+----------------+\n    | comment_ID | comment_date        | comment_author |\n    +------------+---------------------+----------------+\n    | 2          | 2023-11-10 11:22:31 | Jane Doe       |\n    +------------+---------------------+----------------+\n\n    # List comments in trash.\n    $ wp comment list --status=trash --fields=ID,comment_date,comment_author\n    +------------+---------------------+----------------+\n    | comment_ID | comment_date        | comment_author |\n    +------------+---------------------+----------------+\n    | 3          | 2023-11-10 11:22:31 | John Doe       |\n    +------------+---------------------+----------------+\n\n    # List notes for a specific post (WordPress 6.9+).\n    $ wp comment list --type=note --post_id=15 --fields=ID,comment_date,comment_content\n    +------------+---------------------+----------------------------------+\n    | comment_ID | comment_date        | comment_content                  |\n    +------------+---------------------+----------------------------------+\n    | 10         | 2024-11-10 14:30:00 | This block needs revision        |\n    | 11         | 2024-11-10 15:45:00 | Updated per feedback             |\n    +------------+---------------------+----------------------------------+\n\n\n\n### wp comment meta\n\nAdds, updates, deletes, and lists comment custom fields.\n\n~~~\nwp comment meta\n~~~\n\n**EXAMPLES**\n\n    # Set comment meta\n    $ wp comment meta set 123 description \"Mary is a WordPress developer.\"\n    Success: Updated custom field 'description'.\n\n    # Get comment meta\n    $ wp comment meta get 123 description\n    Mary is a WordPress developer.\n\n    # Update comment meta\n    $ wp comment meta update 123 description \"Mary is an awesome WordPress developer.\"\n    Success: Updated custom field 'description'.\n\n    # Delete comment meta\n    $ wp comment meta delete 123 description\n    Success: Deleted custom field.\n\n\n\n\n\n### wp comment meta add\n\nAdd a meta field.\n\n~~~\nwp comment meta add \u003cid\u003e \u003ckey\u003e [\u003cvalue\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ckey\u003e\n\t\tThe name of the meta field to create.\n\n\t[\u003cvalue\u003e]\n\t\tThe value of the meta field. If omitted, the value is read from STDIN.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe serialization format for the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t---\n\n\n\n### wp comment meta delete\n\nDelete a meta field.\n\n~~~\nwp comment meta delete \u003cid\u003e [\u003ckey\u003e] [\u003cvalue\u003e] [--all]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t[\u003ckey\u003e]\n\t\tThe name of the meta field to delete.\n\n\t[\u003cvalue\u003e]\n\t\tThe value to delete. If omitted, all rows with key will deleted.\n\n\t[--all]\n\t\tDelete all meta for the object.\n\n\n\n### wp comment meta get\n\nGet meta field value.\n\n~~~\nwp comment meta get \u003cid\u003e \u003ckey\u003e [--single] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ckey\u003e\n\t\tThe name of the meta field to get.\n\n\t[--single]\n\t\tWhether to return a single value.\n\n\t[--format=\u003cformat\u003e]\n\t\tGet value in a particular format.\n\t\t---\n\t\tdefault: var_export\n\t\toptions:\n\t\t  - var_export\n\t\t  - json\n\t\t  - yaml\n\t\t---\n\n\n\n### wp comment meta list\n\nList all metadata associated with an object.\n\n~~~\nwp comment meta list \u003cid\u003e [--keys=\u003ckeys\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e] [--orderby=\u003cfields\u003e] [--order=\u003corder\u003e] [--unserialize]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tID for the object.\n\n\t[--keys=\u003ckeys\u003e]\n\t\tLimit output to metadata of specific keys.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific row fields. Defaults to id,meta_key,meta_value.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - yaml\n\t\t  - count\n\t\t---\n\n\t[--orderby=\u003cfields\u003e]\n\t\tSet orderby which field.\n\t\t---\n\t\tdefault: id\n\t\toptions:\n\t\t - id\n\t\t - meta_key\n\t\t - meta_value\n\t\t---\n\n\t[--order=\u003corder\u003e]\n\t\tSet ascending or descending order.\n\t\t---\n\t\tdefault: asc\n\t\toptions:\n\t\t - asc\n\t\t - desc\n\t\t---\n\n\t[--unserialize]\n\t\tUnserialize meta_value output.\n\n\n\n### wp comment meta patch\n\nUpdate a nested value for a meta field.\n\n~~~\nwp comment meta patch \u003caction\u003e \u003cid\u003e \u003ckey\u003e \u003ckey-path\u003e... [\u003cvalue\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003caction\u003e\n\t\tPatch action to perform.\n\t\t---\n\t\toptions:\n\t\t  - insert\n\t\t  - update\n\t\t  - delete\n\t\t---\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ckey\u003e\n\t\tThe name of the meta field to update.\n\n\t\u003ckey-path\u003e...\n\t\tThe name(s) of the keys within the value to locate the value to patch.\n\n\t[\u003cvalue\u003e]\n\t\tThe new value. If omitted, the value is read from STDIN.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe serialization format for the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t---\n\n\n\n### wp comment meta pluck\n\nGet a nested value from a meta field.\n\n~~~\nwp comment meta pluck \u003cid\u003e \u003ckey\u003e \u003ckey-path\u003e... [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ckey\u003e\n\t\tThe name of the meta field to get.\n\n\t\u003ckey-path\u003e...\n\t\tThe name(s) of the keys within the value to locate the value to pluck.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe output format of the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t  - yaml\n\n\n\n### wp comment meta update\n\nUpdate a meta field.\n\n~~~\nwp comment meta update \u003cid\u003e \u003ckey\u003e [\u003cvalue\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**Alias:** `set`\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ckey\u003e\n\t\tThe name of the meta field to update.\n\n\t[\u003cvalue\u003e]\n\t\tThe new value. If omitted, the value is read from STDIN.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe serialization format for the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t---\n\n\n\n### wp comment recount\n\nRecalculates the comment_count value for one or more posts.\n\n~~~\nwp comment recount \u003cid\u003e...\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e...\n\t\tIDs for one or more posts to update.\n\n**EXAMPLES**\n\n    # Recount comment for the post.\n    $ wp comment recount 123\n    Updated post 123 comment count to 67.\n\n\n\n### wp comment spam\n\nMarks a comment as spam.\n\n~~~\nwp comment spam \u003cid\u003e...\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e...\n\t\tThe IDs of the comments to mark as spam.\n\n**EXAMPLES**\n\n    # Spam comment.\n    $ wp comment spam 1337\n    Success: Marked as spam comment 1337.\n\n\n\n### wp comment status\n\nGets the status of a comment.\n\n~~~\nwp comment status \u003cid\u003e\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the comment to check.\n\n**EXAMPLES**\n\n    # Get status of comment.\n    $ wp comment status 1337\n    approved\n\n\n\n### wp comment trash\n\nTrashes a comment.\n\n~~~\nwp comment trash \u003cid\u003e...\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e...\n\t\tThe IDs of the comments to trash.\n\n**EXAMPLES**\n\n    # Trash comment.\n    $ wp comment trash 1337\n    Success: Trashed comment 1337.\n\n\n\n### wp comment unapprove\n\nUnapproves a comment.\n\n~~~\nwp comment unapprove \u003cid\u003e...\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e...\n\t\tThe IDs of the comments to unapprove.\n\n**EXAMPLES**\n\n    # Unapprove comment.\n    $ wp comment unapprove 1337\n    Success: Unapproved comment 1337.\n\n\n\n### wp comment unspam\n\nUnmarks a comment as spam.\n\n~~~\nwp comment unspam \u003cid\u003e...\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e...\n\t\tThe IDs of the comments to unmark as spam.\n\n**EXAMPLES**\n\n    # Unspam comment.\n    $ wp comment unspam 1337\n    Success: Unspammed comment 1337.\n\n\n\n### wp comment untrash\n\nUntrashes a comment.\n\n~~~\nwp comment untrash \u003cid\u003e...\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e...\n\t\tThe IDs of the comments to untrash.\n\n**EXAMPLES**\n\n    # Untrash comment.\n    $ wp comment untrash 1337\n    Success: Untrashed comment 1337.\n\n\n\n### wp comment update\n\nUpdates one or more comments.\n\n~~~\nwp comment update \u003cid\u003e... --\u003cfield\u003e=\u003cvalue\u003e\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e...\n\t\tOne or more IDs of comments to update.\n\n\t--\u003cfield\u003e=\u003cvalue\u003e\n\t\tOne or more fields to update. See wp_update_comment().\n\n**EXAMPLES**\n\n    # Update comment.\n    $ wp comment update 123 --comment_author='That Guy'\n    Success: Updated comment 123.\n\n\n\n### wp font\n\nManages WordPress fonts.\n\n~~~\nwp font\n~~~\n\n**EXAMPLES**\n\n    # List all font collections\n    $ wp font collection list\n\n    # Install a font family from a collection\n    $ wp font family install google-fonts inter\n\n    # List installed font families\n    $ wp post list --post_type=wp_font_family\n\n    # List installed font faces\n    $ wp post list --post_type=wp_font_face\n\n\n\n### wp font collection\n\nManages font collections.\n\n~~~\nwp font collection\n~~~\n\nFont collections are predefined sets of fonts that can be used in WordPress.\nCollections are registered by WordPress core or themes and cannot be created\nor deleted via the command line.\n\n**EXAMPLES**\n\n    # List all font collections\n    $ wp font collection list\n    +------------------+-------------------+---------+\n    | slug             | name              | count   |\n    +------------------+-------------------+---------+\n    | google-fonts     | Google Fonts      | 1500    |\n    +------------------+-------------------+---------+\n\n    # Get details about a specific font collection\n    $ wp font collection get google-fonts\n    +-------+------------------+\n    | Field | Value            |\n    +-------+------------------+\n    | slug  | google-fonts     |\n    | name  | Google Fonts     |\n    +-------+------------------+\n\n\n\n### wp font collection get\n\nGets details about a registered font collection.\n\n~~~\nwp font collection get \u003cslug\u003e [--field=\u003cfield\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cslug\u003e\n\t\tFont collection slug.\n\n\t[--field=\u003cfield\u003e]\n\t\tInstead of returning the whole collection, returns the value of a single field.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific fields. Defaults to all fields.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - yaml\n\t\t---\n\n**AVAILABLE FIELDS**\n\nThese fields will be displayed by default for the specified collection:\n\n* slug\n* name\n* description\n* categories\n\n**EXAMPLES**\n\n    # Get details of a specific collection\n    $ wp font collection get google-fonts\n    +-------+------------------+\n    | Field | Value            |\n    +-------+------------------+\n    | slug  | google-fonts     |\n    | name  | Google Fonts     |\n    +-------+------------------+\n\n    # Get the name field only\n    $ wp font collection get google-fonts --field=name\n    Google Fonts\n\n\n\n### wp font collection is-registered\n\nChecks if a font collection is registered.\n\n~~~\nwp font collection is-registered \u003cslug\u003e\n~~~\n\n**OPTIONS**\n\n\t\u003cslug\u003e\n\t\tFont collection slug.\n\n**EXAMPLES**\n\n    # Bash script for checking if a font collection is registered, with fallback.\n\n    if wp font collection is-registered google-fonts 2\u003e/dev/null; then\n        # Font collection is registered. Do something.\n    else\n        # Fallback if collection is not registered.\n    fi\n\n\n\n### wp font collection list\n\nLists registered font collections.\n\n~~~\nwp font collection list [--field=\u003cfield\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t[--field=\u003cfield\u003e]\n\t\tPrints the value of a single field for each collection.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific collection fields.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - count\n\t\t  - yaml\n\t\t---\n\n**AVAILABLE FIELDS**\n\nThese fields will be displayed by default for each collection:\n\n* slug\n* name\n* description\n* categories\n\n**EXAMPLES**\n\n    # List all font collections\n    $ wp font collection list\n    +------------------+-------------------+\n    | slug             | name              |\n    +------------------+-------------------+\n    | google-fonts     | Google Fonts      |\n    +------------------+-------------------+\n\n    # List collections in JSON format\n    $ wp font collection list --format=json\n    [{\"slug\":\"google-fonts\",\"name\":\"Google Fonts\"}]\n\n\n\n### wp font collection list-categories\n\nLists categories in a collection.\n\n~~~\nwp font collection list-categories \u003cslug\u003e [--field=\u003cfield\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cslug\u003e\n\t\tFont collection slug.\n\n\t[--field=\u003cfield\u003e]\n\t\tPrints the value of a single field for each category.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific category fields.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - count\n\t\t  - yaml\n\t\t---\n\n**AVAILABLE FIELDS**\n\n* slug\n* name\n\n**EXAMPLES**\n\n    # List all categories in a collection\n    $ wp font collection list-categories google-fonts\n    +-------------+--------------+\n    | slug        | name         |\n    +-------------+--------------+\n    | sans-serif  | Sans Serif   |\n    | display     | Display      |\n    +-------------+--------------+\n\n\n\n### wp font collection list-families\n\nLists font families in a collection.\n\n~~~\nwp font collection list-families \u003cslug\u003e [--category=\u003cslug\u003e] [--field=\u003cfield\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cslug\u003e\n\t\tFont collection slug.\n\n\t[--category=\u003cslug\u003e]\n\t\tFilter by category slug.\n\n\t[--field=\u003cfield\u003e]\n\t\tPrints the value of a single field for each family.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific family fields.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - count\n\t\t  - yaml\n\t\t---\n\n**AVAILABLE FIELDS**\n\n* slug\n* name\n* fontFamily\n* categories\n* preview\n\n**EXAMPLES**\n\n    # List all font families in a collection\n    $ wp font collection list-families google-fonts\n\n    # List font families in a specific category\n    $ wp font collection list-families google-fonts --category=sans-serif\n\n\n\n### wp font face\n\nManages font faces.\n\n~~~\nwp font face\n~~~\n\nTo list, get, create, update or delete font faces, use `wp post` with\n`--post_type=wp_font_face`.\n\n**EXAMPLES**\n\n    # Install a font face for an existing family\n    $ wp font face install 42 --src=\"https://example.com/font.woff2\" --font-weight=700\n    Success: Created font face 43.\n\n    # List installed font faces\n    $ wp post list --post_type=wp_font_face\n\n\n\n### wp font face install\n\nInstalls a font face.\n\n~~~\nwp font face install \u003cfamily-id\u003e --src=\u003csrc\u003e [--font-family=\u003cfamily\u003e] [--font-style=\u003cstyle\u003e] [--font-weight=\u003cweight\u003e] [--font-display=\u003cdisplay\u003e] [--porcelain]\n~~~\n\nCreates a new font face post with the specified settings.\n\n**OPTIONS**\n\n\t\u003cfamily-id\u003e\n\t\tFont family ID.\n\n\t--src=\u003csrc\u003e\n\t\tFont face source URL or file path.\n\n\t[--font-family=\u003cfamily\u003e]\n\t\tCSS font-family value.\n\n\t[--font-style=\u003cstyle\u003e]\n\t\tCSS font-style value (e.g., normal, italic).\n\t\t---\n\t\tdefault: normal\n\t\t---\n\n\t[--font-weight=\u003cweight\u003e]\n\t\tCSS font-weight value (e.g., 400, 700).\n\t\t---\n\t\tdefault: 400\n\t\t---\n\n\t[--font-display=\u003cdisplay\u003e]\n\t\tCSS font-display value.\n\n\t[--porcelain]\n\t\tOutput just the new font face ID.\n\n**EXAMPLES**\n\n    # Install a font face\n    $ wp font face install 42 --src=\"https://example.com/font.woff2\" --font-weight=700 --font-style=normal\n    Success: Created font face 43.\n\n    # Install a font face with porcelain output\n    $ wp font face install 42 --src=\"font.woff2\" --porcelain\n    44\n\n\n\n### wp font family\n\nManages font families.\n\n~~~\nwp font family\n~~~\n\nTo list, get, create, update or delete font families, use `wp post` with\n`--post_type=wp_font_family`.\n\n**EXAMPLES**\n\n    # Install a font family from a collection\n    $ wp font family install google-fonts inter\n    Success: Installed font family \"Inter\" (ID: 42) with 9 font faces.\n\n    # List installed font families\n    $ wp post list --post_type=wp_font_family\n\n\n\n### wp font family install\n\nInstalls a font family from a collection.\n\n~~~\nwp font family install \u003ccollection\u003e \u003cfamily\u003e [--porcelain]\n~~~\n\nRetrieves a font family from a collection and creates the wp_font_family post\nalong with all associated font faces.\n\n**OPTIONS**\n\n\t\u003ccollection\u003e\n\t\tFont collection slug.\n\n\t\u003cfamily\u003e\n\t\tFont family slug from the collection.\n\n\t[--porcelain]\n\t\tOutput just the new font family ID.\n\n**EXAMPLES**\n\n    # Install a font family from a collection\n    $ wp font family install google-fonts inter\n    Success: Installed font family \"Inter\" (ID: 42) with 9 font faces.\n\n    # Install and get the family ID\n    $ wp font family install google-fonts roboto --porcelain\n    43\n\n\n\n### wp menu\n\nLists, creates, assigns, and deletes the active theme's navigation menus.\n\n~~~\nwp menu\n~~~\n\nSee the [Navigation Menus](https://developer.wordpress.org/themes/functionality/navigation-menus/) reference in the Theme Handbook.\n\n**EXAMPLES**\n\n    # Create a new menu\n    $ wp menu create \"My Menu\"\n    Success: Created menu 200.\n\n    # List existing menus\n    $ wp menu list\n    +---------+----------+----------+-----------+-------+\n    | term_id | name     | slug     | locations | count |\n    +---------+----------+----------+-----------+-------+\n    | 200     | My Menu  | my-menu  |           | 0     |\n    | 177     | Top Menu | top-menu | primary   | 7     |\n    +---------+----------+----------+-----------+-------+\n\n    # Create a new menu link item\n    $ wp menu item add-custom my-menu Apple http://apple.com --porcelain\n    1922\n\n    # Assign the 'my-menu' menu to the 'primary' location\n    $ wp menu location assign my-menu primary\n    Success: Assigned location primary to menu my-menu.\n\n\n\n### wp menu create\n\nCreates a new menu.\n\n~~~\nwp menu create \u003cmenu-name\u003e [--porcelain]\n~~~\n\n**OPTIONS**\n\n\t\u003cmenu-name\u003e\n\t\tA descriptive name for the menu.\n\n\t[--porcelain]\n\t\tOutput just the new menu id.\n\n**EXAMPLES**\n\n    $ wp menu create \"My Menu\"\n    Success: Created menu 200.\n\n\n\n### wp menu delete\n\nDeletes one or more menus.\n\n~~~\nwp menu delete \u003cmenu\u003e...\n~~~\n\n**OPTIONS**\n\n\t\u003cmenu\u003e...\n\t\tThe name, slug, or term ID for the menu(s).\n\n**EXAMPLES**\n\n    $ wp menu delete \"My Menu\"\n    Deleted menu 'My Menu'.\n    Success: Deleted 1 of 1 menus.\n\n\n\n### wp menu item\n\nList, add, and delete items associated with a menu.\n\n~~~\nwp menu item\n~~~\n\n**EXAMPLES**\n\n    # Add an existing post to an existing menu\n    $ wp menu item add-post sidebar-menu 33 --title=\"Custom Test Post\"\n    Success: Menu item added.\n\n    # Create a new menu link item\n    $ wp menu item add-custom sidebar-menu Apple http://apple.com\n    Success: Menu item added.\n\n    # Delete menu item\n    $ wp menu item delete 45\n    Success: Deleted 1 of 1 menu items.\n\n\n\n\n\n### wp menu item add-custom\n\nAdds a custom menu item.\n\n~~~\nwp menu item add-custom \u003cmenu\u003e \u003ctitle\u003e \u003clink\u003e [--description=\u003cdescription\u003e] [--attr-title=\u003cattr-title\u003e] [--target=\u003ctarget\u003e] [--classes=\u003cclasses\u003e] [--position=\u003cposition\u003e] [--parent-id=\u003cparent-id\u003e] [--porcelain]\n~~~\n\n**OPTIONS**\n\n\t\u003cmenu\u003e\n\t\tThe name, slug, or term ID for the menu.\n\n\t\u003ctitle\u003e\n\t\tTitle for the link.\n\n\t\u003clink\u003e\n\t\tTarget URL for the link.\n\n\t[--description=\u003cdescription\u003e]\n\t\tSet a custom description for the menu item.\n\n\t[--attr-title=\u003cattr-title\u003e]\n\t\tSet a custom title attribute for the menu item.\n\n\t[--target=\u003ctarget\u003e]\n\t\tSet a custom link target for the menu item.\n\n\t[--classes=\u003cclasses\u003e]\n\t\tSet a custom link classes for the menu item.\n\n\t[--position=\u003cposition\u003e]\n\t\tSpecify the position of this menu item.\n\n\t[--parent-id=\u003cparent-id\u003e]\n\t\tMake this menu item a child of another menu item.\n\n\t[--porcelain]\n\t\tOutput just the new menu item id.\n\n**EXAMPLES**\n\n    $ wp menu item add-custom sidebar-menu Apple http://apple.com\n    Success: Menu item added.\n\n\n\n### wp menu item add-post\n\nAdds a post as a menu item.\n\n~~~\nwp menu item add-post \u003cmenu\u003e \u003cpost-id\u003e [--title=\u003ctitle\u003e] [--link=\u003clink\u003e] [--description=\u003cdescription\u003e] [--attr-title=\u003cattr-title\u003e] [--target=\u003ctarget\u003e] [--classes=\u003cclasses\u003e] [--position=\u003cposition\u003e] [--parent-id=\u003cparent-id\u003e] [--porcelain]\n~~~\n\n**OPTIONS**\n\n\t\u003cmenu\u003e\n\t\tThe name, slug, or term ID for the menu.\n\n\t\u003cpost-id\u003e\n\t\tPost ID to add to the menu.\n\n\t[--title=\u003ctitle\u003e]\n\t\tSet a custom title for the menu item.\n\n\t[--link=\u003clink\u003e]\n\t\tSet a custom url for the menu item.\n\n\t[--description=\u003cdescription\u003e]\n\t\tSet a custom description for the menu item.\n\n\t[--attr-title=\u003cattr-title\u003e]\n\t\tSet a custom title attribute for the menu item.\n\n\t[--target=\u003ctarget\u003e]\n\t\tSet a custom link target for the menu item.\n\n\t[--classes=\u003cclasses\u003e]\n\t\tSet a custom link classes for the menu item.\n\n\t[--position=\u003cposition\u003e]\n\t\tSpecify the position of this menu item.\n\n\t[--parent-id=\u003cparent-id\u003e]\n\t\tMake this menu item a child of another menu item.\n\n\t[--porcelain]\n\t\tOutput just the new menu item id.\n\n**EXAMPLES**\n\n    $ wp menu item add-post sidebar-menu 33 --title=\"Custom Test Post\"\n    Success: Menu item added.\n\n\n\n### wp menu item add-term\n\nAdds a taxonomy term as a menu item.\n\n~~~\nwp menu item add-term \u003cmenu\u003e \u003ctaxonomy\u003e \u003cterm-id\u003e [--title=\u003ctitle\u003e] [--link=\u003clink\u003e] [--description=\u003cdescription\u003e] [--attr-title=\u003cattr-title\u003e] [--target=\u003ctarget\u003e] [--classes=\u003cclasses\u003e] [--position=\u003cposition\u003e] [--parent-id=\u003cparent-id\u003e] [--porcelain]\n~~~\n\n**OPTIONS**\n\n\t\u003cmenu\u003e\n\t\tThe name, slug, or term ID for the menu.\n\n\t\u003ctaxonomy\u003e\n\t\tTaxonomy of the term to be added.\n\n\t\u003cterm-id\u003e\n\t\tTerm ID of the term to be added.\n\n\t[--title=\u003ctitle\u003e]\n\t\tSet a custom title for the menu item.\n\n\t[--link=\u003clink\u003e]\n\t\tSet a custom url for the menu item.\n\n\t[--description=\u003cdescription\u003e]\n\t\tSet a custom description for the menu item.\n\n\t[--attr-title=\u003cattr-title\u003e]\n\t\tSet a custom title attribute for the menu item.\n\n\t[--target=\u003ctarget\u003e]\n\t\tSet a custom link target for the menu item.\n\n\t[--classes=\u003cclasses\u003e]\n\t\tSet a custom link classes for the menu item.\n\n\t[--position=\u003cposition\u003e]\n\t\tSpecify the position of this menu item.\n\n\t[--parent-id=\u003cparent-id\u003e]\n\t\tMake this menu item a child of another menu item.\n\n\t[--porcelain]\n\t\tOutput just the new menu item id.\n\n**EXAMPLES**\n\n    $ wp menu item add-term sidebar-menu post_tag 24\n    Success: Menu item added.\n\n\n\n### wp menu item delete\n\nDeletes one or more items from a menu.\n\n~~~\nwp menu item delete \u003cdb-id\u003e...\n~~~\n\n**OPTIONS**\n\n\t\u003cdb-id\u003e...\n\t\tDatabase ID for the menu item(s).\n\n**EXAMPLES**\n\n    $ wp menu item delete 45\n    Success: Deleted 1 of 1 menu items.\n\n\n\n### wp menu item get\n\nGets details about a menu item.\n\n~~~\nwp menu item get \u003cdb-id\u003e [--field=\u003cfield\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cdb-id\u003e\n\t\tDatabase ID for the menu item.\n\n\t[--field=\u003cfield\u003e]\n\t\tInstead of returning the whole menu item, returns the value of a single field.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific fields. Defaults to db_id, type, title, link, position.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - yaml\n\t\t---\n\n**AVAILABLE FIELDS**\n\nThese fields are available:\n\n* db_id\n* type\n* title\n* link\n* position\n* menu_item_parent\n* object_id\n* object\n* type_label\n* target\n* attr_title\n* description\n* classes\n* xfn\n\n**EXAMPLES**\n\n    # Get details about a menu item with ID 45\n    $ wp menu item get 45\n    +-------------+----------------------------------+\n    | Field       | Value                            |\n    +-------------+----------------------------------+\n    | db_id       | 45                               |\n    | type        | custom                           |\n    | title       | WordPress                        |\n    | link        | https://wordpress.org            |\n    | position    | 1                                |\n    +-------------+----------------------------------+\n\n    # Get a specific field from a menu item\n    $ wp menu item get 45 --field=title\n    WordPress\n\n    # Get menu item data in JSON format\n    $ wp menu item get 45 --format=json\n    {\"db_id\":45,\"type\":\"custom\",\"title\":\"WordPress\",\"link\":\"https://wordpress.org\",\"position\":1}\n\n\n\n### wp menu item list\n\nGets a list of items associated with a menu.\n\n~~~\nwp menu item list \u003cmenu\u003e [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cmenu\u003e\n\t\tThe name, slug, or term ID for the menu.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific object fields.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - count\n\t\t  - ids\n\t\t  - yaml\n\t\t---\n\n**AVAILABLE FIELDS**\n\nThese fields will be displayed by default for each menu item:\n\n* db_id\n* type\n* title\n* link\n* position\n\nThese fields are optionally available:\n\n* menu_item_parent\n* object_id\n* object\n* type\n* type_label\n* target\n* attr_title\n* description\n* classes\n* xfn\n\n**EXAMPLES**\n\n    $ wp menu item list main-menu\n    +-------+-----------+-------------+---------------------------------+----------+\n    | db_id | type      | title       | link                            | position |\n    +-------+-----------+-------------+---------------------------------+----------+\n    | 5     | custom    | Home        | http://example.com              | 1        |\n    | 6     | post_type | Sample Page | http://example.com/sample-page/ | 2        |\n    +-------+-----------+-------------+---------------------------------+----------+\n\n\n\n### wp menu item update\n\nUpdates a menu item.\n\n~~~\nwp menu item update \u003cdb-id\u003e [--title=\u003ctitle\u003e] [--link=\u003clink\u003e] [--description=\u003cdescription\u003e] [--attr-title=\u003cattr-title\u003e] [--target=\u003ctarget\u003e] [--classes=\u003cclasses\u003e] [--position=\u003cposition\u003e] [--parent-id=\u003cparent-id\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cdb-id\u003e\n\t\tDatabase ID for the menu item.\n\n\t[--title=\u003ctitle\u003e]\n\t\tSet a custom title for the menu item.\n\n\t[--link=\u003clink\u003e]\n\t\tSet a custom url for the menu item.\n\n\t[--description=\u003cdescription\u003e]\n\t\tSet a custom description for the menu item.\n\n\t[--attr-title=\u003cattr-title\u003e]\n\t\tSet a custom title attribute for the menu item.\n\n\t[--target=\u003ctarget\u003e]\n\t\tSet a custom link target for the menu item.\n\n\t[--classes=\u003cclasses\u003e]\n\t\tSet a custom link classes for the menu item.\n\n\t[--position=\u003cposition\u003e]\n\t\tSpecify the position of this menu item.\n\n\t[--parent-id=\u003cparent-id\u003e]\n\t\tMake this menu item a child of another menu item.\n\n**EXAMPLES**\n\n    $ wp menu item update 45 --title=WordPress --link='http://wordpress.org' --target=_blank --position=2\n    Success: Menu item updated.\n\n\n\n### wp menu list\n\nGets a list of menus.\n\n~~~\nwp menu list [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific object fields.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - count\n\t\t  - ids\n\t\t  - yaml\n\t\t---\n\n**AVAILABLE FIELDS**\n\nThese fields will be displayed by default for each menu:\n\n* term_id\n* name\n* slug\n* count\n\nThese fields are optionally available:\n\n* term_group\n* term_taxonomy_id\n* taxonomy\n* description\n* parent\n* locations\n\n**EXAMPLES**\n\n    $ wp menu list\n    +---------+----------+----------+-----------+-------+\n    | term_id | name     | slug     | locations | count |\n    +---------+----------+----------+-----------+-------+\n    | 200     | My Menu  | my-menu  |           | 0     |\n    | 177     | Top Menu | top-menu | primary   | 7     |\n    +---------+----------+----------+-----------+-------+\n\n\n\n### wp menu location\n\nAssigns, removes, and lists a menu's locations.\n\n~~~\nwp menu location\n~~~\n\n**EXAMPLES**\n\n    # List available menu locations\n    $ wp menu location list\n    +----------+-------------------+\n    | location | description       |\n    +----------+-------------------+\n    | primary  | Primary Menu      |\n    | social   | Social Links Menu |\n    +----------+-------------------+\n\n    # Assign the 'primary-menu' menu to the 'primary' location\n    $ wp menu location assign primary-menu primary\n    Success: Assigned location primary to menu primary-menu.\n\n    # Remove the 'primary-menu' menu from the 'primary' location\n    $ wp menu location remove primary-menu primary\n    Success: Removed location from menu.\n\n\n\n\n\n### wp menu location assign\n\nAssigns a location to a menu.\n\n~~~\nwp menu location assign \u003cmenu\u003e \u003clocation\u003e\n~~~\n\n**OPTIONS**\n\n\t\u003cmenu\u003e\n\t\tThe name, slug, or term ID for the menu.\n\n\t\u003clocation\u003e\n\t\tLocation's slug.\n\n**EXAMPLES**\n\n    $ wp menu location assign primary-menu primary\n    Success: Assigned location primary to menu primary-menu.\n\n\n\n### wp menu location list\n\nLists locations for the current theme.\n\n~~~\nwp menu location list [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - count\n\t\t  - yaml\n\t\t  - ids\n\t\t---\n\n**AVAILABLE FIELDS**\n\nThese fields will be displayed by default for each location:\n\n* name\n* description\n\n**EXAMPLES**\n\n    $ wp menu location list\n    +----------+-------------------+\n    | location | description       |\n    +----------+-------------------+\n    | primary  | Primary Menu      |\n    | social   | Social Links Menu |\n    +----------+-------------------+\n\n\n\n### wp menu location remove\n\nRemoves a location from a menu.\n\n~~~\nwp menu location remove \u003cmenu\u003e \u003clocation\u003e\n~~~\n\n**OPTIONS**\n\n\t\u003cmenu\u003e\n\t\tThe name, slug, or term ID for the menu.\n\n\t\u003clocation\u003e\n\t\tLocation's slug.\n\n**EXAMPLES**\n\n    $ wp menu location remove primary-menu primary\n    Success: Removed location from menu.\n\n\n\n### wp network\n\nPerform network-wide operations.\n\n~~~\nwp network\n~~~\n\n**EXAMPLES**\n\n    # Get a list of super-admins\n    $ wp network meta get 1 site_admins\n    array (\n      0 =\u003e 'supervisor',\n    )\n\n\n\n### wp network meta\n\nGets, adds, updates, deletes, and lists network custom fields.\n\n~~~\nwp network meta\n~~~\n\n**EXAMPLES**\n\n    # Get a list of super-admins\n    $ wp network meta get 1 site_admins\n    array (\n      0 =\u003e 'supervisor',\n    )\n\n\n\n### wp network meta add\n\nAdd a meta field.\n\n~~~\nwp network meta add \u003cid\u003e \u003ckey\u003e [\u003cvalue\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ckey\u003e\n\t\tThe name of the meta field to create.\n\n\t[\u003cvalue\u003e]\n\t\tThe value of the meta field. If omitted, the value is read from STDIN.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe serialization format for the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t---\n\n\n\n### wp network meta delete\n\nDelete a meta field.\n\n~~~\nwp network meta delete \u003cid\u003e [\u003ckey\u003e] [\u003cvalue\u003e] [--all]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t[\u003ckey\u003e]\n\t\tThe name of the meta field to delete.\n\n\t[\u003cvalue\u003e]\n\t\tThe value to delete. If omitted, all rows with key will deleted.\n\n\t[--all]\n\t\tDelete all meta for the object.\n\n\n\n### wp network meta get\n\nGet meta field value.\n\n~~~\nwp network meta get \u003cid\u003e \u003ckey\u003e [--single] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ckey\u003e\n\t\tThe name of the meta field to get.\n\n\t[--single]\n\t\tWhether to return a single value.\n\n\t[--format=\u003cformat\u003e]\n\t\tGet value in a particular format.\n\t\t---\n\t\tdefault: var_export\n\t\toptions:\n\t\t  - var_export\n\t\t  - json\n\t\t  - yaml\n\t\t---\n\n\n\n### wp network meta list\n\nList all metadata associated with an object.\n\n~~~\nwp network meta list \u003cid\u003e [--keys=\u003ckeys\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e] [--orderby=\u003cfields\u003e] [--order=\u003corder\u003e] [--unserialize]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tID for the object.\n\n\t[--keys=\u003ckeys\u003e]\n\t\tLimit output to metadata of specific keys.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific row fields. Defaults to id,meta_key,meta_value.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - yaml\n\t\t  - count\n\t\t---\n\n\t[--orderby=\u003cfields\u003e]\n\t\tSet orderby which field.\n\t\t---\n\t\tdefault: id\n\t\toptions:\n\t\t - id\n\t\t - meta_key\n\t\t - meta_value\n\t\t---\n\n\t[--order=\u003corder\u003e]\n\t\tSet ascending or descending order.\n\t\t---\n\t\tdefault: asc\n\t\toptions:\n\t\t - asc\n\t\t - desc\n\t\t---\n\n\t[--unserialize]\n\t\tUnserialize meta_value output.\n\n\n\n### wp network meta patch\n\nUpdate a nested value for a meta field.\n\n~~~\nwp network meta patch \u003caction\u003e \u003cid\u003e \u003ckey\u003e \u003ckey-path\u003e... [\u003cvalue\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003caction\u003e\n\t\tPatch action to perform.\n\t\t---\n\t\toptions:\n\t\t  - insert\n\t\t  - update\n\t\t  - delete\n\t\t---\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ckey\u003e\n\t\tThe name of the meta field to update.\n\n\t\u003ckey-path\u003e...\n\t\tThe name(s) of the keys within the value to locate the value to patch.\n\n\t[\u003cvalue\u003e]\n\t\tThe new value. If omitted, the value is read from STDIN.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe serialization format for the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t---\n\n\n\n### wp network meta pluck\n\nGet a nested value from a meta field.\n\n~~~\nwp network meta pluck \u003cid\u003e \u003ckey\u003e \u003ckey-path\u003e... [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ckey\u003e\n\t\tThe name of the meta field to get.\n\n\t\u003ckey-path\u003e...\n\t\tThe name(s) of the keys within the value to locate the value to pluck.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe output format of the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t  - yaml\n\n\n\n### wp network meta update\n\nUpdate a meta field.\n\n~~~\nwp network meta update \u003cid\u003e \u003ckey\u003e [\u003cvalue\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**Alias:** `set`\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ckey\u003e\n\t\tThe name of the meta field to update.\n\n\t[\u003cvalue\u003e]\n\t\tThe new value. If omitted, the value is read from STDIN.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe serialization format for the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t---\n\n\n\n### wp option\n\nRetrieves and sets site options, including plugin and WordPress settings.\n\n~~~\nwp option\n~~~\n\nSee the [Plugin Settings API](https://developer.wordpress.org/plugins/settings/settings-api/) and the [Theme Options](https://developer.wordpress.org/themes/customize-api/) for more information on adding customized options.\n\n**COMMON OPTIONS**\n\nThese are some of the most commonly used WordPress options:\n\n* `siteurl` - Site URL, e.g. http://example.com\n* `blogname` - Site title\n* `blogdescription` - Site tagline\n* `admin_email` - Administration email address\n* `default_role` - Default role for new users\n* `timezone_string` - Local timezone, e.g. \"America/New_York\"\n* `home` - Home URL, e.g. http://example.com\n* `blog_public` - Discourage search engines when set to 0\n\nFor the full list of available options, see the [Option Reference](https://developer.wordpress.org/apis/options/).\n\n**EXAMPLES**\n\n    # Get site URL.\n    $ wp option get siteurl\n    http://example.com\n\n    # Add option.\n    $ wp option add my_option foobar\n    Success: Added 'my_option' option.\n\n    # Update option.\n    $ wp option update my_option '{\"foo\": \"bar\"}' --format=json\n    Success: Updated 'my_option' option.\n\n    # Delete option.\n    $ wp option delete my_option\n    Success: Deleted 'my_option' option.\n\n\n\n### wp option add\n\nAdds a new option value.\n\n~~~\nwp option add \u003ckey\u003e [\u003cvalue\u003e] [--format=\u003cformat\u003e] [--autoload=\u003cautoload\u003e]\n~~~\n\nErrors if the option already exists.\n\n**OPTIONS**\n\n\t\u003ckey\u003e\n\t\tThe name of the option to add.\n\n\t[\u003cvalue\u003e]\n\t\tThe value of the option to add. If omitted, the value is read from STDIN.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe serialization format for the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t---\n\n\t[--autoload=\u003cautoload\u003e]\n\t\tShould this option be automatically loaded.\n\t\t---\n\t\toptions:\n\t\t  - 'on'\n\t\t  - 'off'\n\t\t  - 'yes'\n\t\t  - 'no'\n\t\t---\n\n**EXAMPLES**\n\n    # Create an option by reading a JSON file.\n    $ wp option add my_option --format=json \u003c config.json\n    Success: Added 'my_option' option.\n\n\n\n### wp option delete\n\nDeletes an option.\n\n~~~\nwp option delete \u003ckey\u003e...\n~~~\n\n**OPTIONS**\n\n\t\u003ckey\u003e...\n\t\tKey for the option.\n\n**EXAMPLES**\n\n    # Delete an option.\n    $ wp option delete my_option\n    Success: Deleted 'my_option' option.\n\n    # Delete multiple options.\n    $ wp option delete option_one option_two option_three\n    Success: Deleted 'option_one' option.\n    Success: Deleted 'option_two' option.\n    Warning: Could not delete 'option_three' option. Does it exist?\n\n\n\n### wp option get\n\nGets the value for an option.\n\n~~~\nwp option get \u003ckey\u003e [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003ckey\u003e\n\t\tKey for the option.\n\n\t[--format=\u003cformat\u003e]\n\t\tGet value in a particular format.\n\t\t---\n\t\tdefault: var_export\n\t\toptions:\n\t\t  - var_export\n\t\t  - json\n\t\t  - yaml\n\t\t---\n\n**EXAMPLES**\n\n    # Get option.\n    $ wp option get home\n    http://example.com\n\n    # Get blog description.\n    $ wp option get blogdescription\n    A random blog description\n\n    # Get blog name\n    $ wp option get blogname\n    A random blog name\n\n    # Get admin email.\n    $ wp option get admin_email\n    someone@example.com\n\n    # Get option in JSON format.\n    $ wp option get active_plugins --format=json\n    {\"0\":\"dynamically-dynamic-sidebar\\/dynamically-dynamic-sidebar.php\",\"1\":\"monster-widget\\/monster-widget.php\",\"2\":\"show-current-template\\/show-current-template.php\",\"3\":\"theme-check\\/theme-check.php\",\"5\":\"wordpress-importer\\/wordpress-importer.php\"}\n\n\n\n### wp option list\n\nLists options and their values.\n\n~~~\nwp option list [--search=\u003cpattern\u003e] [--exclude=\u003cpattern\u003e] [--autoload=\u003cvalue\u003e] [--transients] [--unserialize] [--field=\u003cfield\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e] [--orderby=\u003cfields\u003e] [--order=\u003corder\u003e]\n~~~\n\n**OPTIONS**\n\n\t[--search=\u003cpattern\u003e]\n\t\tUse wildcards ( * and ? ) to match option name.\n\n\t[--exclude=\u003cpattern\u003e]\n\t\tPattern to exclude. Use wildcards ( * and ? ) to match option name.\n\n\t[--autoload=\u003cvalue\u003e]\n\t\tMatch only autoload options when value is on, and only not-autoload option when off.\n\n\t[--transients]\n\t\tList only transients. Use `--no-transients` to ignore all transients.\n\n\t[--unserialize]\n\t\tUnserialize option values in output.\n\n\t[--field=\u003cfield\u003e]\n\t\tPrints the value of a single field.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific object fields.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe serialization format for the value. total_bytes displays the total size of matching options in bytes.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - json\n\t\t  - csv\n\t\t  - count\n\t\t  - yaml\n\t\t  - total_bytes\n\t\t---\n\n\t[--orderby=\u003cfields\u003e]\n\t\tSet orderby which field.\n\t\t---\n\t\tdefault: option_id\n\t\toptions:\n\t\t - option_id\n\t\t - option_name\n\t\t - option_value\n\t\t---\n\n\t[--order=\u003corder\u003e]\n\t\tSet ascending or descending order.\n\t\t---\n\t\tdefault: asc\n\t\toptions:\n\t\t - asc\n\t\t - desc\n\t\t---\n\n**AVAILABLE FIELDS**\n\nThis field will be displayed by default for each matching option:\n\n* option_name\n* option_value\n\nThese fields are optionally available:\n\n* autoload\n* size_bytes\n\n**EXAMPLES**\n\n    # Get the total size of all autoload options.\n    $ wp option list --autoload=on --format=total_bytes\n    33198\n\n    # Find biggest transients.\n    $ wp option list --search=\"*_transient_*\" --fields=option_name,size_bytes | sort -n -k 2 | tail\n    option_name size_bytes\n    _site_transient_timeout_theme_roots 10\n    _site_transient_theme_roots 76\n    _site_transient_update_themes   181\n    _site_transient_update_core 808\n    _site_transient_update_plugins  6645\n\n    # List all options beginning with \"i2f_\".\n    $ wp option list --search=\"i2f_*\"\n    +-------------+--------------+\n    | option_name | option_value |\n    +-------------+--------------+\n    | i2f_version | 0.1.0        |\n    +-------------+--------------+\n\n    # Delete all options beginning with \"theme_mods_\".\n    $ wp option list --search=\"theme_mods_*\" --field=option_name | xargs -I % wp option delete %\n    Success: Deleted 'theme_mods_twentysixteen' option.\n    Success: Deleted 'theme_mods_twentyfifteen' option.\n    Success: Deleted 'theme_mods_twentyfourteen' option.\n\n\n\n### wp option patch\n\nUpdates a nested value in an option.\n\n~~~\nwp option patch \u003caction\u003e \u003ckey\u003e \u003ckey-path\u003e... [\u003cvalue\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003caction\u003e\n\t\tPatch action to perform.\n\t\t---\n\t\toptions:\n\t\t  - insert\n\t\t  - update\n\t\t  - delete\n\t\t---\n\n\t\u003ckey\u003e\n\t\tThe option name.\n\n\t\u003ckey-path\u003e...\n\t\tThe name(s) of the keys within the value to locate the value to patch.\n\n\t[\u003cvalue\u003e]\n\t\tThe new value. If omitted, the value is read from STDIN.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe serialization format for the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t---\n\n**EXAMPLES**\n\n    # Add 'bar' to the 'foo' key on an option with name 'option_name'\n    $ wp option patch insert option_name foo bar\n    Success: Updated 'option_name' option.\n\n    # Update the value of 'foo' key to 'new' on an option with name 'option_name'\n    $ wp option patch update option_name foo new\n    Success: Updated 'option_name' option.\n\n    # Set nested value of 'bar' key to value we have in the patch file on an option with name 'option_name'.\n    $ wp option patch update option_name foo bar \u003c patch\n    Success: Updated 'option_name' option.\n\n    # Update the value for the key 'not-a-key' which is not exist on an option with name 'option_name'.\n    $ wp option patch update option_name foo not-a-key new-value\n    Error: No data exists for key \"not-a-key\"\n\n    # Update the value for the key 'foo' without passing value on an option with name 'option_name'.\n    $ wp option patch update option_name foo\n    Error: Please provide value to update.\n\n    # Delete the nested key 'bar' under 'foo' key on an option with name 'option_name'.\n    $ wp option patch delete option_name foo bar\n    Success: Updated 'option_name' option.\n\n\n\n### wp option pluck\n\nGets a nested value from an option.\n\n~~~\nwp option pluck \u003ckey\u003e \u003ckey-path\u003e... [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003ckey\u003e\n\t\tThe option name.\n\n\t\u003ckey-path\u003e...\n\t\tThe name(s) of the keys within the value to locate the value to pluck.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe output format of the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t  - yaml\n\t\t---\n\n\n\n### wp option update\n\nUpdates an option value.\n\n~~~\nwp option update \u003ckey\u003e [\u003cvalue\u003e] [--autoload=\u003cautoload\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**Alias:** `set`\n\n**OPTIONS**\n\n\t\u003ckey\u003e\n\t\tThe name of the option to update.\n\n\t[\u003cvalue\u003e]\n\t\tThe new value. If omitted, the value is read from STDIN.\n\n\t[--autoload=\u003cautoload\u003e]\n\t\tRequires WP 4.2. Should this option be automatically loaded.\n\t\t---\n\t\toptions:\n\t\t  - 'on'\n\t\t  - 'off'\n\t\t  - 'yes'\n\t\t  - 'no'\n\t\t---\n\n\t[--format=\u003cformat\u003e]\n\t\tThe serialization format for the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t---\n\n**EXAMPLES**\n\n    # Update an option by reading from a file.\n    $ wp option update my_option \u003c value.txt\n    Success: Updated 'my_option' option.\n\n    # Update one option on multiple sites using xargs.\n    $ wp site list --field=url | xargs -n1 -I {} sh -c 'wp --url={} option update my_option my_value'\n    Success: Updated 'my_option' option.\n    Success: Updated 'my_option' option.\n\n    # Update site blog name.\n    $ wp option update blogname \"Random blog name\"\n    Success: Updated 'blogname' option.\n\n    # Update site blog description.\n    $ wp option update blogdescription \"Some random blog description\"\n    Success: Updated 'blogdescription' option.\n\n    # Update admin email address.\n    $ wp option update admin_email someone@example.com\n    Success: Updated 'admin_email' option.\n\n    # Set the default role.\n    $ wp option update default_role author\n    Success: Updated 'default_role' option.\n\n    # Set the timezone string.\n    $ wp option update timezone_string \"America/New_York\"\n    Success: Updated 'timezone_string' option.\n\n\n\n### wp option set-autoload\n\nSets the 'autoload' value for an option.\n\n~~~\nwp option set-autoload \u003ckey\u003e \u003cautoload\u003e\n~~~\n\n**OPTIONS**\n\n\t\u003ckey\u003e\n\t\tThe name of the option to set 'autoload' for.\n\n\t\u003cautoload\u003e\n\t\tShould this option be automatically loaded.\n\t\t---\n\t\toptions:\n\t\t  - 'on'\n\t\t  - 'off'\n\t\t  - 'yes'\n\t\t  - 'no'\n\t\t---\n\n**EXAMPLES**\n\n    # Set the 'autoload' value for an option.\n    $ wp option set-autoload abc_options no\n    Success: Updated autoload value for 'abc_options' option.\n\n\n\n### wp option get-autoload\n\nGets the 'autoload' value for an option.\n\n~~~\nwp option get-autoload \u003ckey\u003e\n~~~\n\n**OPTIONS**\n\n\t\u003ckey\u003e\n\t\tThe name of the option to get 'autoload' of.\n\n**EXAMPLES**\n\n    # Get the 'autoload' value for an option.\n    $ wp option get-autoload blogname\n    yes\n\n\n\n### wp post\n\nManages posts, content, and meta.\n\n~~~\nwp post\n~~~\n\n**EXAMPLES**\n\n    # Create a new post.\n    $ wp post create --post_type=post --post_title='A sample post'\n    Success: Created post 123.\n\n    # Update an existing post.\n    $ wp post update 123 --post_status=draft\n    Success: Updated post 123.\n\n    # Delete an existing post.\n    $ wp post delete 123\n    Success: Trashed post 123.\n\n\n\n### wp post create\n\nCreates a new post.\n\n~~~\nwp post create [--post_author=\u003cpost_author\u003e] [--post_date=\u003cpost_date\u003e] [--post_date_gmt=\u003cpost_date_gmt\u003e] [--post_content=\u003cpost_content\u003e] [--post_content_filtered=\u003cpost_content_filtered\u003e] [--post_title=\u003cpost_title\u003e] [--post_excerpt=\u003cpost_excerpt\u003e] [--post_status=\u003cpost_status\u003e] [--post_type=\u003cpost_type\u003e] [--comment_status=\u003ccomment_status\u003e] [--ping_status=\u003cping_status\u003e] [--post_password=\u003cpost_password\u003e] [--post_name=\u003cpost_name\u003e] [--from-post=\u003cpost_id\u003e] [--to_ping=\u003cto_ping\u003e] [--pinged=\u003cpinged\u003e] [--post_modified=\u003cpost_modified\u003e] [--post_modified_gmt=\u003cpost_modified_gmt\u003e] [--post_parent=\u003cpost_parent\u003e] [--menu_order=\u003cmenu_order\u003e] [--post_mime_type=\u003cpost_mime_type\u003e] [--guid=\u003cguid\u003e] [--post_category=\u003cpost_category\u003e] [--tags_input=\u003ctags_input\u003e] [--tax_input=\u003ctax_input\u003e] [--meta_input=\u003cmeta_input\u003e] [\u003cfile\u003e] [--\u003cfield\u003e=\u003cvalue\u003e] [--edit] [--porcelain]\n~~~\n\n**OPTIONS**\n\n\t[--post_author=\u003cpost_author\u003e]\n\t\tThe ID of the user who added the post. Default is the current user ID.\n\n\t[--post_date=\u003cpost_date\u003e]\n\t\tThe date of the post. Default is the current time.\n\n\t[--post_date_gmt=\u003cpost_date_gmt\u003e]\n\t\tThe date of the post in the GMT timezone. Default is the value of $post_date.\n\n\t[--post_content=\u003cpost_content\u003e]\n\t\tThe post content. Default empty.\n\n\t[--post_content_filtered=\u003cpost_content_filtered\u003e]\n\t\tThe filtered post content. Default empty.\n\n\t[--post_title=\u003cpost_title\u003e]\n\t\tThe post title. Default empty.\n\n\t[--post_excerpt=\u003cpost_excerpt\u003e]\n\t\tThe post excerpt. Default empty.\n\n\t[--post_status=\u003cpost_status\u003e]\n\t\tThe post status. Default 'draft'.\n\n\t[--post_type=\u003cpost_type\u003e]\n\t\tThe post type. Default 'post'.\n\n\t[--comment_status=\u003ccomment_status\u003e]\n\t\tWhether the post can accept comments. Accepts 'open' or 'closed'. Default is the value of 'default_comment_status' option.\n\n\t[--ping_status=\u003cping_status\u003e]\n\t\tWhether the post can accept pings. Accepts 'open' or 'closed'. Default is the value of 'default_ping_status' option.\n\n\t[--post_password=\u003cpost_password\u003e]\n\t\tThe password to access the post. Default empty.\n\n\t[--post_name=\u003cpost_name\u003e]\n\t\tThe post name. Default is the sanitized post title when creating a new post.\n\n\t[--from-post=\u003cpost_id\u003e]\n\t\tPost id of a post to be duplicated.\n\n\t[--to_ping=\u003cto_ping\u003e]\n\t\tSpace or carriage return-separated list of URLs to ping. Default empty.\n\n\t[--pinged=\u003cpinged\u003e]\n\t\tSpace or carriage return-separated list of URLs that have been pinged. Default empty.\n\n\t[--post_modified=\u003cpost_modified\u003e]\n\t\tThe date when the post was last modified. Default is the current time.\n\n\t[--post_modified_gmt=\u003cpost_modified_gmt\u003e]\n\t\tThe date when the post was last modified in the GMT timezone. Default is the current time.\n\n\t[--post_parent=\u003cpost_parent\u003e]\n\t\tSet this for the post it belongs to, if any. Default 0.\n\n\t[--menu_order=\u003cmenu_order\u003e]\n\t\tThe order the post should be displayed in. Default 0.\n\n\t[--post_mime_type=\u003cpost_mime_type\u003e]\n\t\tThe mime type of the post. Default empty.\n\n\t[--guid=\u003cguid\u003e]\n\t\tGlobal Unique ID for referencing the post. Default empty.\n\n\t[--post_category=\u003cpost_category\u003e]\n\t\tArray of category names, slugs, or IDs. Defaults to value of the 'default_category' option.\n\n\t[--tags_input=\u003ctags_input\u003e]\n\t\tArray of tag names, slugs, or IDs. Default empty.\n\n\t[--tax_input=\u003ctax_input\u003e]\n\t\tArray of taxonomy terms keyed by their taxonomy name. Default empty.\n\n\t\tNote: In WordPress core, this normally requires a user context to satisfy capability checks. WP-CLI bypasses this for convenience. See https://core.trac.wordpress.org/ticket/19373\n\n\t[--meta_input=\u003cmeta_input\u003e]\n\t\tArray in JSON format of post meta values keyed by their post meta key. Default empty.\n\n\t[\u003cfile\u003e]\n\t\tRead post content from \u003cfile\u003e. If this value is present, the\n\t\t    `--post_content` argument will be ignored.\n\n\t\tPassing `-` as the filename will cause post content to\n\t\tbe read from STDIN.\n\n\t[--\u003cfield\u003e=\u003cvalue\u003e]\n\t\tAssociative args for the new post. See wp_insert_post().\n\n\t[--edit]\n\t\tImmediately open system's editor to write or edit post content.\n\n\t\tIf content is read from a file, from STDIN, or from the `--post_content`\n\t\targument, that text will be loaded into the editor.\n\n\t[--porcelain]\n\t\tOutput just the new post id.\n\n**EXAMPLES**\n\n    # Create post and schedule for future\n    $ wp post create --post_type=post --post_title='A future post' --post_status=future --post_date='2030-12-01 07:00:00'\n    Success: Created post 1921.\n\n    # Create post with content from given file\n    $ wp post create ./post-content.txt --post_category=201,345 --post_title='Post from file'\n    Success: Created post 1922.\n\n    # Create a post with multiple meta values.\n    $ wp post create --post_title='A post' --post_content='Just a small post.' --meta_input='{\"key1\":\"value1\",\"key2\":\"value2\"}'\n    Success: Created post 1923.\n\n    # Create a duplicate post from existing posts.\n    $ wp post create --from-post=123 --post_title='Different Title'\n    Success: Created post 2350.\n\n\n\n### wp post delete\n\nDeletes an existing post.\n\n~~~\nwp post delete \u003cid\u003e... [--force] [--defer-term-counting]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e...\n\t\tOne or more IDs of posts to delete.\n\n\t[--force]\n\t\tSkip the trash bin.\n\n\t[--defer-term-counting]\n\t\tRecalculate term count in batch, for a performance boost.\n\n**EXAMPLES**\n\n    # Delete post skipping trash\n    $ wp post delete 123 --force\n    Success: Deleted post 123.\n\n    # Delete multiple posts\n    $ wp post delete 123 456 789\n    Success: Trashed post 123.\n    Success: Trashed post 456.\n    Success: Trashed post 789.\n\n    # Delete all pages\n    $ wp post delete $(wp post list --post_type='page' --format=ids)\n    Success: Trashed post 1164.\n    Success: Trashed post 1186.\n\n    # Delete all posts in the trash\n    $ wp post delete $(wp post list --post_status=trash --format=ids)\n    Success: Deleted post 1268.\n    Success: Deleted post 1294.\n\n\n\n### wp post edit\n\nLaunches system editor to edit post content.\n\n~~~\nwp post edit \u003cid\u003e\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the post to edit.\n\n**EXAMPLES**\n\n    # Launch system editor to edit post\n    $ wp post edit 123\n\n\n\n### wp post exists\n\nVerifies whether a post exists.\n\n~~~\nwp post exists \u003cid\u003e\n~~~\n\nDisplays a success message if the post does exist.\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the post to check.\n\n**EXAMPLES**\n\n    # The post exists.\n    $ wp post exists 1337\n    Success: Post with ID 1337 exists.\n    $ echo $?\n    0\n\n    # The post does not exist.\n    $ wp post exists 10000\n    $ echo $?\n    1\n\n\n\n### wp post generate\n\nGenerates some posts.\n\n~~~\nwp post generate [--count=\u003cnumber\u003e] [--post_type=\u003ctype\u003e] [--post_status=\u003cstatus\u003e] [--post_title=\u003cpost_title\u003e] [--post_author=\u003clogin\u003e] [--post_date=\u003cyyyy-mm-dd-hh-ii-ss\u003e] [--post_date_gmt=\u003cyyyy-mm-dd-hh-ii-ss\u003e] [--post_content] [--max_depth=\u003cnumber\u003e] [--format=\u003cformat\u003e]\n~~~\n\nCreates a specified number of new posts with dummy data.\n\n**OPTIONS**\n\n\t[--count=\u003cnumber\u003e]\n\t\tHow many posts to generate?\n\t\t---\n\t\tdefault: 100\n\t\t---\n\n\t[--post_type=\u003ctype\u003e]\n\t\tThe type of the generated posts.\n\t\t---\n\t\tdefault: post\n\t\t---\n\n\t[--post_status=\u003cstatus\u003e]\n\t\tThe status of the generated posts.\n\t\t---\n\t\tdefault: publish\n\t\t---\n\n\t[--post_title=\u003cpost_title\u003e]\n\t\tThe post title.\n\t\t---\n\t\tdefault:\n\t\t---\n\n\t[--post_author=\u003clogin\u003e]\n\t\tThe author of the generated posts.\n\t\t---\n\t\tdefault:\n\t\t---\n\n\t[--post_date=\u003cyyyy-mm-dd-hh-ii-ss\u003e]\n\t\tThe date of the post. Default is the current time.\n\n\t[--post_date_gmt=\u003cyyyy-mm-dd-hh-ii-ss\u003e]\n\t\tThe date of the post in the GMT timezone. Default is the value of --post_date.\n\n\t[--post_content]\n\t\tIf set, the command reads the post_content from STDIN.\n\n\t[--max_depth=\u003cnumber\u003e]\n\t\tFor hierarchical post types, generate child posts down to a certain depth.\n\t\t---\n\t\tdefault: 1\n\t\t---\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: progress\n\t\toptions:\n\t\t  - progress\n\t\t  - ids\n\t\t---\n\n**EXAMPLES**\n\n    # Generate posts.\n    $ wp post generate --count=10 --post_type=page --post_date=1999-01-04\n    Generating posts  100% [================================================] 0:01 / 0:04\n\n    # Generate posts with fetched content.\n    $ curl -N https://loripsum.net/api/5 | wp post generate --post_content --count=10\n      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                     Dload  Upload   Total   Spent    Left  Speed\n    100  2509  100  2509    0     0    616      0  0:00:04  0:00:04 --:--:--   616\n    Generating posts  100% [================================================] 0:01 / 0:04\n\n    # Add meta to every generated posts.\n    $ wp post generate --format=ids | xargs -d ' ' -I % wp post meta add % foo bar\n    Success: Added custom field.\n    Success: Added custom field.\n    Success: Added custom field.\n\n\n\n### wp post get\n\nGets details about a post.\n\n~~~\nwp post get \u003cid\u003e [--field=\u003cfield\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the post to get.\n\n\t[--field=\u003cfield\u003e]\n\t\tInstead of returning the whole post, returns the value of a single field.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific fields. Defaults to all fields.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - yaml\n\t\t---\n\n**EXAMPLES**\n\n    # Save the post content to a file\n    $ wp post get 123 --field=content \u003e file.txt\n\n    # Get the block version of a post (1 = has blocks, 0 = no blocks)\n    # Requires WordPress 5.0+.\n    $ wp post get 123 --field=block_version\n    1\n\n\n\n### wp post list\n\nGets a list of posts.\n\n~~~\nwp post list [--\u003cfield\u003e=\u003cvalue\u003e] [--field=\u003cfield\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e]\n~~~\n\nDisplay posts based on all arguments supported by [WP_Query()](https://developer.wordpress.org/reference/classes/wp_query/).\nOnly shows post types marked as post by default.\n\n**OPTIONS**\n\n\t[--\u003cfield\u003e=\u003cvalue\u003e]\n\t\tOne or more args to pass to WP_Query.\n\n\t[--field=\u003cfield\u003e]\n\t\tPrints the value of a single field for each post.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific object fields.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - ids\n\t\t  - json\n\t\t  - count\n\t\t  - yaml\n\t\t---\n\n**AVAILABLE FIELDS**\n\nThese fields will be displayed by default for each post:\n\n* ID\n* post_title\n* post_name\n* post_date\n* post_status\n\nThese fields are optionally available:\n\n* post_author\n* post_date_gmt\n* post_content\n* post_excerpt\n* comment_status\n* ping_status\n* post_password\n* to_ping\n* pinged\n* post_modified\n* post_modified_gmt\n* post_content_filtered\n* post_parent\n* guid\n* menu_order\n* post_type\n* post_mime_type\n* comment_count\n* filter\n* url\n\n**EXAMPLES**\n\n    # List post\n    $ wp post list --field=ID\n    568\n    829\n    1329\n    1695\n\n    # List posts in JSON\n    $ wp post list --post_type=post --posts_per_page=5 --format=json\n    [{\"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\"}]\n\n    # List all pages\n    $ wp post list --post_type=page --fields=post_title,post_status\n    +-------------+-------------+\n    | post_title  | post_status |\n    +-------------+-------------+\n    | Sample Page | publish     |\n    +-------------+-------------+\n\n    # List ids of all pages and posts\n    $ wp post list --post_type=page,post --format=ids\n    15 25 34 37 198\n\n    # List given posts\n    $ wp post list --post__in=1,3\n    +----+--------------+-------------+---------------------+-------------+\n    | ID | post_title   | post_name   | post_date           | post_status |\n    +----+--------------+-------------+---------------------+-------------+\n    | 3  | Lorem Ipsum  | lorem-ipsum | 2016-06-01 14:34:36 | publish     |\n    | 1  | Hello world! | hello-world | 2016-06-01 14:31:12 | publish     |\n    +----+--------------+-------------+---------------------+-------------+\n\n    # List given post by a specific author\n    $ wp post list --author=2\n    +----+-------------------+-------------------+---------------------+-------------+\n    | ID | post_title        | post_name         | post_date           | post_status |\n    +----+-------------------+-------------------+---------------------+-------------+\n    | 14 | New documentation | new-documentation | 2021-06-18 21:05:11 | publish     |\n    +----+-------------------+-------------------+---------------------+-------------+\n\n\n\n### wp post meta\n\nAdds, updates, deletes, and lists post custom fields.\n\n~~~\nwp post meta\n~~~\n\n**EXAMPLES**\n\n    # Set post meta\n    $ wp post meta set 123 _wp_page_template about.php\n    Success: Updated custom field '_wp_page_template'.\n\n    # Get post meta\n    $ wp post meta get 123 _wp_page_template\n    about.php\n\n    # Update post meta\n    $ wp post meta update 123 _wp_page_template contact.php\n    Success: Updated custom field '_wp_page_template'.\n\n    # Delete post meta\n    $ wp post meta delete 123 _wp_page_template\n    Success: Deleted custom field.\n\n\n\n\n\n### wp post meta add\n\nAdd a meta field.\n\n~~~\nwp post meta add \u003cid\u003e \u003ckey\u003e [\u003cvalue\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ckey\u003e\n\t\tThe name of the meta field to create.\n\n\t[\u003cvalue\u003e]\n\t\tThe value of the meta field. If omitted, the value is read from STDIN.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe serialization format for the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t---\n\n\n\n### wp post meta clean-duplicates\n\nCleans up duplicate post meta values on a post.\n\n~~~\nwp post meta clean-duplicates \u003cid\u003e \u003ckey\u003e\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tID of the post to clean.\n\n\t\u003ckey\u003e\n\t\tMeta key to clean up.\n\n**EXAMPLES**\n\n    # Delete duplicate post meta.\n    wp post meta clean-duplicates 1234 enclosure\n    Success: Cleaned up duplicate 'enclosure' meta values.\n\n\n\n### wp post meta delete\n\nDelete a meta field.\n\n~~~\nwp post meta delete \u003cid\u003e [\u003ckey\u003e] [\u003cvalue\u003e] [--all]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t[\u003ckey\u003e]\n\t\tThe name of the meta field to delete.\n\n\t[\u003cvalue\u003e]\n\t\tThe value to delete. If omitted, all rows with key will deleted.\n\n\t[--all]\n\t\tDelete all meta for the object.\n\n\n\n### wp post meta get\n\nGet meta field value.\n\n~~~\nwp post meta get \u003cid\u003e \u003ckey\u003e [--single] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ckey\u003e\n\t\tThe name of the meta field to get.\n\n\t[--single]\n\t\tWhether to return a single value.\n\n\t[--format=\u003cformat\u003e]\n\t\tGet value in a particular format.\n\t\t---\n\t\tdefault: var_export\n\t\toptions:\n\t\t  - var_export\n\t\t  - json\n\t\t  - yaml\n\t\t---\n\n\n\n### wp post meta list\n\nList all metadata associated with an object.\n\n~~~\nwp post meta list \u003cid\u003e [--keys=\u003ckeys\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e] [--orderby=\u003cfields\u003e] [--order=\u003corder\u003e] [--unserialize]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tID for the object.\n\n\t[--keys=\u003ckeys\u003e]\n\t\tLimit output to metadata of specific keys.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific row fields. Defaults to id,meta_key,meta_value.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - yaml\n\t\t  - count\n\t\t---\n\n\t[--orderby=\u003cfields\u003e]\n\t\tSet orderby which field.\n\t\t---\n\t\tdefault: id\n\t\toptions:\n\t\t - id\n\t\t - meta_key\n\t\t - meta_value\n\t\t---\n\n\t[--order=\u003corder\u003e]\n\t\tSet ascending or descending order.\n\t\t---\n\t\tdefault: asc\n\t\toptions:\n\t\t - asc\n\t\t - desc\n\t\t---\n\n\t[--unserialize]\n\t\tUnserialize meta_value output.\n\n\n\n### wp post meta patch\n\nUpdate a nested value for a meta field.\n\n~~~\nwp post meta patch \u003caction\u003e \u003cid\u003e \u003ckey\u003e \u003ckey-path\u003e... [\u003cvalue\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003caction\u003e\n\t\tPatch action to perform.\n\t\t---\n\t\toptions:\n\t\t  - insert\n\t\t  - update\n\t\t  - delete\n\t\t---\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ckey\u003e\n\t\tThe name of the meta field to update.\n\n\t\u003ckey-path\u003e...\n\t\tThe name(s) of the keys within the value to locate the value to patch.\n\n\t[\u003cvalue\u003e]\n\t\tThe new value. If omitted, the value is read from STDIN.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe serialization format for the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t---\n\n\n\n### wp post meta pluck\n\nGet a nested value from a meta field.\n\n~~~\nwp post meta pluck \u003cid\u003e \u003ckey\u003e \u003ckey-path\u003e... [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ckey\u003e\n\t\tThe name of the meta field to get.\n\n\t\u003ckey-path\u003e...\n\t\tThe name(s) of the keys within the value to locate the value to pluck.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe output format of the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t  - yaml\n\n\n\n### wp post meta update\n\nUpdate a meta field.\n\n~~~\nwp post meta update \u003cid\u003e \u003ckey\u003e [\u003cvalue\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**Alias:** `set`\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ckey\u003e\n\t\tThe name of the meta field to update.\n\n\t[\u003cvalue\u003e]\n\t\tThe new value. If omitted, the value is read from STDIN.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe serialization format for the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t---\n\n\n\n### wp post revision\n\nManages post revisions.\n\n~~~\nwp post revision\n~~~\n\n**EXAMPLES**\n\n    # Restore a post revision\n    $ wp post revision restore 123\n    Success: Restored revision 123.\n\n    # Show diff between two revisions\n    $ wp post revision diff 123 456\n\n\n\n\n\n### wp post revision diff\n\nShows the difference between two revisions.\n\n~~~\nwp post revision diff \u003cfrom\u003e [\u003cto\u003e] [--field=\u003cfield\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cfrom\u003e\n\t\tThe 'from' revision ID or post ID.\n\n\t[\u003cto\u003e]\n\t\tThe 'to' revision ID or post ID. If not provided, compares with the current post.\n\n\t[--field=\u003cfield\u003e]\n\t\tCompare specific field(s). Default: post_content\n\n**EXAMPLES**\n\n    # Show diff between two revisions\n    $ wp post revision diff 123 456\n\n    # Show diff between a revision and the current post\n    $ wp post revision diff 123\n\n\n\n### wp post revision prune\n\nDeletes old post revisions.\n\n~~~\nwp post revision prune [\u003cpost-id\u003e...] [--latest=\u003climit\u003e] [--earliest=\u003climit\u003e] [--yes]\n~~~\n\n**OPTIONS**\n\n\t[\u003cpost-id\u003e...]\n\t\tOne or more post IDs to prune revisions for. If not provided, prunes revisions for all posts.\n\n\t[--latest=\u003climit\u003e]\n\t\tKeep only the latest N revisions per post. Older revisions will be deleted.\n\n\t[--earliest=\u003climit\u003e]\n\t\tKeep only the earliest N revisions per post. Newer revisions will be deleted.\n\n\t[--yes]\n\t\tSkip confirmation prompt.\n\n**EXAMPLES**\n\n    # Delete all but the latest 5 revisions for post 123\n    $ wp post revision prune 123 --latest=5\n    Success: Deleted 3 revisions for post 123.\n\n    # Delete all but the latest 5 revisions for all posts\n    $ wp post revision prune --latest=5\n    Success: Deleted 150 revisions across 30 posts.\n\n    # Delete all but the earliest 2 revisions for posts 123 and 456\n    $ wp post revision prune 123 456 --earliest=2\n    Success: Deleted 5 revisions for post 123.\n    Success: Deleted 3 revisions for post 456.\n\n\n\n### wp post revision restore\n\nRestores a post revision.\n\n~~~\nwp post revision restore \u003crevision_id\u003e\n~~~\n\n**OPTIONS**\n\n\t\u003crevision_id\u003e\n\t\tThe revision ID to restore.\n\n**EXAMPLES**\n\n    # Restore a post revision\n    $ wp post revision restore 123\n    Success: Restored revision 123.\n\n\n\n### wp post term\n\nAdds, updates, removes, and lists post terms.\n\n~~~\nwp post term\n~~~\n\n**EXAMPLES**\n\n    # Set category post term `test` to the post ID 123\n    $ wp post term set 123 test category\n    Success: Set term.\n\n    # Set category post terms `test` and `apple` to the post ID 123\n    $ wp post term set 123 test apple category\n    Success: Set terms.\n\n    # List category post terms for the post ID 123\n    $ wp post term list 123 category --fields=term_id,slug\n    +---------+-------+\n    | term_id | slug  |\n    +---------+-------+\n    | 2       | apple |\n    | 3       | test  |\n    +----------+------+\n\n    # Remove category post terms `test` and `apple` for the post ID 123\n    $ wp post term remove 123 category test apple\n    Success: Removed terms.\n\n\n\n\n\n### wp post term add\n\nAdd a term to an object.\n\n~~~\nwp post term add \u003cid\u003e \u003ctaxonomy\u003e \u003cterm\u003e... [--by=\u003cfield\u003e]\n~~~\n\nAppend the term to the existing set of terms on the object.\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ctaxonomy\u003e\n\t\tThe name of the taxonomy type to be added.\n\n\t\u003cterm\u003e...\n\t\tThe slug of the term or terms to be added.\n\n\t[--by=\u003cfield\u003e]\n\t\tExplicitly handle the term value as a slug or id.\n\t\t---\n\t\tdefault: slug\n\t\toptions:\n\t\t  - slug\n\t\t  - id\n\t\t---\n\n\n\n### wp post term list\n\nList all terms associated with an object.\n\n~~~\nwp post term list \u003cid\u003e \u003ctaxonomy\u003e... [--field=\u003cfield\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tID for the object.\n\n\t\u003ctaxonomy\u003e...\n\t\tOne or more taxonomies to list.\n\n\t[--field=\u003cfield\u003e]\n\t\tPrints the value of a single field for each term.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific row fields.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - yaml\n\t\t  - count\n\t\t  - ids\n\t\t---\n\n**AVAILABLE FIELDS**\n\nThese fields will be displayed by default for each term:\n\n* term_id\n* name\n* slug\n* taxonomy\n\nThese fields are optionally available:\n\n* term_taxonomy_id\n* description\n* term_group\n* parent\n* count\n\n\n\n### wp post term remove\n\nRemove a term from an object.\n\n~~~\nwp post term remove \u003cid\u003e \u003ctaxonomy\u003e [\u003cterm\u003e...] [--by=\u003cfield\u003e] [--all]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ctaxonomy\u003e\n\t\tThe name of the term's taxonomy.\n\n\t[\u003cterm\u003e...]\n\t\tThe slug of the term or terms to be removed from the object.\n\n\t[--by=\u003cfield\u003e]\n\t\tExplicitly handle the term value as a slug or id.\n\t\t---\n\t\tdefault: slug\n\t\toptions:\n\t\t  - slug\n\t\t  - id\n\t\t---\n\n\t[--all]\n\t\tRemove all terms from the object.\n\n\n\n### wp post term set\n\nSet object terms.\n\n~~~\nwp post term set \u003cid\u003e \u003ctaxonomy\u003e \u003cterm\u003e... [--by=\u003cfield\u003e]\n~~~\n\nReplaces existing terms on the object.\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ctaxonomy\u003e\n\t\tThe name of the taxonomy type to be updated.\n\n\t\u003cterm\u003e...\n\t\tThe slug of the term or terms to be updated.\n\n\t[--by=\u003cfield\u003e]\n\t\tExplicitly handle the term value as a slug or id.\n\t\t---\n\t\tdefault: slug\n\t\toptions:\n\t\t  - slug\n\t\t  - id\n\t\t---\n\n\n\n### wp post update\n\nUpdates one or more existing posts.\n\n~~~\nwp post update \u003cid\u003e... [--post_author=\u003cpost_author\u003e] [--post_date=\u003cpost_date\u003e] [--post_date_gmt=\u003cpost_date_gmt\u003e] [--post_content=\u003cpost_content\u003e] [--post_content_filtered=\u003cpost_content_filtered\u003e] [--post_title=\u003cpost_title\u003e] [--post_excerpt=\u003cpost_excerpt\u003e] [--post_status=\u003cpost_status\u003e] [--post_type=\u003cpost_type\u003e] [--comment_status=\u003ccomment_status\u003e] [--ping_status=\u003cping_status\u003e] [--post_password=\u003cpost_password\u003e] [--post_name=\u003cpost_name\u003e] [--to_ping=\u003cto_ping\u003e] [--pinged=\u003cpinged\u003e] [--post_modified=\u003cpost_modified\u003e] [--post_modified_gmt=\u003cpost_modified_gmt\u003e] [--post_parent=\u003cpost_parent\u003e] [--menu_order=\u003cmenu_order\u003e] [--post_mime_type=\u003cpost_mime_type\u003e] [--guid=\u003cguid\u003e] [--post_category=\u003cpost_category\u003e] [--tags_input=\u003ctags_input\u003e] [--tax_input=\u003ctax_input\u003e] [--meta_input=\u003cmeta_input\u003e] [\u003cfile\u003e] --\u003cfield\u003e=\u003cvalue\u003e [--defer-term-counting]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e...\n\t\tOne or more IDs of posts to update.\n\n\t[--post_author=\u003cpost_author\u003e]\n\t\tThe ID of the user who added the post. Default is the current user ID.\n\n\t[--post_date=\u003cpost_date\u003e]\n\t\tThe date of the post. Default is the current time.\n\n\t[--post_date_gmt=\u003cpost_date_gmt\u003e]\n\t\tThe date of the post in the GMT timezone. Default is the value of $post_date.\n\n\t[--post_content=\u003cpost_content\u003e]\n\t\tThe post content. Default empty.\n\n\t[--post_content_filtered=\u003cpost_content_filtered\u003e]\n\t\tThe filtered post content. Default empty.\n\n\t[--post_title=\u003cpost_title\u003e]\n\t\tThe post title. Default empty.\n\n\t[--post_excerpt=\u003cpost_excerpt\u003e]\n\t\tThe post excerpt. Default empty.\n\n\t[--post_status=\u003cpost_status\u003e]\n\t\tThe post status. Default 'draft'.\n\n\t[--post_type=\u003cpost_type\u003e]\n\t\tThe post type. Default 'post'.\n\n\t[--comment_status=\u003ccomment_status\u003e]\n\t\tWhether the post can accept comments. Accepts 'open' or 'closed'. Default is the value of 'default_comment_status' option.\n\n\t[--ping_status=\u003cping_status\u003e]\n\t\tWhether the post can accept pings. Accepts 'open' or 'closed'. Default is the value of 'default_ping_status' option.\n\n\t[--post_password=\u003cpost_password\u003e]\n\t\tThe password to access the post. Default empty.\n\n\t[--post_name=\u003cpost_name\u003e]\n\t\tThe post name. Default is the sanitized post title when creating a new post.\n\n\t[--to_ping=\u003cto_ping\u003e]\n\t\tSpace or carriage return-separated list of URLs to ping. Default empty.\n\n\t[--pinged=\u003cpinged\u003e]\n\t\tSpace or carriage return-separated list of URLs that have been pinged. Default empty.\n\n\t[--post_modified=\u003cpost_modified\u003e]\n\t\tThe date when the post was last modified. Default is the current time.\n\n\t[--post_modified_gmt=\u003cpost_modified_gmt\u003e]\n\t\tThe date when the post was last modified in the GMT timezone. Default is the current time.\n\n\t[--post_parent=\u003cpost_parent\u003e]\n\t\tSet this for the post it belongs to, if any. Default 0.\n\n\t[--menu_order=\u003cmenu_order\u003e]\n\t\tThe order the post should be displayed in. Default 0.\n\n\t[--post_mime_type=\u003cpost_mime_type\u003e]\n\t\tThe mime type of the post. Default empty.\n\n\t[--guid=\u003cguid\u003e]\n\t\tGlobal Unique ID for referencing the post. Default empty.\n\n\t[--post_category=\u003cpost_category\u003e]\n\t\tArray of category names, slugs, or IDs. Defaults to value of the 'default_category' option.\n\n\t[--tags_input=\u003ctags_input\u003e]\n\t\tArray of tag names, slugs, or IDs. Default empty.\n\n\t[--tax_input=\u003ctax_input\u003e]\n\t\tArray of taxonomy terms keyed by their taxonomy name. Default empty.\n\n\t\tNote: In WordPress core, this normally requires a user context to satisfy capability checks. WP-CLI bypasses this for convenience. See https://core.trac.wordpress.org/ticket/19373\n\n\t[--meta_input=\u003cmeta_input\u003e]\n\t\tArray in JSON format of post meta values keyed by their post meta key. Default empty.\n\n\t[\u003cfile\u003e]\n\t\tRead post content from \u003cfile\u003e. If this value is present, the\n\t\t    `--post_content` argument will be ignored.\n\n\t\tPassing `-` as the filename will cause post content to\n\t\tbe read from STDIN.\n\n\t--\u003cfield\u003e=\u003cvalue\u003e\n\t\tOne or more fields to update. See wp_insert_post().\n\n\t[--defer-term-counting]\n\t\tRecalculate term count in batch, for a performance boost.\n\n**EXAMPLES**\n\n    $ wp post update 123 --post_name=something --post_status=draft\n    Success: Updated post 123.\n\n    # Update a post with multiple meta values.\n    $ wp post update 123 --meta_input='{\"key1\":\"value1\",\"key2\":\"value2\"}'\n    Success: Updated post 123.\n\n    # Update multiple posts at once.\n    $ wp post update 123 456 --post_author=789\n    Success: Updated post 123.\n    Success: Updated post 456.\n\n    # Update all posts of a given post type at once.\n    $ wp post update $(wp post list --post_type=page --format=ids) --post_author=123\n    Success: Updated post 123.\n    Success: Updated post 456.\n\n\n\n### wp post url-to-id\n\nGets the post ID for a given URL.\n\n~~~\nwp post url-to-id \u003curl\u003e\n~~~\n\n**OPTIONS**\n\n\t\u003curl\u003e\n\t\tThe URL of the post to get.\n\n**EXAMPLES**\n\n    # Get post ID by URL\n    $ wp post url-to-id https://example.com/?p=1\n    1\n\n\n\n### wp post has-blocks\n\nChecks if a post contains any blocks.\n\n~~~\nwp post has-blocks \u003cid\u003e\n~~~\n\nExits with return code 0 if the post contains blocks,\nor return code 1 if it does not.\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the post to check.\n\n**EXAMPLES**\n\n    # Check if post contains blocks.\n    $ wp post has-blocks 123\n    Success: Post 123 contains blocks.\n\n    # Check a classic (non-block) post.\n    $ wp post has-blocks 456\n    Error: Post 456 does not contain blocks.\n\n    # Use in a shell conditional.\n    $ if wp post has-blocks 123 2\u003e/dev/null; then\n    \u003e   echo \"Post uses blocks\"\n    \u003e fi\n\n\n\n### wp post has-block\n\nChecks if a post contains a specific block type.\n\n~~~\nwp post has-block \u003cid\u003e \u003cblock-name\u003e\n~~~\n\nExits with return code 0 if the post contains the specified block,\nor return code 1 if it does not.\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the post to check.\n\n\t\u003cblock-name\u003e\n\t\tThe block type name to check for (e.g., 'core/paragraph').\n\n**EXAMPLES**\n\n    # Check if post contains a paragraph block.\n    $ wp post has-block 123 core/paragraph\n    Success: Post 123 contains block 'core/paragraph'.\n\n    # Check for a heading block.\n    $ wp post has-block 123 core/heading\n    Success: Post 123 contains block 'core/heading'.\n\n    # Check for a block that doesn't exist.\n    $ wp post has-block 123 core/gallery\n    Error: Post 123 does not contain block 'core/gallery'.\n\n    # Check for a custom block from a plugin.\n    $ wp post has-block 123 my-plugin/custom-block\n\n\n\n### wp post block\n\nManages blocks within post content.\n\n~~~\nwp post block\n~~~\n\nProvides commands for inspecting, manipulating, and managing\nGutenberg blocks in post content.\n\n**EXAMPLES**\n\n    # List all blocks in a post.\n    $ wp post block list 123\n    +------------------+-------+\n    | blockName        | count |\n    +------------------+-------+\n    | core/paragraph   | 2     |\n    | core/heading     | 1     |\n    +------------------+-------+\n\n    # Parse blocks in a post to JSON.\n    $ wp post block parse 123 --format=json\n\n    # Insert a paragraph block.\n    $ wp post block insert 123 core/paragraph --content=\"Hello World\"\n\n\n\n\n\n### wp post block clone\n\nClones a block within a post.\n\n~~~\nwp post block clone \u003cid\u003e \u003csource-index\u003e [--position=\u003cposition\u003e] [--porcelain]\n~~~\n\nDuplicates an existing block and inserts it at a specified position.\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the post.\n\n\t\u003csource-index\u003e\n\t\tIndex of the block to clone (0-indexed).\n\n\t[--position=\u003cposition\u003e]\n\t\tWhere to insert the cloned block. Accepts 'after', 'before', 'start', 'end', or a numeric index.\n\t\t---\n\t\tdefault: after\n\t\t---\n\n\t[--porcelain]\n\t\tOutput just the new block index.\n\n**EXAMPLES**\n\n    # Clone a block and insert immediately after it (default).\n    $ wp post block clone 123 2\n    Success: Cloned block to index 3 in post 123.\n\n    # Clone the first block and insert immediately before it.\n    $ wp post block clone 123 0 --position=before\n    Success: Cloned block to index 0 in post 123.\n\n    # Clone a block and insert at the end of the post.\n    $ wp post block clone 123 0 --position=end\n    Success: Cloned block to index 5 in post 123.\n\n    # Clone a block and insert at the start of the post.\n    $ wp post block clone 123 3 --position=start\n    Success: Cloned block to index 0 in post 123.\n\n    # Clone and get just the new block index for scripting.\n    $ wp post block clone 123 1 --porcelain\n    2\n\n    # Duplicate the hero section (first block) at the end for a footer.\n    $ wp post block clone 123 0 --position=end\n    Success: Cloned block to index 10 in post 123.\n\n\n\n### wp post block count\n\nCounts blocks across multiple posts.\n\n~~~\nwp post block count [\u003cid\u003e...] [--block=\u003cblock-name\u003e] [--post-type=\u003ctype\u003e] [--post-status=\u003cstatus\u003e] [--format=\u003cformat\u003e]\n~~~\n\nAnalyzes block usage across posts for site-wide reporting.\n\n**OPTIONS**\n\n\t[\u003cid\u003e...]\n\t\tOptional post IDs. If not specified, queries all posts.\n\n\t[--block=\u003cblock-name\u003e]\n\t\tOnly count specific block type.\n\n\t[--post-type=\u003ctype\u003e]\n\t\tLimit to specific post type(s). Comma-separated.\n\t\t---\n\t\tdefault: post,page\n\t\t---\n\n\t[--post-status=\u003cstatus\u003e]\n\t\tPost status to include.\n\t\t---\n\t\tdefault: publish\n\t\t---\n\n\t[--format=\u003cformat\u003e]\n\t\tOutput format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - json\n\t\t  - csv\n\t\t  - yaml\n\t\t  - count\n\t\t---\n\n**EXAMPLES**\n\n    # Count all blocks across published posts and pages.\n    $ wp post block count\n    +------------------+-------+-------+\n    | blockName        | count | posts |\n    +------------------+-------+-------+\n    | core/paragraph   | 1542  | 234   |\n    | core/heading     | 523   | 198   |\n    | core/image       | 312   | 156   |\n    +------------------+-------+-------+\n\n    # Count blocks in specific posts only.\n    $ wp post block count 123 456 789\n    +------------------+-------+-------+\n    | blockName        | count | posts |\n    +------------------+-------+-------+\n    | core/paragraph   | 8     | 3     |\n    | core/heading     | 3     | 2     |\n    +------------------+-------+-------+\n\n    # Count only paragraph blocks across the site.\n    $ wp post block count --block=core/paragraph --format=count\n    1542\n\n    # Count blocks in a custom post type.\n    $ wp post block count --post-type=product\n\n    # Count blocks in multiple post types.\n    $ wp post block count --post-type=post,page,product\n\n    # Count blocks including drafts.\n    $ wp post block count --post-status=draft\n\n    # Get count as JSON for further processing.\n    $ wp post block count --format=json\n    [{\"blockName\":\"core/paragraph\",\"count\":1542,\"posts\":234}]\n\n    # Get total number of unique block types used.\n    $ wp post block count --format=count\n    15\n\n\n\n### wp post block export\n\nExports block content to a file.\n\n~~~\nwp post block export \u003cid\u003e [--file=\u003cfile\u003e] [--format=\u003cformat\u003e] [--raw]\n~~~\n\nExports blocks from a post to a file for backup or migration.\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the post to export blocks from.\n\n\t[--file=\u003cfile\u003e]\n\t\tOutput file path. If not specified, outputs to STDOUT.\n\n\t[--format=\u003cformat\u003e]\n\t\tExport format.\n\t\t---\n\t\tdefault: json\n\t\toptions:\n\t\t  - json\n\t\t  - yaml\n\t\t  - html\n\t\t---\n\n\t[--raw]\n\t\tInclude innerHTML in JSON/YAML output.\n\n**EXAMPLES**\n\n    # Export blocks to a JSON file for backup.\n    $ wp post block export 123 --file=blocks.json\n    Success: Exported 5 blocks to blocks.json\n\n    # Export blocks to STDOUT as JSON.\n    $ wp post block export 123\n    {\n        \"version\": \"1.0\",\n        \"generator\": \"wp-cli/entity-command\",\n        \"post_id\": 123,\n        \"exported_at\": \"2024-12-10T12:00:00+00:00\",\n        \"blocks\": [...]\n    }\n\n    # Export as YAML format.\n    $ wp post block export 123 --format=yaml\n    version: \"1.0\"\n    generator: wp-cli/entity-command\n    blocks:\n      - blockName: core/paragraph\n        attrs: []\n\n    # Export rendered HTML (final output, not block structure).\n    $ wp post block export 123 --format=html --file=content.html\n    Success: Exported 5 blocks to content.html\n\n    # Export with raw innerHTML included for complete backup.\n    $ wp post block export 123 --raw --file=blocks-full.json\n    Success: Exported 5 blocks to blocks-full.json\n\n    # Pipe export to another command.\n    $ wp post block export 123 | jq '.blocks[].blockName'\n\n\n\n### wp post block extract\n\nExtracts data from blocks.\n\n~~~\nwp post block extract \u003cid\u003e [--block=\u003cblock-name\u003e] [--index=\u003cindex\u003e] [--attr=\u003cattr\u003e] [--content] [--format=\u003cformat\u003e]\n~~~\n\nExtracts specific attribute values or content from blocks for scripting.\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the post.\n\n\t[--block=\u003cblock-name\u003e]\n\t\tFilter by block type.\n\n\t[--index=\u003cindex\u003e]\n\t\tGet from specific block index.\n\n\t[--attr=\u003cattr\u003e]\n\t\tExtract specific attribute value.\n\n\t[--content]\n\t\tExtract innerHTML content.\n\n\t[--format=\u003cformat\u003e]\n\t\tOutput format.\n\t\t---\n\t\tdefault: json\n\t\toptions:\n\t\t  - json\n\t\t  - yaml\n\t\t  - csv\n\t\t  - ids\n\t\t---\n\n**EXAMPLES**\n\n    # Extract all image IDs from the post (one per line).\n    $ wp post block extract 123 --block=core/image --attr=id --format=ids\n    456\n    789\n    1024\n\n    # Extract all image URLs as JSON array.\n    $ wp post block extract 123 --block=core/image --attr=url --format=json\n    [\"https://example.com/img1.jpg\",\"https://example.com/img2.jpg\"]\n\n    # Extract text content from all headings.\n    $ wp post block extract 123 --block=core/heading --content --format=ids\n    Introduction\n    Getting Started\n    Conclusion\n\n    # Get the heading level from the first block.\n    $ wp post block extract 123 --index=0 --attr=level --format=ids\n    2\n\n    # Extract all heading levels as CSV.\n    $ wp post block extract 123 --block=core/heading --attr=level --format=csv\n    2,3,3,2\n\n    # Extract paragraph content as YAML.\n    $ wp post block extract 123 --block=core/paragraph --content --format=yaml\n    - \"First paragraph text\"\n    - \"Second paragraph text\"\n\n    # Get all button URLs for link checking.\n    $ wp post block extract 123 --block=core/button --attr=url --format=ids\n    https://example.com/signup\n    https://example.com/learn-more\n\n    # Extract cover block image IDs for media audit.\n    $ wp post block extract 123 --block=core/cover --attr=id --format=json\n\n\n\n### wp post block get\n\nGets a single block by index.\n\n~~~\nwp post block get \u003cid\u003e \u003cindex\u003e [--raw] [--format=\u003cformat\u003e]\n~~~\n\nRetrieves the full structure of a block at the specified position.\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the post.\n\n\t\u003cindex\u003e\n\t\tThe block index (0-indexed).\n\n\t[--raw]\n\t\tInclude innerHTML in output.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: json\n\t\toptions:\n\t\t  - json\n\t\t  - yaml\n\t\t---\n\n**EXAMPLES**\n\n    # Get the first block in a post.\n    $ wp post block get 123 0\n    {\n        \"blockName\": \"core/paragraph\",\n        \"attrs\": {},\n        \"innerBlocks\": []\n    }\n\n    # Get the third block (index 2) with attributes.\n    $ wp post block get 123 2\n    {\n        \"blockName\": \"core/heading\",\n        \"attrs\": {\n            \"level\": 2\n        },\n        \"innerBlocks\": []\n    }\n\n    # Get block as YAML format.\n    $ wp post block get 123 1 --format=yaml\n    blockName: core/image\n    attrs:\n      id: 456\n      sizeSlug: large\n    innerBlocks: []\n\n    # Get block with raw HTML content included.\n    $ wp post block get 123 0 --raw\n    {\n        \"blockName\": \"core/paragraph\",\n        \"attrs\": {},\n        \"innerBlocks\": [],\n        \"innerHTML\": \"\u003cp\u003eHello World\u003c/p\u003e\",\n        \"innerContent\": [\"\u003cp\u003eHello World\u003c/p\u003e\"]\n    }\n\n\n\n### wp post block import\n\nImports blocks from a file into a post.\n\n~~~\nwp post block import \u003cid\u003e [--file=\u003cfile\u003e] [--position=\u003cposition\u003e] [--replace] [--porcelain]\n~~~\n\nImports blocks from a JSON or YAML file into a post's content.\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the post to import blocks into.\n\n\t[--file=\u003cfile\u003e]\n\t\tInput file path. If not specified, reads from STDIN.\n\n\t[--position=\u003cposition\u003e]\n\t\tWhere to insert imported blocks. Accepts 'start', 'end', or a numeric index.\n\t\t---\n\t\tdefault: end\n\t\t---\n\n\t[--replace]\n\t\tReplace all existing blocks instead of appending.\n\n\t[--porcelain]\n\t\tOutput just the number of blocks imported.\n\n**EXAMPLES**\n\n    # Import blocks from a JSON file, append to end of post.\n    $ wp post block import 123 --file=blocks.json\n    Success: Imported 5 blocks into post 123.\n\n    # Import blocks at the beginning of the post.\n    $ wp post block import 123 --file=blocks.json --position=start\n    Success: Imported 5 blocks into post 123.\n\n    # Replace all existing content with imported blocks.\n    $ wp post block import 123 --file=blocks.json --replace\n    Success: Imported 5 blocks into post 123.\n\n    # Import from STDIN (piped from another command).\n    $ cat blocks.json | wp post block import 123\n    Success: Imported 5 blocks into post 123.\n\n    # Copy blocks from one post to another.\n    $ wp post block export 123 | wp post block import 456\n    Success: Imported 5 blocks into post 456.\n\n    # Import YAML format.\n    $ wp post block import 123 --file=blocks.yaml\n    Success: Imported 3 blocks into post 123.\n\n    # Get just the count of imported blocks for scripting.\n    $ wp post block import 123 --file=blocks.json --porcelain\n    5\n\n\n\n### wp post block insert\n\nInserts a block into a post at a specified position.\n\n~~~\nwp post block insert \u003cid\u003e \u003cblock-name\u003e [--content=\u003ccontent\u003e] [--attrs=\u003cattrs\u003e] [--position=\u003cposition\u003e] [--porcelain]\n~~~\n\nAdds a new block to the post content. By default, the block is\nappended to the end of the post.\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the post to modify.\n\n\t\u003cblock-name\u003e\n\t\tThe block type name (e.g., 'core/paragraph').\n\n\t[--content=\u003ccontent\u003e]\n\t\tThe inner content/HTML for the block.\n\n\t[--attrs=\u003cattrs\u003e]\n\t\tBlock attributes as JSON.\n\n\t[--position=\u003cposition\u003e]\n\t\tPosition to insert the block (0-indexed). Use 'start' or 'end'.\n\t\t---\n\t\tdefault: end\n\t\t---\n\n\t[--porcelain]\n\t\tOutput just the post ID.\n\n**EXAMPLES**\n\n    # Insert a paragraph block at the end of the post.\n    $ wp post block insert 123 core/paragraph --content=\"Hello World\"\n    Success: Inserted block into post 123.\n\n    # Insert a level-2 heading at the start.\n    $ wp post block insert 123 core/heading --content=\"My Title\" --attrs='{\"level\":2}' --position=start\n    Success: Inserted block into post 123.\n\n    # Insert an image block at position 2.\n    $ wp post block insert 123 core/image --attrs='{\"id\":456,\"url\":\"https://example.com/image.jpg\"}' --position=2\n\n    # Insert a separator block.\n    $ wp post block insert 123 core/separator\n\n\n\n### wp post block list\n\nLists blocks in a post with counts.\n\n~~~\nwp post block list \u003cid\u003e [--nested] [--format=\u003cformat\u003e]\n~~~\n\nDisplays a summary of block types used in the post and how many\ntimes each block type appears.\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the post to analyze.\n\n\t[--nested]\n\t\tInclude nested/inner blocks in the list.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - yaml\n\t\t  - count\n\t\t---\n\n**EXAMPLES**\n\n    # List blocks with counts.\n    $ wp post block list 123\n    +------------------+-------+\n    | blockName        | count |\n    +------------------+-------+\n    | core/paragraph   | 5     |\n    | core/heading     | 2     |\n    | core/image       | 1     |\n    +------------------+-------+\n\n    # List blocks as JSON.\n    $ wp post block list 123 --format=json\n    [{\"blockName\":\"core/paragraph\",\"count\":5}]\n\n    # Include nested blocks (e.g., blocks inside columns or groups).\n    $ wp post block list 123 --nested\n\n    # Get the number of unique block types.\n    $ wp post block list 123 --format=count\n    3\n\n\n\n### wp post block move\n\nMoves a block from one position to another.\n\n~~~\nwp post block move \u003cid\u003e \u003cfrom-index\u003e \u003cto-index\u003e [--porcelain]\n~~~\n\nReorders blocks within the post by moving a block from one index to another.\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the post.\n\n\t\u003cfrom-index\u003e\n\t\tCurrent block index (0-indexed).\n\n\t\u003cto-index\u003e\n\t\tTarget position index (0-indexed).\n\n\t[--porcelain]\n\t\tOutput just the post ID.\n\n**EXAMPLES**\n\n    # Move the first block to the third position.\n    $ wp post block move 123 0 2\n    Success: Moved block from index 0 to index 2 in post 123.\n\n    # Move the last block (index 4) to the beginning.\n    $ wp post block move 123 4 0\n    Success: Moved block from index 4 to index 0 in post 123.\n\n    # Move a heading block from position 3 to position 1.\n    $ wp post block move 123 3 1\n    Success: Moved block from index 3 to index 1 in post 123.\n\n    # Move block and get post ID for scripting.\n    $ wp post block move 123 2 0 --porcelain\n    123\n\n\n\n### wp post block parse\n\nParses and displays the block structure of a post.\n\n~~~\nwp post block parse \u003cid\u003e [--raw] [--format=\u003cformat\u003e]\n~~~\n\nOutputs the parsed block structure as JSON or YAML. By default,\ninnerHTML is stripped from the output for readability.\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the post to parse.\n\n\t[--raw]\n\t\tInclude raw innerHTML in output.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: json\n\t\toptions:\n\t\t  - json\n\t\t  - yaml\n\t\t---\n\n**EXAMPLES**\n\n    # Parse blocks to JSON.\n    $ wp post block parse 123\n    [\n        {\n            \"blockName\": \"core/paragraph\",\n            \"attrs\": {}\n        }\n    ]\n\n    # Parse blocks to YAML format.\n    $ wp post block parse 123 --format=yaml\n    -\n      blockName: core/paragraph\n      attrs: {  }\n\n    # Parse blocks including raw HTML content.\n    $ wp post block parse 123 --raw\n\n\n\n### wp post block remove\n\nRemoves blocks from a post by name or index.\n\n~~~\nwp post block remove \u003cid\u003e [\u003cblock-name\u003e] [--index=\u003cindex\u003e] [--all] [--porcelain]\n~~~\n\nRemoves one or more blocks from the post content. Blocks can be\nremoved by their type name or by their position index.\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the post to modify.\n\n\t[\u003cblock-name\u003e]\n\t\tThe block type name to remove (e.g., 'core/paragraph').\n\n\t[--index=\u003cindex\u003e]\n\t\tRemove block at specific index (0-indexed). Can be comma-separated for multiple indices.\n\n\t[--all]\n\t\tRemove all blocks of the specified type.\n\n\t[--porcelain]\n\t\tOutput just the number of blocks removed.\n\n**EXAMPLES**\n\n    # Remove the first block (index 0).\n    $ wp post block remove 123 --index=0\n    Success: Removed 1 block from post 123.\n\n    # Remove the first paragraph block found.\n    $ wp post block remove 123 core/paragraph\n    Success: Removed 1 block from post 123.\n\n    # Remove all paragraph blocks.\n    $ wp post block remove 123 core/paragraph --all\n    Success: Removed 5 blocks from post 123.\n\n    # Remove blocks at multiple indices.\n    $ wp post block remove 123 --index=0,2,4\n    Success: Removed 3 blocks from post 123.\n\n    # Remove all image blocks and get count.\n    $ wp post block remove 123 core/image --all --porcelain\n    2\n\n\n\n### wp post block replace\n\nReplaces blocks in a post.\n\n~~~\nwp post block replace \u003cid\u003e \u003cold-block-name\u003e \u003cnew-block-name\u003e [--attrs=\u003cattrs\u003e] [--content=\u003ccontent\u003e] [--all] [--porcelain]\n~~~\n\nReplaces blocks of one type with blocks of another type. Can also\nbe used to update block attributes without changing the block type.\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the post to modify.\n\n\t\u003cold-block-name\u003e\n\t\tThe block type name to replace.\n\n\t\u003cnew-block-name\u003e\n\t\tThe new block type name.\n\n\t[--attrs=\u003cattrs\u003e]\n\t\tNew block attributes as JSON.\n\n\t[--content=\u003ccontent\u003e]\n\t\tNew block content. Use '{content}' to preserve original content.\n\n\t[--all]\n\t\tReplace all matching blocks. By default, only the first match is replaced.\n\n\t[--porcelain]\n\t\tOutput just the number of blocks replaced.\n\n**EXAMPLES**\n\n    # Replace the first paragraph block with a heading.\n    $ wp post block replace 123 core/paragraph core/heading\n    Success: Replaced 1 block in post 123.\n\n    # Replace all paragraphs with preformatted blocks, keeping content.\n    $ wp post block replace 123 core/paragraph core/preformatted --content='{content}' --all\n    Success: Replaced 3 blocks in post 123.\n\n    # Change all h2 headings to h3.\n    $ wp post block replace 123 core/heading core/heading --attrs='{\"level\":3}' --all\n\n    # Replace and get count for scripting.\n    $ wp post block replace 123 core/quote core/pullquote --all --porcelain\n    2\n\n\n\n### wp post block render\n\nRenders blocks from a post to HTML.\n\n~~~\nwp post block render \u003cid\u003e [--block=\u003cblock-name\u003e]\n~~~\n\nOutputs the rendered HTML of blocks in a post. This uses WordPress's\nblock rendering system to produce the final HTML output.\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the post to render.\n\n\t[--block=\u003cblock-name\u003e]\n\t\tOnly render blocks of this type.\n\n**EXAMPLES**\n\n    # Render all blocks to HTML.\n    $ wp post block render 123\n    \u003cp\u003eHello World\u003c/p\u003e\n    \u003ch2\u003eMy Heading\u003c/h2\u003e\n\n    # Render only paragraph blocks.\n    $ wp post block render 123 --block=core/paragraph\n    \u003cp\u003eHello World\u003c/p\u003e\n\n    # Render only heading blocks.\n    $ wp post block render 123 --block=core/heading\n\n\n\n### wp post block update\n\nUpdates a block's attributes or content by index.\n\n~~~\nwp post block update \u003cid\u003e \u003cindex\u003e [--attrs=\u003cattrs\u003e] [--content=\u003ccontent\u003e] [--replace-attrs] [--porcelain]\n~~~\n\nModifies a specific block without changing its type. For blocks where\nattributes are reflected in HTML (like heading levels), the HTML is\nautomatically updated to match the new attributes.\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the post.\n\n\t\u003cindex\u003e\n\t\tThe block index to update (0-indexed).\n\n\t[--attrs=\u003cattrs\u003e]\n\t\tBlock attributes as JSON. Merges with existing attributes by default.\n\n\t[--content=\u003ccontent\u003e]\n\t\tNew innerHTML content for the block.\n\n\t[--replace-attrs]\n\t\tReplace all attributes instead of merging.\n\n\t[--porcelain]\n\t\tOutput just the post ID.\n\n**EXAMPLES**\n\n    # Change a heading from h2 to h3.\n    $ wp post block update 123 0 --attrs='{\"level\":3}'\n    Success: Updated block at index 0 in post 123.\n\n    # Add alignment to an existing paragraph (merges with existing attrs).\n    $ wp post block update 123 1 --attrs='{\"align\":\"center\"}'\n    Success: Updated block at index 1 in post 123.\n\n    # Update the text content of a paragraph block.\n    $ wp post block update 123 2 --content=\"\u003cp\u003eUpdated paragraph text\u003c/p\u003e\"\n    Success: Updated block at index 2 in post 123.\n\n    # Update both attributes and content at once.\n    $ wp post block update 123 0 --attrs='{\"level\":2}' --content=\"\u003ch2\u003eNew Heading\u003c/h2\u003e\"\n    Success: Updated block at index 0 in post 123.\n\n    # Replace all attributes instead of merging (removes existing attrs).\n    $ wp post block update 123 0 --attrs='{\"level\":4}' --replace-attrs\n    Success: Updated block at index 0 in post 123.\n\n    # Get just the post ID for scripting.\n    $ wp post block update 123 0 --attrs='{\"level\":2}' --porcelain\n    123\n\n    # Use custom HTML sync logic via the wp_cli_post_block_update_html filter.\n    # Use WP_CLI::add_wp_hook() in a file loaded with --require.\n    $ wp post block update 123 0 --attrs='{\"url\":\"https://example.com\"}' --require=my-sync-filters.php\n    Success: Updated block at index 0 in post 123.\n\n\n\n### wp post-type\n\nRetrieves details on the site's registered post types.\n\n~~~\nwp post-type\n~~~\n\nGet information on WordPress' built-in and the site's [custom post types](https://developer.wordpress.org/plugins/post-types/).\n\n**EXAMPLES**\n\n    # Get details about a post type\n    $ wp post-type get page --fields=name,label,hierarchical --format=json\n    {\"name\":\"page\",\"label\":\"Pages\",\"hierarchical\":true}\n\n    # List post types with 'post' capability type\n    $ wp post-type list --capability_type=post --fields=name,public\n    +---------------+--------+\n    | name          | public |\n    +---------------+--------+\n    | post          | 1      |\n    | attachment    | 1      |\n    | revision      |        |\n    | nav_menu_item |        |\n    +---------------+--------+\n\n\n\n### wp post-type get\n\nGets details about a registered post type.\n\n~~~\nwp post-type get \u003cpost-type\u003e [--field=\u003cfield\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cpost-type\u003e\n\t\tPost type slug\n\n\t[--field=\u003cfield\u003e]\n\t\tInstead of returning the whole taxonomy, returns the value of a single field.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific fields. Defaults to all fields.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - yaml\n\t\t---\n\n**AVAILABLE FIELDS**\n\nThese fields will be displayed by default for the specified post type:\n\n* name\n* label\n* description\n* hierarchical\n* public\n* capability_type\n* labels\n* cap\n* supports\n\nThese fields are optionally available:\n\n* count\n\n**EXAMPLES**\n\n    # Get details about the 'page' post type.\n    $ wp post-type get page --fields=name,label,hierarchical --format=json\n    {\"name\":\"page\",\"label\":\"Pages\",\"hierarchical\":true}\n\n\n\n### wp post-type list\n\nLists registered post types.\n\n~~~\nwp post-type list [--\u003cfield\u003e=\u003cvalue\u003e] [--field=\u003cfield\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t[--\u003cfield\u003e=\u003cvalue\u003e]\n\t\tFilter by one or more fields (see get_post_types() first parameter for a list of available fields).\n\n\t[--field=\u003cfield\u003e]\n\t\tPrints the value of a single field for each post type.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific post type fields.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - count\n\t\t  - yaml\n\t\t---\n\n**AVAILABLE FIELDS**\n\nThese fields will be displayed by default for each post type:\n\n* name\n* label\n* description\n* hierarchical\n* public\n* capability_type\n\nThese fields are optionally available:\n\n* count\n\n**EXAMPLES**\n\n    # List registered post types\n    $ wp post-type list --format=csv\n    name,label,description,hierarchical,public,capability_type\n    post,Posts,,,1,post\n    page,Pages,,1,1,page\n    attachment,Media,,,1,post\n    revision,Revisions,,,,post\n    nav_menu_item,\"Navigation Menu Items\",,,,post\n\n    # List post types with 'post' capability type\n    $ wp post-type list --capability_type=post --fields=name,public\n    +---------------+--------+\n    | name          | public |\n    +---------------+--------+\n    | post          | 1      |\n    | attachment    | 1      |\n    | revision      |        |\n    | nav_menu_item |        |\n    +---------------+--------+\n\n\n\n### wp site\n\nCreates, deletes, empties, moderates, and lists one or more sites on a multisite installation.\n\n~~~\nwp site\n~~~\n\n**EXAMPLES**\n\n    # Create site\n    $ wp site create --slug=example\n    Success: Site 3 created: www.example.com/example/\n\n    # Output a simple list of site URLs\n    $ wp site list --field=url\n    http://www.example.com/\n    http://www.example.com/subdir/\n\n    # Delete site\n    $ wp site delete 123\n    Are you sure you want to delete the 'http://www.example.com/example' site? [y/n] y\n    Success: The site at 'http://www.example.com/example' was deleted.\n\n\n\n### wp site activate\n\nActivates one or more sites.\n\n~~~\nwp site activate [\u003cid\u003e...] [--slug=\u003cslug\u003e]\n~~~\n\n**OPTIONS**\n\n\t[\u003cid\u003e...]\n\t\tOne or more IDs of sites to activate. If not provided, you must set the --slug parameter.\n\n\t[--slug=\u003cslug\u003e]\n\t\tPath of the site to be activated. Subdomain on subdomain installs, directory on subdirectory installs.\n\n**EXAMPLES**\n\n    $ wp site activate 123\n    Success: Site 123 activated.\n\n     $ wp site activate --slug=demo\n     Success: Site 123 marked as activated.\n\n\n\n### wp site archive\n\nArchives one or more sites.\n\n~~~\nwp site archive [\u003cid\u003e...] [--slug=\u003cslug\u003e]\n~~~\n\n**OPTIONS**\n\n\t[\u003cid\u003e...]\n\t\tOne or more IDs of sites to archive. If not provided, you must set the --slug parameter.\n\n\t[--slug=\u003cslug\u003e]\n\t\tPath of the site to archive. Subdomain on subdomain installs, directory on subdirectory installs.\n\n**EXAMPLES**\n\n    $ wp site archive 123\n    Success: Site 123 archived.\n\n    $ wp site archive --slug=demo\n    Success: Site 123 archived.\n\n\n\n### wp site create\n\nCreates a site in a multisite installation.\n\n~~~\nwp site create [--slug=\u003cslug\u003e] [--site-url=\u003curl\u003e] [--title=\u003ctitle\u003e] [--email=\u003cemail\u003e] [--network_id=\u003cnetwork-id\u003e] [--private] [--porcelain]\n~~~\n\n**OPTIONS**\n\n\t[--slug=\u003cslug\u003e]\n\t\tPath for the new site. Subdomain on subdomain installs, directory on subdirectory installs.\n\t\tRequired if --site-url is not provided.\n\n\t[--site-url=\u003curl\u003e]\n\t\tFull URL for the new site. Use this to specify a custom domain instead of the auto-generated one.\n\t\tFor subdomain installs, this allows you to use a different base domain (e.g., 'http://site.example.com' instead of 'http://site.main.example.com').\n\t\tFor subdirectory installs, this allows you to use a different path.\n\t\tIf provided, --slug is optional and will be derived from the URL. If both --slug and --site-url are provided, --slug will be used as the base for internal operations (like user creation), while the domain/path from --site-url will be used for the actual site URL.\n\n\t[--title=\u003ctitle\u003e]\n\t\tTitle of the new site. Default: prettified slug.\n\n\t[--email=\u003cemail\u003e]\n\t\tEmail for admin user. User will be created if none exists. Assignment to super admin if not included.\n\n\t[--network_id=\u003cnetwork-id\u003e]\n\t\tNetwork to associate new site with. Defaults to current network (typically 1).\n\n\t[--private]\n\t\tIf set, the new site will be non-public (not indexed)\n\n\t[--porcelain]\n\t\tIf set, only the site id will be output on success.\n\n**EXAMPLES**\n\n    # Create a site with auto-generated domain\n    $ wp site create --slug=example\n    Success: Site 3 created: http://www.example.com/example/\n\n    # Create a site with a custom domain (subdomain multisite)\n    $ wp site create --site-url=http://site.example.com\n    Success: Site 4 created: http://site.example.com/\n\n    # Create a site with a custom subdirectory (subdirectory multisite)\n    $ wp site create --site-url=http://example.com/custom/path/\n    Success: Site 5 created: http://example.com/custom/path/\n\n\n\n### wp site generate\n\nGenerate some sites.\n\n~~~\nwp site generate [--count=\u003cnumber\u003e] [--slug=\u003cslug\u003e] [--email=\u003cemail\u003e] [--network_id=\u003cnetwork-id\u003e] [--private] [--format=\u003cformat\u003e]\n~~~\n\nCreates a specified number of new sites.\n\n**OPTIONS**\n\n\t[--count=\u003cnumber\u003e]\n\t\tHow many sites to generates?\n\t\t---\n\t\tdefault: 100\n\t\t---\n\n\t[--slug=\u003cslug\u003e]\n\t\tPath for the new site. Subdomain on subdomain installs, directory on subdirectory installs.\n\n\t[--email=\u003cemail\u003e]\n\t\tEmail for admin user. User will be created if none exists. Assignment to super admin if not included.\n\n\t[--network_id=\u003cnetwork-id\u003e]\n\t\tNetwork to associate new site with. Defaults to current network (typically 1).\n\n\t[--private]\n\t\tIf set, the new site will be non-public (not indexed)\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: progress\n\t\toptions:\n\t\t - progress\n\t\t - ids\n\t\t---\n\n**EXAMPLES**\n\n   # Generate 10 sites.\n   $ wp site generate --count=10\n   Generating sites  100% [================================================] 0:01 / 0:04\n\n\n\n### wp site deactivate\n\nDeactivates one or more sites.\n\n~~~\nwp site deactivate [\u003cid\u003e...] [--slug=\u003cslug\u003e]\n~~~\n\n**OPTIONS**\n\n\t[\u003cid\u003e...]\n\t\tOne or more IDs of sites to deactivate. If not provided, you must set the --slug parameter.\n\n\t[--slug=\u003cslug\u003e]\n\t\tPath of the site to be deactivated. Subdomain on subdomain installs, directory on subdirectory installs.\n\n**EXAMPLES**\n\n    $ wp site deactivate 123\n    Success: Site 123 deactivated.\n\n    $ wp site deactivate --slug=demo\n    Success: Site 123 deactivated.\n\n\n\n### wp site delete\n\nDeletes a site in a multisite installation.\n\n~~~\nwp site delete [\u003csite-id\u003e] [--slug=\u003cslug\u003e] [--yes] [--keep-tables]\n~~~\n\n**OPTIONS**\n\n\t[\u003csite-id\u003e]\n\t\tThe id of the site to delete. If not provided, you must set the --slug parameter.\n\n\t[--slug=\u003cslug\u003e]\n\t\tPath of the site to be deleted. Subdomain on subdomain installs, directory on subdirectory installs.\n\n\t[--yes]\n\t\tAnswer yes to the confirmation message.\n\n\t[--keep-tables]\n\t\tDelete the blog from the list, but don't drop its tables.\n\n**EXAMPLES**\n\n    $ wp site delete 123\n    Are you sure you want to delete the http://www.example.com/example site? [y/n] y\n    Success: The site at 'http://www.example.com/example' was deleted.\n\n\n\n### wp site empty\n\nEmpties a site of its content (posts, comments, terms, links, and meta).\n\n~~~\nwp site empty [--uploads] [--yes]\n~~~\n\nTruncates posts, comments, terms, and links tables to empty a site of its\ncontent. Doesn't affect site configuration (options) or users.\n\nFlushes the object cache after emptying the site to ensure stale data\nis not served. On a Multisite installation, this will flush the cache\nfor all sites.\n\nTo also empty custom database tables, you'll need to hook into command\nexecution:\n\n```\nWP_CLI::add_hook( 'after_invoke:site empty', function(){\n    global $wpdb;\n    foreach( array( 'p2p', 'p2pmeta' ) as $table ) {\n        $table = $wpdb-\u003e$table;\n        $wpdb-\u003equery( \"TRUNCATE $table\" );\n    }\n});\n```\n\n**OPTIONS**\n\n\t[--uploads]\n\t\tAlso delete *all* files in the site's uploads directory.\n\n\t[--yes]\n\t\tProceed to empty the site without a confirmation prompt.\n\n**EXAMPLES**\n\n    $ wp site empty\n    Are you sure you want to empty the site at http://www.example.com of all posts, links, comments, and terms? [y/n] y\n    Success: The site at 'http://www.example.com' was emptied.\n\n\n\n### wp site get\n\nGets details about a site in a multisite installation.\n\n~~~\nwp site get \u003csite\u003e [--field=\u003cfield\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003csite\u003e\n\t\tSite ID or URL of the site to get. For subdirectory sites, use the full URL (e.g., http://example.com/subdir/).\n\n\t[--field=\u003cfield\u003e]\n\t\tInstead of returning the whole site, returns the value of a single field.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific fields. Defaults to all fields.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - yaml\n\t\t---\n\n**AVAILABLE FIELDS**\n\nThese fields will be displayed by default for the site:\n\n* blog_id\n* url\n* last_updated\n* registered\n\nThese fields are optionally available:\n\n* site_id\n* domain\n* path\n* public\n* archived\n* mature\n* spam\n* deleted\n* lang_id\n\n**EXAMPLES**\n\n    # Get site by ID\n    $ wp site get 1\n    +---------+-------------------------+---------------------+---------------------+\n    | blog_id | url                     | last_updated        | registered          |\n    +---------+-------------------------+---------------------+---------------------+\n    | 1       | http://example.com/     | 2025-01-01 12:00:00 | 2025-01-01 12:00:00 |\n    +---------+-------------------------+---------------------+---------------------+\n\n    # Get site URL by site ID\n    $ wp site get 1 --field=url\n    http://example.com/\n\n    # Get site ID by URL\n    $ wp site get http://example.com/subdir/ --field=blog_id\n    2\n\n    # Delete a site by URL\n    $ wp site delete $(wp site get http://example.com/subdir/ --field=blog_id) --yes\n    Success: The site at 'http://example.com/subdir/' was deleted.\n\n\n\n### wp site list\n\nLists all sites in a multisite installation.\n\n~~~\nwp site list [--network=\u003cid\u003e] [--\u003cfield\u003e=\u003cvalue\u003e] [--site__in=\u003cvalue\u003e] [--site_user=\u003cvalue\u003e] [--site-path=\u003cpath\u003e] [--field=\u003cfield\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t[--network=\u003cid\u003e]\n\t\tThe network to which the sites belong.\n\n\t[--\u003cfield\u003e=\u003cvalue\u003e]\n\t\tFilter by one or more fields (see \"Available Fields\" section). However,\n\t\t'url' isn't an available filter, as it comes from 'home' in wp_options.\n\t\tNote: '--path' conflicts with the global parameter of the same name; use\n\t\t'--site-path' to filter by path instead.\n\n\t[--site__in=\u003cvalue\u003e]\n\t\tOnly list the sites with these blog_id values (comma-separated).\n\n\t[--site_user=\u003cvalue\u003e]\n\t\tOnly list the sites with this user.\n\n\t[--site-path=\u003cpath\u003e]\n\t\tFilter by path. Avoids conflict with the global `--path` parameter.\n\n\t[--field=\u003cfield\u003e]\n\t\tPrints the value of a single field for each site.\n\n\t[--fields=\u003cfields\u003e]\n\t\tComma-separated list of fields to show.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - count\n\t\t  - ids\n\t\t  - json\n\t\t  - yaml\n\t\t---\n\n**AVAILABLE FIELDS**\n\nThese fields will be displayed by default for each site:\n\n* blog_id\n* url\n* last_updated\n* registered\n\nThese fields are optionally available:\n\n* site_id\n* domain\n* path\n* public\n* archived\n* mature\n* spam\n* deleted\n* lang_id\n\n**EXAMPLES**\n\n    # Output a simple list of site URLs\n    $ wp site list --field=url\n    http://www.example.com/\n    http://www.example.com/subdir/\n\n\n\n### wp site mature\n\nSets one or more sites as mature.\n\n~~~\nwp site mature [\u003cid\u003e...] [--slug=\u003cslug\u003e]\n~~~\n\n**OPTIONS**\n\n\t[\u003cid\u003e...]\n\t\tOne or more IDs of sites to set as mature. If not provided, you must set the --slug parameter.\n\n\t[--slug=\u003cslug\u003e]\n\t\tPath of the site to be set as mature. Subdomain on subdomain installs, directory on subdirectory installs.\n\n**EXAMPLES**\n\n    $ wp site mature 123\n    Success: Site 123 marked as mature.\n\n    $ wp site mature --slug=demo\n    Success: Site 123 marked as mature.\n\n\n\n### wp site meta\n\nAdds, updates, deletes, and lists site custom fields.\n\n~~~\nwp site meta\n~~~\n\n**EXAMPLES**\n\n    # Set site meta\n    $ wp site meta set 123 bio \"Mary is a WordPress developer.\"\n    Success: Updated custom field 'bio'.\n\n    # Get site meta\n    $ wp site meta get 123 bio\n    Mary is a WordPress developer.\n\n    # Update site meta\n    $ wp site meta update 123 bio \"Mary is an awesome WordPress developer.\"\n    Success: Updated custom field 'bio'.\n\n    # Delete site meta\n    $ wp site meta delete 123 bio\n    Success: Deleted custom field.\n\n\n\n\n\n### wp site meta add\n\nAdd a meta field.\n\n~~~\nwp site meta add \u003cid\u003e \u003ckey\u003e [\u003cvalue\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ckey\u003e\n\t\tThe name of the meta field to create.\n\n\t[\u003cvalue\u003e]\n\t\tThe value of the meta field. If omitted, the value is read from STDIN.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe serialization format for the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t---\n\n\n\n### wp site meta delete\n\nDelete a meta field.\n\n~~~\nwp site meta delete \u003cid\u003e [\u003ckey\u003e] [\u003cvalue\u003e] [--all]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t[\u003ckey\u003e]\n\t\tThe name of the meta field to delete.\n\n\t[\u003cvalue\u003e]\n\t\tThe value to delete. If omitted, all rows with key will deleted.\n\n\t[--all]\n\t\tDelete all meta for the object.\n\n\n\n### wp site meta get\n\nGet meta field value.\n\n~~~\nwp site meta get \u003cid\u003e \u003ckey\u003e [--single] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ckey\u003e\n\t\tThe name of the meta field to get.\n\n\t[--single]\n\t\tWhether to return a single value.\n\n\t[--format=\u003cformat\u003e]\n\t\tGet value in a particular format.\n\t\t---\n\t\tdefault: var_export\n\t\toptions:\n\t\t  - var_export\n\t\t  - json\n\t\t  - yaml\n\t\t---\n\n\n\n### wp site meta list\n\nList all metadata associated with an object.\n\n~~~\nwp site meta list \u003cid\u003e [--keys=\u003ckeys\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e] [--orderby=\u003cfields\u003e] [--order=\u003corder\u003e] [--unserialize]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tID for the object.\n\n\t[--keys=\u003ckeys\u003e]\n\t\tLimit output to metadata of specific keys.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific row fields. Defaults to id,meta_key,meta_value.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - yaml\n\t\t  - count\n\t\t---\n\n\t[--orderby=\u003cfields\u003e]\n\t\tSet orderby which field.\n\t\t---\n\t\tdefault: id\n\t\toptions:\n\t\t - id\n\t\t - meta_key\n\t\t - meta_value\n\t\t---\n\n\t[--order=\u003corder\u003e]\n\t\tSet ascending or descending order.\n\t\t---\n\t\tdefault: asc\n\t\toptions:\n\t\t - asc\n\t\t - desc\n\t\t---\n\n\t[--unserialize]\n\t\tUnserialize meta_value output.\n\n\n\n### wp site meta patch\n\nUpdate a nested value for a meta field.\n\n~~~\nwp site meta patch \u003caction\u003e \u003cid\u003e \u003ckey\u003e \u003ckey-path\u003e... [\u003cvalue\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003caction\u003e\n\t\tPatch action to perform.\n\t\t---\n\t\toptions:\n\t\t  - insert\n\t\t  - update\n\t\t  - delete\n\t\t---\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ckey\u003e\n\t\tThe name of the meta field to update.\n\n\t\u003ckey-path\u003e...\n\t\tThe name(s) of the keys within the value to locate the value to patch.\n\n\t[\u003cvalue\u003e]\n\t\tThe new value. If omitted, the value is read from STDIN.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe serialization format for the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t---\n\n\n\n### wp site meta pluck\n\nGet a nested value from a meta field.\n\n~~~\nwp site meta pluck \u003cid\u003e \u003ckey\u003e \u003ckey-path\u003e... [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ckey\u003e\n\t\tThe name of the meta field to get.\n\n\t\u003ckey-path\u003e...\n\t\tThe name(s) of the keys within the value to locate the value to pluck.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe output format of the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t  - yaml\n\n\n\n### wp site meta update\n\nUpdate a meta field.\n\n~~~\nwp site meta update \u003cid\u003e \u003ckey\u003e [\u003cvalue\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**Alias:** `set`\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ckey\u003e\n\t\tThe name of the meta field to update.\n\n\t[\u003cvalue\u003e]\n\t\tThe new value. If omitted, the value is read from STDIN.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe serialization format for the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t---\n\n\n\n### wp site option\n\nAdds, updates, deletes, and lists site options in a multisite installation.\n\n~~~\nwp site option\n~~~\n\n**EXAMPLES**\n\n    # Get site registration\n    $ wp site option get registration\n    none\n\n    # Add site option\n    $ wp site option add my_option foobar\n    Success: Added 'my_option' site option.\n\n    # Update site option\n    $ wp site option update my_option '{\"foo\": \"bar\"}' --format=json\n    Success: Updated 'my_option' site option.\n\n    # Delete site option\n    $ wp site option delete my_option\n    Success: Deleted 'my_option' site option.\n\n\n\n\n\n### wp site option add\n\nAdds a site option.\n\n~~~\nwp site option add \u003ckey\u003e [\u003cvalue\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003ckey\u003e\n\t\tThe name of the site option to add.\n\n\t[\u003cvalue\u003e]\n\t\tThe value of the site option to add. If omitted, the value is read from STDIN.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe serialization format for the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t---\n\n**EXAMPLES**\n\n    # Create a site option by reading a JSON file\n    $ wp site option add my_option --format=json \u003c config.json\n    Success: Added 'my_option' site option.\n\n\n\n### wp site option delete\n\nDeletes a site option.\n\n~~~\nwp site option delete \u003ckey\u003e\n~~~\n\n**OPTIONS**\n\n\t\u003ckey\u003e\n\t\tKey for the site option.\n\n**EXAMPLES**\n\n    $ wp site option delete my_option\n    Success: Deleted 'my_option' site option.\n\n\n\n### wp site option get\n\nGets a site option.\n\n~~~\nwp site option get \u003ckey\u003e [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003ckey\u003e\n\t\tKey for the site option.\n\n\t[--format=\u003cformat\u003e]\n\t\tGet value in a particular format.\n\t\t---\n\t\tdefault: var_export\n\t\toptions:\n\t\t  - var_export\n\t\t  - json\n\t\t  - yaml\n\t\t---\n\n**EXAMPLES**\n\n    # Get site upload filetypes\n    $ wp site option get upload_filetypes\n    jpg jpeg png gif mov avi mpg\n\n\n\n### wp site option list\n\nLists site options.\n\n~~~\nwp site option list [--search=\u003cpattern\u003e] [--site_id=\u003cid\u003e] [--field=\u003cfield\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t[--search=\u003cpattern\u003e]\n\t\tUse wildcards ( * and ? ) to match option name.\n\n\t[--site_id=\u003cid\u003e]\n\t\tLimit options to those of a particular site id.\n\n\t[--field=\u003cfield\u003e]\n\t\tPrints the value of a single field.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific object fields.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe serialization format for the value. total_bytes displays the total size of matching options in bytes.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - json\n\t\t  - csv\n\t\t  - count\n\t\t  - yaml\n\t\t  - total_bytes\n\t\t---\n\n**AVAILABLE FIELDS**\n\nThis field will be displayed by default for each matching option:\n\n* meta_key\n* meta_value\n\nThese fields are optionally available:\n\n* meta_id\n* site_id\n* size_bytes\n\n**EXAMPLES**\n\n    # List all site options beginning with \"i2f_\"\n    $ wp site option list --search=\"i2f_*\"\n    +-------------+--------------+\n    | meta_key    | meta_value   |\n    +-------------+--------------+\n    | i2f_version | 0.1.0        |\n    +-------------+--------------+\n\n\n\n### wp site option patch\n\nUpdates a nested value in an option.\n\n~~~\nwp site option patch \u003caction\u003e \u003ckey\u003e \u003ckey-path\u003e... [\u003cvalue\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003caction\u003e\n\t\tPatch action to perform.\n\t\t---\n\t\toptions:\n\t\t  - insert\n\t\t  - update\n\t\t  - delete\n\t\t---\n\n\t\u003ckey\u003e\n\t\tThe option name.\n\n\t\u003ckey-path\u003e...\n\t\tThe name(s) of the keys within the value to locate the value to patch.\n\n\t[\u003cvalue\u003e]\n\t\tThe new value. If omitted, the value is read from STDIN.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe serialization format for the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t---\n\n\n\n### wp site option pluck\n\nGets a nested value from an option.\n\n~~~\nwp site option pluck \u003ckey\u003e \u003ckey-path\u003e... [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003ckey\u003e\n\t\tThe option name.\n\n\t\u003ckey-path\u003e...\n\t\tThe name(s) of the keys within the value to locate the value to pluck.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe output format of the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t  - yaml\n\n\n\n### wp site option update\n\nUpdates a site option.\n\n~~~\nwp site option update \u003ckey\u003e [\u003cvalue\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**Alias:** `set`\n\n**OPTIONS**\n\n\t\u003ckey\u003e\n\t\tThe name of the site option to update.\n\n\t[\u003cvalue\u003e]\n\t\tThe new value. If omitted, the value is read from STDIN.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe serialization format for the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t---\n\n**EXAMPLES**\n\n    # Update a site option by reading from a file\n    $ wp site option update my_option \u003c value.txt\n    Success: Updated 'my_option' site option.\n\n\n\n### wp site private\n\nSets one or more sites as private.\n\n~~~\nwp site private [\u003cid\u003e...] [--slug=\u003cslug\u003e]\n~~~\n\n**OPTIONS**\n\n\t[\u003cid\u003e...]\n\t\tOne or more IDs of sites to set as private. If not provided, you must set the --slug parameter.\n\n\t[--slug=\u003cslug\u003e]\n\t\tPath of the site to be set as private. Subdomain on subdomain installs, directory on subdirectory installs.\n\n**EXAMPLES**\n\n    $ wp site private 123\n    Success: Site 123 marked as private.\n\n    $ wp site private --slug=demo\n    Success: Site 123 marked as private.\n\n\n\n### wp site public\n\nSets one or more sites as public.\n\n~~~\nwp site public [\u003cid\u003e...] [--slug=\u003cslug\u003e]\n~~~\n\n**OPTIONS**\n\n\t[\u003cid\u003e...]\n\t\tOne or more IDs of sites to set as public. If not provided, you must set the --slug parameter.\n\n\t[--slug=\u003cslug\u003e]\n\t\tPath of the site to be set as public. Subdomain on subdomain installs, directory on subdirectory installs.\n\n**EXAMPLES**\n\n    $ wp site public 123\n    Success: Site 123 marked as public.\n\n     $ wp site public --slug=demo\n     Success: Site 123 marked as public.\n\n\n\n### wp site spam\n\nMarks one or more sites as spam.\n\n~~~\nwp site spam [\u003cid\u003e...] [--slug=\u003cslug\u003e]\n~~~\n\n**OPTIONS**\n\n\t[\u003cid\u003e...]\n\t\tOne or more IDs of sites to be marked as spam. If not provided, you must set the --slug parameter.\n\n\t[--slug=\u003cslug\u003e]\n\t\tPath of the site to be marked as spam. Subdomain on subdomain installs, directory on subdirectory installs.\n\n**EXAMPLES**\n\n    $ wp site spam 123\n    Success: Site 123 marked as spam.\n\n\n\n### wp site unarchive\n\nUnarchives one or more sites.\n\n~~~\nwp site unarchive [\u003cid\u003e...] [--slug=\u003cslug\u003e]\n~~~\n\n**OPTIONS**\n\n\t[\u003cid\u003e...]\n\t\tOne or more IDs of sites to unarchive. If not provided, you must set the --slug parameter.\n\n\t[--slug=\u003cslug\u003e]\n\t\tPath of the site to unarchive. Subdomain on subdomain installs, directory on subdirectory installs.\n\n**EXAMPLES**\n\n    $ wp site unarchive 123\n    Success: Site 123 unarchived.\n\n    $ wp site unarchive --slug=demo\n    Success: Site 123 unarchived.\n\n\n\n### wp site unmature\n\nSets one or more sites as immature.\n\n~~~\nwp site unmature [\u003cid\u003e...] [--slug=\u003cslug\u003e]\n~~~\n\n**OPTIONS**\n\n\t[\u003cid\u003e...]\n\t\tOne or more IDs of sites to set as unmature. If not provided, you must set the --slug parameter.\n\n\t[--slug=\u003cslug\u003e]\n\t\tPath of the site to be set as unmature. Subdomain on subdomain installs, directory on subdirectory installs.\n\n**EXAMPLES**\n\n    $ wp site unmature 123\n    Success: Site 123 marked as unmature.\n\n    $ wp site unmature --slug=demo\n    Success: Site 123 marked as unmature.\n\n\n\n### wp site unspam\n\nRemoves one or more sites from spam.\n\n~~~\nwp site unspam [\u003cid\u003e...] [--slug=\u003cslug\u003e]\n~~~\n\n**OPTIONS**\n\n\t[\u003cid\u003e...]\n\t\tOne or more IDs of sites to remove from spam. If not provided, you must set the --slug parameter.\n\n\t[--slug=\u003cslug\u003e]\n\t\tPath of the site to be removed from spam. Subdomain on subdomain installs, directory on subdirectory installs.\n\n**EXAMPLES**\n\n    $ wp site unspam 123\n    Success: Site 123 removed from spam.\n\n\n\n### wp taxonomy\n\nRetrieves information about registered taxonomies.\n\n~~~\nwp taxonomy\n~~~\n\nSee references for [built-in taxonomies](https://developer.wordpress.org/themes/basics/categories-tags-custom-taxonomies/) and [custom taxonomies](https://developer.wordpress.org/plugins/taxonomies/working-with-custom-taxonomies/).\n\n**EXAMPLES**\n\n    # List all taxonomies with 'post' object type.\n    $ wp taxonomy list --object_type=post --fields=name,public\n    +-------------+--------+\n    | name        | public |\n    +-------------+--------+\n    | category    | 1      |\n    | post_tag    | 1      |\n    | post_format | 1      |\n    +-------------+--------+\n\n    # Get capabilities of 'post_tag' taxonomy.\n    $ wp taxonomy get post_tag --field=cap\n    {\"manage_terms\":\"manage_categories\",\"edit_terms\":\"manage_categories\",\"delete_terms\":\"manage_categories\",\"assign_terms\":\"edit_posts\"}\n\n\n\n### wp taxonomy get\n\nGets details about a registered taxonomy.\n\n~~~\nwp taxonomy get \u003ctaxonomy\u003e [--field=\u003cfield\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003ctaxonomy\u003e\n\t\tTaxonomy slug.\n\n\t[--field=\u003cfield\u003e]\n\t\tInstead of returning the whole taxonomy, returns the value of a single field.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific fields. Defaults to all fields.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - yaml\n\t\t---\n\n**AVAILABLE FIELDS**\n\nThese fields will be displayed by default for the specified taxonomy:\n\n* name\n* label\n* description\n* object_type\n* show_tagcloud\n* hierarchical\n* public\n* labels\n* cap\n\nThese fields are optionally available:\n\n* count\n\n**EXAMPLES**\n\n    # Get details of `category` taxonomy.\n    $ wp taxonomy get category --fields=name,label,object_type\n    +-------------+------------+\n    | Field       | Value      |\n    +-------------+------------+\n    | name        | category   |\n    | label       | Categories |\n    | object_type | [\"post\"]   |\n    +-------------+------------+\n\n    # Get capabilities of 'post_tag' taxonomy.\n    $ wp taxonomy get post_tag --field=cap\n    {\"manage_terms\":\"manage_categories\",\"edit_terms\":\"manage_categories\",\"delete_terms\":\"manage_categories\",\"assign_terms\":\"edit_posts\"}\n\n\n\n### wp taxonomy list\n\nLists registered taxonomies.\n\n~~~\nwp taxonomy list [--\u003cfield\u003e=\u003cvalue\u003e] [--field=\u003cfield\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t[--\u003cfield\u003e=\u003cvalue\u003e]\n\t\tFilter by one or more fields (see get_taxonomies() first parameter for a list of available fields).\n\n\t[--field=\u003cfield\u003e]\n\t\tPrints the value of a single field for each taxonomy.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific taxonomy fields.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - count\n\t\t  - yaml\n\t\t---\n\n**AVAILABLE FIELDS**\n\nThese fields will be displayed by default for each term:\n\n* name\n* label\n* description\n* object_type\n* show_tagcloud\n* hierarchical\n* public\n\nThese fields are optionally available:\n\n* count\n\n**EXAMPLES**\n\n    # List all taxonomies.\n    $ wp taxonomy list --format=csv\n    name,label,description,object_type,show_tagcloud,hierarchical,public\n    category,Categories,,post,1,1,1\n    post_tag,Tags,,post,1,,1\n    nav_menu,\"Navigation Menus\",,nav_menu_item,,,\n    link_category,\"Link Categories\",,link,1,,\n    post_format,Format,,post,,,1\n\n    # List all taxonomies with 'post' object type.\n    $ wp taxonomy list --object_type=post --fields=name,public\n    +-------------+--------+\n    | name        | public |\n    +-------------+--------+\n    | category    | 1      |\n    | post_tag    | 1      |\n    | post_format | 1      |\n    +-------------+--------+\n\n\n\n### wp term\n\nManages taxonomy terms and term meta, with create, delete, and list commands.\n\n~~~\nwp term\n~~~\n\nSee reference for [taxonomies and their terms](https://wordpress.org/documentation/article/taxonomies).\n\n**EXAMPLES**\n\n    # Create a new term.\n    $ wp term create category Apple --description=\"A type of fruit\"\n    Success: Created category 199.\n\n    # Get details about a term.\n    $ wp term get category 199 --format=json --fields=term_id,name,slug,count\n    {\"term_id\":199,\"name\":\"Apple\",\"slug\":\"apple\",\"count\":1}\n\n    # Update an existing term.\n    $ wp term update category 15 --name=Apple\n    Success: Term updated.\n\n    # Get the term's URL.\n    $ wp term list post_tag --include=123 --field=url\n    http://example.com/tag/tips-and-tricks\n\n    # Delete post category\n    $ wp term delete category 15\n    Success: Deleted category 15.\n\n    # Recount posts assigned to each categories and tags\n    $ wp term recount category post_tag\n    Success: Updated category term count\n    Success: Updated post_tag term count\n\n    # Prune terms with 0 or 1 published posts\n    $ wp term prune post_tag\n    Deleted post_tag 15.\n    Success: Pruned 1 of 5 terms.\n\n\n\n### wp term create\n\nCreates a new term.\n\n~~~\nwp term create \u003ctaxonomy\u003e \u003cterm\u003e [--slug=\u003cslug\u003e] [--description=\u003cdescription\u003e] [--parent=\u003cterm-id\u003e] [--porcelain]\n~~~\n\n**OPTIONS**\n\n\t\u003ctaxonomy\u003e\n\t\tTaxonomy for the new term.\n\n\t\u003cterm\u003e\n\t\tA name for the new term.\n\n\t[--slug=\u003cslug\u003e]\n\t\tA unique slug for the new term. Defaults to sanitized version of name.\n\n\t[--description=\u003cdescription\u003e]\n\t\tA description for the new term.\n\n\t[--parent=\u003cterm-id\u003e]\n\t\tA parent for the new term.\n\n\t[--porcelain]\n\t\tOutput just the new term id.\n\n**EXAMPLES**\n\n    # Create a new category \"Apple\" with a description.\n    $ wp term create category Apple --description=\"A type of fruit\"\n    Success: Created category 199.\n\n\n\n### wp term delete\n\nDeletes an existing term.\n\n~~~\nwp term delete \u003ctaxonomy\u003e \u003cterm\u003e... [--by=\u003cfield\u003e]\n~~~\n\nErrors if the term doesn't exist, or there was a problem in deleting it.\n\n**OPTIONS**\n\n\t\u003ctaxonomy\u003e\n\t\tTaxonomy of the term to delete.\n\n\t\u003cterm\u003e...\n\t\tOne or more IDs or slugs of terms to delete.\n\n\t[--by=\u003cfield\u003e]\n\t\tExplicitly handle the term value as a slug or id.\n\t\t---\n\t\tdefault: id\n\t\toptions:\n\t\t  - slug\n\t\t  - id\n\t\t---\n\n**EXAMPLES**\n\n    # Delete post category by id\n    $ wp term delete category 15\n    Deleted category 15.\n    Success: Deleted 1 of 1 terms.\n\n    # Delete post category by slug\n    $ wp term delete category apple --by=slug\n    Deleted category 15.\n    Success: Deleted 1 of 1 terms.\n\n    # Delete all post tags\n    $ wp term list post_tag --field=term_id | xargs wp term delete post_tag\n    Deleted post_tag 159.\n    Deleted post_tag 160.\n    Deleted post_tag 161.\n    Success: Deleted 3 of 3 terms.\n\n\n\n### wp term generate\n\nGenerates some terms.\n\n~~~\nwp term generate \u003ctaxonomy\u003e [--count=\u003cnumber\u003e] [--max_depth=\u003cnumber\u003e] [--format=\u003cformat\u003e]\n~~~\n\nCreates a specified number of new terms with dummy data.\n\n**OPTIONS**\n\n\t\u003ctaxonomy\u003e\n\t\tThe taxonomy for the generated terms.\n\n\t[--count=\u003cnumber\u003e]\n\t\tHow many terms to generate?\n\t\t---\n\t\tdefault: 100\n\t\t---\n\n\t[--max_depth=\u003cnumber\u003e]\n\t\tGenerate child terms down to a certain depth.\n\t\t---\n\t\tdefault: 1\n\t\t---\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: progress\n\t\toptions:\n\t\t  - progress\n\t\t  - ids\n\t\t---\n\n**EXAMPLES**\n\n    # Generate post categories.\n    $ wp term generate category --count=10\n    Generating terms  100% [=========] 0:02 / 0:02\n\n    # Add meta to every generated term.\n    $ wp term generate category --format=ids --count=3 | xargs -d ' ' -I % wp term meta add % foo bar\n    Success: Added custom field.\n    Success: Added custom field.\n    Success: Added custom field.\n\n\n\n### wp term get\n\nGets details about a term.\n\n~~~\nwp term get \u003ctaxonomy\u003e \u003cterm\u003e [--by=\u003cfield\u003e] [--field=\u003cfield\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003ctaxonomy\u003e\n\t\tTaxonomy of the term to get\n\n\t\u003cterm\u003e\n\t\tID or slug of the term to get\n\n\t[--by=\u003cfield\u003e]\n\t\tExplicitly handle the term value as a slug or id.\n\t\t---\n\t\tdefault: id\n\t\toptions:\n\t\t  - slug\n\t\t  - id\n\t\t---\n\n\t[--field=\u003cfield\u003e]\n\t\tInstead of returning the whole term, returns the value of a single field.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific fields. Defaults to all fields.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - yaml\n\t\t---\n\n**EXAMPLES**\n\n    # Get details about a category with id 199.\n    $ wp term get category 199 --format=json\n    {\"term_id\":199,\"name\":\"Apple\",\"slug\":\"apple\",\"term_group\":0,\"term_taxonomy_id\":199,\"taxonomy\":\"category\",\"description\":\"A type of fruit\",\"parent\":0,\"count\":0,\"filter\":\"raw\"}\n\n    # Get details about a category with slug apple.\n    $ wp term get category apple --by=slug --format=json\n    {\"term_id\":199,\"name\":\"Apple\",\"slug\":\"apple\",\"term_group\":0,\"term_taxonomy_id\":199,\"taxonomy\":\"category\",\"description\":\"A type of fruit\",\"parent\":0,\"count\":0,\"filter\":\"raw\"}\n\n\n\n### wp term list\n\nLists terms in a taxonomy.\n\n~~~\nwp term list \u003ctaxonomy\u003e... [--\u003cfield\u003e=\u003cvalue\u003e] [--field=\u003cfield\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003ctaxonomy\u003e...\n\t\tList terms of one or more taxonomies\n\n\t[--\u003cfield\u003e=\u003cvalue\u003e]\n\t\tFilter by one or more fields (see get_terms() $args parameter for a list of fields).\n\n\t[--field=\u003cfield\u003e]\n\t\tPrints the value of a single field for each term.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific object fields.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - ids\n\t\t  - json\n\t\t  - count\n\t\t  - yaml\n\t\t---\n\n**AVAILABLE FIELDS**\n\nThese fields will be displayed by default for each term:\n\n* term_id\n* term_taxonomy_id\n* name\n* slug\n* description\n* parent\n* count\n\nThese fields are optionally available:\n\n* term_group\n* url\n\n**EXAMPLES**\n\n    # List post categories\n    $ wp term list category --format=csv\n    term_id,term_taxonomy_id,name,slug,description,parent,count\n    2,2,aciform,aciform,,0,1\n    3,3,antiquarianism,antiquarianism,,0,1\n    4,4,arrangement,arrangement,,0,1\n    5,5,asmodeus,asmodeus,,0,1\n\n    # List post tags\n    $ wp term list post_tag --fields=name,slug\n    +-----------+-------------+\n    | name      | slug        |\n    +-----------+-------------+\n    | 8BIT      | 8bit        |\n    | alignment | alignment-2 |\n    | Articles  | articles    |\n    | aside     | aside       |\n    +-----------+-------------+\n\n\n\n### wp term meta\n\nAdds, updates, deletes, and lists term custom fields.\n\n~~~\nwp term meta\n~~~\n\n**EXAMPLES**\n\n    # Set term meta\n    $ wp term meta set 123 bio \"Mary is a WordPress developer.\"\n    Success: Updated custom field 'bio'.\n\n    # Get term meta\n    $ wp term meta get 123 bio\n    Mary is a WordPress developer.\n\n    # Update term meta\n    $ wp term meta update 123 bio \"Mary is an awesome WordPress developer.\"\n    Success: Updated custom field 'bio'.\n\n    # Delete term meta\n    $ wp term meta delete 123 bio\n    Success: Deleted custom field.\n\n\n\n\n\n### wp term meta add\n\nAdd a meta field.\n\n~~~\nwp term meta add \u003cid\u003e \u003ckey\u003e [\u003cvalue\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ckey\u003e\n\t\tThe name of the meta field to create.\n\n\t[\u003cvalue\u003e]\n\t\tThe value of the meta field. If omitted, the value is read from STDIN.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe serialization format for the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t---\n\n\n\n### wp term meta delete\n\nDelete a meta field.\n\n~~~\nwp term meta delete \u003cid\u003e [\u003ckey\u003e] [\u003cvalue\u003e] [--all]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t[\u003ckey\u003e]\n\t\tThe name of the meta field to delete.\n\n\t[\u003cvalue\u003e]\n\t\tThe value to delete. If omitted, all rows with key will deleted.\n\n\t[--all]\n\t\tDelete all meta for the object.\n\n\n\n### wp term meta get\n\nGet meta field value.\n\n~~~\nwp term meta get \u003cid\u003e \u003ckey\u003e [--single] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ckey\u003e\n\t\tThe name of the meta field to get.\n\n\t[--single]\n\t\tWhether to return a single value.\n\n\t[--format=\u003cformat\u003e]\n\t\tGet value in a particular format.\n\t\t---\n\t\tdefault: var_export\n\t\toptions:\n\t\t  - var_export\n\t\t  - json\n\t\t  - yaml\n\t\t---\n\n\n\n### wp term meta list\n\nList all metadata associated with an object.\n\n~~~\nwp term meta list \u003cid\u003e [--keys=\u003ckeys\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e] [--orderby=\u003cfields\u003e] [--order=\u003corder\u003e] [--unserialize]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tID for the object.\n\n\t[--keys=\u003ckeys\u003e]\n\t\tLimit output to metadata of specific keys.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific row fields. Defaults to id,meta_key,meta_value.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - yaml\n\t\t  - count\n\t\t---\n\n\t[--orderby=\u003cfields\u003e]\n\t\tSet orderby which field.\n\t\t---\n\t\tdefault: id\n\t\toptions:\n\t\t - id\n\t\t - meta_key\n\t\t - meta_value\n\t\t---\n\n\t[--order=\u003corder\u003e]\n\t\tSet ascending or descending order.\n\t\t---\n\t\tdefault: asc\n\t\toptions:\n\t\t - asc\n\t\t - desc\n\t\t---\n\n\t[--unserialize]\n\t\tUnserialize meta_value output.\n\n\n\n### wp term meta patch\n\nUpdate a nested value for a meta field.\n\n~~~\nwp term meta patch \u003caction\u003e \u003cid\u003e \u003ckey\u003e \u003ckey-path\u003e... [\u003cvalue\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003caction\u003e\n\t\tPatch action to perform.\n\t\t---\n\t\toptions:\n\t\t  - insert\n\t\t  - update\n\t\t  - delete\n\t\t---\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ckey\u003e\n\t\tThe name of the meta field to update.\n\n\t\u003ckey-path\u003e...\n\t\tThe name(s) of the keys within the value to locate the value to patch.\n\n\t[\u003cvalue\u003e]\n\t\tThe new value. If omitted, the value is read from STDIN.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe serialization format for the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t---\n\n\n\n### wp term meta pluck\n\nGet a nested value from a meta field.\n\n~~~\nwp term meta pluck \u003cid\u003e \u003ckey\u003e \u003ckey-path\u003e... [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ckey\u003e\n\t\tThe name of the meta field to get.\n\n\t\u003ckey-path\u003e...\n\t\tThe name(s) of the keys within the value to locate the value to pluck.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe output format of the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t  - yaml\n\n\n\n### wp term meta update\n\nUpdate a meta field.\n\n~~~\nwp term meta update \u003cid\u003e \u003ckey\u003e [\u003cvalue\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**Alias:** `set`\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ckey\u003e\n\t\tThe name of the meta field to update.\n\n\t[\u003cvalue\u003e]\n\t\tThe new value. If omitted, the value is read from STDIN.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe serialization format for the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t---\n\n\n\n### wp term migrate\n\nMigrate a term of a taxonomy to another taxonomy.\n\n~~~\nwp term migrate \u003cterm\u003e [--by=\u003cfield\u003e] [--from=\u003ctaxonomy\u003e] [--to=\u003ctaxonomy\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cterm\u003e\n\t\tSlug or ID of the term to migrate.\n\n\t[--by=\u003cfield\u003e]\n\t\tExplicitly handle the term value as a slug or id.\n\t\t---\n\t\tdefault: id\n\t\toptions:\n\t\t  - slug\n\t\t  - id\n\t\t---\n\n\t[--from=\u003ctaxonomy\u003e]\n\t\tTaxonomy slug of the term to migrate.\n\n\t[--to=\u003ctaxonomy\u003e]\n\t\tTaxonomy slug to migrate to.\n\n**EXAMPLES**\n\n    # Migrate a category's term (video) to tag taxonomy.\n    $ wp term migrate 9190 --from=category --to=post_tag\n    Term 'video' assigned to post 1155.\n    Term 'video' migrated.\n    Old instance of term 'video' removed from its original taxonomy.\n    Success: Migrated the term 'video' from taxonomy 'category' to taxonomy 'post_tag' for 1 post.\n\n\n\n### wp term recount\n\nRecalculates number of posts assigned to each term.\n\n~~~\nwp term recount \u003ctaxonomy\u003e...\n~~~\n\nIn instances where manual updates are made to the terms assigned to\nposts in the database, the number of posts associated with a term\ncan become out-of-sync with the actual number of posts.\n\nThis command runs wp_update_term_count() on the taxonomy's terms\nto bring the count back to the correct value.\n\n**OPTIONS**\n\n\t\u003ctaxonomy\u003e...\n\t\tOne or more taxonomies to recalculate.\n\n**EXAMPLES**\n\n    # Recount posts assigned to each categories and tags\n    $ wp term recount category post_tag\n    Success: Updated category term count.\n    Success: Updated post_tag term count.\n\n    # Recount all listed taxonomies\n    $ wp taxonomy list --field=name | xargs wp term recount\n    Success: Updated category term count.\n    Success: Updated post_tag term count.\n    Success: Updated nav_menu term count.\n    Success: Updated link_category term count.\n    Success: Updated post_format term count.\n\n\n\n### wp term prune\n\nRemoves terms with 0 or 1 published posts from one or more taxonomies.\n\n~~~\nwp term prune \u003ctaxonomy\u003e... [--dry-run]\n~~~\n\nUseful for cleaning up large sites with many unused or barely-used terms.\nThe term count is based on the number of published posts assigned to each\nterm.\n\n**OPTIONS**\n\n\t\u003ctaxonomy\u003e...\n\t\tOne or more taxonomies to prune.\n\n\t[--dry-run]\n\t\tPreview the terms to be pruned, without actually deleting them.\n\n**EXAMPLES**\n\n    # Prune post tags with 0 or 1 published posts.\n    $ wp term prune post_tag\n    Deleted post_tag 15.\n    Success: Pruned 1 of 5 terms.\n\n    # Dry run to preview which terms would be pruned.\n    $ wp term prune post_tag --dry-run\n    Would delete post_tag 15.\n    Success: 1 post_tag term would be pruned.\n\n    # Prune multiple taxonomies at once.\n    $ wp term prune category post_tag\n    Deleted category 8.\n    Success: Pruned 1 of 3 terms.\n    Deleted post_tag 15.\n    Success: Pruned 1 of 5 terms.\n\n\n\n### wp term update\n\nUpdates an existing term.\n\n~~~\nwp term update \u003ctaxonomy\u003e \u003cterm\u003e [--by=\u003cfield\u003e] [--name=\u003cname\u003e] [--slug=\u003cslug\u003e] [--description=\u003cdescription\u003e] [--parent=\u003cterm-id\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003ctaxonomy\u003e\n\t\tTaxonomy of the term to update.\n\n\t\u003cterm\u003e\n\t\tID or slug for the term to update.\n\n\t[--by=\u003cfield\u003e]\n\t\tExplicitly handle the term value as a slug or id.\n\t\t---\n\t\tdefault: id\n\t\toptions:\n\t\t  - slug\n\t\t  - id\n\t\t---\n\n\t[--name=\u003cname\u003e]\n\t\tA new name for the term.\n\n\t[--slug=\u003cslug\u003e]\n\t\tA new slug for the term.\n\n\t[--description=\u003cdescription\u003e]\n\t\tA new description for the term.\n\n\t[--parent=\u003cterm-id\u003e]\n\t\tA new parent for the term.\n\n**EXAMPLES**\n\n    # Change category with id 15 to use the name \"Apple\"\n    $ wp term update category 15 --name=Apple\n    Success: Term updated.\n\n    # Change category with slug apple to use the name \"Apple\"\n    $ wp term update category apple --by=slug --name=Apple\n    Success: Term updated.\n\n\n\n### wp user\n\nManages users, along with their roles, capabilities, and meta.\n\n~~~\nwp user\n~~~\n\nSee references for [Roles and Capabilities](https://wordpress.org/documentation/article/roles-and-capabilities)\nand [WP User class](https://developer.wordpress.org/reference/classes/wp_user).\n\n**EXAMPLES**\n\n    # List user IDs\n    $ wp user list --field=ID\n    1\n\n    # Create a new user.\n    $ wp user create bob bob@example.com --role=author\n    Success: Created user 3.\n    Password: k9**\u0026I4vNH(\u0026\n\n    # Update an existing user.\n    $ wp user update 123 --display_name=Mary --user_pass=marypass\n    Success: Updated user 123.\n\n    # Delete user 123 and reassign posts to user 567\n    $ wp user delete 123 --reassign=567\n    Success: Removed user 123 from http://example.com.\n\n\n\n### wp user add-cap\n\nAdds a capability to a user.\n\n~~~\nwp user add-cap \u003cuser\u003e \u003ccap\u003e\n~~~\n\n**OPTIONS**\n\n\t\u003cuser\u003e\n\t\tUser ID, user email, or user login.\n\n\t\u003ccap\u003e\n\t\tThe capability to add.\n\n**EXAMPLES**\n\n    # Add a capability for a user\n    $ wp user add-cap john create_premium_item\n    Success: Added 'create_premium_item' capability for john (16).\n\n    # Add a capability for a user\n    $ wp user add-cap 15 edit_product\n    Success: Added 'edit_product' capability for johndoe (15).\n\n\n\n### wp user add-role\n\nAdds a role for a user.\n\n~~~\nwp user add-role \u003cuser\u003e [\u003crole\u003e...]\n~~~\n\n**OPTIONS**\n\n\t\u003cuser\u003e\n\t\tUser ID, user email, or user login.\n\n\t[\u003crole\u003e...]\n\t\tAdd the specified role(s) to the user.\n\n**EXAMPLES**\n\n    $ wp user add-role 12 author\n    Success: Added 'author' role for johndoe (12).\n\n    $ wp user add-role 12 author editor\n    Success: Added 'author', 'editor' roles for johndoe (12).\n\n\n\n### wp user application-password\n\nCreates, updates, deletes, lists and retrieves application passwords.\n\n~~~\nwp user application-password\n~~~\n\n**EXAMPLES**\n\n    # List user application passwords and only show app name and password hash\n    $ wp user application-password list 123 --fields=name,password\n    +--------+------------------------------------+\n    | name   | password                           |\n    +--------+------------------------------------+\n    | myapp  | $P$BVGeou1CUot114YohIemgpwxQCzb8O/ |\n    +--------+------------------------------------+\n\n    # Get a specific application password and only show app name and created timestamp\n    $ wp user application-password get 123 6633824d-c1d7-4f79-9dd5-4586f734d69e --fields=name,created\n    +--------+------------+\n    | name   | created    |\n    +--------+------------+\n    | myapp  | 1638395611 |\n    +--------+------------+\n\n    # Create user application password\n    $ wp user application-password create 123 myapp\n    Success: Created application password.\n    Password: ZG1bxdxdzjTwhsY8vK8l1C65\n\n    # Only print the password without any chrome\n    $ wp user application-password create 123 myapp --porcelain\n    ZG1bxdxdzjTwhsY8vK8l1C65\n\n    # Update an existing application password\n    $ wp user application-password update 123 6633824d-c1d7-4f79-9dd5-4586f734d69e --name=newappname\n    Success: Updated application password.\n\n    # Delete an existing application password\n    $ wp user application-password delete 123 6633824d-c1d7-4f79-9dd5-4586f734d69e\n    Success: Deleted 1 of 1 application password.\n\n    # Check if an application password for a given application exists\n    $ wp user application-password exists 123 myapp\n    $ echo $?\n    1\n\n    # Bash script for checking whether an application password exists and creating one if not\n    if ! wp user application-password exists 123 myapp; then\n        PASSWORD=$(wp user application-password create 123 myapp --porcelain)\n    fi\n\n\n\n\n\n### wp user application-password create\n\nCreates a new application password.\n\n~~~\nwp user application-password create \u003cuser\u003e \u003capp-name\u003e [--app-id=\u003capp-id\u003e] [--porcelain]\n~~~\n\n**OPTIONS**\n\n\t\u003cuser\u003e\n\t\tThe user login, user email, or user ID of the user to create a new application password for.\n\n\t\u003capp-name\u003e\n\t\tUnique name of the application to create an application password for.\n\n\t[--app-id=\u003capp-id\u003e]\n\t\tApplication ID to attribute to the application password.\n\n\t[--porcelain]\n\t\tOutput just the new password.\n\n**EXAMPLES**\n\n    # Create user application password\n    $ wp user application-password create 123 myapp\n    Success: Created application password.\n    Password: ZG1bxdxdzjTwhsY8vK8l1C65\n\n    # Only print the password without any chrome\n    $ wp user application-password create 123 myapp --porcelain\n    ZG1bxdxdzjTwhsY8vK8l1C65\n\n    # Create user application with a custom application ID for internal tracking\n    $ wp user application-password create 123 myapp --app-id=42 --porcelain\n    ZG1bxdxdzjTwhsY8vK8l1C65\n\n\n\n### wp user application-password delete\n\nDelete an existing application password.\n\n~~~\nwp user application-password delete \u003cuser\u003e [\u003cuuid\u003e...] [--all]\n~~~\n\n**OPTIONS**\n\n\t\u003cuser\u003e\n\t\tThe user login, user email, or user ID of the user to delete the application password for.\n\n\t[\u003cuuid\u003e...]\n\t\tComma-separated list of UUIDs of the application passwords to delete.\n\n\t[--all]\n\t\tDelete all of the user's application password.\n\n**EXAMPLES**\n\n    # Delete an existing application password\n    $ wp user application-password delete 123 6633824d-c1d7-4f79-9dd5-4586f734d69e\n    Success: Deleted 1 of 1 application password.\n\n    # Delete all of the user's application passwords\n    $ wp user application-password delete 123 --all\n    Success: Deleted all application passwords.\n\n\n\n### wp user application-password exists\n\nChecks whether an application password for a given application exists.\n\n~~~\nwp user application-password exists \u003cuser\u003e \u003capp-name\u003e\n~~~\n\n**OPTIONS**\n\n\t\u003cuser\u003e\n\t\tThe user login, user email, or user ID of the user to check the existence of an application password for.\n\n\t\u003capp-name\u003e\n\t\tName of the application to check the existence of an application password for.\n\n**EXAMPLES**\n\n    # Check if an application password for a given application exists\n    $ wp user application-password exists 123 myapp\n    $ echo $?\n    1\n\n    # Bash script for checking whether an application password exists and creating one if not\n    if ! wp user application-password exists 123 myapp; then\n        PASSWORD=$(wp user application-password create 123 myapp --porcelain)\n    fi\n\n\n\n### wp user application-password get\n\nGets a specific application password.\n\n~~~\nwp user application-password get \u003cuser\u003e \u003cuuid\u003e [--field=\u003cfield\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cuser\u003e\n\t\tThe user login, user email, or user ID of the user to get the application password for.\n\n\t\u003cuuid\u003e\n\t\tThe universally unique ID of the application password.\n\n\t[--field=\u003cfield\u003e]\n\t\tPrints the value of a single field for the application password.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific fields.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - yaml\n\t\t---\n\n**EXAMPLES**\n\n    # Get a specific application password and only show app name and created timestamp\n    $ wp user application-password get 123 6633824d-c1d7-4f79-9dd5-4586f734d69e --fields=name,created\n    +--------+------------+\n    | name   | created    |\n    +--------+------------+\n    | myapp  | 1638395611 |\n    +--------+------------+\n\n\n\n### wp user application-password list\n\nLists all application passwords associated with a user.\n\n~~~\nwp user application-password list \u003cuser\u003e [--\u003cfield\u003e=\u003cvalue\u003e] [--field=\u003cfield\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e] [--orderby=\u003cfields\u003e] [--order=\u003corder\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cuser\u003e\n\t\tThe user login, user email, or user ID of the user to get application passwords for.\n\n\t[--\u003cfield\u003e=\u003cvalue\u003e]\n\t\tFilter the list by a specific field.\n\n\t[--field=\u003cfield\u003e]\n\t\tPrints the value of a single field for each application password.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific fields.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - count\n\t\t  - yaml\n\t\t  - ids\n\t\t---\n\n\t[--orderby=\u003cfields\u003e]\n\t\tSet orderby which field.\n\t\t---\n\t\tdefault: created\n\t\toptions:\n\t\t - uuid\n\t\t - app_id\n\t\t - name\n\t\t - password\n\t\t - created\n\t\t - last_used\n\t\t - last_ip\n\t\t---\n\n\t[--order=\u003corder\u003e]\n\t\tSet ascending or descending order.\n\t\t---\n\t\tdefault: desc\n\t\toptions:\n\t\t - asc\n\t\t - desc\n\t\t---\n\n**EXAMPLES**\n\n    # List user application passwords and only show app name and password hash\n    $ wp user application-password list 123 --fields=name,password\n    +--------+------------------------------------+\n    | name   | password                           |\n    +--------+------------------------------------+\n    | myapp  | $P$BVGeou1CUot114YohIemgpwxQCzb8O/ |\n    +--------+------------------------------------+\n\n\n\n### wp user application-password record-usage\n\nRecord usage of an application password.\n\n~~~\nwp user application-password record-usage \u003cuser\u003e \u003cuuid\u003e\n~~~\n\n**OPTIONS**\n\n\t\u003cuser\u003e\n\t\tThe user login, user email, or user ID of the user to update the application password for.\n\n\t\u003cuuid\u003e\n\t\tThe universally unique ID of the application password.\n\n**EXAMPLES**\n\n    # Record usage of an application password\n    $ wp user application-password record-usage 123 6633824d-c1d7-4f79-9dd5-4586f734d69e\n    Success: Recorded application password usage.\n\n\n\n### wp user application-password update\n\nUpdates an existing application password.\n\n~~~\nwp user application-password update \u003cuser\u003e \u003cuuid\u003e [--\u003cfield\u003e=\u003cvalue\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cuser\u003e\n\t\tThe user login, user email, or user ID of the user to update the application password for.\n\n\t\u003cuuid\u003e\n\t\tThe universally unique ID of the application password.\n\n\t[--\u003cfield\u003e=\u003cvalue\u003e]\n\t\tUpdate the \u003cfield\u003e with a new \u003cvalue\u003e. Currently supported fields: name.\n\n**EXAMPLES**\n\n    # Update an existing application password\n    $ wp user application-password update 123 6633824d-c1d7-4f79-9dd5-4586f734d69e --name=newappname\n    Success: Updated application password.\n\n\n\n### wp user check-password\n\nChecks if a user's password is valid or not.\n\n~~~\nwp user check-password \u003cuser\u003e \u003cuser_pass\u003e [--escape-chars]\n~~~\n\n**OPTIONS**\n\n\t\u003cuser\u003e\n\t\tThe user login, user email or user ID of the user to check credentials for.\n\n\t\u003cuser_pass\u003e\n\t\tA string that contains the plain text password for the user.\n\n\t[--escape-chars]\n\t\tEscape password with `wp_slash()` to mimic the same behavior as `wp-login.php`.\n\n**EXAMPLES**\n\n    # Check whether given credentials are valid; exit status 0 if valid, otherwise 1\n    $ wp user check-password admin adminpass\n    $ echo $?\n    1\n\n    # Bash script for checking whether given credentials are valid or not\n    if ! $(wp user check-password admin adminpass); then\n     notify-send \"Invalid Credentials\";\n    fi\n\n\n\n### wp user create\n\nCreates a new user.\n\n~~~\nwp user create \u003cuser-login\u003e \u003cuser-email\u003e [--role=\u003crole\u003e] [--user_pass=\u003cpassword\u003e] [--user_registered=\u003cyyyy-mm-dd-hh-ii-ss\u003e] [--display_name=\u003cname\u003e] [--user_nicename=\u003cnice_name\u003e] [--user_url=\u003curl\u003e] [--nickname=\u003cnickname\u003e] [--first_name=\u003cfirst_name\u003e] [--last_name=\u003clast_name\u003e] [--description=\u003cdescription\u003e] [--rich_editing=\u003crich_editing\u003e] [--send-email] [--porcelain]\n~~~\n\n**OPTIONS**\n\n\t\u003cuser-login\u003e\n\t\tThe login of the user to create.\n\n\t\u003cuser-email\u003e\n\t\tThe email address of the user to create.\n\n\t[--role=\u003crole\u003e]\n\t\tThe role of the user to create. Default: default role. Possible values\n\t\tinclude 'administrator', 'editor', 'author', 'contributor', 'subscriber'.\n\n\t[--user_pass=\u003cpassword\u003e]\n\t\tThe user password. Default: randomly generated.\n\n\t[--user_registered=\u003cyyyy-mm-dd-hh-ii-ss\u003e]\n\t\tThe date the user registered. Default: current date.\n\n\t[--display_name=\u003cname\u003e]\n\t\tThe display name.\n\n\t[--user_nicename=\u003cnice_name\u003e]\n\t\tA string that contains a URL-friendly name for the user. The default is the user's username.\n\n\t[--user_url=\u003curl\u003e]\n\t\tA string containing the user's URL for the user's web site.\n\n\t[--nickname=\u003cnickname\u003e]\n\t\tThe user's nickname, defaults to the user's username.\n\n\t[--first_name=\u003cfirst_name\u003e]\n\t\tThe user's first name.\n\n\t[--last_name=\u003clast_name\u003e]\n\t\tThe user's last name.\n\n\t[--description=\u003cdescription\u003e]\n\t\tA string containing content about the user.\n\n\t[--rich_editing=\u003crich_editing\u003e]\n\t\tA string for whether to enable the rich editor or not. False if not empty.\n\n\t[--send-email]\n\t\tSend an email to the user with their new account details.\n\n\t[--porcelain]\n\t\tOutput just the new user id.\n\n**EXAMPLES**\n\n    # Create user\n    $ wp user create bob bob@example.com --role=author\n    Success: Created user 3.\n    Password: k9**\u0026I4vNH(\u0026\n\n    # Create user without showing password upon success\n    $ wp user create ann ann@example.com --porcelain\n    4\n\n\n\n### wp user delete\n\nDeletes one or more users from the current site.\n\n~~~\nwp user delete \u003cuser\u003e... [--network] [--reassign=\u003cuser-id\u003e] [--yes]\n~~~\n\nOn multisite, `wp user delete` only removes the user from the current\nsite. Include `--network` to also remove the user from the database, but\nmake sure to reassign their posts prior to deleting the user.\n\n**OPTIONS**\n\n\t\u003cuser\u003e...\n\t\tThe user login, user email, or user ID of the user(s) to delete.\n\n\t[--network]\n\t\tOn multisite, delete the user from the entire network.\n\n\t[--reassign=\u003cuser-id\u003e]\n\t\tUser ID to reassign the posts to.\n\n\t[--yes]\n\t\tAnswer yes to any confirmation prompts.\n\n**EXAMPLES**\n\n    # Delete user 123 and reassign posts to user 567\n    $ wp user delete 123 --reassign=567\n    Success: Removed user 123 from http://example.com.\n\n    # Delete all contributors and reassign their posts to user 2\n    $ wp user delete $(wp user list --role=contributor --field=ID) --reassign=2\n    Success: Removed user 813 from http://example.com.\n    Success: Removed user 578 from http://example.com.\n\n    # Delete all contributors in batches of 100 (avoid error: argument list too long: wp)\n    $ wp user delete $(wp user list --role=contributor --field=ID | head -n 100)\n\n\n\n### wp user exists\n\nVerifies whether a user exists.\n\n~~~\nwp user exists \u003cid\u003e\n~~~\n\nDisplays a success message if the user does exist.\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the user to check.\n\n**EXAMPLES**\n\n    # The user exists.\n    $ wp user exists 1337\n    Success: User with ID 1337 exists.\n    $ echo $?\n    0\n\n    # The user does not exist.\n    $ wp user exists 10000\n    $ echo $?\n    1\n\n\n\n### wp user generate\n\nGenerates some users.\n\n~~~\nwp user generate [--count=\u003cnumber\u003e] [--role=\u003crole\u003e] [--format=\u003cformat\u003e]\n~~~\n\nCreates a specified number of new users with dummy data.\n\n**OPTIONS**\n\n\t[--count=\u003cnumber\u003e]\n\t\tHow many users to generate?\n\t\t---\n\t\tdefault: 100\n\t\t---\n\n\t[--role=\u003crole\u003e]\n\t\tThe role of the generated users. Default: default role from WP\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: progress\n\t\toptions:\n\t\t  - progress\n\t\t  - ids\n\t\t---\n\n**EXAMPLES**\n\n    # Add meta to every generated users.\n    $ wp user generate --format=ids --count=3 | xargs -d ' ' -I % wp user meta add % foo bar\n    Success: Added custom field.\n    Success: Added custom field.\n    Success: Added custom field.\n\n\n\n### wp user get\n\nGets details about a user.\n\n~~~\nwp user get \u003cuser\u003e [--field=\u003cfield\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cuser\u003e\n\t\tUser ID, user email, or user login.\n\n\t[--field=\u003cfield\u003e]\n\t\tInstead of returning the whole user, returns the value of a single field.\n\n\t[--fields=\u003cfields\u003e]\n\t\tGet a specific subset of the user's fields.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - yaml\n\t\t---\n\n**EXAMPLES**\n\n    # Get user\n    $ wp user get 12 --field=login\n    supervisor\n\n    # Get user and export to JSON file\n    $ wp user get bob --format=json \u003e bob.json\n\n\n\n### wp user import-csv\n\nImports users from a CSV file.\n\n~~~\nwp user import-csv \u003cfile\u003e [--send-email] [--skip-update]\n~~~\n\nIf the user already exists (matching the email address or login), then\nthe user is updated unless the `--skip-update` flag is used.\n\n**OPTIONS**\n\n\t\u003cfile\u003e\n\t\tThe local or remote CSV file of users to import. If '-', then reads from STDIN.\n\n\t[--send-email]\n\t\tSend an email to new users with their account details.\n\n\t[--skip-update]\n\t\tDon't update users that already exist.\n\n**EXAMPLES**\n\n    # Import users from local CSV file\n    $ wp user import-csv /path/to/users.csv\n    Success: bobjones created.\n    Success: newuser1 created.\n    Success: existinguser created.\n\n    # Import users from remote CSV file\n    $ wp user import-csv http://example.com/users.csv\n\n    Sample users.csv file:\n\n    user_login,user_email,display_name,role\n    bobjones,bobjones@example.com,Bob Jones,contributor\n    newuser1,newuser1@example.com,New User,author\n    existinguser,existinguser@example.com,Existing User,administrator\n\n\n\n### wp user list\n\nLists users.\n\n~~~\nwp user list [--role=\u003crole\u003e] [--\u003cfield\u003e=\u003cvalue\u003e] [--network] [--field=\u003cfield\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e]\n~~~\n\nDisplay WordPress users based on all arguments supported by\n[WP_User_Query()](https://developer.wordpress.org/reference/classes/wp_user_query/prepare_query/).\n\n**OPTIONS**\n\n\t[--role=\u003crole\u003e]\n\t\tOnly display users with a certain role.\n\n\t[--\u003cfield\u003e=\u003cvalue\u003e]\n\t\tControl output by one or more arguments of WP_User_Query().\n\n\t[--network]\n\t\tList all users in the network for multisite. Roles are not included when using this flag, as users can have different roles on different sites in a multisite network.\n\n\t[--field=\u003cfield\u003e]\n\t\tPrints the value of a single field for each user.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific object fields.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - ids\n\t\t  - json\n\t\t  - count\n\t\t  - yaml\n\t\t---\n\n**AVAILABLE FIELDS**\n\nThese fields will be displayed by default for each user:\n\n* ID\n* user_login\n* display_name\n* user_email\n* user_registered\n* roles\n\nThese fields are optionally available:\n\n* user_pass\n* user_nicename\n* user_url\n* user_activation_key\n* user_status\n* spam\n* deleted\n* caps\n* cap_key\n* allcaps\n* filter\n* url\n\n**EXAMPLES**\n\n    # List user IDs\n    $ wp user list --field=ID\n    1\n\n    # List users with administrator role\n    $ wp user list --role=administrator --format=csv\n    ID,user_login,display_name,user_email,user_registered,roles\n    1,supervisor,supervisor,supervisor@gmail.com,\"2016-06-03 04:37:00\",administrator\n\n    # List users with only given fields\n    $ wp user list --fields=display_name,user_email --format=json\n    [{\"display_name\":\"supervisor\",\"user_email\":\"supervisor@gmail.com\"}]\n\n    # List users ordered by the 'last_activity' meta value.\n    $ wp user list --meta_key=last_activity --orderby=meta_value_num\n\n\n\n### wp user list-caps\n\nLists all capabilities for a user.\n\n~~~\nwp user list-caps \u003cuser\u003e [--format=\u003cformat\u003e] [--origin=\u003corigin\u003e] [--exclude-role-names]\n~~~\n\n**OPTIONS**\n\n\t\u003cuser\u003e\n\t\tUser ID, user email, or login.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: list\n\t\toptions:\n\t\t  - list\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - count\n\t\t  - yaml\n\t\t---\n\n\t[--origin=\u003corigin\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: all\n\t\toptions:\n\t\t  - all\n\t\t  - user\n\t\t  - role\n\t\t---\n\n\t[--exclude-role-names]\n\t\tExclude capabilities that match role names from output.\n\n**EXAMPLES**\n\n    $ wp user list-caps 21\n    edit_product\n    create_premium_item\n\n\n\n### wp user meta\n\nAdds, updates, deletes, and lists user custom fields.\n\n~~~\nwp user meta\n~~~\n\n**EXAMPLES**\n\n    # Add user meta\n    $ wp user meta add 123 bio \"Mary is an WordPress developer.\"\n    Success: Added custom field.\n\n    # List user meta\n    $ wp user meta list 123 --keys=nickname,description,wp_capabilities\n    +---------+-----------------+--------------------------------+\n    | user_id | meta_key        | meta_value                     |\n    +---------+-----------------+--------------------------------+\n    | 123     | nickname        | supervisor                     |\n    | 123     | description     | Mary is a WordPress developer. |\n    | 123     | wp_capabilities | {\"administrator\":true}         |\n    +---------+-----------------+--------------------------------+\n\n    # Update user meta\n    $ wp user meta update 123 bio \"Mary is an awesome WordPress developer.\"\n    Success: Updated custom field 'bio'.\n\n    # Delete user meta\n    $ wp user meta delete 123 bio\n    Success: Deleted custom field.\n\n\n\n\n\n### wp user meta add\n\nAdds a meta field.\n\n~~~\nwp user meta add \u003cuser\u003e \u003ckey\u003e \u003cvalue\u003e [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cuser\u003e\n\t\tThe user login, user email, or user ID of the user to add metadata for.\n\n\t\u003ckey\u003e\n\t\tThe metadata key.\n\n\t\u003cvalue\u003e\n\t\tThe new metadata value.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe serialization format for the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t---\n\n**EXAMPLES**\n\n    # Add user meta\n    $ wp user meta add 123 bio \"Mary is an WordPress developer.\"\n    Success: Added custom field.\n\n\n\n### wp user meta delete\n\nDeletes a meta field.\n\n~~~\nwp user meta delete \u003cuser\u003e \u003ckey\u003e [\u003cvalue\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cuser\u003e\n\t\tThe user login, user email, or user ID of the user to delete metadata from.\n\n\t\u003ckey\u003e\n\t\tThe metadata key.\n\n\t[\u003cvalue\u003e]\n\t\tThe value to delete. If omitted, all rows with key will deleted.\n\n**EXAMPLES**\n\n    # Delete user meta\n    $ wp user meta delete 123 bio\n    Success: Deleted custom field.\n\n\n\n### wp user meta get\n\nGets meta field value.\n\n~~~\nwp user meta get \u003cuser\u003e \u003ckey\u003e [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cuser\u003e\n\t\tThe user login, user email, or user ID of the user to get metadata for.\n\n\t\u003ckey\u003e\n\t\tThe metadata key.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - yaml\n\t\t---\n\n**EXAMPLES**\n\n    # Get user meta\n    $ wp user meta get 123 bio\n    Mary is an WordPress developer.\n\n    # Get the primary site of a user (for multisite)\n    $ wp user meta get 2 primary_blog\n    3\n\n\n\n### wp user meta list\n\nLists all metadata associated with a user.\n\n~~~\nwp user meta list \u003cuser\u003e [--keys=\u003ckeys\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e] [--orderby=\u003cfields\u003e] [--order=\u003corder\u003e] [--unserialize]\n~~~\n\n**OPTIONS**\n\n\t\u003cuser\u003e\n\t\tThe user login, user email, or user ID of the user to get metadata for.\n\n\t[--keys=\u003ckeys\u003e]\n\t\tLimit output to metadata of specific keys.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific row fields. Defaults to id,meta_key,meta_value.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - count\n\t\t  - yaml\n\t\t---\n\n\t[--orderby=\u003cfields\u003e]\n\t\tSet orderby which field.\n\t\t---\n\t\tdefault: id\n\t\toptions:\n\t\t - id\n\t\t - meta_key\n\t\t - meta_value\n\t\t---\n\n\t[--order=\u003corder\u003e]\n\t\tSet ascending or descending order.\n\t\t---\n\t\tdefault: asc\n\t\toptions:\n\t\t - asc\n\t\t - desc\n\t\t---\n\n\t[--unserialize]\n\t\tUnserialize meta_value output.\n\n**EXAMPLES**\n\n    # List user meta\n    $ wp user meta list 123 --keys=nickname,description,wp_capabilities\n    +---------+-----------------+--------------------------------+\n    | user_id | meta_key        | meta_value                     |\n    +---------+-----------------+--------------------------------+\n    | 123     | nickname        | supervisor                     |\n    | 123     | description     | Mary is a WordPress developer. |\n    | 123     | wp_capabilities | {\"administrator\":true}         |\n    +---------+-----------------+--------------------------------+\n\n\n\n### wp user meta patch\n\nUpdate a nested value for a meta field.\n\n~~~\nwp user meta patch \u003caction\u003e \u003cid\u003e \u003ckey\u003e \u003ckey-path\u003e... [\u003cvalue\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003caction\u003e\n\t\tPatch action to perform.\n\t\t---\n\t\toptions:\n\t\t  - insert\n\t\t  - update\n\t\t  - delete\n\t\t---\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ckey\u003e\n\t\tThe name of the meta field to update.\n\n\t\u003ckey-path\u003e...\n\t\tThe name(s) of the keys within the value to locate the value to patch.\n\n\t[\u003cvalue\u003e]\n\t\tThe new value. If omitted, the value is read from STDIN.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe serialization format for the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t---\n\n\n\n### wp user meta pluck\n\nGet a nested value from a meta field.\n\n~~~\nwp user meta pluck \u003cid\u003e \u003ckey\u003e \u003ckey-path\u003e... [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ckey\u003e\n\t\tThe name of the meta field to get.\n\n\t\u003ckey-path\u003e...\n\t\tThe name(s) of the keys within the value to locate the value to pluck.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe output format of the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t  - yaml\n\n\n\n### wp user meta update\n\nUpdates a meta field.\n\n~~~\nwp user meta update \u003cuser\u003e \u003ckey\u003e \u003cvalue\u003e [--format=\u003cformat\u003e]\n~~~\n\n**Alias:** `set`\n\n**OPTIONS**\n\n\t\u003cuser\u003e\n\t\tThe user login, user email, or user ID of the user to update metadata for.\n\n\t\u003ckey\u003e\n\t\tThe metadata key.\n\n\t\u003cvalue\u003e\n\t\tThe new metadata value.\n\n\t[--format=\u003cformat\u003e]\n\t\tThe serialization format for the value.\n\t\t---\n\t\tdefault: plaintext\n\t\toptions:\n\t\t  - plaintext\n\t\t  - json\n\t\t---\n\n**EXAMPLES**\n\n    # Update user meta\n    $ wp user meta update 123 bio \"Mary is an awesome WordPress developer.\"\n    Success: Updated custom field 'bio'.\n\n\n\n### wp user remove-cap\n\nRemoves a user's capability.\n\n~~~\nwp user remove-cap \u003cuser\u003e \u003ccap\u003e [--force]\n~~~\n\n**OPTIONS**\n\n\t\u003cuser\u003e\n\t\tUser ID, user email, or user login.\n\n\t\u003ccap\u003e\n\t\tThe capability to be removed.\n\n\t[--force]\n\t\tForcefully remove a capability.\n\n**EXAMPLES**\n\n    $ wp user remove-cap 11 publish_newsletters\n    Success: Removed 'publish_newsletters' cap for supervisor (11).\n\n    $ wp user remove-cap 11 publish_posts\n    Error: The 'publish_posts' cap for supervisor (11) is inherited from a role.\n\n    $ wp user remove-cap 11 nonexistent_cap\n    Error: No such 'nonexistent_cap' cap for supervisor (11).\n\n    $ wp user remove-cap 11 publish_newsletters --force\n    Success: Removed 'publish_newsletters' cap for supervisor (11).\n\n\n\n### wp user remove-role\n\nRemoves a user's role.\n\n~~~\nwp user remove-role \u003cuser\u003e [\u003crole\u003e...]\n~~~\n\n**OPTIONS**\n\n\t\u003cuser\u003e\n\t\tUser ID, user email, or user login.\n\n\t[\u003crole\u003e...]\n\t\tRemove the specified role(s) from the user. If not passed, all roles are\n\t\tremoved from the user; on multisite, this removes the user from the current\n\t\tsite/blog.\n\n**EXAMPLES**\n\n    $ wp user remove-role 12 author\n    Success: Removed 'author' role from johndoe (12).\n\n    $ wp user remove-role 12 author editor\n    Success: Removed 'author', 'editor' roles from johndoe (12).\n\n    # On single-site: removes all roles from the user\n    $ wp user remove-role 12\n    Success: Removed all roles from johndoe (12) on http://example.com.\n\n    # On multisite: removes the user from the current site/blog\n    $ wp user remove-role 12\n    Success: Removed johndoe (12) from http://example.com.\n\n\n\n### wp user reset-password\n\nResets the password for one or more users.\n\n~~~\nwp user reset-password \u003cuser\u003e... [--skip-email] [--show-password] [--porcelain]\n~~~\n\n**OPTIONS**\n\n\t\u003cuser\u003e...\n\t\tone or more user logins or IDs.\n\n\t[--skip-email]\n\t\tDon't send an email notification to the affected user(s).\n\n\t[--show-password]\n\t\tShow the new password(s).\n\n\t[--porcelain]\n\t\tOutput only the new password(s).\n\n**EXAMPLES**\n\n    # Reset the password for two users and send them the change email.\n    $ wp user reset-password admin editor\n    Reset password for admin.\n    Reset password for editor.\n    Success: Passwords reset for 2 users.\n\n    # Reset and display the password.\n    $ wp user reset-password editor --show-password\n    Reset password for editor.\n    Password: N6hAau0fXZMN#rLCIirdEGOh\n    Success: Password reset for 1 user.\n\n    # Reset the password for one user, displaying only the new password, and not sending the change email.\n    $ wp user reset-password admin --skip-email --porcelain\n    yV6BP*!d70wg\n\n    # Reset password for all users.\n    $ wp user reset-password $(wp user list --format=ids)\n    Reset password for admin.\n    Reset password for editor.\n    Reset password for subscriber.\n    Success: Passwords reset for 3 users.\n\n    # Reset password for all users with a particular role.\n    $ wp user reset-password $(wp user list --format=ids --role=administrator)\n    Reset password for admin.\n    Success: Password reset for 1 user.\n\n\n\n### wp user session\n\nDestroys and lists a user's sessions.\n\n~~~\nwp user session\n~~~\n\n**EXAMPLES**\n\n    # List a user's sessions.\n    $ wp user session list admin@example.com --format=csv\n    login_time,expiration_time,ip,ua\n    \"2016-01-01 12:34:56\",\"2016-02-01 12:34:56\",127.0.0.1,\"Mozilla/5.0...\"\n\n    # Destroy the most recent session of the given user.\n    $ wp user session destroy admin\n    Success: Destroyed session. 3 sessions remaining.\n\n\n\n\n\n### wp user session destroy\n\nDestroy a session for the given user.\n\n~~~\nwp user session destroy \u003cuser\u003e [\u003ctoken\u003e] [--all]\n~~~\n\n**OPTIONS**\n\n\t\u003cuser\u003e\n\t\tUser ID, user email, or user login.\n\n\t[\u003ctoken\u003e]\n\t\tThe token of the session to destroy. Defaults to the most recently created session.\n\n\t[--all]\n\t\tDestroy all of the user's sessions.\n\n**EXAMPLES**\n\n    # Destroy the most recent session of the given user.\n    $ wp user session destroy admin\n    Success: Destroyed session. 3 sessions remaining.\n\n    # Destroy a specific session of the given user.\n    $ wp user session destroy admin e073ad8540a9c2...\n    Success: Destroyed session. 2 sessions remaining.\n\n    # Destroy all the sessions of the given user.\n    $ wp user session destroy admin --all\n    Success: Destroyed all sessions.\n\n    # Destroy all sessions for all users.\n    $ wp user list --field=ID | xargs -n 1 wp user session destroy --all\n    Success: Destroyed all sessions.\n    Success: Destroyed all sessions.\n\n\n\n### wp user session list\n\nList sessions for the given user.\n\n~~~\nwp user session list \u003cuser\u003e [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e]\n~~~\n\nNote: The `token` field does not return the actual token, but a hash of\nit. The real token is not persisted and can only be found in the\ncorresponding cookies on the client side.\n\n**OPTIONS**\n\n\t\u003cuser\u003e\n\t\tUser ID, user email, or user login.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific fields.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - yaml\n\t\t  - count\n\t\t  - ids\n\t\t---\n\n**AVAILABLE FIELDS**\n\nThese fields will be displayed by default for each session:\n\n* token\n* login_time\n* expiration_time\n* ip\n* ua\n\nThese fields are optionally available:\n\n* expiration\n* login\n\n**EXAMPLES**\n\n    # List a user's sessions.\n    $ wp user session list admin@example.com --format=csv\n    login_time,expiration_time,ip,ua\n    \"2016-01-01 12:34:56\",\"2016-02-01 12:34:56\",127.0.0.1,\"Mozilla/5.0...\"\n\n\n\n### wp user set-role\n\nSets the user role.\n\n~~~\nwp user set-role \u003cuser\u003e [\u003crole\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cuser\u003e\n\t\tUser ID, user email, or user login.\n\n\t[\u003crole\u003e]\n\t\tMake the user have the specified role. If not passed, the default role is\n\t\tused.\n\n**EXAMPLES**\n\n    $ wp user set-role 12 author\n    Success: Added johndoe (12) to http://example.com as author.\n\n\n\n### wp user signup\n\nManages signups on a multisite installation.\n\n~~~\nwp user signup\n~~~\n\n**EXAMPLES**\n\n    # List signups.\n    $ wp user signup list\n    +-----------+------------+---------------------+---------------------+--------+------------------+\n    | signup_id | user_login | user_email          | registered          | active | activation_key   |\n    +-----------+------------+---------------------+---------------------+--------+------------------+\n    | 1         | bobuser    | bobuser@example.com | 2024-03-13 05:46:53 | 1      | 7320b2f009266618 |\n    | 2         | johndoe    | johndoe@example.com | 2024-03-13 06:24:44 | 0      | 9068d859186cd0b5 |\n    +-----------+------------+---------------------+---------------------+--------+------------------+\n\n    # Activate signup.\n    $ wp user signup activate 2\n    Signup 2 activated. Password: bZFSGsfzb9xs\n    Success: Activated 1 of 1 signups.\n\n    # Delete signup.\n    $ wp user signup delete 3\n    Signup 3 deleted.\n    Success: Deleted 1 of 1 signups.\n\n\n\n\n\n### wp user signup activate\n\nActivates one or more signups.\n\n~~~\nwp user signup activate \u003csignup\u003e...\n~~~\n\n**OPTIONS**\n\n\t\u003csignup\u003e...\n\t\tThe signup ID, user login, user email, or activation key of the signup(s) to activate.\n\n**EXAMPLES**\n\n    # Activate signup.\n    $ wp user signup activate 2\n    Signup 2 activated. Password: bZFSGsfzb9xs\n    Success: Activated 1 of 1 signups.\n\n\n\n### wp user signup delete\n\nDeletes one or more signups.\n\n~~~\nwp user signup delete [\u003csignup\u003e...] [--all]\n~~~\n\n**OPTIONS**\n\n\t[\u003csignup\u003e...]\n\t\tThe signup ID, user login, user email, or activation key of the signup(s) to delete.\n\n\t[--all]\n\t\tIf set, all signups will be deleted.\n\n**EXAMPLES**\n\n    # Delete signup.\n    $ wp user signup delete 3\n    Signup 3 deleted.\n    Success: Deleted 1 of 1 signups.\n\n\n\n### wp user signup get\n\nGets details about a signup.\n\n~~~\nwp user signup get \u003csignup\u003e [--field=\u003cfield\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003csignup\u003e\n\t\tThe signup ID, user login, user email, or activation key.\n\n\t[--field=\u003cfield\u003e]\n\t\tInstead of returning the whole signup, returns the value of a single field.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific fields. Defaults to all fields.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - yaml\n\t\t---\n\n**EXAMPLES**\n\n    # Get signup.\n    $ wp user signup get 1 --field=user_login\n    bobuser\n\n    # Get signup and export to JSON file.\n    $ wp user signup get bobuser --format=json \u003e bobuser.json\n\n\n\n### wp user signup list\n\nLists signups.\n\n~~~\nwp user signup list [--\u003cfield\u003e=\u003cvalue\u003e] [--field=\u003cfield\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e] [--per_page=\u003cper_page\u003e]\n~~~\n\n**OPTIONS**\n\n\t[--\u003cfield\u003e=\u003cvalue\u003e]\n\t\tFilter the list by a specific field.\n\n\t[--field=\u003cfield\u003e]\n\t\tPrints the value of a single field for each signup.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific object fields.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - ids\n\t\t  - json\n\t\t  - count\n\t\t  - yaml\n\t\t---\n\n\t[--per_page=\u003cper_page\u003e]\n\t\tLimits the signups to the given number. Defaults to none.\n\n**AVAILABLE FIELDS**\n\nThese fields will be displayed by default for each signup:\n\n* signup_id\n* user_login\n* user_email\n* registered\n* active\n* activation_key\n\nThese fields are optionally available:\n\n* domain\n* path\n* title\n* activated\n* meta\n\n**EXAMPLES**\n\n    # List signup IDs.\n    $ wp user signup list --field=signup_id\n    1\n\n    # List all signups.\n    $ wp user signup list\n    +-----------+------------+---------------------+---------------------+--------+------------------+\n    | signup_id | user_login | user_email          | registered          | active | activation_key   |\n    +-----------+------------+---------------------+---------------------+--------+------------------+\n    | 1         | bobuser    | bobuser@example.com | 2024-03-13 05:46:53 | 1      | 7320b2f009266618 |\n    | 2         | johndoe    | johndoe@example.com | 2024-03-13 06:24:44 | 0      | 9068d859186cd0b5 |\n    +-----------+------------+---------------------+---------------------+--------+------------------+\n\n\n\n### wp user spam\n\nMarks one or more users as spam on multisite.\n\n~~~\nwp user spam \u003cuser\u003e...\n~~~\n\n**OPTIONS**\n\n\t\u003cuser\u003e...\n\t\tThe user login, user email, or user ID of the user(s) to mark as spam.\n\n**EXAMPLES**\n\n    # Mark user as spam.\n    $ wp user spam 123\n    User 123 marked as spam.\n    Success: Spammed 1 of 1 users.\n\n\n\n### wp user term\n\nAdds, updates, removes, and lists user terms.\n\n~~~\nwp user term\n~~~\n\n**EXAMPLES**\n\n    # Set user terms\n    $ wp user term set 123 test category\n    Success: Set terms.\n\n\n\n\n\n### wp user term add\n\nAdd a term to an object.\n\n~~~\nwp user term add \u003cid\u003e \u003ctaxonomy\u003e \u003cterm\u003e... [--by=\u003cfield\u003e]\n~~~\n\nAppend the term to the existing set of terms on the object.\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ctaxonomy\u003e\n\t\tThe name of the taxonomy type to be added.\n\n\t\u003cterm\u003e...\n\t\tThe slug of the term or terms to be added.\n\n\t[--by=\u003cfield\u003e]\n\t\tExplicitly handle the term value as a slug or id.\n\t\t---\n\t\tdefault: slug\n\t\toptions:\n\t\t  - slug\n\t\t  - id\n\t\t---\n\n\n\n### wp user term list\n\nList all terms associated with an object.\n\n~~~\nwp user term list \u003cid\u003e \u003ctaxonomy\u003e... [--field=\u003cfield\u003e] [--fields=\u003cfields\u003e] [--format=\u003cformat\u003e]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tID for the object.\n\n\t\u003ctaxonomy\u003e...\n\t\tOne or more taxonomies to list.\n\n\t[--field=\u003cfield\u003e]\n\t\tPrints the value of a single field for each term.\n\n\t[--fields=\u003cfields\u003e]\n\t\tLimit the output to specific row fields.\n\n\t[--format=\u003cformat\u003e]\n\t\tRender output in a particular format.\n\t\t---\n\t\tdefault: table\n\t\toptions:\n\t\t  - table\n\t\t  - csv\n\t\t  - json\n\t\t  - yaml\n\t\t  - count\n\t\t  - ids\n\t\t---\n\n**AVAILABLE FIELDS**\n\nThese fields will be displayed by default for each term:\n\n* term_id\n* name\n* slug\n* taxonomy\n\nThese fields are optionally available:\n\n* term_taxonomy_id\n* description\n* term_group\n* parent\n* count\n\n\n\n### wp user term remove\n\nRemove a term from an object.\n\n~~~\nwp user term remove \u003cid\u003e \u003ctaxonomy\u003e [\u003cterm\u003e...] [--by=\u003cfield\u003e] [--all]\n~~~\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ctaxonomy\u003e\n\t\tThe name of the term's taxonomy.\n\n\t[\u003cterm\u003e...]\n\t\tThe slug of the term or terms to be removed from the object.\n\n\t[--by=\u003cfield\u003e]\n\t\tExplicitly handle the term value as a slug or id.\n\t\t---\n\t\tdefault: slug\n\t\toptions:\n\t\t  - slug\n\t\t  - id\n\t\t---\n\n\t[--all]\n\t\tRemove all terms from the object.\n\n\n\n### wp user term set\n\nSet object terms.\n\n~~~\nwp user term set \u003cid\u003e \u003ctaxonomy\u003e \u003cterm\u003e... [--by=\u003cfield\u003e]\n~~~\n\nReplaces existing terms on the object.\n\n**OPTIONS**\n\n\t\u003cid\u003e\n\t\tThe ID of the object.\n\n\t\u003ctaxonomy\u003e\n\t\tThe name of the taxonomy type to be updated.\n\n\t\u003cterm\u003e...\n\t\tThe slug of the term or terms to be updated.\n\n\t[--by=\u003cfield\u003e]\n\t\tExplicitly handle the term value as a slug or id.\n\t\t---\n\t\tdefault: slug\n\t\toptions:\n\t\t  - slug\n\t\t  - id\n\t\t---\n\n\n\n### wp user unspam\n\nRemoves one or more users from spam on multisite.\n\n~~~\nwp user unspam \u003cuser\u003e...\n~~~\n\n**OPTIONS**\n\n\t\u003cuser\u003e...\n\t\tThe user login, user email, or user ID of the user(s) to remove from spam.\n\n**EXAMPLES**\n\n    # Remove user from spam.\n    $ wp user unspam 123\n    User 123 removed from spam.\n    Success: Unspamed 1 of 1 users.\n\n\n\n### wp user update\n\nUpdates an existing user.\n\n~~~\nwp user update \u003cuser\u003e... [--user_pass=\u003cpassword\u003e] [--user_nicename=\u003cnice_name\u003e] [--user_url=\u003curl\u003e] [--user_email=\u003cemail\u003e] [--display_name=\u003cdisplay_name\u003e] [--nickname=\u003cnickname\u003e] [--first_name=\u003cfirst_name\u003e] [--last_name=\u003clast_name\u003e] [--description=\u003cdescription\u003e] [--rich_editing=\u003crich_editing\u003e] [--user_registered=\u003cyyyy-mm-dd-hh-ii-ss\u003e] [--role=\u003crole\u003e] --\u003cfield\u003e=\u003cvalue\u003e [--skip-email]\n~~~\n\n**OPTIONS**\n\n\t\u003cuser\u003e...\n\t\tThe user login, user email or user ID of the user(s) to update.\n\n\t[--user_pass=\u003cpassword\u003e]\n\t\tA string that contains the plain text password for the user.\n\n\t[--user_nicename=\u003cnice_name\u003e]\n\t\tA string that contains a URL-friendly name for the user. The default is the user's username.\n\n\t[--user_url=\u003curl\u003e]\n\t\tA string containing the user's URL for the user's web site.\n\n\t[--user_email=\u003cemail\u003e]\n\t\tA string containing the user's email address.\n\n\t[--display_name=\u003cdisplay_name\u003e]\n\t\tA string that will be shown on the site. Defaults to user's username.\n\n\t[--nickname=\u003cnickname\u003e]\n\t\tThe user's nickname, defaults to the user's username.\n\n\t[--first_name=\u003cfirst_name\u003e]\n\t\tThe user's first name.\n\n\t[--last_name=\u003clast_name\u003e]\n\t\tThe user's last name.\n\n\t[--description=\u003cdescription\u003e]\n\t\tA string containing content about the user.\n\n\t[--rich_editing=\u003crich_editing\u003e]\n\t\tA string for whether to enable the rich editor or not. False if not empty.\n\n\t[--user_registered=\u003cyyyy-mm-dd-hh-ii-ss\u003e]\n\t\tThe date the user registered.\n\n\t[--role=\u003crole\u003e]\n\t\tA string used to set the user's role.\n\n\t--\u003cfield\u003e=\u003cvalue\u003e\n\t\tOne or more fields to update. For accepted fields, see wp_update_user().\n\n\t[--skip-email]\n\t\tDon't send an email notification to the user.\n\n**EXAMPLES**\n\n    # Update user\n    $ wp user update 123 --display_name=Mary --user_pass=marypass\n    Success: Updated user 123.\n\n## Installing\n\nThis package is included with WP-CLI itself, no additional installation necessary.\n\nTo install the latest version of this package over what's included in WP-CLI, run:\n\n    wp package install git@github.com:wp-cli/entity-command.git\n\n## Contributing\n\nWe appreciate you taking the initiative to contribute to this project.\n\nContributing isn’t limited to just code. We encourage you to contribute in the way that best fits your abilities, by writing tutorials, giving a demo at your local meetup, helping other users with their support questions, or revising our documentation.\n\nFor a more thorough introduction, [check out WP-CLI's guide to contributing](https://make.wordpress.org/cli/handbook/contributing/). This package follows those policy and guidelines.\n\n### Reporting a bug\n\nThink you’ve found a bug? We’d love for you to help us get it fixed.\n\nBefore you create a new issue, you should [search existing issues](https://github.com/wp-cli/entity-command/issues?q=label%3Abug%20) to see if there’s an existing resolution to it, or if it’s already been fixed in a newer version.\n\nOnce you’ve done a bit of searching and discovered there isn’t an open or fixed issue for your bug, please [create a new issue](https://github.com/wp-cli/entity-command/issues/new). Include as much detail as you can, and clear steps to reproduce if possible. For more guidance, [review our bug report documentation](https://make.wordpress.org/cli/handbook/bug-reports/).\n\n### Creating a pull request\n\nWant to contribute a new feature? Please first [open a new issue](https://github.com/wp-cli/entity-command/issues/new) to discuss whether the feature is a good fit for the project.\n\nOnce you've decided to commit the time to seeing your pull request through, [please follow our guidelines for creating a pull request](https://make.wordpress.org/cli/handbook/pull-requests/) to make sure it's a pleasant experience. See \"[Setting up](https://make.wordpress.org/cli/handbook/pull-requests/#setting-up)\" for details specific to working on this package locally.\n\n### License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n## Support\n\nGitHub issues aren't for general support questions, but there are other venues you can try: https://wp-cli.org/#support\n\n\n*This README.md is generated dynamically from the project's codebase using `wp scaffold package-readme` ([doc](https://github.com/wp-cli/scaffold-package-command#wp-scaffold-package-readme)). To suggest changes, please submit a pull request against the corresponding part of the codebase.*\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwp-cli%2Fentity-command","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwp-cli%2Fentity-command","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwp-cli%2Fentity-command/lists"}