From eb97bccbc9d0f4a0d9c33f5af58b944844c10de2 Mon Sep 17 00:00:00 2001 From: scribu Date: Sun, 4 Nov 2012 23:55:42 +0200 Subject: [PATCH 001/839] add initial version; generated via github --- CNAME | 1 + images/bkg.png | Bin 0 -> 4261 bytes images/blacktocat.png | Bin 0 -> 1266 bytes index.html | 255 +++++++++++++++++++++++++++++++++++ javascripts/main.js | 1 + params.json | 1 + stylesheets/pygment_trac.css | 68 ++++++++++ stylesheets/stylesheet.css | 247 +++++++++++++++++++++++++++++++++ 8 files changed, 573 insertions(+) create mode 100644 CNAME create mode 100644 images/bkg.png create mode 100644 images/blacktocat.png create mode 100644 index.html create mode 100644 javascripts/main.js create mode 100644 params.json create mode 100644 stylesheets/pygment_trac.css create mode 100644 stylesheets/stylesheet.css diff --git a/CNAME b/CNAME new file mode 100644 index 00000000..07dab832 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +wp-cli.org diff --git a/images/bkg.png b/images/bkg.png new file mode 100644 index 0000000000000000000000000000000000000000..fcebb5b22999adb792afee1f74bcf4af91db8441 GIT binary patch literal 4261 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 E2cLQQbpQYW literal 0 HcmV?d00001 diff --git a/images/blacktocat.png b/images/blacktocat.png new file mode 100644 index 0000000000000000000000000000000000000000..273d5710a2e0968d77584ad073e4a089fbfd7e68 GIT binary patch literal 1266 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+nA0*tB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%s|1+P|wiV z#N6CmN5ROz&_Lh7NZ-&%*U;R`*vQJjKmiJrfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8EkR}&8R-I5=oVMzl_XZ^<`pZ$OmImpPA){ffi_eM3D1{oGuTzrd=COM+4n&cLd=IHa;5RX-@T zIKQ+g85kdF$}r8qu)}W=NFmTQR{lkqz(`5Vami0E%}vcK@pQ3O0?O#6WTsdd7+V+^ z8k(CJm>U_GSr{5xm>asenYlPSS~yx7IT;(l%)qAC#mvab6&Utr2Bs#4hOUN|=4MVV zCI+U?PDZXKZWgXEy`Fi+C5d^-sW5vpf%Zc6n&H)JD;QCfH z^og8&1M`mKzE)l;d=qjrb~vvJSy|Mouyo1dg^ni6?thVCs0yAf`Q@5aq}s+K9`V=C z{rP`=v-NB<-^nFOYBRV_`Rx;uVYQy^)9a}ALqMd-xJi4fVcRLrrgF#H^(z_`gmYNg z8`ZC~^QU(&GySnBKw|Qotw~8oCN7?p;&T4i?d&@L$Gl%$8&-dv`S`$=`T36X{>ZDw zT=kLd?0S^caPZI_ua^-qKl~;=EWB<}?CV->TJO$Qp2Pd-+ + + + + + + + + + + wp-cli by wp-cli + + + + +
+
+

wp-cli

+

A command line interface for WordPress

+ +
+ Download as .zip + Download as .tar.gz + View on GitHub +
+
+
+ +
+
+

What is wp-cli?

+ +

wp-cli is a set of command-line tools for managing WordPress installations. You can update plugins, set up multisite installs, update posts and much more.

+ +

Visit the wiki for more information.

+ +

Requirements

+ +
    +
  • PHP >= 5.3
  • +
  • WP >= 3.3
  • +

Installing

+ +

Via PEAR:

+ +
sudo pear config-set auto_discover 1
+sudo pear install wp-cli.github.com/pear/wpcli
+
+ +

Via GIT:

+ +
git clone --recursive git://github.com/wp-cli/wp-cli.git ~/git/wp-cli
+cd ~/git/wp-cli
+sudo utils/dev-build
+
+ +

You can replace ~/git/wp-cli with whatever you want.

+ +

MAMP, XAMP, etc.

+ +

If the php command is not available, you can try finding an appropriate binary:

+ +
./utils/find-php
+
+ +

Then, create an environment variable called WP_CLI_PHP with the path found by find-php.

+ +

In a UNIX environment, you would do this by adding the following line to your .bashrc file:

+ +
WP_CLI_PHP=/path/to/php-binary
+
+ +

Using

+ +

Go into a WordPress root folder:

+ +
cd /var/www/wp/
+
+ +

Typing wp help should show you an output similar to this:

+ +
Example usage:
+    wp google-sitemap [build|help] ...
+    wp core [update|help] ...
+    wp home [help] ...
+    wp option [add|update|delete|get|help] ...
+    wp plugin [status|activate|deactivate|install|delete|update|help] ...
+    wp theme [status|details|activate|help] ...
+
+ +

So this tells us which commands are installed: eg. google-sitemap, core, home, ... +Between brackets you can see their sub commands.

+ +

Let's for example try to install the hello dolly plugin from wordpress.org:

+ +
wp plugin install hello-dolly
+
+ +

Output:

+ +
Installing Hello Dolly (1.5)
+
+Downloading install package from http://downloads.WordPress.org/plugin/hello-dolly.1.5.zip ...
+Unpacking the package ...
+Installing the plugin ...
+
+Success: The plugin is successfully installed
+
+ +

Multisite

+ +

On a multisite installation, you need to pass a --blog parameter, so that WP knows which site it's supposed to be operating on:

+ +
wp theme status --blog=localhost/wp/test
+
+ +

If you have a subdomain installation, it would look like this:

+ +
wp theme status --blog=test.example.com
+
+ +

If you're usually working on the same site most of the time, you can put the url of that site in a file called 'wp-cli-blog' in your root WP dir:

+ +
echo 'test.example.com' > wp-cli-blog
+
+ +

Then, you can call wp without the --blog parameter again:

+ +
wp theme status
+
+ +

Adding commands

+ +

Adding commands to wp-cli is very easy. You can even add them from within your own plugin. +You can find more information about adding commands in the Commands Cookbook on our Wiki.

+ +

Please share the commands you make, issue a pull request to get them included in wp-cli by default.

+ +

Changelog

+ +

0.6

+ +
    +
  • added wp post and wp post-meta +
  • +
  • added wp user-meta +
  • +
  • added wp blog create +
  • +
  • added wp export +
  • +
  • added wp transient +
  • +
  • added wp db optimize and wp db repair +
  • +
  • added wp db create, wp db drop and wp db reset +
  • +
  • added wp db import +
  • +
  • added wp theme install and wp theme update +
  • +
  • added wp core install_network +
  • +
  • added wp core update_db +
  • +
  • added --json option to several subcommands
  • +
  • added --network option to wp plugin activate +
  • +
  • added --require global parameter
  • +
  • fixed wp plugin update +
  • +
  • fixed "out of memory" error
  • +
  • misc bugfixes and optimizations
  • +
  • man pages (not in PEAR package)
  • +

0.5

+ +
    +
  • added wp user +
  • +
  • added wp core download +
  • +
  • added wp core config +
  • +
  • added wp plugin update --all +
  • +
  • added wp theme update +
  • +
  • added wp db import +
  • +
  • added --url --path and --user global parameters
  • +
  • various bugfixes
  • +

0.4

+ +
    +
  • added wp eval and wp eval-file +
  • +
  • added wp export +
  • +
  • added wp core install +
  • +
  • fixed wp core update +
  • +
  • added --dev flag to wp plugin install +
  • +
  • added wp plugin uninstall +
  • +
  • fixed wp plugin install and wp plugin update +
  • +

0.3

+ +
    +
  • added wp sql +
  • +
  • improved wp option +
  • +
  • pear installer
  • +

0.2

+ +
    +
  • added multisite support
  • +
  • improved wp plugin and wp theme +
  • +
  • added wp generate +
  • +
  • added wp core version +
  • +
  • added wp --version +
  • +
  • added bash completion script
  • +

0.1

+ +
    +
  • initial release
  • +

Contributors

+ + +
+
+ + + + + + \ No newline at end of file diff --git a/javascripts/main.js b/javascripts/main.js new file mode 100644 index 00000000..d8135d37 --- /dev/null +++ b/javascripts/main.js @@ -0,0 +1 @@ +console.log('This would be the main JS file.'); diff --git a/params.json b/params.json new file mode 100644 index 00000000..c136bf41 --- /dev/null +++ b/params.json @@ -0,0 +1 @@ +{"note":"Don't delete this file! It's used internally to help with page regeneration.","google":"UA-962663-21","tagline":"A command line interface for WordPress","name":"wp-cli","body":"What is wp-cli?\r\n--------------\r\n\r\nwp-cli is a set of command-line tools for managing WordPress installations. You can update plugins, set up multisite installs, update posts and much more.\r\n\r\nVisit the [wiki](https://github.com/wp-cli/wp-cli/wiki) for more information.\r\n\r\nRequirements\r\n============\r\n\r\n* PHP >= 5.3\r\n* WP >= 3.3\r\n\r\nInstalling\r\n==========\r\n\r\n**Via PEAR:**\r\n\r\n```sh\r\nsudo pear config-set auto_discover 1\r\nsudo pear install wp-cli.github.com/pear/wpcli\r\n```\r\n\r\n**Via GIT:**\r\n\r\n```sh\r\ngit clone --recursive git://github.com/wp-cli/wp-cli.git ~/git/wp-cli\r\ncd ~/git/wp-cli\r\nsudo utils/dev-build\r\n```\r\n\r\nYou can replace `~/git/wp-cli` with whatever you want.\r\n\r\nMAMP, XAMP, etc.\r\n-----------\r\n\r\nIf the `php` command is not available, you can try finding an appropriate binary:\r\n\r\n```sh\r\n./utils/find-php\r\n```\r\n\r\nThen, create an environment variable called `WP_CLI_PHP` with the path found by `find-php`.\r\n\r\nIn a UNIX environment, you would do this by adding the following line to your `.bashrc` file:\r\n\r\n```sh\r\nWP_CLI_PHP=/path/to/php-binary\r\n```\r\n\r\nUsing\r\n=====\r\n\r\nGo into a WordPress root folder:\r\n\r\n```\r\ncd /var/www/wp/\r\n```\r\n\r\nTyping `wp help` should show you an output similar to this:\r\n\r\n```\r\nExample usage:\r\n\twp google-sitemap [build|help] ...\r\n\twp core [update|help] ...\r\n\twp home [help] ...\r\n\twp option [add|update|delete|get|help] ...\r\n\twp plugin [status|activate|deactivate|install|delete|update|help] ...\r\n\twp theme [status|details|activate|help] ...\r\n```\r\n\r\nSo this tells us which commands are installed: eg. google-sitemap, core, home, ...\r\nBetween brackets you can see their sub commands. \r\n\r\nLet's for example try to install the hello dolly plugin from wordpress.org:\r\n\r\n```\r\nwp plugin install hello-dolly\r\n```\r\n\r\nOutput:\r\n\r\n```\r\nInstalling Hello Dolly (1.5)\r\n\r\nDownloading install package from http://downloads.WordPress.org/plugin/hello-dolly.1.5.zip ...\r\nUnpacking the package ...\r\nInstalling the plugin ...\r\n\r\nSuccess: The plugin is successfully installed\r\n```\r\n\r\nMultisite\r\n---------\r\n\r\nOn a multisite installation, you need to pass a --blog parameter, so that WP knows which site it's supposed to be operating on:\r\n\r\n```\r\nwp theme status --blog=localhost/wp/test\r\n```\r\n\r\nIf you have a subdomain installation, it would look like this:\r\n\r\n```\r\nwp theme status --blog=test.example.com\r\n```\r\n\r\nIf you're usually working on the same site most of the time, you can put the url of that site in a file called 'wp-cli-blog' in your root WP dir:\r\n\r\n```\r\necho 'test.example.com' > wp-cli-blog\r\n```\r\n\r\nThen, you can call `wp` without the --blog parameter again:\r\n\r\n```\r\nwp theme status\r\n```\r\n\r\nAdding commands\r\n===============\r\n\r\nAdding commands to wp-cli is very easy. You can even add them from within your own plugin.\r\nYou can find more information about adding commands in the [Commands Cookbook](https://github.com/wp-cli/wp-cli/wiki/Commands-Cookbook) on our Wiki.\r\n\r\n**Please share the commands you make, issue a pull request to get them included in wp-cli by default.**\r\n\r\nChangelog\r\n=========\r\n\r\n**0.6**\r\n\r\n- added `wp post` and `wp post-meta`\r\n- added `wp user-meta`\r\n- added `wp blog create`\r\n- added `wp export`\r\n- added `wp transient`\r\n- added `wp db optimize` and `wp db repair`\r\n- added `wp db create`, `wp db drop` and `wp db reset`\r\n- added `wp db import`\r\n- added `wp theme install` and `wp theme update`\r\n- added `wp core install_network`\r\n- added `wp core update_db`\r\n- added `--json` option to several subcommands\r\n- added `--network` option to `wp plugin activate`\r\n- added `--require` global parameter\r\n- fixed `wp plugin update`\r\n- fixed \"out of memory\" error\r\n- misc bugfixes and optimizations\r\n- man pages (not in PEAR package)\r\n\r\n**0.5**\r\n\r\n- added `wp user`\r\n- added `wp core download`\r\n- added `wp core config`\r\n- added `wp plugin update --all`\r\n- added `wp theme update`\r\n- added `wp db import`\r\n- added `--url` `--path` and `--user` global parameters\r\n- various bugfixes\r\n\r\n**0.4**\r\n\r\n- added `wp eval` and `wp eval-file`\r\n- added `wp export`\r\n- added `wp core install`\r\n- fixed `wp core update`\r\n- added `--dev` flag to `wp plugin install`\r\n- added `wp plugin uninstall`\r\n- fixed `wp plugin install` and `wp plugin update`\r\n\r\n**0.3**\r\n\r\n- added `wp sql`\r\n- improved `wp option`\r\n- pear installer\r\n\r\n**0.2**\r\n\r\n- added multisite support\r\n- improved `wp plugin` and `wp theme`\r\n- added `wp generate`\r\n- added `wp core version`\r\n- added `wp --version`\r\n- added bash completion script\r\n\r\n**0.1**\r\n\r\n- initial release\r\n\r\nContributors\r\n------------\r\n\r\n- [Contributor list](https://github.com/wp-cli/wp-cli/contributors)\r\n- [Contributor guide](https://github.com/wp-cli/wp-cli/wiki/Commands-Cookbook)\r\n"} \ No newline at end of file diff --git a/stylesheets/pygment_trac.css b/stylesheets/pygment_trac.css new file mode 100644 index 00000000..d1df6a21 --- /dev/null +++ b/stylesheets/pygment_trac.css @@ -0,0 +1,68 @@ +.highlight .c { color: #999988; font-style: italic } /* Comment */ +.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ +.highlight .k { font-weight: bold } /* Keyword */ +.highlight .o { font-weight: bold } /* Operator */ +.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */ +.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */ +.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ +.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #aa0000 } /* Generic.Error */ +.highlight .gh { color: #999999 } /* Generic.Heading */ +.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ +.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */ +.highlight .go { color: #888888 } /* Generic.Output */ +.highlight .gp { color: #555555 } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold; } /* Generic.Subheading */ +.highlight .gt { color: #aa0000 } /* Generic.Traceback */ +.highlight .kc { font-weight: bold } /* Keyword.Constant */ +.highlight .kd { font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { font-weight: bold } /* Keyword.Pseudo */ +.highlight .kr { font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */ +.highlight .m { color: #009999 } /* Literal.Number */ +.highlight .s { color: #d14 } /* Literal.String */ +.highlight .na { color: #008080 } /* Name.Attribute */ +.highlight .nb { color: #0086B3 } /* Name.Builtin */ +.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */ +.highlight .no { color: #008080 } /* Name.Constant */ +.highlight .ni { color: #800080 } /* Name.Entity */ +.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */ +.highlight .nn { color: #555555 } /* Name.Namespace */ +.highlight .nt { color: #CBDFFF } /* Name.Tag */ +.highlight .nv { color: #008080 } /* Name.Variable */ +.highlight .ow { font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mf { color: #009999 } /* Literal.Number.Float */ +.highlight .mh { color: #009999 } /* Literal.Number.Hex */ +.highlight .mi { color: #009999 } /* Literal.Number.Integer */ +.highlight .mo { color: #009999 } /* Literal.Number.Oct */ +.highlight .sb { color: #d14 } /* Literal.String.Backtick */ +.highlight .sc { color: #d14 } /* Literal.String.Char */ +.highlight .sd { color: #d14 } /* Literal.String.Doc */ +.highlight .s2 { color: #d14 } /* Literal.String.Double */ +.highlight .se { color: #d14 } /* Literal.String.Escape */ +.highlight .sh { color: #d14 } /* Literal.String.Heredoc */ +.highlight .si { color: #d14 } /* Literal.String.Interpol */ +.highlight .sx { color: #d14 } /* Literal.String.Other */ +.highlight .sr { color: #009926 } /* Literal.String.Regex */ +.highlight .s1 { color: #d14 } /* Literal.String.Single */ +.highlight .ss { color: #990073 } /* Literal.String.Symbol */ +.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */ +.highlight .vc { color: #008080 } /* Name.Variable.Class */ +.highlight .vg { color: #008080 } /* Name.Variable.Global */ +.highlight .vi { color: #008080 } /* Name.Variable.Instance */ +.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */ + +.type-csharp .highlight .k { color: #0000FF } +.type-csharp .highlight .kt { color: #0000FF } +.type-csharp .highlight .nf { color: #000000; font-weight: normal } +.type-csharp .highlight .nc { color: #2B91AF } +.type-csharp .highlight .nn { color: #000000 } +.type-csharp .highlight .s { color: #A31515 } +.type-csharp .highlight .sc { color: #A31515 } diff --git a/stylesheets/stylesheet.css b/stylesheets/stylesheet.css new file mode 100644 index 00000000..a54a6397 --- /dev/null +++ b/stylesheets/stylesheet.css @@ -0,0 +1,247 @@ +body { + margin: 0; + padding: 0; + background: #151515 url("../images/bkg.png") 0 0; + color: #eaeaea; + font: 16px; + line-height: 1.5; + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; +} + +/* General & 'Reset' Stuff */ + +.container { + width: 90%; + max-width: 600px; + margin: 0 auto; +} + +section { + display: block; + margin: 0 0 20px 0; +} + +h1, h2, h3, h4, h5, h6 { + margin: 0 0 20px; +} + +li { + line-height: 1.4 ; +} + +/* Header,
+ header - container + h1 - project name + h2 - project description +*/ + +header { + background: rgba(0, 0, 0, 0.1); + width: 100%; + border-bottom: 1px dashed #b5e853; + padding: 20px 0; + margin: 0 0 40px 0; +} + +header h1 { + font-size: 30px; + line-height: 1.5; + margin: 0 0 0 -40px; + font-weight: bold; + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; + color: #b5e853; + text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1), + 0 0 5px rgba(181, 232, 83, 0.1), + 0 0 10px rgba(181, 232, 83, 0.1); + letter-spacing: -1px; + -webkit-font-smoothing: antialiased; +} + +header h1:before { + content: "./ "; + font-size: 24px; +} + +header h2 { + font-size: 18px; + font-weight: 300; + color: #666; +} + +#downloads .btn { + display: inline-block; + text-align: center; + margin: 0; +} + +/* Main Content +*/ + +#main_content { + width: 100%; + -webkit-font-smoothing: antialiased; +} +section img { + max-width: 100% +} + +h1, h2, h3, h4, h5, h6 { + font-weight: normal; + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; + color: #b5e853; + letter-spacing: -0.03em; + text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1), + 0 0 5px rgba(181, 232, 83, 0.1), + 0 0 10px rgba(181, 232, 83, 0.1); +} + +#main_content h1 { + font-size: 30px; +} + +#main_content h2 { + font-size: 24px; +} + +#main_content h3 { + font-size: 18px; +} + +#main_content h4 { + font-size: 14px; +} + +#main_content h5 { + font-size: 12px; + text-transform: uppercase; + margin: 0 0 5px 0; +} + +#main_content h6 { + font-size: 12px; + text-transform: uppercase; + color: #999; + margin: 0 0 5px 0; +} + +dt { + font-style: italic; + font-weight: bold; +} + +ul li { + list-style: none; +} + +ul li:before { + content: ">>"; + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; + font-size: 13px; + color: #b5e853; + margin-left: -37px; + margin-right: 21px; + line-height: 16px; +} + +blockquote { + color: #aaa; + padding-left: 10px; + border-left: 1px dotted #666; +} + +pre { + background: rgba(0, 0, 0, 0.9); + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 10px; + font-size: 14px; + color: #b5e853; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + text-wrap: normal; + overflow: auto; + overflow-y: hidden; +} + +table { + width: 100%; + margin: 0 0 20px 0; +} + +th { + text-align: left; + border-bottom: 1px dashed #b5e853; + padding: 5px 10px; +} + +td { + padding: 5px 10px; +} + +hr { + height: 0; + border: 0; + border-bottom: 1px dashed #b5e853; + color: #b5e853; +} + +/* Buttons +*/ + +.btn { + display: inline-block; + background: -webkit-linear-gradient(top, rgba(40, 40, 40, 0.3), rgba(35, 35, 35, 0.3) 50%, rgba(10, 10, 10, 0.3) 50%, rgba(0, 0, 0, 0.3)); + padding: 8px 18px; + border-radius: 50px; + border: 2px solid rgba(0, 0, 0, 0.7); + border-bottom: 2px solid rgba(0, 0, 0, 0.7); + border-top: 2px solid rgba(0, 0, 0, 1); + color: rgba(255, 255, 255, 0.8); + font-family: Helvetica, Arial, sans-serif; + font-weight: bold; + font-size: 13px; + text-decoration: none; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.75); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05); +} + +.btn:hover { + background: -webkit-linear-gradient(top, rgba(40, 40, 40, 0.6), rgba(35, 35, 35, 0.6) 50%, rgba(10, 10, 10, 0.8) 50%, rgba(0, 0, 0, 0.8)); +} + +.btn .icon { + display: inline-block; + width: 16px; + height: 16px; + margin: 1px 8px 0 0; + float: left; +} + +.btn-github .icon { + opacity: 0.6; + background: url("../images/blacktocat.png") 0 0 no-repeat; +} + +/* Links + a, a:hover, a:visited +*/ + +a { + color: #63c0f5; + text-shadow: 0 0 5px rgba(104, 182, 255, 0.5); +} + +/* Clearfix */ + +.cf:before, .cf:after { + content:""; + display:table; +} + +.cf:after { + clear:both; +} + +.cf { + zoom:1; +} \ No newline at end of file From 20b2a34ca2b030d089208fb64e919d9e963d004c Mon Sep 17 00:00:00 2001 From: scribu Date: Sun, 4 Nov 2012 23:59:08 +0200 Subject: [PATCH 002/839] remove params.json; going to use Jekyll manually --- params.json | 1 - 1 file changed, 1 deletion(-) delete mode 100644 params.json diff --git a/params.json b/params.json deleted file mode 100644 index c136bf41..00000000 --- a/params.json +++ /dev/null @@ -1 +0,0 @@ -{"note":"Don't delete this file! It's used internally to help with page regeneration.","google":"UA-962663-21","tagline":"A command line interface for WordPress","name":"wp-cli","body":"What is wp-cli?\r\n--------------\r\n\r\nwp-cli is a set of command-line tools for managing WordPress installations. You can update plugins, set up multisite installs, update posts and much more.\r\n\r\nVisit the [wiki](https://github.com/wp-cli/wp-cli/wiki) for more information.\r\n\r\nRequirements\r\n============\r\n\r\n* PHP >= 5.3\r\n* WP >= 3.3\r\n\r\nInstalling\r\n==========\r\n\r\n**Via PEAR:**\r\n\r\n```sh\r\nsudo pear config-set auto_discover 1\r\nsudo pear install wp-cli.github.com/pear/wpcli\r\n```\r\n\r\n**Via GIT:**\r\n\r\n```sh\r\ngit clone --recursive git://github.com/wp-cli/wp-cli.git ~/git/wp-cli\r\ncd ~/git/wp-cli\r\nsudo utils/dev-build\r\n```\r\n\r\nYou can replace `~/git/wp-cli` with whatever you want.\r\n\r\nMAMP, XAMP, etc.\r\n-----------\r\n\r\nIf the `php` command is not available, you can try finding an appropriate binary:\r\n\r\n```sh\r\n./utils/find-php\r\n```\r\n\r\nThen, create an environment variable called `WP_CLI_PHP` with the path found by `find-php`.\r\n\r\nIn a UNIX environment, you would do this by adding the following line to your `.bashrc` file:\r\n\r\n```sh\r\nWP_CLI_PHP=/path/to/php-binary\r\n```\r\n\r\nUsing\r\n=====\r\n\r\nGo into a WordPress root folder:\r\n\r\n```\r\ncd /var/www/wp/\r\n```\r\n\r\nTyping `wp help` should show you an output similar to this:\r\n\r\n```\r\nExample usage:\r\n\twp google-sitemap [build|help] ...\r\n\twp core [update|help] ...\r\n\twp home [help] ...\r\n\twp option [add|update|delete|get|help] ...\r\n\twp plugin [status|activate|deactivate|install|delete|update|help] ...\r\n\twp theme [status|details|activate|help] ...\r\n```\r\n\r\nSo this tells us which commands are installed: eg. google-sitemap, core, home, ...\r\nBetween brackets you can see their sub commands. \r\n\r\nLet's for example try to install the hello dolly plugin from wordpress.org:\r\n\r\n```\r\nwp plugin install hello-dolly\r\n```\r\n\r\nOutput:\r\n\r\n```\r\nInstalling Hello Dolly (1.5)\r\n\r\nDownloading install package from http://downloads.WordPress.org/plugin/hello-dolly.1.5.zip ...\r\nUnpacking the package ...\r\nInstalling the plugin ...\r\n\r\nSuccess: The plugin is successfully installed\r\n```\r\n\r\nMultisite\r\n---------\r\n\r\nOn a multisite installation, you need to pass a --blog parameter, so that WP knows which site it's supposed to be operating on:\r\n\r\n```\r\nwp theme status --blog=localhost/wp/test\r\n```\r\n\r\nIf you have a subdomain installation, it would look like this:\r\n\r\n```\r\nwp theme status --blog=test.example.com\r\n```\r\n\r\nIf you're usually working on the same site most of the time, you can put the url of that site in a file called 'wp-cli-blog' in your root WP dir:\r\n\r\n```\r\necho 'test.example.com' > wp-cli-blog\r\n```\r\n\r\nThen, you can call `wp` without the --blog parameter again:\r\n\r\n```\r\nwp theme status\r\n```\r\n\r\nAdding commands\r\n===============\r\n\r\nAdding commands to wp-cli is very easy. You can even add them from within your own plugin.\r\nYou can find more information about adding commands in the [Commands Cookbook](https://github.com/wp-cli/wp-cli/wiki/Commands-Cookbook) on our Wiki.\r\n\r\n**Please share the commands you make, issue a pull request to get them included in wp-cli by default.**\r\n\r\nChangelog\r\n=========\r\n\r\n**0.6**\r\n\r\n- added `wp post` and `wp post-meta`\r\n- added `wp user-meta`\r\n- added `wp blog create`\r\n- added `wp export`\r\n- added `wp transient`\r\n- added `wp db optimize` and `wp db repair`\r\n- added `wp db create`, `wp db drop` and `wp db reset`\r\n- added `wp db import`\r\n- added `wp theme install` and `wp theme update`\r\n- added `wp core install_network`\r\n- added `wp core update_db`\r\n- added `--json` option to several subcommands\r\n- added `--network` option to `wp plugin activate`\r\n- added `--require` global parameter\r\n- fixed `wp plugin update`\r\n- fixed \"out of memory\" error\r\n- misc bugfixes and optimizations\r\n- man pages (not in PEAR package)\r\n\r\n**0.5**\r\n\r\n- added `wp user`\r\n- added `wp core download`\r\n- added `wp core config`\r\n- added `wp plugin update --all`\r\n- added `wp theme update`\r\n- added `wp db import`\r\n- added `--url` `--path` and `--user` global parameters\r\n- various bugfixes\r\n\r\n**0.4**\r\n\r\n- added `wp eval` and `wp eval-file`\r\n- added `wp export`\r\n- added `wp core install`\r\n- fixed `wp core update`\r\n- added `--dev` flag to `wp plugin install`\r\n- added `wp plugin uninstall`\r\n- fixed `wp plugin install` and `wp plugin update`\r\n\r\n**0.3**\r\n\r\n- added `wp sql`\r\n- improved `wp option`\r\n- pear installer\r\n\r\n**0.2**\r\n\r\n- added multisite support\r\n- improved `wp plugin` and `wp theme`\r\n- added `wp generate`\r\n- added `wp core version`\r\n- added `wp --version`\r\n- added bash completion script\r\n\r\n**0.1**\r\n\r\n- initial release\r\n\r\nContributors\r\n------------\r\n\r\n- [Contributor list](https://github.com/wp-cli/wp-cli/contributors)\r\n- [Contributor guide](https://github.com/wp-cli/wp-cli/wiki/Commands-Cookbook)\r\n"} \ No newline at end of file From 002751d8e9e7ac90f550d8d3ebea526eeb74ee98 Mon Sep 17 00:00:00 2001 From: scribu Date: Mon, 5 Nov 2012 00:03:08 +0200 Subject: [PATCH 003/839] change CNAME to www.wp-cli.org --- CNAME | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CNAME b/CNAME index 07dab832..2d42b569 100644 --- a/CNAME +++ b/CNAME @@ -1 +1 @@ -wp-cli.org +www.wp-cli.org From 5695756f0e5924b934a3aba9c3d54a0d37f62dd8 Mon Sep 17 00:00:00 2001 From: scribu Date: Mon, 5 Nov 2012 00:04:18 +0200 Subject: [PATCH 004/839] change title --- index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index e2464a9b..0903288f 100644 --- a/index.html +++ b/index.html @@ -8,7 +8,7 @@ - wp-cli by wp-cli + wp-cli - A command line interface for WordPress @@ -252,4 +252,4 @@

Changelog

- \ No newline at end of file + From 880ac5d7232ff60677adc0bb44540295976df43c Mon Sep 17 00:00:00 2001 From: scribu Date: Mon, 5 Nov 2012 00:11:58 +0200 Subject: [PATCH 005/839] add github settings to _config.yml --- _config.yml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 _config.yml diff --git a/_config.yml b/_config.yml new file mode 100644 index 00000000..008eb109 --- /dev/null +++ b/_config.yml @@ -0,0 +1,3 @@ +safe: true +lsi: false +pygments: true From 02de298ab8c96d753bc3d738354d106e86db7fc2 Mon Sep 17 00:00:00 2001 From: scribu Date: Mon, 5 Nov 2012 00:12:17 +0200 Subject: [PATCH 006/839] ignore _site dir --- .gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..0baf0152 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/_site From 74ead4eb2af6071eb813b569a45f51d31b5dda3a Mon Sep 17 00:00:00 2001 From: scribu Date: Mon, 5 Nov 2012 00:34:57 +0200 Subject: [PATCH 007/839] replace index.html with index.md --- _layouts/default.html | 48 ++++++++ index.html | 255 ------------------------------------------ index.md | 196 ++++++++++++++++++++++++++++++++ 3 files changed, 244 insertions(+), 255 deletions(-) create mode 100644 _layouts/default.html delete mode 100644 index.html create mode 100644 index.md diff --git a/_layouts/default.html b/_layouts/default.html new file mode 100644 index 00000000..93c824c7 --- /dev/null +++ b/_layouts/default.html @@ -0,0 +1,48 @@ + + + + + + + + + + + {{ page.title }} + + + + +
+
+

wp-cli

+

A command line interface for WordPress

+ +
+ Download as .zip + Download as .tar.gz + View on GitHub +
+
+
+ +
+
+ + {{ content }} + +
+
+ + + + + diff --git a/index.html b/index.html deleted file mode 100644 index 0903288f..00000000 --- a/index.html +++ /dev/null @@ -1,255 +0,0 @@ - - - - - - - - - - - wp-cli - A command line interface for WordPress - - - - -
-
-

wp-cli

-

A command line interface for WordPress

- -
- Download as .zip - Download as .tar.gz - View on GitHub -
-
-
- -
-
-

What is wp-cli?

- -

wp-cli is a set of command-line tools for managing WordPress installations. You can update plugins, set up multisite installs, update posts and much more.

- -

Visit the wiki for more information.

- -

Requirements

- -
    -
  • PHP >= 5.3
  • -
  • WP >= 3.3
  • -

Installing

- -

Via PEAR:

- -
sudo pear config-set auto_discover 1
-sudo pear install wp-cli.github.com/pear/wpcli
-
- -

Via GIT:

- -
git clone --recursive git://github.com/wp-cli/wp-cli.git ~/git/wp-cli
-cd ~/git/wp-cli
-sudo utils/dev-build
-
- -

You can replace ~/git/wp-cli with whatever you want.

- -

MAMP, XAMP, etc.

- -

If the php command is not available, you can try finding an appropriate binary:

- -
./utils/find-php
-
- -

Then, create an environment variable called WP_CLI_PHP with the path found by find-php.

- -

In a UNIX environment, you would do this by adding the following line to your .bashrc file:

- -
WP_CLI_PHP=/path/to/php-binary
-
- -

Using

- -

Go into a WordPress root folder:

- -
cd /var/www/wp/
-
- -

Typing wp help should show you an output similar to this:

- -
Example usage:
-    wp google-sitemap [build|help] ...
-    wp core [update|help] ...
-    wp home [help] ...
-    wp option [add|update|delete|get|help] ...
-    wp plugin [status|activate|deactivate|install|delete|update|help] ...
-    wp theme [status|details|activate|help] ...
-
- -

So this tells us which commands are installed: eg. google-sitemap, core, home, ... -Between brackets you can see their sub commands.

- -

Let's for example try to install the hello dolly plugin from wordpress.org:

- -
wp plugin install hello-dolly
-
- -

Output:

- -
Installing Hello Dolly (1.5)
-
-Downloading install package from http://downloads.WordPress.org/plugin/hello-dolly.1.5.zip ...
-Unpacking the package ...
-Installing the plugin ...
-
-Success: The plugin is successfully installed
-
- -

Multisite

- -

On a multisite installation, you need to pass a --blog parameter, so that WP knows which site it's supposed to be operating on:

- -
wp theme status --blog=localhost/wp/test
-
- -

If you have a subdomain installation, it would look like this:

- -
wp theme status --blog=test.example.com
-
- -

If you're usually working on the same site most of the time, you can put the url of that site in a file called 'wp-cli-blog' in your root WP dir:

- -
echo 'test.example.com' > wp-cli-blog
-
- -

Then, you can call wp without the --blog parameter again:

- -
wp theme status
-
- -

Adding commands

- -

Adding commands to wp-cli is very easy. You can even add them from within your own plugin. -You can find more information about adding commands in the Commands Cookbook on our Wiki.

- -

Please share the commands you make, issue a pull request to get them included in wp-cli by default.

- -

Changelog

- -

0.6

- -
    -
  • added wp post and wp post-meta -
  • -
  • added wp user-meta -
  • -
  • added wp blog create -
  • -
  • added wp export -
  • -
  • added wp transient -
  • -
  • added wp db optimize and wp db repair -
  • -
  • added wp db create, wp db drop and wp db reset -
  • -
  • added wp db import -
  • -
  • added wp theme install and wp theme update -
  • -
  • added wp core install_network -
  • -
  • added wp core update_db -
  • -
  • added --json option to several subcommands
  • -
  • added --network option to wp plugin activate -
  • -
  • added --require global parameter
  • -
  • fixed wp plugin update -
  • -
  • fixed "out of memory" error
  • -
  • misc bugfixes and optimizations
  • -
  • man pages (not in PEAR package)
  • -

0.5

- -
    -
  • added wp user -
  • -
  • added wp core download -
  • -
  • added wp core config -
  • -
  • added wp plugin update --all -
  • -
  • added wp theme update -
  • -
  • added wp db import -
  • -
  • added --url --path and --user global parameters
  • -
  • various bugfixes
  • -

0.4

- -
    -
  • added wp eval and wp eval-file -
  • -
  • added wp export -
  • -
  • added wp core install -
  • -
  • fixed wp core update -
  • -
  • added --dev flag to wp plugin install -
  • -
  • added wp plugin uninstall -
  • -
  • fixed wp plugin install and wp plugin update -
  • -

0.3

- -
    -
  • added wp sql -
  • -
  • improved wp option -
  • -
  • pear installer
  • -

0.2

- -
    -
  • added multisite support
  • -
  • improved wp plugin and wp theme -
  • -
  • added wp generate -
  • -
  • added wp core version -
  • -
  • added wp --version -
  • -
  • added bash completion script
  • -

0.1

- -
    -
  • initial release
  • -

Contributors

- - -
-
- - - - - - diff --git a/index.md b/index.md new file mode 100644 index 00000000..cc153268 --- /dev/null +++ b/index.md @@ -0,0 +1,196 @@ +What is wp-cli? +--------------- + +wp-cli is a set of command-line tools for managing WordPress installations. You can update plugins, set up multisite installs, update posts and much more. + +Visit the [wiki](https://github.com/wp-cli/wp-cli/wiki) for more information. + +Requirements +============ + +* PHP >= 5.3 +* WP >= 3.3 + +Installing +========== + +**Via PEAR:** + +```sh +sudo pear config-set auto_discover 1 +sudo pear install wp-cli.github.com/pear/wpcli +``` + +**Via GIT:** + +```sh +git clone --recursive git://github.com/wp-cli/wp-cli.git ~/git/wp-cli +cd ~/git/wp-cli +sudo utils/dev-build +``` + +You can replace `~/git/wp-cli` with whatever you want. + +MAMP, XAMP, etc. +----------- + +If the `php` command is not available, you can try finding an appropriate binary: + +```sh +./utils/find-php +``` + +Then, create an environment variable called `WP_CLI_PHP` with the path found by `find-php`. + +In a UNIX environment, you would do this by adding the following line to your `.bashrc` file: + +```sh +WP_CLI_PHP=/path/to/php-binary +``` + +Using +===== + +Go into a WordPress root folder: + +``` +cd /var/www/wp/ +``` + +Typing `wp help` should show you an output similar to this: + +``` +Example usage: + wp google-sitemap [build|help] ... + wp core [update|help] ... + wp home [help] ... + wp option [add|update|delete|get|help] ... + wp plugin [status|activate|deactivate|install|delete|update|help] ... + wp theme [status|details|activate|help] ... +``` + +So this tells us which commands are installed: eg. google-sitemap, core, home, ... +Between brackets you can see their sub commands. + +Let's for example try to install the hello dolly plugin from wordpress.org: + +``` +wp plugin install hello-dolly +``` + +Output: + +``` +Installing Hello Dolly (1.5) + +Downloading install package from http://downloads.WordPress.org/plugin/hello-dolly.1.5.zip ... +Unpacking the package ... +Installing the plugin ... + +Success: The plugin is successfully installed +``` + +Multisite +--------- + +On a multisite installation, you need to pass a --blog parameter, so that WP knows which site it's supposed to be operating on: + +``` +wp theme status --blog=localhost/wp/test +``` + +If you have a subdomain installation, it would look like this: + +``` +wp theme status --blog=test.example.com +``` + +If you're usually working on the same site most of the time, you can put the url of that site in a file called 'wp-cli-blog' in your root WP dir: + +``` +echo 'test.example.com' > wp-cli-blog +``` + +Then, you can call `wp` without the --blog parameter again: + +``` +wp theme status +``` + +Adding commands +=============== + +Adding commands to wp-cli is very easy. You can even add them from within your own plugin. +You can find more information about adding commands in the [Commands Cookbook](https://github.com/wp-cli/wp-cli/wiki/Commands-Cookbook) on our Wiki. + +**Please share the commands you make, issue a pull request to get them included in wp-cli by default.** + +Changelog +========= + +**0.6** + +- added `wp post` and `wp post-meta` +- added `wp user-meta` +- added `wp blog create` +- added `wp export` +- added `wp transient` +- added `wp db optimize` and `wp db repair` +- added `wp db create`, `wp db drop` and `wp db reset` +- added `wp db import` +- added `wp theme install` and `wp theme update` +- added `wp core install_network` +- added `wp core update_db` +- added `--json` option to several subcommands +- added `--network` option to `wp plugin activate` +- added `--require` global parameter +- fixed `wp plugin update` +- fixed "out of memory" error +- misc bugfixes and optimizations +- man pages (not in PEAR package) + +**0.5** + +- added `wp user` +- added `wp core download` +- added `wp core config` +- added `wp plugin update --all` +- added `wp theme update` +- added `wp db import` +- added `--url` `--path` and `--user` global parameters +- various bugfixes + +**0.4** + +- added `wp eval` and `wp eval-file` +- added `wp export` +- added `wp core install` +- fixed `wp core update` +- added `--dev` flag to `wp plugin install` +- added `wp plugin uninstall` +- fixed `wp plugin install` and `wp plugin update` + +**0.3** + +- added `wp sql` +- improved `wp option` +- pear installer + +**0.2** + +- added multisite support +- improved `wp plugin` and `wp theme` +- added `wp generate` +- added `wp core version` +- added `wp --version` +- added bash completion script + +**0.1** + +- initial release + +Contributors +------------ + +- [Contributor list](https://github.com/wp-cli/wp-cli/contributors) +- [Contributor guide](https://github.com/wp-cli/wp-cli/wiki/Commands-Cookbook) From 859a2e20d4f802fb6f6bc80bdcb1aa4d95a7ff6a Mon Sep 17 00:00:00 2001 From: scribu Date: Mon, 5 Nov 2012 00:35:44 +0200 Subject: [PATCH 008/839] Revert "change CNAME to www.wp-cli.org" This reverts commit 002751d8e9e7ac90f550d8d3ebea526eeb74ee98. --- CNAME | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CNAME b/CNAME index 2d42b569..07dab832 100644 --- a/CNAME +++ b/CNAME @@ -1 +1 @@ -www.wp-cli.org +wp-cli.org From facf5727a8f75147a893295d1b87acad054a479d Mon Sep 17 00:00:00 2001 From: scribu Date: Mon, 5 Nov 2012 00:59:37 +0200 Subject: [PATCH 009/839] rename index.md back to index.html and call markdownify --- _layouts/default.html | 2 +- index.md => index.html | 53 +++++++++++++++++++++++------------------- 2 files changed, 30 insertions(+), 25 deletions(-) rename index.md => index.html (94%) diff --git a/_layouts/default.html b/_layouts/default.html index 93c824c7..d0387e5c 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -29,7 +29,7 @@

A command line interface for WordPress

- {{ content }} + {{ content | markdownify }}
diff --git a/index.md b/index.html similarity index 94% rename from index.md rename to index.html index cc153268..93ec4126 100644 --- a/index.md +++ b/index.html @@ -1,3 +1,8 @@ +--- +layout: default +title: wp-cli - A command line interface for WordPress +--- + What is wp-cli? --------------- @@ -16,18 +21,18 @@ **Via PEAR:** -```sh +
 sudo pear config-set auto_discover 1
 sudo pear install wp-cli.github.com/pear/wpcli
-```
+
**Via GIT:** -```sh +
 git clone --recursive git://github.com/wp-cli/wp-cli.git ~/git/wp-cli
 cd ~/git/wp-cli
 sudo utils/dev-build
-```
+
You can replace `~/git/wp-cli` with whatever you want. @@ -36,30 +41,30 @@ If the `php` command is not available, you can try finding an appropriate binary: -```sh +
 ./utils/find-php
-```
+
Then, create an environment variable called `WP_CLI_PHP` with the path found by `find-php`. In a UNIX environment, you would do this by adding the following line to your `.bashrc` file: -```sh +
 WP_CLI_PHP=/path/to/php-binary
-```
+
Using ===== Go into a WordPress root folder: -``` +
 cd /var/www/wp/
-```
+
Typing `wp help` should show you an output similar to this: -``` +
 Example usage:
 	wp google-sitemap [build|help] ...
 	wp core [update|help] ...
@@ -67,20 +72,20 @@
 	wp option [add|update|delete|get|help] ...
 	wp plugin [status|activate|deactivate|install|delete|update|help] ...
 	wp theme [status|details|activate|help] ...
-```
+
So this tells us which commands are installed: eg. google-sitemap, core, home, ... Between brackets you can see their sub commands. Let's for example try to install the hello dolly plugin from wordpress.org: -``` +
 wp plugin install hello-dolly
-```
+
Output: -``` +
 Installing Hello Dolly (1.5)
 
 Downloading install package from http://downloads.WordPress.org/plugin/hello-dolly.1.5.zip ...
@@ -88,34 +93,34 @@
 Installing the plugin ...
 
 Success: The plugin is successfully installed
-```
+
Multisite --------- On a multisite installation, you need to pass a --blog parameter, so that WP knows which site it's supposed to be operating on: -``` +
 wp theme status --blog=localhost/wp/test
-```
+
If you have a subdomain installation, it would look like this: -``` +
 wp theme status --blog=test.example.com
-```
+
If you're usually working on the same site most of the time, you can put the url of that site in a file called 'wp-cli-blog' in your root WP dir: -``` +
 echo 'test.example.com' > wp-cli-blog
-```
+
Then, you can call `wp` without the --blog parameter again: -``` +
 wp theme status
-```
+
Adding commands =============== From 02fc8e72ea8ff7ac76c9ad9b7fcbca6ff5976958 Mon Sep 17 00:00:00 2001 From: scribu Date: Mon, 5 Nov 2012 01:05:36 +0200 Subject: [PATCH 010/839] add header and footer partials --- _includes/footer.html | 15 +++++++++++++ _includes/header.html | 30 ++++++++++++++++++++++++++ _layouts/default.html | 49 +++---------------------------------------- 3 files changed, 48 insertions(+), 46 deletions(-) create mode 100644 _includes/footer.html create mode 100644 _includes/header.html diff --git a/_includes/footer.html b/_includes/footer.html new file mode 100644 index 00000000..dbadd381 --- /dev/null +++ b/_includes/footer.html @@ -0,0 +1,15 @@ + + + + + + + diff --git a/_includes/header.html b/_includes/header.html new file mode 100644 index 00000000..8b2904d4 --- /dev/null +++ b/_includes/header.html @@ -0,0 +1,30 @@ + + + + + + + + + + {{ page.title }} + + + + +
+
+

wp-cli

+

A command line interface for WordPress

+ +
+ Download as .zip + Download as .tar.gz + View on GitHub +
+
+
+ +
+
+ diff --git a/_layouts/default.html b/_layouts/default.html index d0387e5c..e2e3765a 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -1,48 +1,5 @@ - - - - - +{% include header.html %} - - - +{{ content | markdownify }} - {{ page.title }} - - - - -
-
-

wp-cli

-

A command line interface for WordPress

- -
- Download as .zip - Download as .tar.gz - View on GitHub -
-
-
- -
-
- - {{ content | markdownify }} - -
-
- - - - - +{% include footer.html %} From 51f14d9dbd563b3ea0d87d9894b56a1845140a82 Mon Sep 17 00:00:00 2001 From: scribu Date: Mon, 5 Nov 2012 01:21:57 +0200 Subject: [PATCH 011/839] add blog templates --- _config.yml | 1 + _includes/header.html | 3 +-- _layouts/post.html | 5 +++++ _posts/2012-11-05-test.md | 4 ++++ blog.html | 10 ++++++++++ 5 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 _layouts/post.html create mode 100644 _posts/2012-11-05-test.md create mode 100644 blog.html diff --git a/_config.yml b/_config.yml index 008eb109..8f52696f 100644 --- a/_config.yml +++ b/_config.yml @@ -1,3 +1,4 @@ safe: true lsi: false pygments: true +url: http://wp-cli.org diff --git a/_includes/header.html b/_includes/header.html index 8b2904d4..629b7f37 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -18,9 +18,8 @@

wp-cli

A command line interface for WordPress

- Download as .zip - Download as .tar.gz View on GitHub + Blog
diff --git a/_layouts/post.html b/_layouts/post.html new file mode 100644 index 00000000..7ee00ac3 --- /dev/null +++ b/_layouts/post.html @@ -0,0 +1,5 @@ +{% include header.html %} + +{{ content }} + +{% include footer.html %} diff --git a/_posts/2012-11-05-test.md b/_posts/2012-11-05-test.md new file mode 100644 index 00000000..43d20ef8 --- /dev/null +++ b/_posts/2012-11-05-test.md @@ -0,0 +1,4 @@ +--- +layout: post +title: Testing +--- diff --git a/blog.html b/blog.html new file mode 100644 index 00000000..a37b4cb1 --- /dev/null +++ b/blog.html @@ -0,0 +1,10 @@ +--- +layout: default +title: wp-cli - Blog +--- + +
    + {% for post in site.posts %} +
  • {{ post.date | date_to_string }} » {{ post.title }}
  • + {% endfor %} +
From 15a4f7350480c5639a52705833ff3c46c2478150 Mon Sep 17 00:00:00 2001 From: scribu Date: Mon, 5 Nov 2012 01:29:25 +0200 Subject: [PATCH 012/839] don't really need site.url --- _config.yml | 1 - _includes/header.html | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/_config.yml b/_config.yml index 8f52696f..008eb109 100644 --- a/_config.yml +++ b/_config.yml @@ -1,4 +1,3 @@ safe: true lsi: false pygments: true -url: http://wp-cli.org diff --git a/_includes/header.html b/_includes/header.html index 629b7f37..27fd3a21 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -14,12 +14,12 @@
-

wp-cli

+

wp-cli

A command line interface for WordPress

View on GitHub - Blog + Blog
From 7abe56d28c4c0a3f8305607eafb9594d027ffbb5 Mon Sep 17 00:00:00 2001 From: scribu Date: Mon, 5 Nov 2012 01:31:09 +0200 Subject: [PATCH 013/839] fix stylesheet path for blog posts --- _includes/header.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/_includes/header.html b/_includes/header.html index 27fd3a21..4d7d8c9d 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -3,9 +3,9 @@ - - - + + + {{ page.title }} From c1da120eb910d2a78f0cef92dda89094b92e41a8 Mon Sep 17 00:00:00 2001 From: scribu Date: Mon, 5 Nov 2012 01:53:40 +0200 Subject: [PATCH 014/839] replace test blog post with new-home one --- _posts/2012-11-05-new-home.md | 6 ++++++ _posts/2012-11-05-test.md | 4 ---- 2 files changed, 6 insertions(+), 4 deletions(-) create mode 100644 _posts/2012-11-05-new-home.md delete mode 100644 _posts/2012-11-05-test.md diff --git a/_posts/2012-11-05-new-home.md b/_posts/2012-11-05-new-home.md new file mode 100644 index 00000000..fc1c815f --- /dev/null +++ b/_posts/2012-11-05-new-home.md @@ -0,0 +1,6 @@ +--- +layout: post +title: New Home +--- + +Welcome to the new website for the wp-cli project! diff --git a/_posts/2012-11-05-test.md b/_posts/2012-11-05-test.md deleted file mode 100644 index 43d20ef8..00000000 --- a/_posts/2012-11-05-test.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -layout: post -title: Testing ---- From e96499c3d25a0ceedda8c3f95a67cbe18658278f Mon Sep 17 00:00:00 2001 From: scribu Date: Mon, 5 Nov 2012 01:54:09 +0200 Subject: [PATCH 015/839] add Atom feed --- _config.yml | 2 ++ _includes/header.html | 5 ++++- atom.xml | 31 +++++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 atom.xml diff --git a/_config.yml b/_config.yml index 008eb109..7df33990 100644 --- a/_config.yml +++ b/_config.yml @@ -1,3 +1,5 @@ safe: true lsi: false pygments: true +url: http://wp-cli.org +permalink: /blog/:title.html diff --git a/_includes/header.html b/_includes/header.html index 4d7d8c9d..0cbe27f4 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -1,4 +1,5 @@ - + + @@ -7,6 +8,8 @@ + + {{ page.title }} diff --git a/atom.xml b/atom.xml new file mode 100644 index 00000000..9e88114b --- /dev/null +++ b/atom.xml @@ -0,0 +1,31 @@ +--- +layout: nil +--- + + + + wp-cli + + + {{ site.time | date_to_xmlschema }} + {{ site.url }} + + scribu + mail@scribu.net + + + {% for post in site.posts %} + + {{ site.url }}{{ post.id }} + + {{ post.title | xml_escape }} + {{ post.date | date_to_xmlschema }} + + scribu + {{ site.url }} + + {{ post.content | xml_escape }} + + {% endfor %} + + From 8be8e67ddd664eeb9d034f5c5672bdb84a79c5c7 Mon Sep 17 00:00:00 2001 From: scribu Date: Mon, 5 Nov 2012 01:57:22 +0200 Subject: [PATCH 016/839] move link to wiki to header --- _includes/header.html | 1 + index.html | 5 ----- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/_includes/header.html b/_includes/header.html index 0cbe27f4..a95558f5 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -23,6 +23,7 @@

A command line interface for WordPress

View on GitHub Blog + Wiki
diff --git a/index.html b/index.html index 93ec4126..c4fb996d 100644 --- a/index.html +++ b/index.html @@ -3,13 +3,8 @@ title: wp-cli - A command line interface for WordPress --- -What is wp-cli? ---------------- - wp-cli is a set of command-line tools for managing WordPress installations. You can update plugins, set up multisite installs, update posts and much more. -Visit the [wiki](https://github.com/wp-cli/wp-cli/wiki) for more information. - Requirements ============ From 22c31480e9456ed880f31d197ae564be842eb81e Mon Sep 17 00:00:00 2001 From: scribu Date: Mon, 5 Nov 2012 02:09:32 +0200 Subject: [PATCH 017/839] make header link blend better --- stylesheets/stylesheet.css | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/stylesheets/stylesheet.css b/stylesheets/stylesheet.css index a54a6397..10d930f7 100644 --- a/stylesheets/stylesheet.css +++ b/stylesheets/stylesheet.css @@ -57,6 +57,11 @@ header h1 { -webkit-font-smoothing: antialiased; } +header h1 a { + color: inherit; + text-decoration: none +} + header h1:before { content: "./ "; font-size: 24px; @@ -244,4 +249,4 @@ a { .cf { zoom:1; -} \ No newline at end of file +} From c4d6eb8c9f9436efe4bd4573515d28b85f07b403 Mon Sep 17 00:00:00 2001 From: scribu Date: Mon, 5 Nov 2012 02:24:35 +0200 Subject: [PATCH 018/839] content updates --- _posts/2012-11-05-new-home.md | 2 +- index.html | 33 ++++++++++++++++----------------- 2 files changed, 17 insertions(+), 18 deletions(-) diff --git a/_posts/2012-11-05-new-home.md b/_posts/2012-11-05-new-home.md index fc1c815f..a19c8f2a 100644 --- a/_posts/2012-11-05-new-home.md +++ b/_posts/2012-11-05-new-home.md @@ -1,6 +1,6 @@ --- layout: post -title: New Home +title: New Home | wp-cli --- Welcome to the new website for the wp-cli project! diff --git a/index.html b/index.html index c4fb996d..1f737617 100644 --- a/index.html +++ b/index.html @@ -3,13 +3,13 @@ title: wp-cli - A command line interface for WordPress --- -wp-cli is a set of command-line tools for managing WordPress installations. You can update plugins, set up multisite installs, update posts and much more. +wp-cli is a set of command-line tools for managing [WordPress](http://wordpress.org) installations. You can update plugins, set up multisite installs, update posts and much more. Requirements ============ * PHP >= 5.3 -* WP >= 3.3 +* WordPress >= 3.3 Installing ========== @@ -57,22 +57,22 @@ cd /var/www/wp/ -Typing `wp help` should show you an output similar to this: +Typing `wp` should show you output similar to this:
-Example usage:
-	wp google-sitemap [build|help] ...
-	wp core [update|help] ...
-	wp home [help] ...
-	wp option [add|update|delete|get|help] ...
-	wp plugin [status|activate|deactivate|install|delete|update|help] ...
-	wp theme [status|details|activate|help] ...
+Available commands:
+    wp blog create|delete
+    wp cache add|decr|delete|flush|get|incr|replace|set|type
+    wp comment create|delete|trash|untrash|spam|unspam|approve|unapprove|count|status|last
+    wp core download|config|is-installed|install|install-network|version|update|update-db
+    wp db create|drop|reset|optimize|repair|connect|cli|query|export|import
+    wp eval-file
+    ...
+
+See 'wp help <command>' for more information on a specific command.
 
-So this tells us which commands are installed: eg. google-sitemap, core, home, ... -Between brackets you can see their sub commands. - -Let's for example try to install the hello dolly plugin from wordpress.org: +Let's try to install the Hello Dolly plugin from wordpress.org:
 wp plugin install hello-dolly
@@ -86,14 +86,13 @@
 Downloading install package from http://downloads.WordPress.org/plugin/hello-dolly.1.5.zip ...
 Unpacking the package ...
 Installing the plugin ...
-
-Success: The plugin is successfully installed
+Plugin installed successfully.
 
Multisite --------- -On a multisite installation, you need to pass a --blog parameter, so that WP knows which site it's supposed to be operating on: +On a multisite installation, you need to pass a `--blog` parameter, so that wp-cli knows which site it's supposed to be operating on:
 wp theme status --blog=localhost/wp/test

From 52e76d7f137399dd21185f8d8f99b1148783b919 Mon Sep 17 00:00:00 2001
From: scribu 
Date: Mon, 5 Nov 2012 02:33:45 +0200
Subject: [PATCH 019/839] move 'wp-cli' pre/suffix out of title strings

---
 _includes/header.html         | 4 ++--
 _posts/2012-11-05-new-home.md | 2 +-
 blog.html                     | 2 +-
 index.html                    | 2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/_includes/header.html b/_includes/header.html
index a95558f5..3894329a 100644
--- a/_includes/header.html
+++ b/_includes/header.html
@@ -10,7 +10,7 @@
 
 		
 
-		{{ page.title }}
+		{{ page.title }} | wp-cli
 	
 
 	
@@ -22,8 +22,8 @@ 

A command line interface for WordPress

View on GitHub - Blog Wiki + Blog
diff --git a/_posts/2012-11-05-new-home.md b/_posts/2012-11-05-new-home.md index a19c8f2a..fc1c815f 100644 --- a/_posts/2012-11-05-new-home.md +++ b/_posts/2012-11-05-new-home.md @@ -1,6 +1,6 @@ --- layout: post -title: New Home | wp-cli +title: New Home --- Welcome to the new website for the wp-cli project! diff --git a/blog.html b/blog.html index a37b4cb1..b90b0f91 100644 --- a/blog.html +++ b/blog.html @@ -1,6 +1,6 @@ --- layout: default -title: wp-cli - Blog +title: Blog ---
    diff --git a/index.html b/index.html index 1f737617..9f7f4d16 100644 --- a/index.html +++ b/index.html @@ -1,6 +1,6 @@ --- layout: default -title: wp-cli - A command line interface for WordPress +title: Command line interface for WordPress --- wp-cli is a set of command-line tools for managing [WordPress](http://wordpress.org) installations. You can update plugins, set up multisite installs, update posts and much more. From a91453e7284553d693c9f53191adfb3f43537868 Mon Sep 17 00:00:00 2001 From: scribu Date: Mon, 5 Nov 2012 02:34:29 +0200 Subject: [PATCH 020/839] add explanation for site --- _posts/2012-11-05-new-home.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/_posts/2012-11-05-new-home.md b/_posts/2012-11-05-new-home.md index fc1c815f..80740690 100644 --- a/_posts/2012-11-05-new-home.md +++ b/_posts/2012-11-05-new-home.md @@ -4,3 +4,7 @@ title: New Home --- Welcome to the new website for the wp-cli project! + +wp-cli already had a public code repository, an issue tracker and a wiki. The only thing that was missing was a blog for publishing release notes and other news. + +Since github has built-in support for [Jekyll](https://github.com/mojombo/jekyll/wiki), I decided to use that. The code for this website is also public: [github.com/wp-cli/wp-cli.github.com](https://github.com/wp-cli/wp-cli.github.com) From 80b465c454fb511e6581ba9134258c11e2465ebe Mon Sep 17 00:00:00 2001 From: scribu Date: Mon, 5 Nov 2012 02:53:45 +0200 Subject: [PATCH 021/839] show content on blog page --- blog.html | 17 ++++++++++++----- stylesheets/stylesheet.css | 10 ++++++++++ 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/blog.html b/blog.html index b90b0f91..c3ee6cd2 100644 --- a/blog.html +++ b/blog.html @@ -3,8 +3,15 @@ title: Blog --- -
      - {% for post in site.posts %} -
    • {{ post.date | date_to_string }} » {{ post.title }}
    • - {% endfor %} -
    +{% for post in site.posts limit: 10 %} +
    +
    +

    {{ post.title }}

    + {{ post.date | date_to_string }} +
    + +
    + {{ post.content }} +
    +
    +{% endfor %} diff --git a/stylesheets/stylesheet.css b/stylesheets/stylesheet.css index 10d930f7..d0e33bb2 100644 --- a/stylesheets/stylesheet.css +++ b/stylesheets/stylesheet.css @@ -250,3 +250,13 @@ a { .cf { zoom:1; } + +/* Blog */ + +article + article { + margin-top: 40px; +} + +.post-header span { + color: #666; +} From 942892571bc0ee436064c57fbd202a2d3bfb8484 Mon Sep 17 00:00:00 2001 From: scribu Date: Mon, 5 Nov 2012 03:03:13 +0200 Subject: [PATCH 022/839] add title and date to single posts --- _layouts/post.html | 11 ++++++++++- blog.html | 4 ++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/_layouts/post.html b/_layouts/post.html index 7ee00ac3..acfac697 100644 --- a/_layouts/post.html +++ b/_layouts/post.html @@ -1,5 +1,14 @@ {% include header.html %} -{{ content }} +
    +
    +

    {{ page.title }}

    + {{ page.date | date_to_string }} +
    + +
    + {{ content }} +
    +
    {% include footer.html %} diff --git a/blog.html b/blog.html index c3ee6cd2..3a7d4875 100644 --- a/blog.html +++ b/blog.html @@ -6,8 +6,8 @@ {% for post in site.posts limit: 10 %}
    -

    {{ post.title }}

    - {{ post.date | date_to_string }} +

    {{ post.title }}

    + {{ post.date | date_to_string }}
    From afcc282d193339ac3093310301a53eecbd9ef387 Mon Sep 17 00:00:00 2001 From: scribu Date: Mon, 5 Nov 2012 03:05:23 +0200 Subject: [PATCH 023/839] bold wp-cli --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 9f7f4d16..de4a8e0a 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,7 @@ title: Command line interface for WordPress --- -wp-cli is a set of command-line tools for managing [WordPress](http://wordpress.org) installations. You can update plugins, set up multisite installs, update posts and much more. +**wp-cli** is a set of command-line tools for managing [WordPress](http://wordpress.org) installations. You can update plugins, set up multisite installs, update posts and much more. Requirements ============ From a6d3647405b2a03cc0f722b058574f45eb47ad7f Mon Sep 17 00:00:00 2001 From: scribu Date: Mon, 5 Nov 2012 03:07:34 +0200 Subject: [PATCH 024/839] it seems Jekyll also has some texturizing --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index de4a8e0a..26585e1e 100644 --- a/index.html +++ b/index.html @@ -110,7 +110,7 @@ echo 'test.example.com' > wp-cli-blog
-Then, you can call `wp` without the --blog parameter again: +Then, you can call `wp` without the `--blog` parameter again:
 wp theme status

From 2e7dc382e89389a280908563f5713c7cb1aa23d0 Mon Sep 17 00:00:00 2001
From: scribu 
Date: Mon, 5 Nov 2012 03:09:37 +0200
Subject: [PATCH 025/839] remove unused javascripts folder

---
 javascripts/main.js | 1 -
 1 file changed, 1 deletion(-)
 delete mode 100644 javascripts/main.js

diff --git a/javascripts/main.js b/javascripts/main.js
deleted file mode 100644
index d8135d37..00000000
--- a/javascripts/main.js
+++ /dev/null
@@ -1 +0,0 @@
-console.log('This would be the main JS file.');

From 4bbe148afbb0251a6cf1132494b364376b584fdd Mon Sep 17 00:00:00 2001
From: scribu 
Date: Mon, 5 Nov 2012 03:12:34 +0200
Subject: [PATCH 026/839] more links

---
 _posts/2012-11-05-new-home.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/_posts/2012-11-05-new-home.md b/_posts/2012-11-05-new-home.md
index 80740690..126bfd6e 100644
--- a/_posts/2012-11-05-new-home.md
+++ b/_posts/2012-11-05-new-home.md
@@ -5,6 +5,6 @@ title: New Home
 
 Welcome to the new website for the wp-cli project!
 
-wp-cli already had a public code repository, an issue tracker and a wiki. The only thing that was missing was a blog for publishing release notes and other news.
+wp-cli already has a public [code repository](https://github.com/wp-cli/wp-cli), an [issue tracker](https://github.com/wp-cli/wp-cli/issues) and a [wiki](https://github.com/wp-cli/wp-cli/wiki). The only thing that was missing was a blog for publishing release notes and other news.
 
 Since github has built-in support for [Jekyll](https://github.com/mojombo/jekyll/wiki), I decided to use that. The code for this website is also public: [github.com/wp-cli/wp-cli.github.com](https://github.com/wp-cli/wp-cli.github.com)

From 76ca53c8041b35868024d42235ab8b28abe84bbb Mon Sep 17 00:00:00 2001
From: scribu 
Date: Mon, 5 Nov 2012 03:17:50 +0200
Subject: [PATCH 027/839] move blog.html to blog/index.html

---
 _includes/header.html        | 2 +-
 blog.html => blog/index.html | 0
 2 files changed, 1 insertion(+), 1 deletion(-)
 rename blog.html => blog/index.html (100%)

diff --git a/_includes/header.html b/_includes/header.html
index 3894329a..c45d829f 100644
--- a/_includes/header.html
+++ b/_includes/header.html
@@ -23,7 +23,7 @@ 

A command line interface for WordPress

View on GitHub Wiki - Blog + Blog
diff --git a/blog.html b/blog/index.html similarity index 100% rename from blog.html rename to blog/index.html From f1b18814997cae16cd4335717e8f6d8fdb0b7046 Mon Sep 17 00:00:00 2001 From: scribu Date: Mon, 5 Nov 2012 03:50:44 +0200 Subject: [PATCH 028/839] avoid repetition --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 26585e1e..e5f0a0b9 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,7 @@ title: Command line interface for WordPress --- -**wp-cli** is a set of command-line tools for managing [WordPress](http://wordpress.org) installations. You can update plugins, set up multisite installs, update posts and much more. +**wp-cli** is a set of command-line tools for managing [WordPress](http://wordpress.org) installations. You can update plugins, set up multisite installs, create posts and much more. Requirements ============ From e78de2522183a1099ce157f9e770dbf85a933af1 Mon Sep 17 00:00:00 2001 From: scribu Date: Mon, 5 Nov 2012 19:26:02 +0200 Subject: [PATCH 029/839] update PEAR channel URL --- index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index e5f0a0b9..7de55d67 100644 --- a/index.html +++ b/index.html @@ -17,8 +17,8 @@ **Via PEAR:**
-sudo pear config-set auto_discover 1
-sudo pear install wp-cli.github.com/pear/wpcli
+sudo pear channel-discover wp-cli.org/pear
+sudo pear install wpcli/wpcli
 
**Via GIT:** From c458e50ebe633b6814169d7cb739819616f47c23 Mon Sep 17 00:00:00 2001 From: scribu Date: Sat, 10 Nov 2012 11:51:07 +0200 Subject: [PATCH 030/839] add author to blog posts --- _layouts/post.html | 2 +- _posts/2012-11-05-new-home.md | 1 + blog/index.html | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/_layouts/post.html b/_layouts/post.html index acfac697..198802fb 100644 --- a/_layouts/post.html +++ b/_layouts/post.html @@ -3,7 +3,7 @@

{{ page.title }}

- {{ page.date | date_to_string }} + by {{page.author}}, on {{ page.date | date_to_string }}
diff --git a/_posts/2012-11-05-new-home.md b/_posts/2012-11-05-new-home.md index 126bfd6e..2ae059d7 100644 --- a/_posts/2012-11-05-new-home.md +++ b/_posts/2012-11-05-new-home.md @@ -1,6 +1,7 @@ --- layout: post title: New Home +author: scribu --- Welcome to the new website for the wp-cli project! diff --git a/blog/index.html b/blog/index.html index 3a7d4875..fce38e04 100644 --- a/blog/index.html +++ b/blog/index.html @@ -7,7 +7,7 @@

{{ post.title }}

- {{ post.date | date_to_string }} + by {{post.author}}, on {{ post.date | date_to_string }}
From 4fdcc0fe242f864a13eb2ed064ec9df62e9e5d28 Mon Sep 17 00:00:00 2001 From: scribu Date: Sat, 10 Nov 2012 11:52:02 +0200 Subject: [PATCH 031/839] add wp shell blog post --- _posts/2012-11-10-wp-shell.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 _posts/2012-11-10-wp-shell.md diff --git a/_posts/2012-11-10-wp-shell.md b/_posts/2012-11-10-wp-shell.md new file mode 100644 index 00000000..8b899d1e --- /dev/null +++ b/_posts/2012-11-10-wp-shell.md @@ -0,0 +1,24 @@ +--- +layout: post +title: Interactive WordPress Debugging +author: scribu +--- + +A new command [landed](https://github.com/wp-cli/wp-cli/pull/89) in wp-cli a few days ago, called `shell`. When you run `wp shell`, a REPL will start, in which you can run any WordPress function. + +The major advantage over `wp eval` and `wp eval-file` is that it's interactive: you immediately see the result of the previous command; it's also stored in the special `$_` variable, which you can use in the next command and so on. + +Here's a contrived example session: + +
+scribu@air:~/wp/core$ wp shell
+Type "exit" to close session.
+wp> get_bloginfo('wpurl')
+'http://wp.dev/core'
+wp> $_ . '/feed/'
+'http://wp.dev/core/feed/'
+wp> exit
+scribu@air:~/wp/core$
+
+ +wp-shell will be available in the 0.7 release of wp-cli, but if you want to try it out right now, clone the [latest version](https://github.com/wp-cli/wp-cli) from github. If you have suggestions for making it better, don't hesitate to open issues and pull requests. From 151419d4db644f9cfb4a85e40aeefef037b20595 Mon Sep 17 00:00:00 2001 From: scribu Date: Sat, 10 Nov 2012 12:02:39 +0200 Subject: [PATCH 032/839] use github's favicon, instead of just nothing --- _includes/header.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_includes/header.html b/_includes/header.html index c45d829f..a03c842f 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -8,6 +8,8 @@ + + {{ page.title }} | wp-cli From 74adb73c1ea591c9266b5c2e7b3af0aa56fcdffa Mon Sep 17 00:00:00 2001 From: scribu Date: Sun, 11 Nov 2012 15:54:12 +0200 Subject: [PATCH 033/839] use indentation instead of
 tag

---
 _posts/2012-11-10-wp-shell.md | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/_posts/2012-11-10-wp-shell.md b/_posts/2012-11-10-wp-shell.md
index 8b899d1e..1fc08c4e 100644
--- a/_posts/2012-11-10-wp-shell.md
+++ b/_posts/2012-11-10-wp-shell.md
@@ -10,15 +10,13 @@ The major advantage over `wp eval` and `wp eval-file` is that it's interactive:
 
 Here's a contrived example session:
 
-
-scribu@air:~/wp/core$ wp shell
-Type "exit" to close session.
-wp> get_bloginfo('wpurl')
-'http://wp.dev/core'
-wp> $_ . '/feed/'
-'http://wp.dev/core/feed/'
-wp> exit
-scribu@air:~/wp/core$
-
+ scribu@air:~/wp/core$ wp shell + Type "exit" to close session. + wp> get_bloginfo('wpurl') + 'http://wp.dev/core' + wp> $_ . '/feed/' + 'http://wp.dev/core/feed/' + wp> exit + scribu@air:~/wp/core$ wp-shell will be available in the 0.7 release of wp-cli, but if you want to try it out right now, clone the [latest version](https://github.com/wp-cli/wp-cli) from github. If you have suggestions for making it better, don't hesitate to open issues and pull requests. From 417f053cf32b35adcc33977fea89984ae995975b Mon Sep 17 00:00:00 2001 From: scribu Date: Sun, 11 Nov 2012 15:58:16 +0200 Subject: [PATCH 034/839] use kramdown as markdown parser; needed for twitter embeds --- _config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/_config.yml b/_config.yml index 7df33990..ee450e24 100644 --- a/_config.yml +++ b/_config.yml @@ -1,5 +1,6 @@ safe: true lsi: false pygments: true +markdown: kramdown url: http://wp-cli.org permalink: /blog/:title.html From fa13496020487bf2c44c3c200d5ac91086920dd7 Mon Sep 17 00:00:00 2001 From: scribu Date: Sun, 11 Nov 2012 16:15:26 +0200 Subject: [PATCH 035/839] add older 0.6 release post --- _posts/2012-09-05-version-0.6.md | 85 +++++++++++++++++++++++++++++++ images/wp-cli-man-page.png | Bin 0 -> 40062 bytes 2 files changed, 85 insertions(+) create mode 100644 _posts/2012-09-05-version-0.6.md create mode 100644 images/wp-cli-man-page.png diff --git a/_posts/2012-09-05-version-0.6.md b/_posts/2012-09-05-version-0.6.md new file mode 100644 index 00000000..2534ee49 --- /dev/null +++ b/_posts/2012-09-05-version-0.6.md @@ -0,0 +1,85 @@ +--- +layout: post +title: Version 0.6 +author: scribu +--- + +Got a lot of exciting news regarding wp-cli, so let's get right into it: + +### The Reach + + + + +Besides Dreamhost, it's used and recommended by the WordPress.com VIP team to all their clients. + +Oh, and it's also used in a Juju Charm for [deploying WordPress in the cloud](http://jujucharms.com/charms/precise/wordpress). :D + +### The Latest + +Version 0.6 just became available, and it's full of goodies. Some highlights: + +- added `wp post` and `wp post-meta` +- added `wp user-meta` +- added `wp blog create` +- added `wp export` +- added `wp transient` +- added `wp db optimize` and `wp db repair` +- added `wp db create`, `wp db drop` and `wp db reset` +- added `wp db import` +- added `wp theme install` and `wp theme update` +- added `wp core install_network` +- added `--json` option for several subcommands +- added `--network` and `--all` options for `wp plugin activate` +- fixed "out of memory" error + +A full list of [fixed issues](https://github.com/wp-cli/wp-cli/issues?milestone=4&page=2&state=closed) can be found on github. + +#### The `--require` + +An interesting but easily overlooked feature is the new `--require` global parameter. Say you wrote a custom command called `chores` for yourself: + + WP_CLI::add_command( 'chores', 'My_Chores' ); + + class My_Chores extends WP_CLI_Command { + + function do_laundry() { + ... + } + + function wash_dishes() { + ... + } + } + +Now, where do you put this code, so that wp-cli can reach it? You could put it in a plugin, but if you have multiple WP installations, you'd have to install that plugin on each one. You could put it inside one of the wp-cli directories, but that creates problems when you want to update. Here's what you could do instead: + + wp --require=/path/to/chores.php chores do_laundry + +The `--require` parameter will load that PHP file at just the right time for the command to work as you'd expect. + +#### The Manual + +The help system has been improved. When you do `wp help core config`, an actual man page will show up, with details about each parameter: + +![wp-cli man-page](/images/wp-cli-man-page.png) + +Unfortunately, this doesn't work if you install wp-cli via the PEAR package, because PEAR doesn't know how to handle them. :( + +### The Community + +Most of the new commands you see in this release were actually implemented by other people. A few examples: + +[Mike Shroeder](https://github.com/getsource) was responsible for `wp theme install`, the much loved `wp plugin update --all` and a bunch of other things. + +[Michael Williamson](https://github.com/mwilliamson-red-gate) wrote `wp user-meta` and came up with the idea for the `--json` parameter. + +[Evan Anderson](https://github.com/kidfiction) contributed `wp blog create`, [Tott](https://github.com/tott) contributed `wp export` and [Zack Tollman](https://github.com/tollmanz) contributed `wp transient`. + +And that's just the beginning. The [full list of contributors](https://github.com/wp-cli/wp-cli/graphs/contributors?from=2011-09-04&to=2012-09-02&type=a) can be found on github. + +### The Future + +The first thing I want to tackle next is revamping the install process. I'm also thinking of ditching PEAR entirely; it's just too limited: no man pages, no command auto-complete etc. + +Beyond that, there are a lot of gaps to fill: `wp import`, `wp blog update`, `wp attachment` anyone? diff --git a/images/wp-cli-man-page.png b/images/wp-cli-man-page.png new file mode 100644 index 0000000000000000000000000000000000000000..daa4a9113b8ebc892361566618512639cd029473 GIT binary patch literal 40062 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 z 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 LZHl_%`RxAyNk+7z literal 0 HcmV?d00001 From 90c8be53102adc454fa41b0c0d1e3fb523e3a851 Mon Sep 17 00:00:00 2001 From: scribu Date: Sun, 11 Nov 2012 16:23:10 +0200 Subject: [PATCH 036/839] show only excerpt on blog index --- blog/index.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/blog/index.html b/blog/index.html index fce38e04..fcd20fa8 100644 --- a/blog/index.html +++ b/blog/index.html @@ -10,8 +10,8 @@

{{ post.title }}

by {{post.author}}, on {{ post.date | date_to_string }}
-
- {{ post.content }} -
+

{{ post.content | strip_html | truncatewords: 55 }}

+ +

Read more...

{% endfor %} From a263be36d2f1118b267613c644e6d0072e0fe17f Mon Sep 17 00:00:00 2001 From: scribu Date: Tue, 13 Nov 2012 16:54:37 +0200 Subject: [PATCH 037/839] fix link to closed issues --- _posts/2012-09-05-version-0.6.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2012-09-05-version-0.6.md b/_posts/2012-09-05-version-0.6.md index 2534ee49..9a7c6b31 100644 --- a/_posts/2012-09-05-version-0.6.md +++ b/_posts/2012-09-05-version-0.6.md @@ -33,7 +33,7 @@ Version 0.6 just became available, and it's full of goodies. Some highlights: - added `--network` and `--all` options for `wp plugin activate` - fixed "out of memory" error -A full list of [fixed issues](https://github.com/wp-cli/wp-cli/issues?milestone=4&page=2&state=closed) can be found on github. +A full list of [fixed issues](https://github.com/wp-cli/wp-cli/issues?milestone=4&state=closed) can be found on github. #### The `--require` From 8689f17dfa85121f0f3b8be8a4b53c3bf6332f82 Mon Sep 17 00:00:00 2001 From: scribu Date: Tue, 13 Nov 2012 17:45:29 +0200 Subject: [PATCH 038/839] use tabs for CSS indentation --- stylesheets/stylesheet.css | 257 ++++++++++++++++++------------------- 1 file changed, 128 insertions(+), 129 deletions(-) diff --git a/stylesheets/stylesheet.css b/stylesheets/stylesheet.css index d0e33bb2..bc93b79f 100644 --- a/stylesheets/stylesheet.css +++ b/stylesheets/stylesheet.css @@ -1,60 +1,60 @@ body { - margin: 0; - padding: 0; - background: #151515 url("../images/bkg.png") 0 0; - color: #eaeaea; - font: 16px; - line-height: 1.5; - font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; + margin: 0; + padding: 0; + background: #151515 url("../images/bkg.png") 0 0; + color: #eaeaea; + font: 16px; + line-height: 1.5; + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; } /* General & 'Reset' Stuff */ .container { - width: 90%; - max-width: 600px; - margin: 0 auto; + width: 90%; + max-width: 600px; + margin: 0 auto; } section { - display: block; - margin: 0 0 20px 0; + display: block; + margin: 0 0 20px 0; } h1, h2, h3, h4, h5, h6 { - margin: 0 0 20px; + margin: 0 0 20px; } li { - line-height: 1.4 ; + line-height: 1.4; } /* Header,
- header - container - h1 - project name - h2 - project description + header - container + h1 - project name + h2 - project description */ header { - background: rgba(0, 0, 0, 0.1); - width: 100%; - border-bottom: 1px dashed #b5e853; - padding: 20px 0; - margin: 0 0 40px 0; + background: rgba(0, 0, 0, 0.1); + width: 100%; + border-bottom: 1px dashed #b5e853; + padding: 20px 0; + margin: 0 0 40px 0; } header h1 { - font-size: 30px; - line-height: 1.5; - margin: 0 0 0 -40px; - font-weight: bold; - font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; - color: #b5e853; - text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1), - 0 0 5px rgba(181, 232, 83, 0.1), - 0 0 10px rgba(181, 232, 83, 0.1); - letter-spacing: -1px; - -webkit-font-smoothing: antialiased; + font-size: 30px; + line-height: 1.5; + margin: 0 0 0 -40px; + font-weight: bold; + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; + color: #b5e853; + text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1), + 0 0 5px rgba(181, 232, 83, 0.1), + 0 0 10px rgba(181, 232, 83, 0.1); + letter-spacing: -1px; + -webkit-font-smoothing: antialiased; } header h1 a { @@ -63,200 +63,199 @@ header h1 a { } header h1:before { - content: "./ "; - font-size: 24px; + content: "./ "; + font-size: 24px; } header h2 { - font-size: 18px; - font-weight: 300; - color: #666; + font-size: 18px; + font-weight: 300; + color: #666; } #downloads .btn { - display: inline-block; - text-align: center; - margin: 0; + display: inline-block; + text-align: center; + margin: 0; } /* Main Content */ #main_content { - width: 100%; - -webkit-font-smoothing: antialiased; + width: 100%; + -webkit-font-smoothing: antialiased; } section img { - max-width: 100% + max-width: 100% } h1, h2, h3, h4, h5, h6 { - font-weight: normal; - font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; - color: #b5e853; - letter-spacing: -0.03em; - text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1), - 0 0 5px rgba(181, 232, 83, 0.1), - 0 0 10px rgba(181, 232, 83, 0.1); + font-weight: normal; + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; + color: #b5e853; + letter-spacing: -0.03em; + text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1), + 0 0 5px rgba(181, 232, 83, 0.1), + 0 0 10px rgba(181, 232, 83, 0.1); } #main_content h1 { - font-size: 30px; + font-size: 30px; } #main_content h2 { - font-size: 24px; + font-size: 24px; } #main_content h3 { - font-size: 18px; + font-size: 18px; } #main_content h4 { - font-size: 14px; + font-size: 14px; } #main_content h5 { - font-size: 12px; - text-transform: uppercase; - margin: 0 0 5px 0; + font-size: 12px; + text-transform: uppercase; + margin: 0 0 5px 0; } #main_content h6 { - font-size: 12px; - text-transform: uppercase; - color: #999; - margin: 0 0 5px 0; + font-size: 12px; + text-transform: uppercase; + color: #999; + margin: 0 0 5px 0; } dt { - font-style: italic; - font-weight: bold; + font-style: italic; + font-weight: bold; } ul li { - list-style: none; + list-style: none; } ul li:before { - content: ">>"; - font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; - font-size: 13px; - color: #b5e853; - margin-left: -37px; - margin-right: 21px; - line-height: 16px; + content: ">>"; + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; + font-size: 13px; + color: #b5e853; + margin-left: -37px; + margin-right: 21px; + line-height: 16px; } blockquote { - color: #aaa; - padding-left: 10px; - border-left: 1px dotted #666; + color: #aaa; + padding-left: 10px; + border-left: 1px dotted #666; } pre { - background: rgba(0, 0, 0, 0.9); - border: 1px solid rgba(255, 255, 255, 0.15); - padding: 10px; - font-size: 14px; - color: #b5e853; - border-radius: 2px; - -moz-border-radius: 2px; - -webkit-border-radius: 2px; - text-wrap: normal; - overflow: auto; - overflow-y: hidden; + background: rgba(0, 0, 0, 0.9); + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 10px; + font-size: 14px; + color: #b5e853; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + text-wrap: normal; + overflow: auto; + overflow-y: hidden; } table { - width: 100%; - margin: 0 0 20px 0; + width: 100%; + margin: 0 0 20px 0; } th { - text-align: left; - border-bottom: 1px dashed #b5e853; - padding: 5px 10px; + text-align: left; + border-bottom: 1px dashed #b5e853; + padding: 5px 10px; } td { - padding: 5px 10px; + padding: 5px 10px; } hr { - height: 0; - border: 0; - border-bottom: 1px dashed #b5e853; - color: #b5e853; + height: 0; + border: 0; + border-bottom: 1px dashed #b5e853; + color: #b5e853; } -/* Buttons -*/ +/* Buttons */ .btn { - display: inline-block; - background: -webkit-linear-gradient(top, rgba(40, 40, 40, 0.3), rgba(35, 35, 35, 0.3) 50%, rgba(10, 10, 10, 0.3) 50%, rgba(0, 0, 0, 0.3)); - padding: 8px 18px; - border-radius: 50px; - border: 2px solid rgba(0, 0, 0, 0.7); - border-bottom: 2px solid rgba(0, 0, 0, 0.7); - border-top: 2px solid rgba(0, 0, 0, 1); - color: rgba(255, 255, 255, 0.8); - font-family: Helvetica, Arial, sans-serif; - font-weight: bold; - font-size: 13px; - text-decoration: none; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.75); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05); + display: inline-block; + background: -webkit-linear-gradient(top, rgba(40, 40, 40, 0.3), rgba(35, 35, 35, 0.3) 50%, rgba(10, 10, 10, 0.3) 50%, rgba(0, 0, 0, 0.3)); + padding: 8px 18px; + border-radius: 50px; + border: 2px solid rgba(0, 0, 0, 0.7); + border-bottom: 2px solid rgba(0, 0, 0, 0.7); + border-top: 2px solid rgba(0, 0, 0, 1); + color: rgba(255, 255, 255, 0.8); + font-family: Helvetica, Arial, sans-serif; + font-weight: bold; + font-size: 13px; + text-decoration: none; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.75); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05); } .btn:hover { - background: -webkit-linear-gradient(top, rgba(40, 40, 40, 0.6), rgba(35, 35, 35, 0.6) 50%, rgba(10, 10, 10, 0.8) 50%, rgba(0, 0, 0, 0.8)); + background: -webkit-linear-gradient(top, rgba(40, 40, 40, 0.6), rgba(35, 35, 35, 0.6) 50%, rgba(10, 10, 10, 0.8) 50%, rgba(0, 0, 0, 0.8)); } .btn .icon { - display: inline-block; - width: 16px; - height: 16px; - margin: 1px 8px 0 0; - float: left; + display: inline-block; + width: 16px; + height: 16px; + margin: 1px 8px 0 0; + float: left; } .btn-github .icon { - opacity: 0.6; - background: url("../images/blacktocat.png") 0 0 no-repeat; + opacity: 0.6; + background: url("../images/blacktocat.png") 0 0 no-repeat; } /* Links - a, a:hover, a:visited + a, a:hover, a:visited */ a { - color: #63c0f5; - text-shadow: 0 0 5px rgba(104, 182, 255, 0.5); + color: #63c0f5; + text-shadow: 0 0 5px rgba(104, 182, 255, 0.5); } /* Clearfix */ .cf:before, .cf:after { - content:""; - display:table; + content:""; + display:table; } .cf:after { - clear:both; + clear:both; } .cf { - zoom:1; + zoom:1; } /* Blog */ article + article { - margin-top: 40px; + margin-top: 40px; } .post-header span { - color: #666; + color: #666; } From ad41511bd16529cb9cb43be723b6aa739e240718 Mon Sep 17 00:00:00 2001 From: scribu Date: Tue, 13 Nov 2012 20:22:59 +0200 Subject: [PATCH 039/839] fix margins in post header --- stylesheets/stylesheet.css | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/stylesheets/stylesheet.css b/stylesheets/stylesheet.css index bc93b79f..4b6c10c6 100644 --- a/stylesheets/stylesheet.css +++ b/stylesheets/stylesheet.css @@ -256,6 +256,15 @@ article + article { margin-top: 40px; } +.post-header { + margin-bottom: 20px; +} + +.post-header h2 { + margin-bottom: 0; +} + .post-header span { color: #666; } + From 6d74e1919d25bcbf477dd089397e772d2d4b71d3 Mon Sep 17 00:00:00 2001 From: Andreas Creten Date: Tue, 13 Nov 2012 19:52:21 +0100 Subject: [PATCH 040/839] Added footer --- _includes/footer.html | 6 +++++- stylesheets/stylesheet.css | 6 ++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/_includes/footer.html b/_includes/footer.html index dbadd381..e5dc025d 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -1,6 +1,10 @@
- + + diff --git a/_includes/footer.html b/_includes/footer.html index e5dc025d..c1e1801b 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -5,15 +5,7 @@ Original code by Andreas Creten. Project maintained by Cristi Burcă. - - + + {% include analytics.html %} From 7df2e297562203439b0c34d13952184972869134 Mon Sep 17 00:00:00 2001 From: scribu Date: Fri, 28 Dec 2012 12:52:19 +0200 Subject: [PATCH 050/839] stylesheets/stylesheet.css -> assets/css/stylesheet.css --- _includes/header.html | 4 +- _posts/2012-09-05-version-0.6.md | 2 +- {stylesheets => assets/css}/stylesheet.css | 4 +- {images => assets/img}/bkg.png | Bin {images => assets/img}/blacktocat.png | Bin {images => assets/img}/wp-cli-man-page.png | Bin stylesheets/pygment_trac.css | 68 --------------------- 7 files changed, 4 insertions(+), 74 deletions(-) rename {stylesheets => assets/css}/stylesheet.css (97%) rename {images => assets/img}/bkg.png (100%) rename {images => assets/img}/blacktocat.png (100%) rename {images => assets/img}/wp-cli-man-page.png (100%) delete mode 100644 stylesheets/pygment_trac.css diff --git a/_includes/header.html b/_includes/header.html index a03c842f..05899569 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -4,9 +4,7 @@ - - - + diff --git a/_posts/2012-09-05-version-0.6.md b/_posts/2012-09-05-version-0.6.md index 2ecde9c3..60a008fe 100644 --- a/_posts/2012-09-05-version-0.6.md +++ b/_posts/2012-09-05-version-0.6.md @@ -42,7 +42,7 @@ The `--require` parameter will load that PHP file at just the right time for the The help system has been improved. When you do `wp help core config`, an actual man page will show up, with details about each parameter: -![wp-cli man-page](/images/wp-cli-man-page.png) +![wp-cli man-page](/assets/img/wp-cli-man-page.png) Unfortunately, this doesn't work if you install wp-cli via the PEAR package, because PEAR doesn't know how to handle them. :( diff --git a/stylesheets/stylesheet.css b/assets/css/stylesheet.css similarity index 97% rename from stylesheets/stylesheet.css rename to assets/css/stylesheet.css index c818e12b..5d0fad0f 100644 --- a/stylesheets/stylesheet.css +++ b/assets/css/stylesheet.css @@ -1,7 +1,7 @@ body { margin: 0; padding: 0; - background: #151515 url("../images/bkg.png") 0 0; + background: #151515 url("../img/bkg.png") 0 0; color: #eaeaea; font: 16px; line-height: 1.5; @@ -229,7 +229,7 @@ hr { .btn-github .icon { opacity: 0.6; - background: url("../images/blacktocat.png") 0 0 no-repeat; + background: url("../img/blacktocat.png") 0 0 no-repeat; } /* Links diff --git a/images/bkg.png b/assets/img/bkg.png similarity index 100% rename from images/bkg.png rename to assets/img/bkg.png diff --git a/images/blacktocat.png b/assets/img/blacktocat.png similarity index 100% rename from images/blacktocat.png rename to assets/img/blacktocat.png diff --git a/images/wp-cli-man-page.png b/assets/img/wp-cli-man-page.png similarity index 100% rename from images/wp-cli-man-page.png rename to assets/img/wp-cli-man-page.png diff --git a/stylesheets/pygment_trac.css b/stylesheets/pygment_trac.css deleted file mode 100644 index d1df6a21..00000000 --- a/stylesheets/pygment_trac.css +++ /dev/null @@ -1,68 +0,0 @@ -.highlight .c { color: #999988; font-style: italic } /* Comment */ -.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ -.highlight .k { font-weight: bold } /* Keyword */ -.highlight .o { font-weight: bold } /* Operator */ -.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */ -.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */ -.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ -.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */ -.highlight .ge { font-style: italic } /* Generic.Emph */ -.highlight .gr { color: #aa0000 } /* Generic.Error */ -.highlight .gh { color: #999999 } /* Generic.Heading */ -.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ -.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */ -.highlight .go { color: #888888 } /* Generic.Output */ -.highlight .gp { color: #555555 } /* Generic.Prompt */ -.highlight .gs { font-weight: bold } /* Generic.Strong */ -.highlight .gu { color: #800080; font-weight: bold; } /* Generic.Subheading */ -.highlight .gt { color: #aa0000 } /* Generic.Traceback */ -.highlight .kc { font-weight: bold } /* Keyword.Constant */ -.highlight .kd { font-weight: bold } /* Keyword.Declaration */ -.highlight .kn { font-weight: bold } /* Keyword.Namespace */ -.highlight .kp { font-weight: bold } /* Keyword.Pseudo */ -.highlight .kr { font-weight: bold } /* Keyword.Reserved */ -.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */ -.highlight .m { color: #009999 } /* Literal.Number */ -.highlight .s { color: #d14 } /* Literal.String */ -.highlight .na { color: #008080 } /* Name.Attribute */ -.highlight .nb { color: #0086B3 } /* Name.Builtin */ -.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */ -.highlight .no { color: #008080 } /* Name.Constant */ -.highlight .ni { color: #800080 } /* Name.Entity */ -.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */ -.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */ -.highlight .nn { color: #555555 } /* Name.Namespace */ -.highlight .nt { color: #CBDFFF } /* Name.Tag */ -.highlight .nv { color: #008080 } /* Name.Variable */ -.highlight .ow { font-weight: bold } /* Operator.Word */ -.highlight .w { color: #bbbbbb } /* Text.Whitespace */ -.highlight .mf { color: #009999 } /* Literal.Number.Float */ -.highlight .mh { color: #009999 } /* Literal.Number.Hex */ -.highlight .mi { color: #009999 } /* Literal.Number.Integer */ -.highlight .mo { color: #009999 } /* Literal.Number.Oct */ -.highlight .sb { color: #d14 } /* Literal.String.Backtick */ -.highlight .sc { color: #d14 } /* Literal.String.Char */ -.highlight .sd { color: #d14 } /* Literal.String.Doc */ -.highlight .s2 { color: #d14 } /* Literal.String.Double */ -.highlight .se { color: #d14 } /* Literal.String.Escape */ -.highlight .sh { color: #d14 } /* Literal.String.Heredoc */ -.highlight .si { color: #d14 } /* Literal.String.Interpol */ -.highlight .sx { color: #d14 } /* Literal.String.Other */ -.highlight .sr { color: #009926 } /* Literal.String.Regex */ -.highlight .s1 { color: #d14 } /* Literal.String.Single */ -.highlight .ss { color: #990073 } /* Literal.String.Symbol */ -.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */ -.highlight .vc { color: #008080 } /* Name.Variable.Class */ -.highlight .vg { color: #008080 } /* Name.Variable.Global */ -.highlight .vi { color: #008080 } /* Name.Variable.Instance */ -.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */ - -.type-csharp .highlight .k { color: #0000FF } -.type-csharp .highlight .kt { color: #0000FF } -.type-csharp .highlight .nf { color: #000000; font-weight: normal } -.type-csharp .highlight .nc { color: #2B91AF } -.type-csharp .highlight .nn { color: #000000 } -.type-csharp .highlight .s { color: #A31515 } -.type-csharp .highlight .sc { color: #A31515 } From f2e625578538022b4c9196e17534c39a9ccde9fd Mon Sep 17 00:00:00 2001 From: scribu Date: Tue, 1 Jan 2013 22:41:06 +0200 Subject: [PATCH 051/839] replace 'Original code' with 'Initial code', which seems more accurate --- _includes/footer.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/footer.html b/_includes/footer.html index c1e1801b..67a74fcb 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -2,7 +2,7 @@ From a81de5612be5c9825bc1e07c437c7b805c911531 Mon Sep 17 00:00:00 2001 From: scribu Date: Fri, 28 Dec 2012 12:12:21 +0200 Subject: [PATCH 052/839] replace wp-cli-blog with wp-cli.yml --- index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index f7879e8b..a9c6c12e 100644 --- a/index.html +++ b/index.html @@ -104,10 +104,10 @@ wp theme status --url=test.example.com
-If you're usually working on the same site most of the time, you can put the url of that site in a file called 'wp-cli-blog' in your root WP dir: +If you're usually working on the same site most of the time, you can create a `wp-cli.yml` file in the root directory:
-echo 'test.example.com' > wp-cli-blog
+url: test.example.com
 
Then, you can call `wp` without the `--url` parameter again: From d7b3805935d2a6ac6fb6130a36e74cce4ecb4082 Mon Sep 17 00:00:00 2001 From: scribu Date: Fri, 28 Dec 2012 12:30:32 +0200 Subject: [PATCH 053/839] add changelog for 0.8 --- index.html | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/index.html b/index.html index a9c6c12e..7f31739d 100644 --- a/index.html +++ b/index.html @@ -127,6 +127,33 @@ Changelog ========= +### [0.8](https://github.com/wp-cli/wp-cli/issues?milestone=6&state=closed) + +Commands: + +- added `wp search-replace` command +- added `wp cap` command +- added `wp user add-role` subcommand +- added `--role` parameter to `wp user remove-role` +- added `--ids` parameter to `wp user list` +- added `--post__in` parameter to `wp export` +- added `--str` parameter to most `wp db` subcommands +- removed community commands (`wp total-cache`, `wp super-cache`, `wp sitemap`) +- made `wp post update` accept multiple IDs +- fixed incorrect exit code from `wp core is-installed` in some cases +- fixed `wp user import-csv` +- fixed `wp theme update ` +- fixed `wp plugin update ` not reactivating the plugin + +Internals: + +- added support for `wp-cli.yml` config file +- bypass full-page caching plugins (pretend we're in wp-admin) +- disabled coloring when not in a TTY +- [Composer](http://getcomposer.org) compatibility +- added `wp --info` utility +- added unit tests for `wp core` subcommands + ### [0.7](https://github.com/wp-cli/wp-cli/issues?milestone=5&state=closed) Commands: From 42c8a6b6d00a49a578e3e5908d988b0bb541c21f Mon Sep 17 00:00:00 2001 From: scribu Date: Fri, 28 Dec 2012 12:44:10 +0200 Subject: [PATCH 054/839] move index.html to index.md --- _layouts/default.html | 2 +- index.html => index.md | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename index.html => index.md (100%) diff --git a/_layouts/default.html b/_layouts/default.html index e2e3765a..7ee00ac3 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -1,5 +1,5 @@ {% include header.html %} -{{ content | markdownify }} +{{ content }} {% include footer.html %} diff --git a/index.html b/index.md similarity index 100% rename from index.html rename to index.md From 500d9591946e0cb7f6da29960391a17306bf6e72 Mon Sep 17 00:00:00 2001 From: scribu Date: Mon, 31 Dec 2012 16:53:08 +0200 Subject: [PATCH 055/839] update changelog; add props --- index.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/index.md b/index.md index 7f31739d..898909c5 100644 --- a/index.md +++ b/index.md @@ -132,6 +132,7 @@ Changelog Commands: - added `wp search-replace` command +- added `wp scaffold` command. props [jmslbam](http://github.com/jmslbam) and [sebastiaandegeus](http://github.com/sebastiaandegeus) - added `wp cap` command - added `wp user add-role` subcommand - added `--role` parameter to `wp user remove-role` @@ -141,18 +142,18 @@ Commands: - removed community commands (`wp total-cache`, `wp super-cache`, `wp sitemap`) - made `wp post update` accept multiple IDs - fixed incorrect exit code from `wp core is-installed` in some cases -- fixed `wp user import-csv` +- fixed `wp user import-csv`. props [danielbachhuber](http://github.com/danielbachhuber) - fixed `wp theme update ` - fixed `wp plugin update ` not reactivating the plugin Internals: - added support for `wp-cli.yml` config file -- bypass full-page caching plugins (pretend we're in wp-admin) +- bypass full-page caching plugins - disabled coloring when not in a TTY - [Composer](http://getcomposer.org) compatibility - added `wp --info` utility -- added unit tests for `wp core` subcommands +- added unit tests for `wp core` subcommands. props [mwilliamson](http://github.com/mwilliamson) ### [0.7](https://github.com/wp-cli/wp-cli/issues?milestone=5&state=closed) From e447ea7ec6e0954e79f5557e60b827ab84d4e3d6 Mon Sep 17 00:00:00 2001 From: scribu Date: Tue, 1 Jan 2013 22:10:23 +0200 Subject: [PATCH 056/839] add skeleton for /commands/ page --- commands/index.html | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 commands/index.html diff --git a/commands/index.html b/commands/index.html new file mode 100644 index 00000000..ec067990 --- /dev/null +++ b/commands/index.html @@ -0,0 +1,16 @@ +--- +layout: default +title: Built-in Commands +--- + + + + + + + + + + {% include cmd-list.html %} + +
CommandDescription
From b404f866a9e748fd926dc1c5174de6c8a01d4eb3 Mon Sep 17 00:00:00 2001 From: scribu Date: Tue, 1 Jan 2013 22:10:33 +0200 Subject: [PATCH 057/839] add link to /commands/ in header --- _includes/header.html | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/_includes/header.html b/_includes/header.html index 05899569..a1262bd7 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -21,9 +21,10 @@

wp-cli

A command line interface for WordPress

- View on GitHub - Wiki + Commands Blog + Source + Wiki
From 6951348e11eb67708c4b9af8c2b4cb8ac6bf1afe Mon Sep 17 00:00:00 2001 From: scribu Date: Tue, 1 Jan 2013 23:00:52 +0200 Subject: [PATCH 058/839] add cmd-list.html include --- _includes/cmd-list.html | 92 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 _includes/cmd-list.html diff --git a/_includes/cmd-list.html b/_includes/cmd-list.html new file mode 100644 index 00000000..542e864c --- /dev/null +++ b/_includes/cmd-list.html @@ -0,0 +1,92 @@ + + blog + Manage blogs in a multisite install. + + + cache + Manage the object cache. + + + cap + Manage user capabilities. + + + comment + Manage comments. + + + core + Download, install, update and otherwise manage WordPress proper. + + + db + Perform basic database operations. + + + eval + Execute arbitrary PHP code after loading WordPress. + + + eval-file + Load and execute a PHP file after loading WordPress. + + + export + Export content to a WXR file. + + + help + Get help on a certain topic. + + + home + Open the wp-cli homepage in your browser. + + + option + Manage WordPress options. + + + plugin + Manage plugins. + + + post + Manage posts. + + + post-meta + Manage post custom fields. + + + rewrite + Manage rewrite rules. + + + scaffold + Generate code for post types, taxonomies, etc. + + + search-replace + Search/replace strings in the database. + + + shell + Interactive PHP console. + + + theme + Manage themes. + + + transient + Manage WordPress transients. + + + user + Manage users. + + + user-meta + Manage user custom fields. + From cc883cb2f82c100be64b72097a69023ced5ab105 Mon Sep 17 00:00:00 2001 From: scribu Date: Wed, 2 Jan 2013 10:15:02 +0200 Subject: [PATCH 059/839] add utilities --- _utils/cmd-list.php | 26 ++++++++++++++++++++++++++ _utils/compare-cmd | 22 ++++++++++++++++++++++ _utils/syn-list.php | 26 ++++++++++++++++++++++++++ _utils/utils.php | 18 ++++++++++++++++++ 4 files changed, 92 insertions(+) create mode 100644 _utils/cmd-list.php create mode 100755 _utils/compare-cmd create mode 100644 _utils/syn-list.php create mode 100644 _utils/utils.php diff --git a/_utils/cmd-list.php b/_utils/cmd-list.php new file mode 100644 index 00000000..e1d39c08 --- /dev/null +++ b/_utils/cmd-list.php @@ -0,0 +1,26 @@ + + {$command['name']} + {$command['description']} + + +EOB; +} + diff --git a/_utils/compare-cmd b/_utils/compare-cmd new file mode 100755 index 00000000..744d512b --- /dev/null +++ b/_utils/compare-cmd @@ -0,0 +1,22 @@ +#!/bin/bash + +# utility for comparing commands between two different wp-cli versions. + +if [ $# -lt 3 ]; then + echo 'usage: ' + exit 1 +fi + +wp_path=$3 + +get_syn_list() { + git checkout $1 + wp --path=$wp_path --cmd-dump | php $(dirname $0)/syn-list.php +} + +get_syn_list $1 > /tmp/wp-cli-a +get_syn_list $2 > /tmp/wp-cli-b + +diff /tmp/wp-cli-a /tmp/wp-cli-b > cmd.diff + +echo 'Generated cmd.diff' diff --git a/_utils/syn-list.php b/_utils/syn-list.php new file mode 100644 index 00000000..392adcca --- /dev/null +++ b/_utils/syn-list.php @@ -0,0 +1,26 @@ + Date: Wed, 2 Jan 2013 10:34:27 +0200 Subject: [PATCH 060/839] don't check 'internal' flag; it doesn't exist anymore --- _utils/cmd-list.php | 3 --- _utils/syn-list.php | 3 --- 2 files changed, 6 deletions(-) diff --git a/_utils/cmd-list.php b/_utils/cmd-list.php index e1d39c08..a82cf3a4 100644 --- a/_utils/cmd-list.php +++ b/_utils/cmd-list.php @@ -12,9 +12,6 @@ $wp = read_json(); foreach ( $wp['subcommands'] as $command ) { - if ( !$command['internal'] ) - continue; - echo << {$command['name']} diff --git a/_utils/syn-list.php b/_utils/syn-list.php index 392adcca..773d8b17 100644 --- a/_utils/syn-list.php +++ b/_utils/syn-list.php @@ -8,9 +8,6 @@ include __DIR__ . '/utils.php'; function generate_synopsis( $command, $path = '' ) { - if ( isset( $command['internal'] ) && !$command['internal'] ) - continue; - $full_path = $path . ' ' . $command['name']; if ( !isset( $command['subcommands'] ) ) { From 28d33cee286038a729b1a7934e3956ec8de35a99 Mon Sep 17 00:00:00 2001 From: scribu Date: Wed, 2 Jan 2013 10:35:52 +0200 Subject: [PATCH 061/839] remove /path/to/wp from examples --- _utils/cmd-list.php | 2 +- _utils/syn-list.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/_utils/cmd-list.php b/_utils/cmd-list.php index a82cf3a4..bba158a0 100644 --- a/_utils/cmd-list.php +++ b/_utils/cmd-list.php @@ -5,7 +5,7 @@ # # Example usage: # -# wp --cmd-dump --path=/path/to/wp | php _utils/cmd-list.php +# wp --cmd-dump | php _utils/cmd-list.php include __DIR__ . '/utils.php'; diff --git a/_utils/syn-list.php b/_utils/syn-list.php index 773d8b17..03d07dca 100644 --- a/_utils/syn-list.php +++ b/_utils/syn-list.php @@ -3,7 +3,7 @@ # # Example usage: # -# wp --cmd-dump --path=/path/to/wp | php _utils/syn-list.php +# wp --cmd-dump | php _utils/syn-list.php include __DIR__ . '/utils.php'; From 196ac86c9014680eebae8fd065920be85295cbcd Mon Sep 17 00:00:00 2001 From: scribu Date: Wed, 23 Jan 2013 02:49:00 +0200 Subject: [PATCH 062/839] add phake as a dev dependency --- .gitignore | 5 ++++- composer.json | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 composer.json diff --git a/.gitignore b/.gitignore index 0baf0152..c7603137 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,4 @@ -/_site +_site + +composer.lock +vendor diff --git a/composer.json b/composer.json new file mode 100644 index 00000000..b37ae195 --- /dev/null +++ b/composer.json @@ -0,0 +1,5 @@ +{ + "require-dev": { + "jaz303/phake": "dev-master" + } +} From 1c15bc47f33c281d8d402f4b4b03f08b375f7ce7 Mon Sep 17 00:00:00 2001 From: scribu Date: Wed, 23 Jan 2013 03:04:56 +0200 Subject: [PATCH 063/839] convert cmd-list.php and syn-list.php to Phakefile --- Phakefile.php | 53 +++++++++++++++++++++++++++++++++++++++++++++ README.md | 15 +++++++++++++ _config.yml | 2 ++ _utils/cmd-list.php | 23 -------------------- _utils/syn-list.php | 23 -------------------- _utils/utils.php | 18 --------------- 6 files changed, 70 insertions(+), 64 deletions(-) create mode 100644 Phakefile.php create mode 100644 README.md delete mode 100644 _utils/cmd-list.php delete mode 100644 _utils/syn-list.php delete mode 100644 _utils/utils.php diff --git a/Phakefile.php b/Phakefile.php new file mode 100644 index 00000000..3b5bc679 --- /dev/null +++ b/Phakefile.php @@ -0,0 +1,53 @@ + + {$command['name']} + {$command['description']} + + +EOB; + } + + file_put_contents( '_includes/cmd-list.html', $out ); +}); + +task( 'default', 'cmd-list' ); + diff --git a/README.md b/README.md new file mode 100644 index 00000000..5af42d20 --- /dev/null +++ b/README.md @@ -0,0 +1,15 @@ +### Setup + +1. Install [composer](http://getcomposer.org/). + +2. Install dev dependencies: + +```bash +composer install --dev +``` + +3. Build: + +```bash +vendor/bin/phake path=/path/to/wp/install +``` diff --git a/_config.yml b/_config.yml index ee450e24..ffcf6188 100644 --- a/_config.yml +++ b/_config.yml @@ -4,3 +4,5 @@ pygments: true markdown: kramdown url: http://wp-cli.org permalink: /blog/:title.html +exclude: + - Phakefile.php diff --git a/_utils/cmd-list.php b/_utils/cmd-list.php deleted file mode 100644 index bba158a0..00000000 --- a/_utils/cmd-list.php +++ /dev/null @@ -1,23 +0,0 @@ - - {$command['name']} - {$command['description']} - - -EOB; -} - diff --git a/_utils/syn-list.php b/_utils/syn-list.php deleted file mode 100644 index 03d07dca..00000000 --- a/_utils/syn-list.php +++ /dev/null @@ -1,23 +0,0 @@ - Date: Wed, 23 Jan 2013 03:36:24 +0200 Subject: [PATCH 064/839] add /config/ page + corresponding phake task see wp-cli/wp-cli#277 --- Phakefile.php | 43 ++++++++++++++++++++++++++++++++++- _includes/header.html | 1 + _includes/param-list.html | 48 +++++++++++++++++++++++++++++++++++++++ config/index.html | 18 +++++++++++++++ 4 files changed, 109 insertions(+), 1 deletion(-) create mode 100644 _includes/param-list.html create mode 100644 config/index.html diff --git a/Phakefile.php b/Phakefile.php index 3b5bc679..f59c7dbf 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -49,5 +49,46 @@ function generate_synopsis( $command, $path = '' ) { file_put_contents( '_includes/cmd-list.html', $out ); }); -task( 'default', 'cmd-list' ); +task( 'param-list', function( $app ) { + $config_spec = invoke_wp_cli( 'wp --param-dump', $app ); + + $out = ''; + + foreach ( $config_spec as $key => $details ) { + if ( isset( $details['deprecated'] ) ) + continue; + + if ( false !== $details['file'] ) { + $config = "$key: " . htmlspecialchars( $details['file'] ); + } else { + $config = ''; + } + + if ( false !== $details['runtime'] ) { + $flag = ( true === $details['runtime'] ) + ? "--$key/--no-$key" + : "--$key" . htmlspecialchars( $details['runtime'] ); + } else { + $flag = ''; + } + + $default = json_encode( $details['default'] ); + + $description = $details['desc']; + + $out .= << + $config + $flag + $default + $description + + +EOB; + } + + file_put_contents( '_includes/param-list.html', $out ); +}); + +task( 'default', 'cmd-list', 'param-list' ); diff --git a/_includes/header.html b/_includes/header.html index a1262bd7..f9385a25 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -22,6 +22,7 @@

A command line interface for WordPress

Commands + Config Blog Source Wiki diff --git a/_includes/param-list.html b/_includes/param-list.html new file mode 100644 index 00000000..29e6444a --- /dev/null +++ b/_includes/param-list.html @@ -0,0 +1,48 @@ + + path: <path> + --path=<path> + null + Path to the WordPress files + + + url: <url> + --url=<url> + null + Pretend request came from given URL + + + user: <id|login> + --user=<id|login> + null + Set the WordPress user + + + require: <path> + --require=<path> + null + Load given PHP file before running the command + + + disabled_commands: <list> + + [] + (Sub)commands to disable + + + color: <bool> + --color/--no-color + "auto" + Whether to colozire the output + + + debug: <bool> + --debug + false + Show all PHP errors + + + quiet: <bool> + --quiet + false + Suppress informational messages + diff --git a/config/index.html b/config/index.html new file mode 100644 index 00000000..b1a60a72 --- /dev/null +++ b/config/index.html @@ -0,0 +1,18 @@ +--- +layout: default +title: Configuration +--- + + + + + + + + + + + + {% include param-list.html %} + +
ConfigFlagDefaultDescription
From 3636531ab0c912dd17498cc303ea6eab28c8d446 Mon Sep 17 00:00:00 2001 From: scribu Date: Wed, 23 Jan 2013 04:41:26 +0200 Subject: [PATCH 065/839] fix indentation --- Phakefile.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Phakefile.php b/Phakefile.php index f59c7dbf..c41f3439 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -65,9 +65,9 @@ function generate_synopsis( $command, $path = '' ) { } if ( false !== $details['runtime'] ) { - $flag = ( true === $details['runtime'] ) - ? "--$key/--no-$key" - : "--$key" . htmlspecialchars( $details['runtime'] ); + $flag = ( true === $details['runtime'] ) + ? "--$key/--no-$key" + : "--$key" . htmlspecialchars( $details['runtime'] ); } else { $flag = ''; } From 5e9e20f6546d8e297f0a17d095e756a3113e37a3 Mon Sep 17 00:00:00 2001 From: scribu Date: Wed, 23 Jan 2013 04:53:38 +0200 Subject: [PATCH 066/839] add description to /config/ page --- config/index.html | 18 ------------------ config/index.md | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 18 deletions(-) delete mode 100644 config/index.html create mode 100644 config/index.md diff --git a/config/index.html b/config/index.html deleted file mode 100644 index b1a60a72..00000000 --- a/config/index.html +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: default -title: Configuration ---- - - - - - - - - - - - - {% include param-list.html %} - -
ConfigFlagDefaultDescription
diff --git a/config/index.md b/config/index.md new file mode 100644 index 00000000..6999aab7 --- /dev/null +++ b/config/index.md @@ -0,0 +1,38 @@ +--- +layout: default +title: Configuration +--- +The following is a list of the currently supported configuration options. These can all be specified by creating a `wp-cli.yml` file in your site's root directory. + +Most can also be passed directly to the `wp` executable. + +The order of precedence is: + +1. Command-line flags +1. `wp-cli.local.yml` file +1. `wp-cli.yml` file +1. Defaults + + + + + + + + + + + + {% include param-list.html %} + +
ConfigFlagDefaultDescription
+ +Example `wp-cli.yml` file: + + path: wp-core + url: http://example.com + user: admin + color: false + disabled_commands: + - db drop + - plugin install From c8297e18fb57c796a7a73a8bc6e4169fd74d1084 Mon Sep 17 00:00:00 2001 From: scribu Date: Wed, 23 Jan 2013 05:29:18 +0200 Subject: [PATCH 067/839] /config/ fixes --- _includes/header.html | 2 +- _includes/param-list.html | 6 ++++++ config/index.md | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/_includes/header.html b/_includes/header.html index f9385a25..ea93681f 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -22,7 +22,7 @@

A command line interface for WordPress

Commands - Config + Configuration Blog Source Wiki diff --git a/_includes/param-list.html b/_includes/param-list.html index 29e6444a..21e1b09e 100644 --- a/_includes/param-list.html +++ b/_includes/param-list.html @@ -1,3 +1,9 @@ + + + --config=<path> + null + Path to the wp-cli config file + path: <path> --path=<path> diff --git a/config/index.md b/config/index.md index 6999aab7..49cadb12 100644 --- a/config/index.md +++ b/config/index.md @@ -2,7 +2,7 @@ layout: default title: Configuration --- -The following is a list of the currently supported configuration options. These can all be specified by creating a `wp-cli.yml` file in your site's root directory. +The following is a list of the currently supported configuration options. They can be specified by creating a `wp-cli.yml` file in your site's root directory. Most can also be passed directly to the `wp` executable. From 6e3c8f94daa6d0a04e6dafac8e3065f0ed5c51e9 Mon Sep 17 00:00:00 2001 From: scribu Date: Wed, 23 Jan 2013 05:42:51 +0200 Subject: [PATCH 068/839] update changelog --- index.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/index.md b/index.md index 898909c5..c3eaa804 100644 --- a/index.md +++ b/index.md @@ -150,10 +150,11 @@ Internals: - added support for `wp-cli.yml` config file - bypass full-page caching plugins -- disabled coloring when not in a TTY -- [Composer](http://getcomposer.org) compatibility +- disabled coloring when not in a TTY and added `--color/no-color` global parameters +- added `--debug` global parameter - added `wp --info` utility - added unit tests for `wp core` subcommands. props [mwilliamson](http://github.com/mwilliamson) +- [Composer](http://getcomposer.org) compatibility ### [0.7](https://github.com/wp-cli/wp-cli/issues?milestone=5&state=closed) From 468f3449196e9fc6aeab2b56ff35e1f46ded8c03 Mon Sep 17 00:00:00 2001 From: scribu Date: Sun, 27 Jan 2013 14:34:42 +0100 Subject: [PATCH 069/839] --key/--no-key -> --[no-]key --- Phakefile.php | 2 +- _includes/param-list.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Phakefile.php b/Phakefile.php index c41f3439..7814cbba 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -66,7 +66,7 @@ function generate_synopsis( $command, $path = '' ) { if ( false !== $details['runtime'] ) { $flag = ( true === $details['runtime'] ) - ? "--$key/--no-$key" + ? "--[no-]$key" : "--$key" . htmlspecialchars( $details['runtime'] ); } else { $flag = ''; diff --git a/_includes/param-list.html b/_includes/param-list.html index 21e1b09e..95e4cb8a 100644 --- a/_includes/param-list.html +++ b/_includes/param-list.html @@ -36,7 +36,7 @@ color: <bool> - --color/--no-color + --[no-]color "auto" Whether to colozire the output From 1f8ea2e2efaef12f1b83ce066208be1278dbb9b2 Mon Sep 17 00:00:00 2001 From: scribu Date: Sat, 2 Feb 2013 16:43:18 +0200 Subject: [PATCH 070/839] add descriptions for Phake tasks --- Phakefile.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Phakefile.php b/Phakefile.php index 7814cbba..2fd4a55f 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -15,6 +15,7 @@ function invoke_wp_cli( $cmd, $app ) { return json_decode( $json, true ); } +desc( 'Generate a list of commands with all accepted arguments on STDOUT.' ); task( 'syn-list', function( $app ) { function generate_synopsis( $command, $path = '' ) { $full_path = $path . ' ' . $command['name']; @@ -31,6 +32,7 @@ function generate_synopsis( $command, $path = '' ) { generate_synopsis( invoke_wp_cli( 'wp --cmd-dump', $app ) ); }); +desc( 'Update the /commands/ page.' ); task( 'cmd-list', function( $app ) { $wp = invoke_wp_cli( 'wp --cmd-dump', $app ); @@ -49,6 +51,7 @@ function generate_synopsis( $command, $path = '' ) { file_put_contents( '_includes/cmd-list.html', $out ); }); +desc( 'Update the /config/ page.' ); task( 'param-list', function( $app ) { $config_spec = invoke_wp_cli( 'wp --param-dump', $app ); @@ -90,5 +93,6 @@ function generate_synopsis( $command, $path = '' ) { file_put_contents( '_includes/param-list.html', $out ); }); +desc( 'Build the site.' ); task( 'default', 'cmd-list', 'param-list' ); From 423bafd04251663c1354911b0e185d24d12c73cc Mon Sep 17 00:00:00 2001 From: scribu Date: Wed, 13 Feb 2013 02:31:26 +0200 Subject: [PATCH 071/839] replace PEAR instructions with Phar archive --- index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/index.md b/index.md index c3eaa804..6551f8a9 100644 --- a/index.md +++ b/index.md @@ -14,11 +14,11 @@ Requirements Installing ========== -**Via PEAR:** +**Via Phar Archive:**
-sudo pear channel-discover wp-cli.org/pear
-sudo pear install wpcli/wpcli
+sudo wget http://wp-cli.org/packages/phar/wp-cli.phar -O /usr/bin/wp
+sudo chmod +x /usr/bin/wp
 
**Via GIT:** From 3917d3ff3513f6abefc439d4894e256e696496a1 Mon Sep 17 00:00:00 2001 From: scribu Date: Tue, 19 Feb 2013 03:03:42 +0200 Subject: [PATCH 072/839] add Disqus comments --- _includes/disqus.html | 14 ++++++++++++++ _layouts/post.html | 2 ++ 2 files changed, 16 insertions(+) create mode 100644 _includes/disqus.html diff --git a/_includes/disqus.html b/_includes/disqus.html new file mode 100644 index 00000000..adcf9e92 --- /dev/null +++ b/_includes/disqus.html @@ -0,0 +1,14 @@ +
+ + +comments powered by Disqus diff --git a/_layouts/post.html b/_layouts/post.html index 198802fb..17623f98 100644 --- a/_layouts/post.html +++ b/_layouts/post.html @@ -11,4 +11,6 @@

{{ page.title }}

+{% include disqus.html %} + {% include footer.html %} From 7bc40d95356ae83c925db42e516b5070287671c5 Mon Sep 17 00:00:00 2001 From: scribu Date: Tue, 19 Feb 2013 03:10:13 +0200 Subject: [PATCH 073/839] add blog post about setting up plugin unit tests --- _posts/2013-02-19-plugin-unit-tests.md | 41 ++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 _posts/2013-02-19-plugin-unit-tests.md diff --git a/_posts/2013-02-19-plugin-unit-tests.md b/_posts/2013-02-19-plugin-unit-tests.md new file mode 100644 index 00000000..c6b2c372 --- /dev/null +++ b/_posts/2013-02-19-plugin-unit-tests.md @@ -0,0 +1,41 @@ +--- +layout: post +title: Easily Set Up Unit Tests For Your Plugin +author: scribu +--- +One of the reasons so few people take the time to write [unit tests for plugins][3] they write is that it's a chore to set everything up. You need to install [PHPUnit][4], the [WordPress testing library][5], as well as the actual plugin tests configuration files. + +If you're running wp-cli 0.9.0-alpha2 or later, there are a few commands that make this significantly easier: + + wp core init-tests + +Given some database credentials, the above command will download and configure the WordPress testing library, using the current WordPress install as the base. + + wp scaffold plugin-tests + +This command will generate all the necessary files for running the plugin tests locally. + +Additionally, if you choose to host your plugin on Github, you can make the tests run automatically after every commit, via [Travis CI][1]. + +So, here's a complete example: + + # Initialize the testing library + wp core init-tests ~/svn/wp-tests --dbname=wp_test --dbuser=root --dbpass=asd + mysql -u'root' -p'asd' -e 'CREATE DATABASE IF NOT EXISTS wp_test' + + # Generate the plugin files + wp scaffold plugin sample-plugin + + # Run the tests + cd wp-content/plugins/sample-plugin + WP_TESTS_DIR=~/svn/wp-tests phpunit + +You can check out the [sample-plugin][2] repo to see what the generated plugin looks like. + +Run `wp help scaffold plugin-tests` for more info. + +[1]: http://about.travis-ci.org +[2]: https://github.com/wp-cli/sample-plugin +[3]: http://wordpress.tv/2011/08/20/nikolay-bachiyski-unit-testing-will-change-your-life/ +[4]: http://www.phpunit.de/manual/current/en/automating-tests.html +[5]: http://make.wordpress.org/core/handbook/automated-testing/ From f5b6ddddd2b99322cb871a524b7eac48558dd306 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=20Burc=C4=83?= Date: Wed, 20 Feb 2013 02:21:02 +0200 Subject: [PATCH 074/839] Use curl instead of wget curl is available by default on OSX and is easy to install in Linux. --- index.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/index.md b/index.md index 6551f8a9..9b231b5e 100644 --- a/index.md +++ b/index.md @@ -17,8 +17,9 @@ Installing **Via Phar Archive:**
-sudo wget http://wp-cli.org/packages/phar/wp-cli.phar -O /usr/bin/wp
-sudo chmod +x /usr/bin/wp
+sudo -s
+curl http://wp-cli.org/packages/phar/wp-cli.phar > /usr/bin/wp
+chmod +x /usr/bin/wp
 
**Via GIT:** From 9f13324f0a8f08d7b60d7f13cd9aba44f59f665d Mon Sep 17 00:00:00 2001 From: Evan Solomon Date: Sun, 24 Feb 2013 06:35:09 -0800 Subject: [PATCH 075/839] export WP_CLI_PHP var to make it available to subprocesses --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index 9b231b5e..0709e559 100644 --- a/index.md +++ b/index.md @@ -46,7 +46,7 @@ Then, create an environment variable called `WP_CLI_PHP` with the path found by In a UNIX environment, you would do this by adding the following line to your `.bashrc` file:
-WP_CLI_PHP=/path/to/php-binary
+export WP_CLI_PHP=/path/to/php-binary
 
Using From a5ed3232790b7803d9cc4b71e374080bede73c81 Mon Sep 17 00:00:00 2001 From: scribu Date: Thu, 28 Feb 2013 22:21:41 +0200 Subject: [PATCH 076/839] no more submodules; see wp-cli/wp-cli#336 --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index 0709e559..eba29405 100644 --- a/index.md +++ b/index.md @@ -25,7 +25,7 @@ chmod +x /usr/bin/wp **Via GIT:**
-git clone --recursive git://github.com/wp-cli/wp-cli.git ~/git/wp-cli
+git clone git://github.com/wp-cli/wp-cli.git ~/git/wp-cli
 cd ~/git/wp-cli
 sudo utils/dev-build
 
From 2f8fd35250102e5e55207f2ed506f3f1e89aa549 Mon Sep 17 00:00:00 2001 From: Frank Louwers Date: Fri, 1 Mar 2013 11:00:49 +0100 Subject: [PATCH 077/839] Clarify suhosin should be disabled (or at least phar whitelisted) --- index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/index.md b/index.md index eba29405..1f5c9578 100644 --- a/index.md +++ b/index.md @@ -10,6 +10,7 @@ Requirements * PHP >= 5.3 * WordPress >= 3.3 +* Either suhosin disabled or suhosin.executor.include.whitelist="phar" in your /etc/php5/conf.d/suhosin.ini or php.ini file Installing ========== From ee05c489c249761d44ace0c5a4f41408609292b8 Mon Sep 17 00:00:00 2001 From: scribu Date: Sat, 2 Mar 2013 00:33:49 +0200 Subject: [PATCH 078/839] mention the Suhosin setting only when installing the Phar archive directly. see #6 --- index.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/index.md b/index.md index 1f5c9578..334af45b 100644 --- a/index.md +++ b/index.md @@ -10,7 +10,6 @@ Requirements * PHP >= 5.3 * WordPress >= 3.3 -* Either suhosin disabled or suhosin.executor.include.whitelist="phar" in your /etc/php5/conf.d/suhosin.ini or php.ini file Installing ========== @@ -23,6 +22,8 @@ curl http://wp-cli.org/packages/phar/wp-cli.phar > /usr/bin/wp chmod +x /usr/bin/wp +If you have Suhosin enabled, make sure to set `suhosin.executor.include.whitelist="phar"` in your `suhosin.ini` or `php.ini` file. + **Via GIT:**

From 2282af06f2d0ec95b324ce9a0299549cd4116da3 Mon Sep 17 00:00:00 2001
From: scribu 
Date: Sun, 3 Mar 2013 23:46:11 +0200
Subject: [PATCH 079/839] mention utils/local-build as an installation method

Intentionally avoid sourcing it, so that the user gets the install
instructions.

see wp-cli/wp-cli#342
---
 index.md | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/index.md b/index.md
index 334af45b..15ace576 100644
--- a/index.md
+++ b/index.md
@@ -34,6 +34,14 @@ sudo utils/dev-build
 
 You can replace `~/git/wp-cli` with whatever you want.
 
+**Without sudo:**
+
+```
+git clone git://github.com/wp-cli/wp-cli.git ~/git/wp-cli
+cd ~/git/wp-cli
+./utils/local-build
+```
+
 MAMP, XAMP, etc.
 -----------
 

From b3ba8c9d055235403487d61d781424ab4c700b55 Mon Sep 17 00:00:00 2001
From: scribu 
Date: Mon, 4 Mar 2013 00:00:23 +0200
Subject: [PATCH 080/839] convert to Redcarpet and use fenced code blocks

---
 _config.yml |  2 +-
 index.md    | 48 ++++++++++++++++++++++++------------------------
 2 files changed, 25 insertions(+), 25 deletions(-)

diff --git a/_config.yml b/_config.yml
index ffcf6188..d137e76a 100644
--- a/_config.yml
+++ b/_config.yml
@@ -1,7 +1,7 @@
 safe: true
 lsi: false
 pygments: true
-markdown: kramdown
+markdown: redcarpet
 url: http://wp-cli.org
 permalink: /blog/:title.html
 exclude:
diff --git a/index.md b/index.md
index 15ace576..4e1c38ec 100644
--- a/index.md
+++ b/index.md
@@ -16,21 +16,21 @@ Installing
 
 **Via Phar Archive:**
 
-
+```
 sudo -s
 curl http://wp-cli.org/packages/phar/wp-cli.phar > /usr/bin/wp
 chmod +x /usr/bin/wp
-
+``` If you have Suhosin enabled, make sure to set `suhosin.executor.include.whitelist="phar"` in your `suhosin.ini` or `php.ini` file. **Via GIT:** -
+```
 git clone git://github.com/wp-cli/wp-cli.git ~/git/wp-cli
 cd ~/git/wp-cli
 sudo utils/dev-build
-
+``` You can replace `~/git/wp-cli` with whatever you want. @@ -47,30 +47,30 @@ MAMP, XAMP, etc. If the `php` command is not available, you can try finding an appropriate binary: -
+```
 ./utils/find-php
-
+``` Then, create an environment variable called `WP_CLI_PHP` with the path found by `find-php`. In a UNIX environment, you would do this by adding the following line to your `.bashrc` file: -
+```
 export WP_CLI_PHP=/path/to/php-binary
-
+``` Using ===== Go into a WordPress root folder: -
+```
 cd /var/www/wp/
-
+``` Typing `wp` should show you output similar to this: -
+```
 Available commands:
     wp blog create|delete
     wp cache add|decr|delete|flush|get|incr|replace|set|type
@@ -81,51 +81,51 @@ Available commands:
     ...
 
 See 'wp help <command>' for more information on a specific command.
-
+``` Let's try to install the Hello Dolly plugin from wordpress.org: -
+```
 wp plugin install hello-dolly
-
+``` Output: -
+```
 Installing Hello Dolly (1.5)
 
 Downloading install package from http://downloads.WordPress.org/plugin/hello-dolly.1.5.zip ...
 Unpacking the package ...
 Installing the plugin ...
 Plugin installed successfully.
-
+``` Multisite --------- On a multisite installation, you need to pass a `--url` parameter, so that wp-cli knows which site it's supposed to be operating on: -
+```
 wp theme status --url=localhost/wp/test
-
+``` If you have a subdomain installation, it would look like this: -
+```
 wp theme status --url=test.example.com
-
+``` If you're usually working on the same site most of the time, you can create a `wp-cli.yml` file in the root directory: -
+```
 url: test.example.com
-
+``` Then, you can call `wp` without the `--url` parameter again: -
+```
 wp theme status
-
+``` Adding commands =============== From 705663ae6b02c613c4369afb9a25aadc95c6e019 Mon Sep 17 00:00:00 2001 From: scribu Date: Mon, 4 Mar 2013 16:13:58 +0200 Subject: [PATCH 081/839] add link to .md5 file. see wp-cli/wp-cli#340 --- index.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/index.md b/index.md index 4e1c38ec..7c23165e 100644 --- a/index.md +++ b/index.md @@ -16,6 +16,8 @@ Installing **Via Phar Archive:** +You can download WP-CLI packaged as a [single file](http://wp-cli.org/packages/phar/wp-cli.phar) ([md5](http://wp-cli.org/packages/phar/wp-cli.phar.md5)): + ``` sudo -s curl http://wp-cli.org/packages/phar/wp-cli.phar > /usr/bin/wp @@ -34,7 +36,7 @@ sudo utils/dev-build You can replace `~/git/wp-cli` with whatever you want. -**Without sudo:** +**Via GIT (without sudo):** ``` git clone git://github.com/wp-cli/wp-cli.git ~/git/wp-cli From 783e08266dabfad0e480f28a10289c84d8649be0 Mon Sep 17 00:00:00 2001 From: scribu Date: Tue, 5 Mar 2013 01:45:09 +0200 Subject: [PATCH 082/839] add link to wordpress-plugin-tests/contributors --- _posts/2013-02-19-plugin-unit-tests.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/_posts/2013-02-19-plugin-unit-tests.md b/_posts/2013-02-19-plugin-unit-tests.md index c6b2c372..9d391ecd 100644 --- a/_posts/2013-02-19-plugin-unit-tests.md +++ b/_posts/2013-02-19-plugin-unit-tests.md @@ -34,8 +34,11 @@ You can check out the [sample-plugin][2] repo to see what the generated plugin l Run `wp help scaffold plugin-tests` for more info. +A shout-out to the people that contributed to [benbalter/wordpress-plugin-tests][6] is in order. + [1]: http://about.travis-ci.org [2]: https://github.com/wp-cli/sample-plugin [3]: http://wordpress.tv/2011/08/20/nikolay-bachiyski-unit-testing-will-change-your-life/ [4]: http://www.phpunit.de/manual/current/en/automating-tests.html [5]: http://make.wordpress.org/core/handbook/automated-testing/ +[6]: https://github.com/benbalter/wordpress-plugin-tests/contributors From c28848d3e45ef92d6bdbdfe8853e37518daeb883 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Tue, 5 Mar 2013 21:00:45 +0100 Subject: [PATCH 083/839] Use th instead of td --- commands/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/commands/index.html b/commands/index.html index ec067990..c4ef67f0 100644 --- a/commands/index.html +++ b/commands/index.html @@ -6,8 +6,8 @@ - - + + From 29a2d9e191b9ee55dd1912995c26463f6158ab75 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Tue, 5 Mar 2013 21:01:34 +0100 Subject: [PATCH 084/839] Use th instead of td --- config/index.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/config/index.md b/config/index.md index 49cadb12..eead1574 100644 --- a/config/index.md +++ b/config/index.md @@ -16,10 +16,10 @@ The order of precedence is:
CommandDescriptionCommandDescription
- - - - + + + + From 5d80b1443255f4ec330a2945daef26c1e90cfa8a Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Tue, 5 Mar 2013 21:03:13 +0100 Subject: [PATCH 085/839] Vertical align top --- assets/css/stylesheet.css | 3 +++ 1 file changed, 3 insertions(+) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 5d0fad0f..20293b30 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -179,6 +179,9 @@ table { margin: 0 0 20px 0; } +th, td { + vertical-align: top; +} th { text-align: left; border-bottom: 1px dashed #b5e853; From 5ec2f64181921c8a58c19de18953eefbfff35200 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Tue, 5 Mar 2013 21:04:14 +0100 Subject: [PATCH 086/839] Whitelines --- assets/css/stylesheet.css | 2 ++ 1 file changed, 2 insertions(+) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 20293b30..07e2148d 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -92,6 +92,7 @@ footer { width: 100%; -webkit-font-smoothing: antialiased; } + section img { max-width: 100% } @@ -182,6 +183,7 @@ table { th, td { vertical-align: top; } + th { text-align: left; border-bottom: 1px dashed #b5e853; From 71b982a8bf23fdf8ccaf959b78953ffaecfff800 Mon Sep 17 00:00:00 2001 From: scribu Date: Mon, 11 Mar 2013 13:46:15 +0200 Subject: [PATCH 087/839] show instructions for setting up the `wp` alias ... instead of using `utils/local-build`. see wp-cli/wp-cli#353 --- index.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/index.md b/index.md index 7c23165e..35d389fe 100644 --- a/index.md +++ b/index.md @@ -41,9 +41,19 @@ You can replace `~/git/wp-cli` with whatever you want. ``` git clone git://github.com/wp-cli/wp-cli.git ~/git/wp-cli cd ~/git/wp-cli -./utils/local-build +curl -sS https://getcomposer.org/installer | php +php composer.phar install ``` +Now, set up the `wp` alias: + +```bash +alias wp='~/git/wp-cli/bin/wp' +source ~/git/wp-cli/utils/wp-completion.bash +``` + +Add the above two lines to your `.bashrc` or `.bash_profile` file to have it set up automatically when you log in. + MAMP, XAMP, etc. ----------- From ae566b12743c2112136580f4c10b127c83a65640 Mon Sep 17 00:00:00 2001 From: scribu Date: Fri, 15 Mar 2013 23:18:16 +0200 Subject: [PATCH 088/839] show full content on blog index --- _layouts/post.html | 2 +- blog/index.html | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/_layouts/post.html b/_layouts/post.html index 17623f98..945a0544 100644 --- a/_layouts/post.html +++ b/_layouts/post.html @@ -3,7 +3,7 @@

{{ page.title }}

- by {{page.author}}, on {{ page.date | date_to_string }} + by {{ page.author }}, on {{ page.date | date_to_string }}
diff --git a/blog/index.html b/blog/index.html index fcd20fa8..61c6d98c 100644 --- a/blog/index.html +++ b/blog/index.html @@ -7,11 +7,11 @@ {% endfor %} From e53f896e69598314daa34ffcdffdcfd13479c787 Mon Sep 17 00:00:00 2001 From: scribu Date: Sat, 16 Mar 2013 01:13:10 +0200 Subject: [PATCH 089/839] link to CONTRIBUTING.md --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index 35d389fe..88201ff2 100644 --- a/index.md +++ b/index.md @@ -286,4 +286,4 @@ Contributors ------------ - [Contributor list](https://github.com/wp-cli/wp-cli/contributors) -- [Contributor guide](https://github.com/wp-cli/wp-cli/wiki/Commands-Cookbook) +- [Contributor guide](https://github.com/wp-cli/wp-cli/blob/master/CONTRIBUTING.md) From aa6b1700f9fe0ebc964b2ea4ec40c72482542d68 Mon Sep 17 00:00:00 2001 From: scribu Date: Fri, 15 Mar 2013 23:32:30 +0200 Subject: [PATCH 090/839] convert changelog section to blog posts --- _posts/2011-11-06-version-0.3.md | 25 ++++++ _posts/2011-12-29-version-0.4.md | 18 +++++ _posts/2012-03-27-version-0.5.md | 22 +++++ _posts/2012-09-05-version-0.6.md | 32 ++++++-- _posts/2012-11-10-wp-shell.md | 6 +- _posts/2012-11-16-version-0.7.md | 41 +++++++++- _posts/2013-01-26-version-0.8.md | 39 +++++++++ index.md | 135 ------------------------------- 8 files changed, 173 insertions(+), 145 deletions(-) create mode 100644 _posts/2011-11-06-version-0.3.md create mode 100644 _posts/2011-12-29-version-0.4.md create mode 100644 _posts/2012-03-27-version-0.5.md create mode 100644 _posts/2013-01-26-version-0.8.md diff --git a/_posts/2011-11-06-version-0.3.md b/_posts/2011-11-06-version-0.3.md new file mode 100644 index 00000000..4667b53c --- /dev/null +++ b/_posts/2011-11-06-version-0.3.md @@ -0,0 +1,25 @@ +--- +layout: post +title: Version 0.3 +author: scribu +--- +Version 0.3.0 is now available. + +### Changelog + +Commands: + +- added `wp sql` +- improved `wp option` +- improved `wp plugin` and `wp theme` +- added `wp generate` +- added `wp core version` + +Internals: + +- added `--version` special parameter +- added `--blog` global parameter +- added bash completion script +- added pear installer + +Contributors to this release: [andreascreten](http://github.com/andreascreten), [conatus](http://github.com/conatus), [matiskay](http://github.com/matiskay), [nb](http://github.com/nb), [scribu](http://github.com/scribu), [toszcze](http://github.com/toszcze). diff --git a/_posts/2011-12-29-version-0.4.md b/_posts/2011-12-29-version-0.4.md new file mode 100644 index 00000000..49067fb9 --- /dev/null +++ b/_posts/2011-12-29-version-0.4.md @@ -0,0 +1,18 @@ +--- +layout: post +title: Version 0.4 +author: scribu +--- +Version 0.4.0 is now available. See [resolved issues](https://github.com/wp-cli/wp-cli/issues?milestone=2&state=closed). + +### Changelog + +- added `wp eval` and `wp eval-file` +- added `wp export` +- added `wp core install` +- fixed `wp core update` +- added `--dev` flag to `wp plugin install` +- added `wp plugin uninstall` +- fixed `wp plugin install` and `wp plugin update` + +Contributors to this release: [mwilliamson](http://github.com/mwilliamson), [scribu](http://github.com/scribu), [tott](http://github.com/tott). diff --git a/_posts/2012-03-27-version-0.5.md b/_posts/2012-03-27-version-0.5.md new file mode 100644 index 00000000..6374e08a --- /dev/null +++ b/_posts/2012-03-27-version-0.5.md @@ -0,0 +1,22 @@ +--- +layout: post +title: Version 0.5 +author: scribu +--- +Version 0.5.0 is now available. See [resolved issues](https://github.com/wp-cli/wp-cli/issues?milestone=3&state=closed). + +### Changelog + +Commands: + +- added `wp user` +- added `wp core download` +- added `wp core config` +- added `wp plugin update --all` + +Internals: + +- added `--url` `--path` and `--user` global parameters +- various bugfixes + +Contributors to this release: [andreascreten](http://github.com/andreascreten), [ericandrewlewis](http://github.com/ericandrewlewis), [getsource](http://github.com/getsource), [johnpbloch](http://github.com/johnpbloch), [scribu](http://github.com/scribu), [spuriousdata](http://github.com/spuriousdata), [svaj](http://github.com/svaj), [wopr42](http://github.com/wopr42). diff --git a/_posts/2012-09-05-version-0.6.md b/_posts/2012-09-05-version-0.6.md index 60a008fe..616ad6ce 100644 --- a/_posts/2012-09-05-version-0.6.md +++ b/_posts/2012-09-05-version-0.6.md @@ -46,17 +46,37 @@ The help system has been improved. When you do `wp help core config`, an actual Unfortunately, this doesn't work if you install wp-cli via the PEAR package, because PEAR doesn't know how to handle them. :( -### The Community +### The Changelog + +Commands: + +- added `wp post` and `wp post-meta` +- added `wp user-meta` +- added `wp blog create` +- added `wp export` +- added `wp theme install` and `wp theme update` +- added `wp transient` +- added `wp db optimize` and `wp db repair` +- added `wp db create`, `wp db drop` and `wp db reset` +- added `wp db import` +- added `wp core install_network` +- added `wp core update_db` +- added `--json` option to several subcommands +- added `--network` option to `wp plugin activate` +- fixed `wp plugin update` -Most of the new commands you see in this release were actually implemented by other people. A few examples: +Internals: -[Mike Shroeder](https://github.com/getsource) was responsible for `wp theme install`, the much loved `wp plugin update --all` and a bunch of other things. +- fixed "out of memory" error +- misc bugfixes and optimizations -[Michael Williamson](https://github.com/mwilliamson-red-gate) wrote `wp user-meta` and came up with the idea for the `--json` parameter. +You can also browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?milestone=4&state=closed). + +### The Community -[Evan Anderson](https://github.com/kidfiction) contributed `wp blog create`, [Tott](https://github.com/tott) contributed `wp export` and [Zack Tollman](https://github.com/tollmanz) contributed `wp transient`. +Most of the new commands you see in this release were actually implemented by other people. -And that's just the beginning. The [full list of contributors](https://github.com/wp-cli/wp-cli/graphs/contributors?from=2011-09-04&to=2012-09-02&type=a) can be found on github. +Here are all the people that have contributed to this release: [andreascreten](http://github.com/andreascreten), [dwightjack](http://github.com/dwightjack), [getsource](http://github.com/getsource), [johnpbloch](http://github.com/johnpbloch), [joshstoik1](http://github.com/joshstoik1), [kidfiction](http://github.com/kidfiction), [marcoceppi](http://github.com/marcoceppi), [mgburns](http://github.com/mgburns), [mwilliamson](http://github.com/mwilliamson), [roelven](http://github.com/roelven), [scribu](http://github.com/scribu), [soulou](http://github.com/soulou), [tollmanz](http://github.com/tollmanz). ### The Future diff --git a/_posts/2012-11-10-wp-shell.md b/_posts/2012-11-10-wp-shell.md index 1fc08c4e..db6be2af 100644 --- a/_posts/2012-11-10-wp-shell.md +++ b/_posts/2012-11-10-wp-shell.md @@ -4,7 +4,9 @@ title: Interactive WordPress Debugging author: scribu --- -A new command [landed](https://github.com/wp-cli/wp-cli/pull/89) in wp-cli a few days ago, called `shell`. When you run `wp shell`, a REPL will start, in which you can run any WordPress function. +A new command [landed](https://github.com/wp-cli/wp-cli/pull/89) in wp-cli a few days ago, called `shell`. It was inspired by an older project called [wpshell](http://code.trac.wordpress.org/browser/wpshell). + +When you run `wp shell`, a REPL will start, in which you can run any WordPress function. The major advantage over `wp eval` and `wp eval-file` is that it's interactive: you immediately see the result of the previous command; it's also stored in the special `$_` variable, which you can use in the next command and so on. @@ -19,4 +21,4 @@ Here's a contrived example session: wp> exit scribu@air:~/wp/core$ -wp-shell will be available in the 0.7 release of wp-cli, but if you want to try it out right now, clone the [latest version](https://github.com/wp-cli/wp-cli) from github. If you have suggestions for making it better, don't hesitate to open issues and pull requests. +`wp shell` will be available in the 0.7 release of WP-CLI, but if you want to try it out right now, clone the [latest version](https://github.com/wp-cli/wp-cli) from github. If you have suggestions for making it better, don't hesitate to open issues and pull requests. diff --git a/_posts/2012-11-16-version-0.7.md b/_posts/2012-11-16-version-0.7.md index 8d783aa1..39cfc91e 100644 --- a/_posts/2012-11-16-version-0.7.md +++ b/_posts/2012-11-16-version-0.7.md @@ -3,9 +3,46 @@ layout: post title: Version 0.7 author: scribu --- - -Version 0.7 is now available. You can consult the [changelog](/#changelog) for an executive summary. +Version 0.7.0 is now available. If you had installed WP-CLI using PEAR, you will probably have to re-install it from scratch, since the URL for the channel has changed. There is a new wiki page for [creating commands](https://github.com/wp-cli/wp-cli/wiki/Creating-Commands) which has information about the new `@synopsis` tag etc. It also describes how you can create man pages for your custom commands. + +### Changelog + +Commands: + +- added [wp shell](/blog/wp-shell.html) +- added `wp cache` +- added `wp comment` +- added `wp rewrite` +- added `wp user import-csv` +- added `wp user set-role` and `wp user remove-role` +- added `wp core is-installed` +- added `wp blog delete` +- added `wp post list` +- made `wp post delete` accept a list of IDs +- added `--dry-run` option `wp plugin update-all` +- improved `wp export` + +Breaking changes: + +- converted `wp plugin update --all` to `wp plugin update-all` +- converted `wp theme update --all` to `wp theme update-all` +- converted `wp generate posts` to `wp post generate` +- converted `wp generate users` to `wp user generate` +- renamed `wp core install_network` to `wp core install-network` +- renamed `--path` option to `--dir` in `wp export` + +Internals: + +- removed support for default subcommands +- introduced `@synopsis` docblock tag +- introduced `@subcommand` docblock tag +- introduced `@alias` docblock tag +- introduced `WP_CLI::add_man_dir()` + +You can also browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?milestone=5&state=closed). + +Contributors to this release: [andreascreten](http://github.com/andreascreten), [bendoh](http://github.com/bendoh), [builtbylane](http://github.com/builtbylane), [danielbachhuber](http://github.com/danielbachhuber), [goldenapples](http://github.com/goldenapples), [jghazally](http://github.com/jghazally), [lackingpenguin](http://github.com/lackingpenguin), [navitronic](http://github.com/navitronic), [ozh](http://github.com/ozh), [scribu](http://github.com/scribu), [tddewey](http://github.com/tddewey). diff --git a/_posts/2013-01-26-version-0.8.md b/_posts/2013-01-26-version-0.8.md new file mode 100644 index 00000000..1fc7bb06 --- /dev/null +++ b/_posts/2013-01-26-version-0.8.md @@ -0,0 +1,39 @@ +--- +layout: post +title: Version 0.8 +author: scribu +--- +Version 0.8.0 is now available. + +### Changelog + +Commands: + +- added `wp search-replace`. hat tip to [interconnectit/Search-Replace-DB](https://github.com/interconnectit/Search-Replace-DB) +- added `wp scaffold` +- added `wp cap` +- added `wp user add-role` +- added `--role` parameter to `wp user remove-role` +- added `--ids` parameter to `wp user list` +- added `--post__in` parameter to `wp export` +- added `--str` parameter to most `wp db` subcommands +- removed community commands (`wp total-cache`, `wp super-cache`, `wp sitemap`) +- made `wp post update` accept multiple IDs +- fixed incorrect exit code from `wp core is-installed` in some cases +- fixed `wp user import-csv` +- fixed `wp theme update ` +- fixed `wp plugin update ` not reactivating the plugin + +Internals: + +- added support for `wp-cli.yml` config file +- bypass full-page caching plugins +- disabled coloring when not in a TTY and added `--color/no-color` global parameters +- added `--debug` global parameter +- added `wp --info` utility +- added unit tests for `wp core` subcommands +- [Composer](http://getcomposer.org) compatibility + +You can also browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?milestone=6&state=closed). + +Contributors to this release: [danielbachhuber](http://github.com/danielbachhuber), [ericmann](http://github.com/ericmann), [jmslbam](http://github.com/jmslbam), [milesj](http://github.com/milesj), [mwilliamson](http://github.com/mwilliamson), [scribu](http://github.com/scribu), [sebastiaandegeus](http://github.com/sebastiaandegeus). diff --git a/index.md b/index.md index 88201ff2..b526fc7e 100644 --- a/index.md +++ b/index.md @@ -147,141 +147,6 @@ You can find more information about adding commands in the [Commands Cookbook](h **Please share the commands you make, issue a pull request to get them included in wp-cli by default.** -Changelog -========= - -### [0.8](https://github.com/wp-cli/wp-cli/issues?milestone=6&state=closed) - -Commands: - -- added `wp search-replace` command -- added `wp scaffold` command. props [jmslbam](http://github.com/jmslbam) and [sebastiaandegeus](http://github.com/sebastiaandegeus) -- added `wp cap` command -- added `wp user add-role` subcommand -- added `--role` parameter to `wp user remove-role` -- added `--ids` parameter to `wp user list` -- added `--post__in` parameter to `wp export` -- added `--str` parameter to most `wp db` subcommands -- removed community commands (`wp total-cache`, `wp super-cache`, `wp sitemap`) -- made `wp post update` accept multiple IDs -- fixed incorrect exit code from `wp core is-installed` in some cases -- fixed `wp user import-csv`. props [danielbachhuber](http://github.com/danielbachhuber) -- fixed `wp theme update ` -- fixed `wp plugin update ` not reactivating the plugin - -Internals: - -- added support for `wp-cli.yml` config file -- bypass full-page caching plugins -- disabled coloring when not in a TTY and added `--color/no-color` global parameters -- added `--debug` global parameter -- added `wp --info` utility -- added unit tests for `wp core` subcommands. props [mwilliamson](http://github.com/mwilliamson) -- [Composer](http://getcomposer.org) compatibility - -### [0.7](https://github.com/wp-cli/wp-cli/issues?milestone=5&state=closed) - -Commands: - -- added [wp shell](/blog/wp-shell.html) -- added `wp cache`, props [tollmanz](http://github.com/tollmanz) -- added `wp comment`, props [ozh](http://github.com/ozh) -- added `wp rewrite`, props [goldenapples](http://github.com/goldenapples) -- added `wp user import-csv`, props [danielbachhuber](http://github.com/danielbachhuber) -- added `wp user set-role` and `wp user remove-role`, props danielbachhuber -- added `wp core is-installed` -- added `wp blog delete` -- added `wp post list` -- made `wp post delete` accept a list of IDs -- added `--dry-run` option `wp plugin update-all` -- improved `wp export`, props danielbachhuber - -Breaking changes: - -- converted `wp plugin update --all` to `wp plugin update-all` -- converted `wp theme update --all` to `wp theme update-all` -- converted `wp generate posts` to `wp post generate` -- converted `wp generate users` to `wp user generate` -- renamed `wp core install_network` to `wp core install-network` -- renamed `--path` option to `--dir` in `wp export` - -Internals: - -- removed support for default subcommands -- introduced `@synopsis` docblock tag -- introduced `@subcommand` docblock tag -- introduced `@alias` docblock tag -- introduced `WP_CLI::add_man_dir()` - -### [0.6](https://github.com/wp-cli/wp-cli/issues?milestone=4&state=closed) - -Commands: - -- added `wp post` and `wp post-meta` -- added `wp user-meta`, props [mwilliamson-red-gate](http://github.com/mwilliamson-red-gate) -- added `wp blog create`, props [kidfiction](http://github.com/kidfiction) -- added `wp export`, props [tott](http://github.com/tott) -- added `wp theme install` and `wp theme update`, props [getsource](http://github.com/getsource) -- added `wp transient`, props [tollmanz](http://github.com/tollmanz) -- added `wp db optimize` and `wp db repair`, props getsource -- added `wp db create`, `wp db drop` and `wp db reset` -- added `wp db import`, props [svaj](http://github.com/svaj) -- added `wp core install_network` -- added `wp core update_db`, props mwilliamson-red-gate -- added `--json` option to several subcommands -- added `--network` option to `wp plugin activate` -- fixed `wp plugin update` - -Internals: - -- added `--require` global parameter -- fixed "out of memory" error -- misc bugfixes and optimizations -- man pages (not in PEAR package) - -### [0.5](https://github.com/wp-cli/wp-cli/issues?milestone=3&state=closed) - -Commands: - -- added `wp user`, props [wopr42](http://github.com/wopr42) -- added `wp core download`, props [ericandrewlewis](http://github.com/ericandrewlewis) -- added `wp core config` -- added `wp plugin update --all`, props [getsource](http://github.com/getsource) - -Internals: - -- added `--url` `--path` and `--user` global parameters -- various bugfixes - -### [0.4](https://github.com/wp-cli/wp-cli/issues?milestone=2&state=closed) - -- added `wp eval` and `wp eval-file` -- added `wp export` -- added `wp core install` -- fixed `wp core update` -- added `--dev` flag to `wp plugin install` -- added `wp plugin uninstall` -- fixed `wp plugin install` and `wp plugin update` - -### 0.3 - -- added `wp sql` -- improved `wp option` -- pear installer - -### 0.2 - -- added multisite support -- improved `wp plugin` and `wp theme` -- added `wp generate` -- added `wp core version` -- added `wp --version` -- added bash completion script - -### 0.1 - -- initial release - Contributors ------------ From fcabe41c4760a0ba39f28b98d375b690ad79feb9 Mon Sep 17 00:00:00 2001 From: scribu Date: Sat, 16 Mar 2013 22:07:45 +0200 Subject: [PATCH 091/839] add post about `wp post edit` --- _posts/2013-03-16-editing-posts.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 _posts/2013-03-16-editing-posts.md diff --git a/_posts/2013-03-16-editing-posts.md b/_posts/2013-03-16-editing-posts.md new file mode 100644 index 00000000..cbf1209d --- /dev/null +++ b/_posts/2013-03-16-editing-posts.md @@ -0,0 +1,18 @@ +--- +layout: post +title: Edit WordPress Posts in Vim or Emacs or Whatever +author: scribu +--- +A few years ago, I came across a very interesting project by Joseph Scott, called [PressFS][1]; it exposed WordPress posts as plain text files on your filesystem. This allowed you to use all your favorite command-line tools to manipulate these posts, including editing their content in your favorite text editor. + +With [WP-CLI](/) 0.9.0-beta, you can do the same thing: + +```bash +wp post edit 123 +``` + +Once you run that command, your `$EDITOR` will open up, pre-filled with the content of the post with ID 123. After you've made your changes and quit the editor, WP-CLI will update the post in the database. + +Credit goes to [goldenapples](https://github.com/goldenapples) for [implementing](https://github.com/wp-cli/wp-cli/pull/302) it. + +[1]: https://github.com/josephscott/pressfs From 43dce5ceeaf9c52b783a4a90cfedf3c2c26f3d6d Mon Sep 17 00:00:00 2001 From: scribu Date: Sun, 17 Mar 2013 07:55:58 +0200 Subject: [PATCH 092/839] mention Jekyll --- README.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 5af42d20..9ac5037f 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,16 @@ ### Setup -1. Install [composer](http://getcomposer.org/). +1. Install [Composer](http://getcomposer.org/). -2. Install dev dependencies: - -```bash -composer install --dev -``` +2. Install dev dependencies with `composer install --dev` 3. Build: ```bash vendor/bin/phake path=/path/to/wp/install ``` + +### Preview locally + +1. [Install Jekyll](https://github.com/mojombo/jekyll/wiki/install). +2. Run `jekyll --serve --auto` From cf0e27936f1403b733ec77c559befd66edb213fe Mon Sep 17 00:00:00 2001 From: scribu Date: Fri, 8 Mar 2013 15:15:49 +0200 Subject: [PATCH 093/839] clarify minimum requirements see wp-cli/wp-cli#338 --- index.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/index.md b/index.md index b526fc7e..f0e96509 100644 --- a/index.md +++ b/index.md @@ -5,11 +5,12 @@ title: Command line interface for WordPress **wp-cli** is a set of command-line tools for managing [WordPress](http://wordpress.org) installations. You can update plugins, set up multisite installs, create posts and much more. -Requirements -============ +Minimum Requirements +========== + +You'll need **PHP 5.3** or later. -* PHP >= 5.3 -* WordPress >= 3.3 +All WP-CLI commands are guaranteed to work with **WordPress 3.4** or later. Some commands, like `wp core update`, might work with older versions as well. Installing ========== From 2dd5e24fbea30b742ec23dcf67a55538e7c8cb99 Mon Sep 17 00:00:00 2001 From: scribu Date: Wed, 20 Mar 2013 18:34:08 +0200 Subject: [PATCH 094/839] update the command list --- _includes/cmd-list.html | 12 ++++++++++++ _includes/param-list.html | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/_includes/cmd-list.html b/_includes/cmd-list.html index 542e864c..ecd4f497 100644 --- a/_includes/cmd-list.html +++ b/_includes/cmd-list.html @@ -42,6 +42,10 @@
+ + + + @@ -62,6 +66,10 @@ + + + + @@ -74,6 +82,10 @@ + + + + diff --git a/_includes/param-list.html b/_includes/param-list.html index 95e4cb8a..ba26493a 100644 --- a/_includes/param-list.html +++ b/_includes/param-list.html @@ -38,7 +38,7 @@ - + From 8e0d739d94b590458f326f22dfde19b2eb4bb28b Mon Sep 17 00:00:00 2001 From: scribu Date: Sun, 17 Feb 2013 21:26:12 +0200 Subject: [PATCH 095/839] add release post for 0.9 --- _posts/2013-03-20-version-0.9.md | 41 ++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 _posts/2013-03-20-version-0.9.md diff --git a/_posts/2013-03-20-version-0.9.md b/_posts/2013-03-20-version-0.9.md new file mode 100644 index 00000000..07fa8138 --- /dev/null +++ b/_posts/2013-03-20-version-0.9.md @@ -0,0 +1,41 @@ +--- +layout: post +title: Version 0.9 released +author: scribu +--- +Version 0.9.0 is now available. + +### New distribution method + +The PEAR channel has been abandoned, and replaced with a much simpler distribution method: you download a single Phar archive. Done. + +Of course, installing via git is still possible and encouraged, if you want to hack on WP-CLI. + +The [front page](/) has up-to-date information about all the supported installation methods. + +### Changelog + +Commands: + +- added `wp role` command +- added `wp term` command +- added [wp post edit](/blog/editing-posts.html) +- added `--edit` flag to `wp post create` +- added `wp scaffold _s` +- added `wp core init-tests` +- made `wp scaffold plugin` generate files for unit tests. see the [blog post](/blog/plugin-unit-tests.html) +- added `--format` parameter to `wp user list` +- made `wp help` work without a WP install +- added `--force` flag to `wp core download` + +Internals: + +- fixed `--path` argument getting ignored when running `wp core download` +- don't set `WP_ADMIN` to true +- fixed loading error with some `wp-config.php` files +- replaced git submodules with Composer dependencies +- improved functional test coverage and set up [Travis CI builds](https://travis-ci.org/wp-cli/wp-cli) + +You can also browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?milestone=7&state=closed). + +Contributors to this release: [danielbachhuber](http://github.com/danielbachhuber), [drrobotnik](http://github.com/drrobotnik), [erwanlr](http://github.com/erwanlr), [goldenapples](http://github.com/goldenapples), [jmslbam](http://github.com/jmslbam), [leewillis77](http://github.com/leewillis77), [nacin](http://github.com/nacin), [nb](http://github.com/nb), [ocean90](http://github.com/ocean90), [scribu](http://github.com/scribu), [sebastiaandegeus](http://github.com/sebastiaandegeus), [taupecat](http://github.com/taupecat). From 74288dabaab5f8ee41fe89a3b685df079ec8a281 Mon Sep 17 00:00:00 2001 From: scribu Date: Wed, 20 Mar 2013 19:30:04 +0200 Subject: [PATCH 096/839] mention media regenerate. see #3 --- _posts/2013-03-20-version-0.9.md | 1 + 1 file changed, 1 insertion(+) diff --git a/_posts/2013-03-20-version-0.9.md b/_posts/2013-03-20-version-0.9.md index 07fa8138..6bbf953a 100644 --- a/_posts/2013-03-20-version-0.9.md +++ b/_posts/2013-03-20-version-0.9.md @@ -17,6 +17,7 @@ The [front page](/) has up-to-date information about all the supported installat Commands: +- added `wp media regenerate` command. props [Viper007Bond](https://github.com/Viper007Bond) and [benmay](https://github.com/benmay) for the initial work - added `wp role` command - added `wp term` command - added [wp post edit](/blog/editing-posts.html) From 767174e13396316f90937f156136d1b66a0f0512 Mon Sep 17 00:00:00 2001 From: scribu Date: Thu, 21 Mar 2013 01:43:22 +0200 Subject: [PATCH 097/839] add pagination --- _config.yml | 1 + _includes/footer.html | 7 ++----- assets/css/stylesheet.css | 16 ++++++++++++++++ blog/index.html | 20 +++++++++++++++++++- 4 files changed, 38 insertions(+), 6 deletions(-) diff --git a/_config.yml b/_config.yml index d137e76a..cf171e3e 100644 --- a/_config.yml +++ b/_config.yml @@ -4,5 +4,6 @@ pygments: true markdown: redcarpet url: http://wp-cli.org permalink: /blog/:title.html +paginate: 10 exclude: - Phakefile.php diff --git a/_includes/footer.html b/_includes/footer.html index 67a74fcb..0f1ad07a 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -1,10 +1,7 @@ - + + {% include analytics.html %} diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 07e2148d..5c663190 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -74,6 +74,8 @@ header h2 { } footer { + clear: both; + display: block; text-align: center; font-size: 10px; margin: 20px 10px 10px 10px; @@ -279,3 +281,17 @@ article + article { color: #666; } +/* Pagination */ + +.pagination { + display: block; + overflow: hidden; +} + +.pagination .prev { + float: left; +} + +.pagination .next { + float: right; +} diff --git a/blog/index.html b/blog/index.html index 61c6d98c..c5d3c488 100644 --- a/blog/index.html +++ b/blog/index.html @@ -3,7 +3,7 @@ title: Blog --- -{% for post in site.posts limit: 10 %} +{% for post in paginator.posts %} {% endfor %} + + From 642221e224346250a608bcfeac5da820d82051d6 Mon Sep 17 00:00:00 2001 From: scribu Date: Thu, 21 Mar 2013 01:49:50 +0200 Subject: [PATCH 098/839] trigger another page build --- _includes/header.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_includes/header.html b/_includes/header.html index ea93681f..e0ce8199 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -1,8 +1,8 @@ - - + + From 8bd31b800f0463c251e291bf7baa6eefe61a6e35 Mon Sep 17 00:00:00 2001 From: scribu Date: Thu, 21 Mar 2013 02:07:19 +0200 Subject: [PATCH 099/839] add ugly hack for Jekyll 0.12.0. fixes #9 --- index.md => _includes/index.md | 5 ----- index.html | 9 +++++++++ 2 files changed, 9 insertions(+), 5 deletions(-) rename index.md => _includes/index.md (98%) create mode 100644 index.html diff --git a/index.md b/_includes/index.md similarity index 98% rename from index.md rename to _includes/index.md index f0e96509..8b223355 100644 --- a/index.md +++ b/_includes/index.md @@ -1,8 +1,3 @@ ---- -layout: default -title: Command line interface for WordPress ---- - **wp-cli** is a set of command-line tools for managing [WordPress](http://wordpress.org) installations. You can update plugins, set up multisite installs, create posts and much more. Minimum Requirements diff --git a/index.html b/index.html new file mode 100644 index 00000000..a539b8d9 --- /dev/null +++ b/index.html @@ -0,0 +1,9 @@ +--- +layout: default +title: Command line interface for WordPress +--- +{% capture content %} +{% include index.md %} +{% endcapture %} + +{{ content | markdownify }} From 319b47c2d862fa767500203e0a4736d3a1c68dd0 Mon Sep 17 00:00:00 2001 From: jmslbam Date: Mon, 18 Mar 2013 13:06:55 +0100 Subject: [PATCH 100/839] Added post about scaffolding custom post types and taxonomies --- ...olding-custom-post-types-and-taxonomies.md | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 _posts/2013-03-18-scaffolding-custom-post-types-and-taxonomies.md diff --git a/_posts/2013-03-18-scaffolding-custom-post-types-and-taxonomies.md b/_posts/2013-03-18-scaffolding-custom-post-types-and-taxonomies.md new file mode 100644 index 00000000..e0495079 --- /dev/null +++ b/_posts/2013-03-18-scaffolding-custom-post-types-and-taxonomies.md @@ -0,0 +1,63 @@ +--- +layout: post +title: Scaffolding custom post types and taxonomies +author: jmslbam +--- + +The `wp scaffold command` can generate code that registers Custom Post Types and Custom Taxonomies. Most of the time this is done by copy+pasting it from let's say the WordPress Codex or having the code as shortcode/snippet in your editor. +Now you can use WP-CLI for this. + +### Scaffold a custom post type +The following command generates a Custom Post Type and registers the post type including update messages. + +```bash +wp scaffold post-type zombie +``` + +Scaffold a taxonomy +The following command generates a Custom Taxonomy and registers the taxonomy to the Post Type zombie. + +```bash +wp scaffold taxonomy zombie-speed post-type=zombie +``` + +### But where does the code go? +This is a personal preference. Some ship it within a theme, while others will save it within a plugin. +That's why there a these two flags: + +```bash +wp scaffold post-type zombie --theme +``` +`–theme` stores the generated code within your current active theme under a `/post-types` directory and names a file name `zombie.php` + +```bash +wp scaffold post-type zombie --plugin=pluginname +``` + +`–plugin=plugin-dir-name` stores the generated code within the given plugin name. + +No flag will output the code to you terminal (STDOUT) so you could write it too your file of choice. + +```bash +wp scaffold post-type zombie > ~/project/foo/bar.php +``` +### But I only want the registration of the post-type... +Then you can add the `–raw` flag + +```bash +wp scaffold post-type zombie --raw +``` +This will only output the code that will `register_post_type()` without the init action and the update messages. + +### And what about I18n? +Internationalization by gettext can be achieved through `–textdomain=my-textdomain` + +Default when using the `–theme`, the textdomain will be that of your active theme. +Otherwise by using the `–plugin` flag, the textdomain will be your plugin name. + +```bash +wp scaffold post-type zombie --textdomain=my-textdomain +``` +Enjoy these commands, we hope it will speed-up and ease your development with WordPress and WP-CLI! + +Props [sebastiaandegeus](https://github.com/sebastiaandegeus), [scribu](https://github.com/scribu), [jmslbam](https://github.com/jmslbam) From 38f8793072ef9171386092cd234d28f7731d283d Mon Sep 17 00:00:00 2001 From: jmslbam Date: Mon, 18 Mar 2013 16:33:33 +0100 Subject: [PATCH 101/839] Dashes and title fix --- ...13-03-18-scaffolding-custom-post-types-and-taxonomies.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/_posts/2013-03-18-scaffolding-custom-post-types-and-taxonomies.md b/_posts/2013-03-18-scaffolding-custom-post-types-and-taxonomies.md index e0495079..84bdd3a0 100644 --- a/_posts/2013-03-18-scaffolding-custom-post-types-and-taxonomies.md +++ b/_posts/2013-03-18-scaffolding-custom-post-types-and-taxonomies.md @@ -1,6 +1,6 @@ --- layout: post -title: Scaffolding custom post types and taxonomies +title: Scaffolding Custom Post Types and Taxonomies author: jmslbam --- @@ -28,13 +28,13 @@ That's why there a these two flags: ```bash wp scaffold post-type zombie --theme ``` -`–theme` stores the generated code within your current active theme under a `/post-types` directory and names a file name `zombie.php` +`--theme` stores the generated code within your current active theme under a `/post-types` directory and names a file name `zombie.php` ```bash wp scaffold post-type zombie --plugin=pluginname ``` -`–plugin=plugin-dir-name` stores the generated code within the given plugin name. +`--plugin=plugin-dir-name` stores the generated code within the given plugin name. No flag will output the code to you terminal (STDOUT) so you could write it too your file of choice. From b6de5d1df743fadf8d10b43ee985aad5c7cbf62c Mon Sep 17 00:00:00 2001 From: scribu Date: Fri, 29 Mar 2013 01:34:00 +0200 Subject: [PATCH 102/839] update post date. see #8 --- ...=> 2013-03-29-scaffolding-custom-post-types-and-taxonomies.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename _posts/{2013-03-18-scaffolding-custom-post-types-and-taxonomies.md => 2013-03-29-scaffolding-custom-post-types-and-taxonomies.md} (100%) diff --git a/_posts/2013-03-18-scaffolding-custom-post-types-and-taxonomies.md b/_posts/2013-03-29-scaffolding-custom-post-types-and-taxonomies.md similarity index 100% rename from _posts/2013-03-18-scaffolding-custom-post-types-and-taxonomies.md rename to _posts/2013-03-29-scaffolding-custom-post-types-and-taxonomies.md From 6e0b85dc21a358d6820a4eb6868e20aea4f811d3 Mon Sep 17 00:00:00 2001 From: scribu Date: Fri, 29 Mar 2013 01:59:15 +0200 Subject: [PATCH 103/839] clean up scaffolding blog post: * add missing newlines * fix formatting, typos etc. * remove props; the contributors are already mentioned in the release posts see #8 --- ...olding-custom-post-types-and-taxonomies.md | 48 +++++++++++-------- 1 file changed, 27 insertions(+), 21 deletions(-) diff --git a/_posts/2013-03-29-scaffolding-custom-post-types-and-taxonomies.md b/_posts/2013-03-29-scaffolding-custom-post-types-and-taxonomies.md index 84bdd3a0..f7c38e73 100644 --- a/_posts/2013-03-29-scaffolding-custom-post-types-and-taxonomies.md +++ b/_posts/2013-03-29-scaffolding-custom-post-types-and-taxonomies.md @@ -3,31 +3,44 @@ layout: post title: Scaffolding Custom Post Types and Taxonomies author: jmslbam --- +Custom post types and custom taxonomies are the building blocks for advanced functionality. Most of the time, the code for registering them is either copy+pasted from somewhere or it's saved as a snippet in your text editor. -The `wp scaffold command` can generate code that registers Custom Post Types and Custom Taxonomies. Most of the time this is done by copy+pasting it from let's say the WordPress Codex or having the code as shortcode/snippet in your editor. -Now you can use WP-CLI for this. +Now you can do this with WP-CLI, using the `wp scaffold` command. ### Scaffold a custom post type -The following command generates a Custom Post Type and registers the post type including update messages. + +The following command generates the code for registering the post type and also for customizing the update messages: ```bash wp scaffold post-type zombie ``` -Scaffold a taxonomy -The following command generates a Custom Taxonomy and registers the taxonomy to the Post Type zombie. +### Scaffold a taxonomy + +The following command generates the code for registering the taxonomy to the zombie post type: ```bash -wp scaffold taxonomy zombie-speed post-type=zombie +wp scaffold taxonomy zombie-speed --post-type=zombie +``` + +### But I only want the registration of the post-type... + +Then you can add the `--raw` flag: + +```bash +wp scaffold post-type zombie --raw ``` +This will only output the code that will `register_post_type()` without the `init` action and the update messages. + ### But where does the code go? -This is a personal preference. Some ship it within a theme, while others will save it within a plugin. -That's why there a these two flags: + +This is a personal preference. Some ship it within a theme, while others will save it within a plugin. That's why we have these two flags: ```bash wp scaffold post-type zombie --theme ``` + `--theme` stores the generated code within your current active theme under a `/post-types` directory and names a file name `zombie.php` ```bash @@ -36,28 +49,21 @@ wp scaffold post-type zombie --plugin=pluginname `--plugin=plugin-dir-name` stores the generated code within the given plugin name. -No flag will output the code to you terminal (STDOUT) so you could write it too your file of choice. +By default, the code will be output to your terminal (STDOUT) so you could write it to your file of choice: ```bash wp scaffold post-type zombie > ~/project/foo/bar.php ``` -### But I only want the registration of the post-type... -Then you can add the `–raw` flag - -```bash -wp scaffold post-type zombie --raw -``` -This will only output the code that will `register_post_type()` without the init action and the update messages. ### And what about I18n? -Internationalization by gettext can be achieved through `–textdomain=my-textdomain` -Default when using the `–theme`, the textdomain will be that of your active theme. -Otherwise by using the `–plugin` flag, the textdomain will be your plugin name. +Internationalization by gettext can be achieved through the `--textdomain` parameter: ```bash wp scaffold post-type zombie --textdomain=my-textdomain ``` -Enjoy these commands, we hope it will speed-up and ease your development with WordPress and WP-CLI! -Props [sebastiaandegeus](https://github.com/sebastiaandegeus), [scribu](https://github.com/scribu), [jmslbam](https://github.com/jmslbam) +By default when using the `--theme`, the textdomain will be that of your active theme, and if +using the `--plugin` flag, the textdomain will be your plugin name. + +Enjoy these commands; we hope it will speed-up and ease your development with WordPress! From d3395300d297ba63f6dd5bd4bfebaa9f5a6a0919 Mon Sep 17 00:00:00 2001 From: scribu Date: Fri, 29 Mar 2013 04:26:20 +0200 Subject: [PATCH 104/839] don't use sudo to invoke dev-build. closes wp-cli/wp-cli#368 --- _includes/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/index.md b/_includes/index.md index 8b223355..cd67d2cc 100644 --- a/_includes/index.md +++ b/_includes/index.md @@ -27,7 +27,7 @@ If you have Suhosin enabled, make sure to set `suhosin.executor.include.whitelis ``` git clone git://github.com/wp-cli/wp-cli.git ~/git/wp-cli cd ~/git/wp-cli -sudo utils/dev-build +./utils/dev-build ``` You can replace `~/git/wp-cli` with whatever you want. From e38c7c38bc842a0f6cfd44865be5c60aec451069 Mon Sep 17 00:00:00 2001 From: scribu Date: Mon, 8 Apr 2013 08:09:28 +0300 Subject: [PATCH 105/839] add link to list of community commands --- commands/index.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/commands/index.html b/commands/index.html index c4ef67f0..91fb29a3 100644 --- a/commands/index.html +++ b/commands/index.html @@ -14,3 +14,5 @@ {% include cmd-list.html %}
ConfigFlagDefaultDescriptionConfigFlagDefaultDescription
home Open the wp-cli homepage in your browser.
mediaControl the media library and its attachments.
option Manage WordPress options.rewrite Manage rewrite rules.
roleManage user roles.
scaffold Generate code for post types, taxonomies, etc.shell Interactive PHP console.
termManage terms.
theme Manage themes.color: <bool> --[no-]color "auto"Whether to colozire the outputWhether to colorize the output
debug: <bool>
+ +

Also see the list of community commands.

From 3d72bca58bb166becbd105e5f70fa6ffc6e1b7ce Mon Sep 17 00:00:00 2001 From: scribu Date: Fri, 26 Apr 2013 23:09:55 +0300 Subject: [PATCH 106/839] rename install methods --- _includes/index.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/_includes/index.md b/_includes/index.md index cd67d2cc..66605f72 100644 --- a/_includes/index.md +++ b/_includes/index.md @@ -10,7 +10,7 @@ All WP-CLI commands are guaranteed to work with **WordPress 3.4** or later. Some Installing ========== -**Via Phar Archive:** +### Easy install (Phar archive) You can download WP-CLI packaged as a [single file](http://wp-cli.org/packages/phar/wp-cli.phar) ([md5](http://wp-cli.org/packages/phar/wp-cli.phar.md5)): @@ -22,17 +22,19 @@ chmod +x /usr/bin/wp If you have Suhosin enabled, make sure to set `suhosin.executor.include.whitelist="phar"` in your `suhosin.ini` or `php.ini` file. -**Via GIT:** +### Global install (requires sudo) + +Install WP-CLI for all users of the system: ``` -git clone git://github.com/wp-cli/wp-cli.git ~/git/wp-cli -cd ~/git/wp-cli +git clone git://github.com/wp-cli/wp-cli.git /usr/share/wp-cli +cd /usr/share/wp-cli ./utils/dev-build ``` -You can replace `~/git/wp-cli` with whatever you want. +### Local install -**Via GIT (without sudo):** +Install WP-CLI only for yourself: ``` git clone git://github.com/wp-cli/wp-cli.git ~/git/wp-cli @@ -50,10 +52,9 @@ source ~/git/wp-cli/utils/wp-completion.bash Add the above two lines to your `.bashrc` or `.bash_profile` file to have it set up automatically when you log in. -MAMP, XAMP, etc. ------------ +### MAMP, XAMP, etc. -If the `php` command is not available, you can try finding an appropriate binary: +If the `php` command is not available in your PATH, you can try finding an appropriate binary: ``` ./utils/find-php From 60a941abd4747059294fa272088e9c275a3cf30f Mon Sep 17 00:00:00 2001 From: scribu Date: Sat, 27 Apr 2013 00:43:13 +0300 Subject: [PATCH 107/839] more useful find-php invocation --- _includes/index.md | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/_includes/index.md b/_includes/index.md index 66605f72..09ba9289 100644 --- a/_includes/index.md +++ b/_includes/index.md @@ -57,15 +57,7 @@ Add the above two lines to your `.bashrc` or `.bash_profile` file to have it set If the `php` command is not available in your PATH, you can try finding an appropriate binary: ``` -./utils/find-php -``` - -Then, create an environment variable called `WP_CLI_PHP` with the path found by `find-php`. - -In a UNIX environment, you would do this by adding the following line to your `.bashrc` file: - -``` -export WP_CLI_PHP=/path/to/php-binary +ln -s $(./utils/find-php) /usr/bin/php ``` Using From f576a2e5aa9bf911693794d9b3781052c466793a Mon Sep 17 00:00:00 2001 From: scribu Date: Wed, 8 May 2013 20:06:19 +0300 Subject: [PATCH 108/839] Add installer.sh and update install instructions Focus on a single, sudoless, install method. Sysadmins that need to install WP-CLI globally can fend for themselves. --- _includes/index.md | 49 +++++++++++++++------------------------------- installer.sh | 49 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+), 33 deletions(-) create mode 100755 installer.sh diff --git a/_includes/index.md b/_includes/index.md index 09ba9289..fe7be226 100644 --- a/_includes/index.md +++ b/_includes/index.md @@ -1,4 +1,4 @@ -**wp-cli** is a set of command-line tools for managing [WordPress](http://wordpress.org) installations. You can update plugins, set up multisite installs, create posts and much more. +**WP-CLI** is a set of command-line tools for managing [WordPress](http://wordpress.org) installations. You can update plugins, set up multisite installs, create posts and much more. Minimum Requirements ========== @@ -10,54 +10,37 @@ All WP-CLI commands are guaranteed to work with **WordPress 3.4** or later. Some Installing ========== -### Easy install (Phar archive) - -You can download WP-CLI packaged as a [single file](http://wp-cli.org/packages/phar/wp-cli.phar) ([md5](http://wp-cli.org/packages/phar/wp-cli.phar.md5)): +Just execute the following command: ``` -sudo -s -curl http://wp-cli.org/packages/phar/wp-cli.phar > /usr/bin/wp -chmod +x /usr/bin/wp +curl http://wp-cli.org/installer.sh | sh ``` -If you have Suhosin enabled, make sure to set `suhosin.executor.include.whitelist="phar"` in your `suhosin.ini` or `php.ini` file. - -### Global install (requires sudo) +This will allow you to run `~/.composer/bin/wp`. -Install WP-CLI for all users of the system: +If you want to be able to type just `wp`, add the following lines to your `.bash_profile` file: ``` -git clone git://github.com/wp-cli/wp-cli.git /usr/share/wp-cli -cd /usr/share/wp-cli -./utils/dev-build -``` - -### Local install +# Composer scripts +PATH=$HOME/.composer/bin/:$PATH -Install WP-CLI only for yourself: - -``` -git clone git://github.com/wp-cli/wp-cli.git ~/git/wp-cli -cd ~/git/wp-cli -curl -sS https://getcomposer.org/installer | php -php composer.phar install +# WP-CLI completions +source $HOME/.composer/vendor/wp-cli/wp-cli/utils/wp-completion.bash ``` -Now, set up the `wp` alias: +Finally, reload the file: -```bash -alias wp='~/git/wp-cli/bin/wp' -source ~/git/wp-cli/utils/wp-completion.bash +``` +source ~/.bash_profile ``` -Add the above two lines to your `.bashrc` or `.bash_profile` file to have it set up automatically when you log in. - -### MAMP, XAMP, etc. +### Updating -If the `php` command is not available in your PATH, you can try finding an appropriate binary: +If you installed WP-CLI using the method above, you can also easily update it: ``` -ln -s $(./utils/find-php) /usr/bin/php +cd ~/.composer +php composer.phar update ``` Using diff --git a/installer.sh b/installer.sh new file mode 100755 index 00000000..5e224479 --- /dev/null +++ b/installer.sh @@ -0,0 +1,49 @@ +#!/usr/bin/env sh + +set -e + +# check that PHP is available +command -v php > /dev/null || { + echo "can't find PHP binary" >&2 + exit 1 +} + +mkdir -p ~/.composer +cd ~/.composer + +# install Composer +if [ ! -x composer.phar ]; then + curl -sS https://getcomposer.org/installer | php +fi + +# set up global composer.json file +if [ ! -f composer.json ]; then + cat > composer.json < Date: Wed, 8 May 2013 20:47:27 +0300 Subject: [PATCH 109/839] attempt to find appropriate PHP CLI --- installer.sh | 42 +++++++++++++++++++++++++++++++++++++----- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/installer.sh b/installer.sh index 5e224479..2ef45689 100755 --- a/installer.sh +++ b/installer.sh @@ -2,18 +2,50 @@ set -e -# check that PHP is available -command -v php > /dev/null || { - echo "can't find PHP binary" >&2 +find_php() { + AMP_PATHS=< /dev/null && { + echo $cmd + exit + } + done + exit 1 } +# Find a PHP binary +PHP=`find_php` +if [ $? -eq 0 ]; then + if [ "$PHP" != 'php' ]; then + echo "using non-default PHP CLI: $php" + fi +else + read -p "path to PHP CLI: " PHP +fi + mkdir -p ~/.composer cd ~/.composer # install Composer if [ ! -x composer.phar ]; then - curl -sS https://getcomposer.org/installer | php + curl -sS https://getcomposer.org/installer | $PHP fi # set up global composer.json file @@ -31,7 +63,7 @@ if [ ! -f composer.json ]; then EOB fi -COMPOSER="php composer.phar" +COMPOSER="$PHP composer.phar" # install wp-cli $COMPOSER require wp-cli/wp-cli=dev-master From edc67e008e3547b12da7d5a03db0101421d7b237 Mon Sep 17 00:00:00 2001 From: scribu Date: Wed, 8 May 2013 21:01:17 +0300 Subject: [PATCH 110/839] mention WP_CLI_PHP --- _includes/index.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/_includes/index.md b/_includes/index.md index fe7be226..32e76dd9 100644 --- a/_includes/index.md +++ b/_includes/index.md @@ -18,6 +18,12 @@ curl http://wp-cli.org/installer.sh | sh This will allow you to run `~/.composer/bin/wp`. +If you get a `using non-default PHP CLI:` message, you should save that path in your `.bash_profile` file: + +``` +export WP_CLI_PHP=/path/found/during/install +``` + If you want to be able to type just `wp`, add the following lines to your `.bash_profile` file: ``` From 429bae2cc2bf0f81bfe81d0cfa31978dfaae20af Mon Sep 17 00:00:00 2001 From: scribu Date: Wed, 8 May 2013 21:05:01 +0300 Subject: [PATCH 111/839] remove extra slash from PATH --- _includes/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/index.md b/_includes/index.md index 32e76dd9..3d527f95 100644 --- a/_includes/index.md +++ b/_includes/index.md @@ -28,7 +28,7 @@ If you want to be able to type just `wp`, add the following lines to your `.bash ``` # Composer scripts -PATH=$HOME/.composer/bin/:$PATH +PATH=$HOME/.composer/bin:$PATH # WP-CLI completions source $HOME/.composer/vendor/wp-cli/wp-cli/utils/wp-completion.bash From 218c32cf04cc53bdbae3e70d88ad3392afbbc4b8 Mon Sep 17 00:00:00 2001 From: scribu Date: Wed, 8 May 2013 23:31:32 +0300 Subject: [PATCH 112/839] bump required PHP version to 5.3.2, since that's what Composer needs --- _includes/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/index.md b/_includes/index.md index 3d527f95..69fbee30 100644 --- a/_includes/index.md +++ b/_includes/index.md @@ -3,7 +3,7 @@ Minimum Requirements ========== -You'll need **PHP 5.3** or later. +You'll need **PHP 5.3.2** or later. All WP-CLI commands are guaranteed to work with **WordPress 3.4** or later. Some commands, like `wp core update`, might work with older versions as well. From 8cb2188da74abcfacbee78b4bccb0e8a61d886b4 Mon Sep 17 00:00:00 2001 From: scribu Date: Thu, 9 May 2013 13:21:50 +0300 Subject: [PATCH 113/839] installer: use 'bash' instead of 'sh' In this day and age, bash is almost as ubiquituous as sh. --- _includes/index.md | 2 +- installer.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/_includes/index.md b/_includes/index.md index 69fbee30..80af8869 100644 --- a/_includes/index.md +++ b/_includes/index.md @@ -13,7 +13,7 @@ Installing Just execute the following command: ``` -curl http://wp-cli.org/installer.sh | sh +curl http://wp-cli.org/installer.sh | bash ``` This will allow you to run `~/.composer/bin/wp`. diff --git a/installer.sh b/installer.sh index 2ef45689..c1a69ba8 100755 --- a/installer.sh +++ b/installer.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env sh +#!/usr/bin/env bash set -e From 5aabe8e9e5a8231316264669efbc3a3021a715a2 Mon Sep 17 00:00:00 2001 From: scribu Date: Sun, 12 May 2013 21:18:26 +0300 Subject: [PATCH 114/839] Abort install if the `wp` command is already available see wp-cli/wp-cli#448 --- installer.sh | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/installer.sh b/installer.sh index c1a69ba8..6305b9c3 100755 --- a/installer.sh +++ b/installer.sh @@ -1,7 +1,5 @@ #!/usr/bin/env bash -set -e - find_php() { AMP_PATHS=<&2 + echo "installation aborted" 1>&2 + exit 1 + fi +fi + +set -e + # Find a PHP binary PHP=`find_php` if [ $? -eq 0 ]; then @@ -40,8 +52,8 @@ else read -p "path to PHP CLI: " PHP fi -mkdir -p ~/.composer -cd ~/.composer +mkdir -p $COMPOSER_DIR +cd $COMPOSER_DIR # install Composer if [ ! -x composer.phar ]; then From 5e36245bbb5342b06385b33db39e49ec6446d3e1 Mon Sep 17 00:00:00 2001 From: scribu Date: Sun, 12 May 2013 21:45:06 +0300 Subject: [PATCH 115/839] Allow users to continue with the installation, even when there's a global `wp` available. Example use-case: Dreamhost has wp-cli 0.7 installed globally and someone wants to install the latest version just for themselves. see wp-cli/wp-cli#448 --- installer.sh | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/installer.sh b/installer.sh index 6305b9c3..fa0e0aeb 100755 --- a/installer.sh +++ b/installer.sh @@ -34,9 +34,13 @@ COMPOSER_DIR=$HOME/.composer where=$(which wp) if [ $? -eq 0 ]; then if [ "$COMPOSER_DIR/bin/wp" != "$where" ]; then - echo "the \`wp\` command is already available elsewhere: $where" 1>&2 - echo "installation aborted" 1>&2 - exit 1 + echo "warning: the \`wp\` command is already available elsewhere: $where" 1>&2 + read -p "this installation will not overwrite it. continue? [y/n] " -n 1 -r + echo + if [[ ! $REPLY =~ ^[Yy]$ ]] + then + exit 1 + fi fi fi From 1fc61b56430db9434f661bdb12337343d19bcf20 Mon Sep 17 00:00:00 2001 From: scribu Date: Tue, 14 May 2013 12:27:57 +0300 Subject: [PATCH 116/839] revert 8bd31b800f0463c251e291bf7baa6eefe61a6e35 Github Pages just updated to Jekyll 1.0.2 --- index.html | 9 --------- _includes/index.md => index.md | 4 ++++ 2 files changed, 4 insertions(+), 9 deletions(-) delete mode 100644 index.html rename _includes/index.md => index.md (97%) diff --git a/index.html b/index.html deleted file mode 100644 index a539b8d9..00000000 --- a/index.html +++ /dev/null @@ -1,9 +0,0 @@ ---- -layout: default -title: Command line interface for WordPress ---- -{% capture content %} -{% include index.md %} -{% endcapture %} - -{{ content | markdownify }} diff --git a/_includes/index.md b/index.md similarity index 97% rename from _includes/index.md rename to index.md index 80af8869..8b156a10 100644 --- a/_includes/index.md +++ b/index.md @@ -1,3 +1,7 @@ +--- +layout: default +title: Command line interface for WordPress +--- **WP-CLI** is a set of command-line tools for managing [WordPress](http://wordpress.org) installations. You can update plugins, set up multisite installs, create posts and much more. Minimum Requirements From b3bb609bc450df48ff7ee2beb89e0388e4bd6895 Mon Sep 17 00:00:00 2001 From: scribu Date: Wed, 15 May 2013 23:48:47 +0300 Subject: [PATCH 117/839] fix case where php-cli isn't installed --- installer.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/installer.sh b/installer.sh index fa0e0aeb..a7f76355 100755 --- a/installer.sh +++ b/installer.sh @@ -25,7 +25,7 @@ EOB } done - exit 1 + return 1 } COMPOSER_DIR=$HOME/.composer @@ -44,8 +44,6 @@ if [ $? -eq 0 ]; then fi fi -set -e - # Find a PHP binary PHP=`find_php` if [ $? -eq 0 ]; then @@ -53,9 +51,11 @@ if [ $? -eq 0 ]; then echo "using non-default PHP CLI: $php" fi else - read -p "path to PHP CLI: " PHP + read -p "path to PHP binary: " PHP fi +set -e + mkdir -p $COMPOSER_DIR cd $COMPOSER_DIR From 1251cd40e42ad14732b128d397817afd6b290f88 Mon Sep 17 00:00:00 2001 From: scribu Date: Thu, 16 May 2013 03:06:21 +0300 Subject: [PATCH 118/839] fix message about non-default PHP and move it to the bottom --- installer.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/installer.sh b/installer.sh index a7f76355..171de18a 100755 --- a/installer.sh +++ b/installer.sh @@ -46,11 +46,7 @@ fi # Find a PHP binary PHP=`find_php` -if [ $? -eq 0 ]; then - if [ "$PHP" != 'php' ]; then - echo "using non-default PHP CLI: $php" - fi -else +if [ $? -gt 0 ]; then read -p "path to PHP binary: " PHP fi @@ -95,3 +91,7 @@ To test, run: ~/.composer/bin/wp --info EOB + +if [ "$PHP" != 'php' ]; then + echo "using non-default PHP CLI: $PHP" +fi From 7baab50843c7fcb4a0ad3178de30b66521f313bc Mon Sep 17 00:00:00 2001 From: scribu Date: Thu, 16 May 2013 03:44:31 +0300 Subject: [PATCH 119/839] check for WP_CLI_PHP env variable and validate it this also allows forcing a particular PHP binary --- installer.sh | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/installer.sh b/installer.sh index 171de18a..65110317 100755 --- a/installer.sh +++ b/installer.sh @@ -18,12 +18,7 @@ EOB fi done - for cmd in php php-cli; do - command -v $cmd > /dev/null && { - echo $cmd - exit - } - done + which php || which php-cli return 1 } @@ -45,19 +40,24 @@ if [ $? -eq 0 ]; then fi # Find a PHP binary -PHP=`find_php` -if [ $? -gt 0 ]; then - read -p "path to PHP binary: " PHP +if [ -z $WP_CLI_PHP ]; then + WP_CLI_PHP=`find_php` + if [ $? -gt 0 ]; then + read -p "path to PHP binary: " WP_CLI_PHP + fi +else + command -v $WP_CLI_PHP > /dev/null || { + echo "invalid PHP binary: $WP_CLI_PHP" 1>&2 + exit 1 + } fi -set -e - mkdir -p $COMPOSER_DIR cd $COMPOSER_DIR # install Composer if [ ! -x composer.phar ]; then - curl -sS https://getcomposer.org/installer | $PHP + curl -sS https://getcomposer.org/installer | $WP_CLI_PHP fi # set up global composer.json file @@ -75,7 +75,7 @@ if [ ! -f composer.json ]; then EOB fi -COMPOSER="$PHP composer.phar" +COMPOSER="$WP_CLI_PHP composer.phar" # install wp-cli $COMPOSER require wp-cli/wp-cli=dev-master @@ -90,8 +90,9 @@ WP-CLI files have been succesfully installed. To test, run: ~/.composer/bin/wp --info + EOB -if [ "$PHP" != 'php' ]; then - echo "using non-default PHP CLI: $PHP" +if [ $WP_CLI_PHP != $(which php) ]; then + echo "using non-default PHP binary: $WP_CLI_PHP" fi From d2b4ca1094a4f5c4aa874fb68a92a2cf34780c89 Mon Sep 17 00:00:00 2001 From: scribu Date: Thu, 16 May 2013 03:46:53 +0300 Subject: [PATCH 120/839] disable colors when installing Boris --- installer.sh | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/installer.sh b/installer.sh index 65110317..8aa1369d 100755 --- a/installer.sh +++ b/installer.sh @@ -77,11 +77,19 @@ fi COMPOSER="$WP_CLI_PHP composer.phar" -# install wp-cli -$COMPOSER require wp-cli/wp-cli=dev-master +command -v bin/wp > /dev/null || { + echo + echo "Installing the main WP-CLI package..." + echo "-------------------------------------" + $COMPOSER require wp-cli/wp-cli=dev-master +} -# try installing Boris -$COMPOSER require d11wtq/boris=dev-master || true +command -v bin/boris > /dev/null || { + echo + echo "Installing the Boris package..." + echo "-------------------------------" + $COMPOSER --no-ansi require d11wtq/boris=dev-master || true +} cat < Date: Thu, 16 May 2013 20:06:14 +0300 Subject: [PATCH 121/839] installer: add quotes around variables, in case they're empty --- installer.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installer.sh b/installer.sh index 8aa1369d..ba89dc0f 100755 --- a/installer.sh +++ b/installer.sh @@ -101,6 +101,6 @@ To test, run: EOB -if [ $WP_CLI_PHP != $(which php) ]; then +if [ "$WP_CLI_PHP" != "$(which php)" ]; then echo "using non-default PHP binary: $WP_CLI_PHP" fi From ca4028fd58ee00ce4cdac67108303825394b615b Mon Sep 17 00:00:00 2001 From: scribu Date: Thu, 16 May 2013 23:47:05 +0300 Subject: [PATCH 122/839] installer: return 1 only if the `which` calls fail --- installer.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/installer.sh b/installer.sh index ba89dc0f..733abb57 100755 --- a/installer.sh +++ b/installer.sh @@ -18,9 +18,7 @@ EOB fi done - which php || which php-cli - - return 1 + which php || which php-cli || return 1 } COMPOSER_DIR=$HOME/.composer From b53f9efcb774f3000e45a3157186cf7191dbcef1 Mon Sep 17 00:00:00 2001 From: scribu Date: Thu, 16 May 2013 20:22:45 +0300 Subject: [PATCH 123/839] `which` is not silent on Linux --- installer.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installer.sh b/installer.sh index 733abb57..93b5990d 100755 --- a/installer.sh +++ b/installer.sh @@ -24,7 +24,7 @@ EOB COMPOSER_DIR=$HOME/.composer # Abort install if wp-cli is already installed via ./utils/dev-build -where=$(which wp) +where=$(which wp 2>/dev/null) if [ $? -eq 0 ]; then if [ "$COMPOSER_DIR/bin/wp" != "$where" ]; then echo "warning: the \`wp\` command is already available elsewhere: $where" 1>&2 From babab072930db2f7503492c9257dbd11d8a35a39 Mon Sep 17 00:00:00 2001 From: scribu Date: Thu, 16 May 2013 20:22:07 +0300 Subject: [PATCH 124/839] allow setting the COMPOSER_DIR variable --- installer.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/installer.sh b/installer.sh index 93b5990d..8f686b9e 100755 --- a/installer.sh +++ b/installer.sh @@ -21,7 +21,9 @@ EOB which php || which php-cli || return 1 } -COMPOSER_DIR=$HOME/.composer +if [ -z $COMPOSER_DIR ]; then + COMPOSER_DIR=$HOME/.composer +fi # Abort install if wp-cli is already installed via ./utils/dev-build where=$(which wp 2>/dev/null) From e191b26b2e9369baf5c8dd9abacf95f3d59bb321 Mon Sep 17 00:00:00 2001 From: scribu Date: Thu, 16 May 2013 23:04:17 +0300 Subject: [PATCH 125/839] rename COMPOSER_DIR to INSTALL_DIR --- installer.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/installer.sh b/installer.sh index 8f686b9e..9d0435a3 100755 --- a/installer.sh +++ b/installer.sh @@ -21,14 +21,14 @@ EOB which php || which php-cli || return 1 } -if [ -z $COMPOSER_DIR ]; then - COMPOSER_DIR=$HOME/.composer +if [ -z $INSTALL_DIR ]; then + INSTALL_DIR=$HOME/.composer fi # Abort install if wp-cli is already installed via ./utils/dev-build where=$(which wp 2>/dev/null) if [ $? -eq 0 ]; then - if [ "$COMPOSER_DIR/bin/wp" != "$where" ]; then + if [ "$INSTALL_DIR/bin/wp" != "$where" ]; then echo "warning: the \`wp\` command is already available elsewhere: $where" 1>&2 read -p "this installation will not overwrite it. continue? [y/n] " -n 1 -r echo @@ -52,8 +52,8 @@ else } fi -mkdir -p $COMPOSER_DIR -cd $COMPOSER_DIR +mkdir -p $INSTALL_DIR +cd $INSTALL_DIR # install Composer if [ ! -x composer.phar ]; then @@ -97,7 +97,7 @@ WP-CLI files have been succesfully installed. To test, run: - ~/.composer/bin/wp --info + $INSTALL_DIR/bin/wp --info EOB From 7786a6995529df45409c0f96bd1fe95ee56b41ac Mon Sep 17 00:00:00 2001 From: scribu Date: Fri, 17 May 2013 14:20:13 +0300 Subject: [PATCH 126/839] add link to Alternative Install Methods --- index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/index.md b/index.md index 8b156a10..90735196 100644 --- a/index.md +++ b/index.md @@ -53,6 +53,8 @@ cd ~/.composer php composer.phar update ``` +Also see [Alternative Install Methods](https://github.com/wp-cli/wp-cli/wiki/Alternative-Install-Methods). + Using ===== From 56f3ce12f75ae6ed4f8fca3ed77f64a6245ac8b8 Mon Sep 17 00:00:00 2001 From: scribu Date: Sat, 18 May 2013 14:36:34 +0300 Subject: [PATCH 127/839] installer: add VERSION variable --- installer.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/installer.sh b/installer.sh index 9d0435a3..17ca31ee 100755 --- a/installer.sh +++ b/installer.sh @@ -25,6 +25,10 @@ if [ -z $INSTALL_DIR ]; then INSTALL_DIR=$HOME/.composer fi +if [ -z $VERSION ]; then + VERSION='dev-master' +fi + # Abort install if wp-cli is already installed via ./utils/dev-build where=$(which wp 2>/dev/null) if [ $? -eq 0 ]; then @@ -81,7 +85,7 @@ command -v bin/wp > /dev/null || { echo echo "Installing the main WP-CLI package..." echo "-------------------------------------" - $COMPOSER require wp-cli/wp-cli=dev-master + $COMPOSER require wp-cli/wp-cli="$VERSION" } command -v bin/boris > /dev/null || { From db1ec377edf6d6ea4adb7c83fa1cf007625e9e56 Mon Sep 17 00:00:00 2001 From: scribu Date: Mon, 20 May 2013 01:01:14 +0300 Subject: [PATCH 128/839] set paginate_path config var fixes #14 --- _config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/_config.yml b/_config.yml index cf171e3e..8186ed0b 100644 --- a/_config.yml +++ b/_config.yml @@ -5,5 +5,6 @@ markdown: redcarpet url: http://wp-cli.org permalink: /blog/:title.html paginate: 10 +paginate_path: /blog/page:num exclude: - Phakefile.php From 03d96e33c286c7628ac63124c802d0709ed93580 Mon Sep 17 00:00:00 2001 From: scribu Date: Sat, 1 Jun 2013 01:53:14 +0300 Subject: [PATCH 129/839] installer: remove confirmation when finding an existing install closes #15 --- installer.sh | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/installer.sh b/installer.sh index 17ca31ee..432535c8 100755 --- a/installer.sh +++ b/installer.sh @@ -29,20 +29,6 @@ if [ -z $VERSION ]; then VERSION='dev-master' fi -# Abort install if wp-cli is already installed via ./utils/dev-build -where=$(which wp 2>/dev/null) -if [ $? -eq 0 ]; then - if [ "$INSTALL_DIR/bin/wp" != "$where" ]; then - echo "warning: the \`wp\` command is already available elsewhere: $where" 1>&2 - read -p "this installation will not overwrite it. continue? [y/n] " -n 1 -r - echo - if [[ ! $REPLY =~ ^[Yy]$ ]] - then - exit 1 - fi - fi -fi - # Find a PHP binary if [ -z $WP_CLI_PHP ]; then WP_CLI_PHP=`find_php` From af5556845759d0ff844bf494df3ac119cd229450 Mon Sep 17 00:00:00 2001 From: scribu Date: Wed, 5 Jun 2013 04:11:15 +0300 Subject: [PATCH 130/839] installer: use composer --prefer-source 1. it's generally more stable (less errors from github or PHP) 2. faster upgrades, since git only downloads a compact diff --- installer.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installer.sh b/installer.sh index 432535c8..bdf66d0e 100755 --- a/installer.sh +++ b/installer.sh @@ -65,7 +65,7 @@ if [ ! -f composer.json ]; then EOB fi -COMPOSER="$WP_CLI_PHP composer.phar" +COMPOSER="$WP_CLI_PHP composer.phar --prefer-source" command -v bin/wp > /dev/null || { echo From d2148b1ebee0cecbc7def7c099398935d8ebd938 Mon Sep 17 00:00:00 2001 From: scribu Date: Wed, 5 Jun 2013 19:17:14 +0300 Subject: [PATCH 131/839] installer: quote variable tested by -z fixes wp-cli/wp-cli#490 --- installer.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/installer.sh b/installer.sh index bdf66d0e..52f1c952 100755 --- a/installer.sh +++ b/installer.sh @@ -21,16 +21,16 @@ EOB which php || which php-cli || return 1 } -if [ -z $INSTALL_DIR ]; then +if [ -z "$INSTALL_DIR" ]; then INSTALL_DIR=$HOME/.composer fi -if [ -z $VERSION ]; then +if [ -z "$VERSION" ]; then VERSION='dev-master' fi # Find a PHP binary -if [ -z $WP_CLI_PHP ]; then +if [ -z "$WP_CLI_PHP" ]; then WP_CLI_PHP=`find_php` if [ $? -gt 0 ]; then read -p "path to PHP binary: " WP_CLI_PHP From 0fabb75efe9e1e9f9539bd565d994efbaaa3ba48 Mon Sep 17 00:00:00 2001 From: scribu Date: Fri, 7 Jun 2013 19:40:40 +0300 Subject: [PATCH 132/839] remove mention of 'home' command --- _includes/cmd-list.html | 4 ---- 1 file changed, 4 deletions(-) diff --git a/_includes/cmd-list.html b/_includes/cmd-list.html index ecd4f497..3e4a83f8 100644 --- a/_includes/cmd-list.html +++ b/_includes/cmd-list.html @@ -38,10 +38,6 @@ help Get help on a certain topic. - - home - Open the wp-cli homepage in your browser. - media Control the media library and its attachments. From 23ce14ca718f073829372f4ee9fc5679469769a8 Mon Sep 17 00:00:00 2001 From: scribu Date: Fri, 7 Jun 2013 19:41:37 +0300 Subject: [PATCH 133/839] readme: update jekyll command --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9ac5037f..d59cfd5b 100644 --- a/README.md +++ b/README.md @@ -13,4 +13,4 @@ vendor/bin/phake path=/path/to/wp/install ### Preview locally 1. [Install Jekyll](https://github.com/mojombo/jekyll/wiki/install). -2. Run `jekyll --serve --auto` +2. Run `jekyll serve --watch` From 4d30938c6ba0f5c1e95fc0b2bb1c6aa0f1b84e75 Mon Sep 17 00:00:00 2001 From: scribu Date: Fri, 7 Jun 2013 19:42:18 +0300 Subject: [PATCH 134/839] exclude readme from built site --- _config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/_config.yml b/_config.yml index 8186ed0b..63e78d97 100644 --- a/_config.yml +++ b/_config.yml @@ -8,3 +8,4 @@ paginate: 10 paginate_path: /blog/page:num exclude: - Phakefile.php + - README.md From aaee8738b31b310a4528c60e2162852486a8426a Mon Sep 17 00:00:00 2001 From: scribu Date: Sun, 9 Jun 2013 01:19:22 +0300 Subject: [PATCH 135/839] fix some typografy issues --- assets/css/stylesheet.css | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 5c663190..b93dd6ec 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -87,8 +87,7 @@ footer { margin: 0; } -/* Main Content -*/ +/* Main Content */ #main_content { width: 100%; @@ -119,6 +118,8 @@ h1, h2, h3, h4, h5, h6 { #main_content h3 { font-size: 18px; + margin-top: 20px; + margin-bottom: -5px; } #main_content h4 { @@ -163,6 +164,11 @@ blockquote { border-left: 1px dotted #666; } +code { + font-family: monospace; + font-size: 17px; +} + pre { background: rgba(0, 0, 0, 0.9); border: 1px solid rgba(255, 255, 255, 0.15); From f45c5fe03a82dd9fcfe1520bf0ad501250a8f944 Mon Sep 17 00:00:00 2001 From: scribu Date: Sun, 9 Jun 2013 02:14:08 +0300 Subject: [PATCH 136/839] add background color to tags --- assets/css/stylesheet.css | 1 + 1 file changed, 1 insertion(+) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index b93dd6ec..34527e12 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -165,6 +165,7 @@ blockquote { } code { + background-color: #333; font-family: monospace; font-size: 17px; } From 61ede87ebe081332131d4f576733f707828b9c04 Mon Sep 17 00:00:00 2001 From: scribu Date: Sun, 9 Jun 2013 02:16:24 +0300 Subject: [PATCH 137/839] don't change background color of tags inside
 tags

---
 assets/css/stylesheet.css | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css
index 34527e12..4824dfcd 100644
--- a/assets/css/stylesheet.css
+++ b/assets/css/stylesheet.css
@@ -184,6 +184,10 @@ pre {
 	overflow-y: hidden;
 }
 
+pre code {
+	background-color: inherit;
+}
+
 table {
 	width: 100%;
 	margin: 0 0 20px 0;

From 063554fdb2b90fed1187cc18844150bb78d0b27c Mon Sep 17 00:00:00 2001
From: scribu 
Date: Sun, 9 Jun 2013 02:34:27 +0300
Subject: [PATCH 138/839] release version 0.10

---
 _posts/2013-06-08-version-0.10.md | 49 +++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)
 create mode 100644 _posts/2013-06-08-version-0.10.md

diff --git a/_posts/2013-06-08-version-0.10.md b/_posts/2013-06-08-version-0.10.md
new file mode 100644
index 00000000..23e88ed6
--- /dev/null
+++ b/_posts/2013-06-08-version-0.10.md
@@ -0,0 +1,49 @@
+---
+layout: post
+author: scribu
+title: Version 0.10 is out!
+---
+In the last two and a half months, we've added a ton of new features, fixed many bugs and improved our functional test suite.
+
+### New installer
+
+You can still install WP-CLI by cloning the git repo, but the preferred method is to use the installer, as described on the [front page](/).
+
+The main reason for using the installer is to be able to leverage the optional [Boris](https://github.com/d11wtq/boris/) package, for an enhanced [wp shell](/blog/wp-shell.html) experience.
+
+### Changelog
+
+Commands:
+
+* added `wp scaffold child-theme` subcommand
+* added `wp media import` subcommand
+* added `wp blog empty` subcommand
+* added `wp post get` subcommand
+* added `wp plugin list` and `wp theme list` subcommands
+* added `--extra-php` flag to `wp core config` subcommand
+* added `--label` option to `wp scaffold post-type` and `wp scaffold taxonomy`
+* added `--verbose` flag to `wp export` command
+* added `--fields` option to all `list` subcommands
+* removed `wp home` command
+* `wp search-replace`: added `--skip_columns` option; added `--network` flag; fixed a lot of bugs
+* `wp theme install`: fixed `--version` parameter being ignored
+* `wp core init-tests`: create the test database if necessary
+* `wp db`: ignore `~/.my.cnf` file when running subcommands
+* `wp db query`: read from STDIN if no parameter is passed
+
+Internals:
+
+* made it possible to call `wp` from subdirectories
+* set `WP_ADMIN` to true
+* improved Cygwin compatibility
+* replaced `--man` flag with `--help --gen`
+* converted `--json` to `--format=json` everywhere
+* show PHP errors only on STDERR
+
+You can also browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?milestone=9&state=closed) on Github.
+
+Contributors to this release: [cyberhobo](http://github.com/cyberhobo), [daithi-coombes](http://github.com/daithi-coombes), [danielbachhuber](http://github.com/danielbachhuber), [future500](http://github.com/future500), [glebis](http://github.com/glebis), [goldenapples](http://github.com/goldenapples), [j3lamp](http://github.com/j3lamp), [jmslbam](http://github.com/jmslbam), [mwilliamson](http://github.com/mwilliamson), [om4james](http://github.com/om4james), [scribu](http://github.com/scribu), [tlovett1](http://github.com/tlovett1), [tolgap](http://github.com/tolgap), [twisty](http://github.com/twisty), [westonruter](http://github.com/westonruter).
+
+### What's next?
+
+I foresee a comeback of community commands, but in a better form.

From e8fb907ea137a3e95b2d6bc9e490af892207483d Mon Sep 17 00:00:00 2001
From: scribu 
Date: Sun, 9 Jun 2013 15:01:14 +0300
Subject: [PATCH 139/839] installer: install only stable versions

see wp-cli/wp-cli#450
---
 installer.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/installer.sh b/installer.sh
index 52f1c952..be7c8c76 100755
--- a/installer.sh
+++ b/installer.sh
@@ -26,7 +26,7 @@ if [ -z "$INSTALL_DIR" ]; then
 fi
 
 if [ -z "$VERSION" ]; then
-	VERSION='dev-master'
+	VERSION='@stable'
 fi
 
 # Find a PHP binary

From 6f767fe3c7e17402480f830c4b482b27ea629831 Mon Sep 17 00:00:00 2001
From: scribu 
Date: Wed, 12 Jun 2013 17:12:11 +0300
Subject: [PATCH 140/839] move export instructions to installer

see wp-cli/wp-cli#516
---
 index.md     | 6 ------
 installer.sh | 8 ++++++--
 2 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/index.md b/index.md
index 90735196..3a46a65a 100644
--- a/index.md
+++ b/index.md
@@ -22,12 +22,6 @@ curl http://wp-cli.org/installer.sh | bash
 
 This will allow you to run `~/.composer/bin/wp`.
 
-If you get a `using non-default PHP CLI:` message, you should save that path in your `.bash_profile` file:
-
-```
-export WP_CLI_PHP=/path/found/during/install
-```
-
 If you want to be able to type just `wp`, add the following lines to your `.bash_profile` file:
 
 ```
diff --git a/installer.sh b/installer.sh
index be7c8c76..52ac6181 100755
--- a/installer.sh
+++ b/installer.sh
@@ -88,9 +88,13 @@ WP-CLI files have been succesfully installed.
 To test, run:
 
 	$INSTALL_DIR/bin/wp --info
-
 EOB
 
 if [ "$WP_CLI_PHP" != "$(which php)" ]; then
-	echo "using non-default PHP binary: $WP_CLI_PHP"
+	cat <
Date: Wed, 12 Jun 2013 17:24:09 +0300
Subject: [PATCH 141/839] installer: stop if Composer install fails

---
 installer.sh | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/installer.sh b/installer.sh
index 52ac6181..4182446c 100755
--- a/installer.sh
+++ b/installer.sh
@@ -48,6 +48,9 @@ cd $INSTALL_DIR
 # install Composer
 if [ ! -x composer.phar ]; then
 	curl -sS https://getcomposer.org/installer | $WP_CLI_PHP
+	if [ $? -gt 0 ]; then
+		exit 1
+	fi
 fi
 
 # set up global composer.json file

From caec477480e0500895d305ae1d6b7d2f834adc3a Mon Sep 17 00:00:00 2001
From: scribu 
Date: Thu, 13 Jun 2013 16:12:47 +0300
Subject: [PATCH 142/839] make Boris install less verbose

see wp-cli/wp-cli#516
---
 installer.sh | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/installer.sh b/installer.sh
index 4182446c..0529153f 100755
--- a/installer.sh
+++ b/installer.sh
@@ -79,9 +79,13 @@ command -v bin/wp > /dev/null || {
 
 command -v bin/boris > /dev/null || {
 	echo
-	echo "Installing the Boris package..."
-	echo "-------------------------------"
-	$COMPOSER --no-ansi require d11wtq/boris=dev-master || true
+	printf "Trying to install the optional Boris package... "
+	$COMPOSER --quiet require d11wtq/boris=dev-master 
+	if [ $? -gt 0 ]; then
+		echo "failed."
+	else
+		echo "done."
+	fi
 }
 
 cat <
Date: Sat, 15 Jun 2013 11:51:53 +0300
Subject: [PATCH 143/839] add post for version 0.10.1

---
 _posts/2013-06-15-version-0.10.1.md | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 _posts/2013-06-15-version-0.10.1.md

diff --git a/_posts/2013-06-15-version-0.10.1.md b/_posts/2013-06-15-version-0.10.1.md
new file mode 100644
index 00000000..121168f2
--- /dev/null
+++ b/_posts/2013-06-15-version-0.10.1.md
@@ -0,0 +1,20 @@
+---
+layout: post
+author: scribu
+title: Version 0.10.1 released
+---
+This is a minor, bugxfix-only release.
+
+### Changelog
+
+Commands:
+
+* improved `--version` handling for `wp plugin` and `wp theme` subcommands
+* updated man page for `wp post get`
+* improved `.travis.xml` file generated by `wp scaffold plugin-tests`
+
+Internals:
+
+* show warning if a URL redirect is attempted while using WP-CLI
+
+You can also browse the list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?milestone=11&state=closed) on Github.

From 9099624de18aecdd49a39ccb050a9490621dd24f Mon Sep 17 00:00:00 2001
From: scribu 
Date: Sat, 15 Jun 2013 11:54:52 +0300
Subject: [PATCH 144/839] ignore _drafts dir

---
 .gitignore | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.gitignore b/.gitignore
index c7603137..d82d65ac 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@ _site
 
 composer.lock
 vendor
+_drafts/

From a2379aa627eb271bfd73c94ee33a82d9007411b9 Mon Sep 17 00:00:00 2001
From: Tamlyn Rhodes 
Date: Sat, 15 Jun 2013 23:57:02 +0200
Subject: [PATCH 145/839] Bug fix for home directories with spaces

My home dir on Windows has a space in it so when I run the install script (in Git Bash) WP-CLI gets dumped into a weird location.

Change not tested on *nix.
---
 installer.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/installer.sh b/installer.sh
index 0529153f..856d1071 100755
--- a/installer.sh
+++ b/installer.sh
@@ -42,8 +42,8 @@ else
 	}
 fi
 
-mkdir -p $INSTALL_DIR
-cd $INSTALL_DIR
+mkdir -p "$INSTALL_DIR"
+cd "$INSTALL_DIR"
 
 # install Composer
 if [ ! -x composer.phar ]; then

From 5a8f3c8a34fac3a2dd474e4f8103c799c4c5196a Mon Sep 17 00:00:00 2001
From: scribu 
Date: Sun, 16 Jun 2013 17:12:31 +0300
Subject: [PATCH 146/839] installer: download stable versions of Boris

---
 installer.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/installer.sh b/installer.sh
index 856d1071..1f201d66 100755
--- a/installer.sh
+++ b/installer.sh
@@ -80,7 +80,7 @@ command -v bin/wp > /dev/null || {
 command -v bin/boris > /dev/null || {
 	echo
 	printf "Trying to install the optional Boris package... "
-	$COMPOSER --quiet require d11wtq/boris=dev-master 
+	$COMPOSER --quiet require 'd11wtq/boris=@stable'
 	if [ $? -gt 0 ]; then
 		echo "failed."
 	else

From 84d3a4dad5f90cbbc77be644549ef5f74df48967 Mon Sep 17 00:00:00 2001
From: scribu 
Date: Wed, 19 Jun 2013 17:33:30 +0300
Subject: [PATCH 147/839] make it clearer that bash completions don't work in
 ZSH

see wp-cli/wp-cli#518
---
 index.md | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/index.md b/index.md
index 3a46a65a..e4ad4d5d 100644
--- a/index.md
+++ b/index.md
@@ -27,8 +27,12 @@ If you want to be able to type just `wp`, add the following lines to your `.bash
 ```
 # Composer scripts
 PATH=$HOME/.composer/bin:$PATH
+```
+
+If you're using Bash (patches welcome for [ZSH support](https://github.com/wp-cli/wp-cli/issues/518)), you can enable autocomplete for WP-CLI commands and subcommands:
 
-# WP-CLI completions
+```
+# WP-CLI Bash completions
 source $HOME/.composer/vendor/wp-cli/wp-cli/utils/wp-completion.bash
 ```
 

From 6c919d6f08823db6bf39a5da7dab4c5559fe7d27 Mon Sep 17 00:00:00 2001
From: scribu 
Date: Wed, 19 Jun 2013 17:48:36 +0300
Subject: [PATCH 148/839] add instructions for Zsh users

closes wp-cli/wp-cli#518
---
 index.md | 22 ++++++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)

diff --git a/index.md b/index.md
index e4ad4d5d..0fd17554 100644
--- a/index.md
+++ b/index.md
@@ -29,19 +29,37 @@ If you want to be able to type just `wp`, add the following lines to your `.bash
 PATH=$HOME/.composer/bin:$PATH
 ```
 
-If you're using Bash (patches welcome for [ZSH support](https://github.com/wp-cli/wp-cli/issues/518)), you can enable autocomplete for WP-CLI commands and subcommands:
+### Autocomplete
+WP-CLI comes with an autocomplete script for commands and subcommands.
+
+If you're using Bash, add the following lines to `~/.bash_profile`:
 
 ```
 # WP-CLI Bash completions
 source $HOME/.composer/vendor/wp-cli/wp-cli/utils/wp-completion.bash
 ```
 
-Finally, reload the file:
+And re-load the file:
 
 ```
 source ~/.bash_profile
 ```
 
+If you're using Zsh, add the following lines to `~/.zprofile`:
+
+```
+# WP-CLI Bash completions
+autoload bashcompinit
+bashcompinit
+source $HOME/.composer/vendor/wp-cli/wp-cli/utils/wp-completion.bash
+```
+
+And re-load the file:
+
+```
+source ~/.zprofile
+```
+
 ### Updating
 
 If you installed WP-CLI using the method above, you can also easily update it:

From 51ef69950127a5cbae05b0412b8218f5007162b9 Mon Sep 17 00:00:00 2001
From: scribu 
Date: Wed, 19 Jun 2013 20:34:19 +0300
Subject: [PATCH 149/839] installer: fix *AMP discovery

1. the AMP_PATHS variable wasn't properly initialized, hence `read`
2. the wildcard expansion yielded the php5.2 directory first, so we just
skip it
---
 installer.sh | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/installer.sh b/installer.sh
index 1f201d66..ef44b2a4 100755
--- a/installer.sh
+++ b/installer.sh
@@ -1,17 +1,19 @@
 #!/usr/bin/env bash
 
 find_php() {
-	AMP_PATHS=<
Date: Thu, 20 Jun 2013 00:36:17 +0300
Subject: [PATCH 150/839] add 'id' attributes to headers, for linking

---
 index.md | 23 +++++++++--------------
 1 file changed, 9 insertions(+), 14 deletions(-)

diff --git a/index.md b/index.md
index 0fd17554..23c5b10b 100644
--- a/index.md
+++ b/index.md
@@ -4,15 +4,13 @@ title: Command line interface for WordPress
 ---
 **WP-CLI** is a set of command-line tools for managing [WordPress](http://wordpress.org) installations. You can update plugins, set up multisite installs, create posts and much more.
 
-Minimum Requirements
-==========
+

Minimum Requirements

You'll need **PHP 5.3.2** or later. All WP-CLI commands are guaranteed to work with **WordPress 3.4** or later. Some commands, like `wp core update`, might work with older versions as well. -Installing -========== +

Installing

Just execute the following command: @@ -29,7 +27,8 @@ If you want to be able to type just `wp`, add the following lines to your `.bash PATH=$HOME/.composer/bin:$PATH ``` -### Autocomplete +

Autocomplete

+ WP-CLI comes with an autocomplete script for commands and subcommands. If you're using Bash, add the following lines to `~/.bash_profile`: @@ -60,7 +59,7 @@ And re-load the file: source ~/.zprofile ``` -### Updating +

Updating

If you installed WP-CLI using the method above, you can also easily update it: @@ -71,8 +70,7 @@ php composer.phar update Also see [Alternative Install Methods](https://github.com/wp-cli/wp-cli/wiki/Alternative-Install-Methods). -Using -===== +

Using

Go into a WordPress root folder: @@ -112,8 +110,7 @@ Installing the plugin ... Plugin installed successfully. ``` -Multisite ---------- +

Multisite

On a multisite installation, you need to pass a `--url` parameter, so that wp-cli knows which site it's supposed to be operating on: @@ -139,16 +136,14 @@ Then, you can call `wp` without the `--url` parameter again: wp theme status ``` -Adding commands -=============== +

Adding commands

Adding commands to wp-cli is very easy. You can even add them from within your own plugin. You can find more information about adding commands in the [Commands Cookbook](https://github.com/wp-cli/wp-cli/wiki/Commands-Cookbook) on our Wiki. **Please share the commands you make, issue a pull request to get them included in wp-cli by default.** -Contributors ------------- +

Contributors

- [Contributor list](https://github.com/wp-cli/wp-cli/contributors) - [Contributor guide](https://github.com/wp-cli/wp-cli/blob/master/CONTRIBUTING.md) From 8067ffec352545fa2a57e53f4e5f5b3030ac165f Mon Sep 17 00:00:00 2001 From: scribu Date: Thu, 20 Jun 2013 00:38:47 +0300 Subject: [PATCH 151/839] emphasize shell types --- index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.md b/index.md index 23c5b10b..b3f33e21 100644 --- a/index.md +++ b/index.md @@ -31,7 +31,7 @@ PATH=$HOME/.composer/bin:$PATH WP-CLI comes with an autocomplete script for commands and subcommands. -If you're using Bash, add the following lines to `~/.bash_profile`: +If you're using **Bash**, add the following lines to `~/.bash_profile`: ``` # WP-CLI Bash completions @@ -44,7 +44,7 @@ And re-load the file: source ~/.bash_profile ``` -If you're using Zsh, add the following lines to `~/.zprofile`: +If you're using **Zsh**, add the following lines to `~/.zprofile`: ``` # WP-CLI Bash completions From e650aceddbe00deb3ae31493b7912f89ebeb8176 Mon Sep 17 00:00:00 2001 From: scribu Date: Thu, 20 Jun 2013 00:42:20 +0300 Subject: [PATCH 152/839] better describe autocompletion capabilities --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index b3f33e21..da544aa8 100644 --- a/index.md +++ b/index.md @@ -29,7 +29,7 @@ PATH=$HOME/.composer/bin:$PATH

Autocomplete

-WP-CLI comes with an autocomplete script for commands and subcommands. +WP-CLI comes with an autocomplete script for command, subcommand and flag names. If you're using **Bash**, add the following lines to `~/.bash_profile`: From ef0520db2765215f010615e9212404b162919bfe Mon Sep 17 00:00:00 2001 From: scribu Date: Thu, 20 Jun 2013 00:44:33 +0300 Subject: [PATCH 153/839] s/autocomplete/tab completion/ --- index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.md b/index.md index da544aa8..450a87d7 100644 --- a/index.md +++ b/index.md @@ -27,9 +27,9 @@ If you want to be able to type just `wp`, add the following lines to your `.bash PATH=$HOME/.composer/bin:$PATH ``` -

Autocomplete

+

Tab completions

-WP-CLI comes with an autocomplete script for command, subcommand and flag names. +WP-CLI comes with a tab completion script for command, subcommand and flag names. If you're using **Bash**, add the following lines to `~/.bash_profile`: From 4306cfc9e5846eab1eefc9d6f7df17135c427243 Mon Sep 17 00:00:00 2001 From: scribu Date: Thu, 20 Jun 2013 00:46:54 +0300 Subject: [PATCH 154/839] s/#autocomplete/#complete/ --- index.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/index.md b/index.md index 450a87d7..31ad27a3 100644 --- a/index.md +++ b/index.md @@ -27,7 +27,8 @@ If you want to be able to type just `wp`, add the following lines to your `.bash PATH=$HOME/.composer/bin:$PATH ``` -

Tab completions

+ +

Tab completions

WP-CLI comes with a tab completion script for command, subcommand and flag names. From b277088cb058f3049e4afefefa0834201beab79b Mon Sep 17 00:00:00 2001 From: scribu Date: Sat, 22 Jun 2013 19:06:37 +0300 Subject: [PATCH 155/839] add UNIX-like environment as a requirement --- index.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/index.md b/index.md index 31ad27a3..f3481c64 100644 --- a/index.md +++ b/index.md @@ -4,11 +4,11 @@ title: Command line interface for WordPress --- **WP-CLI** is a set of command-line tools for managing [WordPress](http://wordpress.org) installations. You can update plugins, set up multisite installs, create posts and much more. -

Minimum Requirements

+

Requirements

-You'll need **PHP 5.3.2** or later. - -All WP-CLI commands are guaranteed to work with **WordPress 3.4** or later. Some commands, like `wp core update`, might work with older versions as well. +* UNIX-like environment (OS X, Linux, FreeBSD, Cygwin) +* PHP 5.3.2 or later +* WordPress 3.4 or later

Installing

From 0d3499a25c02a4313a5916feff5086549c53ec02 Mon Sep 17 00:00:00 2001 From: scribu Date: Sat, 22 Jun 2013 19:11:03 +0300 Subject: [PATCH 156/839] mention that WP-CLI doesn't need a web browser --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index f3481c64..3097dbf3 100644 --- a/index.md +++ b/index.md @@ -2,7 +2,7 @@ layout: default title: Command line interface for WordPress --- -**WP-CLI** is a set of command-line tools for managing [WordPress](http://wordpress.org) installations. You can update plugins, set up multisite installs, create posts and much more. +**WP-CLI** is a set of command-line tools for managing [WordPress](http://wordpress.org) installations. You can update plugins, set up multisite installs and much more, without using a web browser.

Requirements

From 135fd9476106e400715b0cc6e8d52e8c698977ef Mon Sep 17 00:00:00 2001 From: scribu Date: Sat, 22 Jun 2013 19:59:22 +0300 Subject: [PATCH 157/839] mention the terminal --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index 3097dbf3..ec5b1db3 100644 --- a/index.md +++ b/index.md @@ -12,7 +12,7 @@ title: Command line interface for WordPress

Installing

-Just execute the following command: +Just execute the following command in your terminal: ``` curl http://wp-cli.org/installer.sh | bash From 1f8fb1df096af2ef4502e544d257f72771547222 Mon Sep 17 00:00:00 2001 From: scribu Date: Sat, 22 Jun 2013 20:05:19 +0300 Subject: [PATCH 158/839] fix HTML encoding --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index ec5b1db3..b3b41b4b 100644 --- a/index.md +++ b/index.md @@ -91,7 +91,7 @@ Available commands: wp eval-file ... -See 'wp help <command>' for more information on a specific command. +See 'wp help ' for more information on a specific command. ``` Let's try to install the Hello Dolly plugin from wordpress.org: From 2febda6cb6cf57c26f96a17671c46d1d340dfeae Mon Sep 17 00:00:00 2001 From: scribu Date: Sat, 22 Jun 2013 20:10:30 +0300 Subject: [PATCH 159/839] branding: WP-CLI, not wp-cli --- Phakefile.php | 2 +- _posts/2012-09-05-version-0.6.md | 4 ++-- index.md | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Phakefile.php b/Phakefile.php index 2fd4a55f..40dc3503 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -8,7 +8,7 @@ function invoke_wp_cli( $cmd, $app ) { $json = ob_get_clean(); if ( $return_code ) { - echo "wp-cli returned error code: $return_code\n"; + echo "WP-CLI returned error code: $return_code\n"; exit(1); } diff --git a/_posts/2012-09-05-version-0.6.md b/_posts/2012-09-05-version-0.6.md index 616ad6ce..c81ba00a 100644 --- a/_posts/2012-09-05-version-0.6.md +++ b/_posts/2012-09-05-version-0.6.md @@ -32,7 +32,7 @@ An interesting but easily overlooked feature is the new `--require` global param } } -Now, where do you put this code, so that wp-cli can reach it? You could put it in a plugin, but if you have multiple WP installations, you'd have to install that plugin on each one. You could put it inside one of the wp-cli directories, but that creates problems when you want to update. Here's what you could do instead: +Now, where do you put this code, so that WP-CLI can reach it? You could put it in a plugin, but if you have multiple WP installations, you'd have to install that plugin on each one. You could put it inside one of the WP-CLI directories, but that creates problems when you want to update. Here's what you could do instead: wp --require=/path/to/chores.php chores do_laundry @@ -44,7 +44,7 @@ The help system has been improved. When you do `wp help core config`, an actual ![wp-cli man-page](/assets/img/wp-cli-man-page.png) -Unfortunately, this doesn't work if you install wp-cli via the PEAR package, because PEAR doesn't know how to handle them. :( +Unfortunately, this doesn't work if you install WP-CLI via the PEAR package, because PEAR doesn't know how to handle them. :( ### The Changelog diff --git a/index.md b/index.md index b3b41b4b..426dc13d 100644 --- a/index.md +++ b/index.md @@ -113,7 +113,7 @@ Plugin installed successfully.

Multisite

-On a multisite installation, you need to pass a `--url` parameter, so that wp-cli knows which site it's supposed to be operating on: +On a multisite installation, you need to pass a `--url` parameter, so that WP-CLI knows which site it's supposed to be operating on: ``` wp theme status --url=localhost/wp/test From 92e449d173aef20daa5443c60afd8d71aa270061 Mon Sep 17 00:00:00 2001 From: scribu Date: Sat, 22 Jun 2013 20:13:23 +0300 Subject: [PATCH 160/839] add link to twitter account; rename 'Source' to 'Github' --- _includes/header.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/_includes/header.html b/_includes/header.html index e0ce8199..8ce2453d 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -24,8 +24,9 @@

A command line interface for WordPress

Commands Configuration Blog - Source Wiki + Github + Twitter
From 3249e2d6cfce7e37dd5473bc243faa24e9a872b0 Mon Sep 17 00:00:00 2001 From: scribu Date: Wed, 26 Jun 2013 12:57:13 +0300 Subject: [PATCH 161/839] add post for version 0.10.2 --- _posts/2013-06-26-version-0.10.2.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 _posts/2013-06-26-version-0.10.2.md diff --git a/_posts/2013-06-26-version-0.10.2.md b/_posts/2013-06-26-version-0.10.2.md new file mode 100644 index 00000000..207b3378 --- /dev/null +++ b/_posts/2013-06-26-version-0.10.2.md @@ -0,0 +1,19 @@ +--- +layout: post +author: scribu +title: Version 0.10.2 released +--- +This is a minor release, mainly meant to fix a dependency issue. + +### Changelog + +Commands: + +* when using `--format=json`, show warning if the value is not a valid JSON string +* updated man page for `wp core install-network` and other man page fixes + +Internals: + +* fix required version for php-cli-tools package + +You can also browse the list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?milestone=12&state=closed) on Github. From cae2dcf49a998fe6d0b969fef5709406c4f8825f Mon Sep 17 00:00:00 2001 From: scribu Date: Thu, 27 Jun 2013 22:04:05 +0300 Subject: [PATCH 162/839] mention the list of community commands --- index.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/index.md b/index.md index 426dc13d..bcfab529 100644 --- a/index.md +++ b/index.md @@ -139,10 +139,9 @@ wp theme status

Adding commands

-Adding commands to wp-cli is very easy. You can even add them from within your own plugin. -You can find more information about adding commands in the [Commands Cookbook](https://github.com/wp-cli/wp-cli/wiki/Commands-Cookbook) on our Wiki. +Adding commands to WP-CLI is as easy as creating a PHP class. See the [Commands Cookbook](https://github.com/wp-cli/wp-cli/wiki/Commands-Cookbook) for more info. -**Please share the commands you make, issue a pull request to get them included in wp-cli by default.** +Please share the commands you make by adding them to the [List of community commands](https://github.com/wp-cli/wp-cli/wiki/List-of-community-commands).

Contributors

From 9cbf91a084b269c747a4be3e1ba36222476a0997 Mon Sep 17 00:00:00 2001 From: scribu Date: Thu, 27 Jun 2013 22:06:11 +0300 Subject: [PATCH 163/839] branding: WP-CLI --- _includes/header.html | 4 ++-- _posts/2012-11-05-new-home.md | 2 +- _posts/2012-11-10-wp-shell.md | 2 +- _posts/2013-02-19-plugin-unit-tests.md | 2 +- atom.xml | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/_includes/header.html b/_includes/header.html index 8ce2453d..5c1c307b 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -10,14 +10,14 @@ - {{ page.title }} | wp-cli + {{ page.title }} | WP-CLI
-

wp-cli

+

WP-CLI

A command line interface for WordPress

diff --git a/_posts/2012-11-05-new-home.md b/_posts/2012-11-05-new-home.md index 2ae059d7..c617d93d 100644 --- a/_posts/2012-11-05-new-home.md +++ b/_posts/2012-11-05-new-home.md @@ -4,7 +4,7 @@ title: New Home author: scribu --- -Welcome to the new website for the wp-cli project! +Welcome to the new website for the WP-CLI project! wp-cli already has a public [code repository](https://github.com/wp-cli/wp-cli), an [issue tracker](https://github.com/wp-cli/wp-cli/issues) and a [wiki](https://github.com/wp-cli/wp-cli/wiki). The only thing that was missing was a blog for publishing release notes and other news. diff --git a/_posts/2012-11-10-wp-shell.md b/_posts/2012-11-10-wp-shell.md index db6be2af..cb478d35 100644 --- a/_posts/2012-11-10-wp-shell.md +++ b/_posts/2012-11-10-wp-shell.md @@ -4,7 +4,7 @@ title: Interactive WordPress Debugging author: scribu --- -A new command [landed](https://github.com/wp-cli/wp-cli/pull/89) in wp-cli a few days ago, called `shell`. It was inspired by an older project called [wpshell](http://code.trac.wordpress.org/browser/wpshell). +A new command [landed](https://github.com/wp-cli/wp-cli/pull/89) in WP-CLI a few days ago, called `shell`. It was inspired by an older project called [wpshell](http://code.trac.wordpress.org/browser/wpshell). When you run `wp shell`, a REPL will start, in which you can run any WordPress function. diff --git a/_posts/2013-02-19-plugin-unit-tests.md b/_posts/2013-02-19-plugin-unit-tests.md index 9d391ecd..5a3c9c4d 100644 --- a/_posts/2013-02-19-plugin-unit-tests.md +++ b/_posts/2013-02-19-plugin-unit-tests.md @@ -5,7 +5,7 @@ author: scribu --- One of the reasons so few people take the time to write [unit tests for plugins][3] they write is that it's a chore to set everything up. You need to install [PHPUnit][4], the [WordPress testing library][5], as well as the actual plugin tests configuration files. -If you're running wp-cli 0.9.0-alpha2 or later, there are a few commands that make this significantly easier: +If you're running WP-CLI 0.9.0-alpha2 or later, there are a few commands that make this significantly easier: wp core init-tests diff --git a/atom.xml b/atom.xml index c066ebf9..c29429ab 100644 --- a/atom.xml +++ b/atom.xml @@ -4,7 +4,7 @@ layout: nil - wp-cli + WP-CLI {{ site.time | date_to_xmlschema }} From b8801185448d0b7332fa5df025b9fc812ea6a932 Mon Sep 17 00:00:00 2001 From: scribu Date: Mon, 1 Jul 2013 03:16:03 +0200 Subject: [PATCH 164/839] installer: generate composer.json using `composer init` --- installer.sh | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/installer.sh b/installer.sh index ef44b2a4..b28f4f86 100755 --- a/installer.sh +++ b/installer.sh @@ -55,34 +55,26 @@ if [ ! -x composer.phar ]; then fi fi +COMPOSER="$WP_CLI_PHP composer.phar" + # set up global composer.json file if [ ! -f composer.json ]; then - cat > composer.json < /dev/null || { echo echo "Installing the main WP-CLI package..." echo "-------------------------------------" - $COMPOSER require wp-cli/wp-cli="$VERSION" + $COMPOSER require --prefer-source wp-cli/wp-cli="$VERSION" } command -v bin/boris > /dev/null || { echo printf "Trying to install the optional Boris package... " - $COMPOSER --quiet require 'd11wtq/boris=@stable' + $COMPOSER --quiet require --prefer-source 'd11wtq/boris=@stable' if [ $? -gt 0 ]; then echo "failed." else From 6b5806240ef6017d7ee50e9d7f50e76a5ad84f86 Mon Sep 17 00:00:00 2001 From: scribu Date: Sat, 6 Jul 2013 18:11:09 +0200 Subject: [PATCH 165/839] move PATH editing to installer --- index.md | 9 +-------- installer.sh | 15 ++++++++++----- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/index.md b/index.md index bcfab529..65e5f3ce 100644 --- a/index.md +++ b/index.md @@ -18,14 +18,7 @@ Just execute the following command in your terminal: curl http://wp-cli.org/installer.sh | bash ``` -This will allow you to run `~/.composer/bin/wp`. - -If you want to be able to type just `wp`, add the following lines to your `.bash_profile` file: - -``` -# Composer scripts -PATH=$HOME/.composer/bin:$PATH -``` +Make sure to read the instructions.

Tab completions

diff --git a/installer.sh b/installer.sh index b28f4f86..c25761a5 100755 --- a/installer.sh +++ b/installer.sh @@ -49,6 +49,8 @@ cd "$INSTALL_DIR" # install Composer if [ ! -x composer.phar ]; then + echo "Installing Composer..." + echo "----------------------" curl -sS https://getcomposer.org/installer | $WP_CLI_PHP if [ $? -gt 0 ]; then exit 1 @@ -69,6 +71,8 @@ command -v bin/wp > /dev/null || { echo "Installing the main WP-CLI package..." echo "-------------------------------------" $COMPOSER require --prefer-source wp-cli/wp-cli="$VERSION" + echo + echo "WP-CLI files have been succesfully installed." } command -v bin/boris > /dev/null || { @@ -84,18 +88,19 @@ command -v bin/boris > /dev/null || { cat < Date: Sat, 6 Jul 2013 18:12:27 +0200 Subject: [PATCH 166/839] Change default install dir from ~/.composer to ~/.wp-cli We don't want to mix with other Composer packages that the user might want to install globally. --- index.md | 6 +++--- installer.sh | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/index.md b/index.md index 65e5f3ce..f767cb63 100644 --- a/index.md +++ b/index.md @@ -29,7 +29,7 @@ If you're using **Bash**, add the following lines to `~/.bash_profile`: ``` # WP-CLI Bash completions -source $HOME/.composer/vendor/wp-cli/wp-cli/utils/wp-completion.bash +source $HOME/.wp-cli/vendor/wp-cli/wp-cli/utils/wp-completion.bash ``` And re-load the file: @@ -44,7 +44,7 @@ If you're using **Zsh**, add the following lines to `~/.zprofile`: # WP-CLI Bash completions autoload bashcompinit bashcompinit -source $HOME/.composer/vendor/wp-cli/wp-cli/utils/wp-completion.bash +source $HOME/.wp-cli/vendor/wp-cli/wp-cli/utils/wp-completion.bash ``` And re-load the file: @@ -58,7 +58,7 @@ source ~/.zprofile If you installed WP-CLI using the method above, you can also easily update it: ``` -cd ~/.composer +cd ~/.wp-cli php composer.phar update ``` diff --git a/installer.sh b/installer.sh index c25761a5..8c2b741d 100755 --- a/installer.sh +++ b/installer.sh @@ -24,7 +24,7 @@ EOB } if [ -z "$INSTALL_DIR" ]; then - INSTALL_DIR=$HOME/.composer + INSTALL_DIR=$HOME/.wp-cli fi if [ -z "$VERSION" ]; then From 5f5b02b13615f396771f327fd60d70e6d9941a31 Mon Sep 17 00:00:00 2001 From: scribu Date: Tue, 9 Jul 2013 18:23:25 +0300 Subject: [PATCH 167/839] installer: show destination dir before proceeding --- installer.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/installer.sh b/installer.sh index 8c2b741d..7c8772eb 100755 --- a/installer.sh +++ b/installer.sh @@ -49,8 +49,8 @@ cd "$INSTALL_DIR" # install Composer if [ ! -x composer.phar ]; then - echo "Installing Composer..." - echo "----------------------" + echo "Installing Composer in $INSTALL_DIR" + echo "-------------------" curl -sS https://getcomposer.org/installer | $WP_CLI_PHP if [ $? -gt 0 ]; then exit 1 @@ -68,8 +68,8 @@ fi command -v bin/wp > /dev/null || { echo - echo "Installing the main WP-CLI package..." - echo "-------------------------------------" + echo "Installing WP-CLI in $INSTALL_DIR" + echo "-----------------" $COMPOSER require --prefer-source wp-cli/wp-cli="$VERSION" echo echo "WP-CLI files have been succesfully installed." From bf21305b63655e50ec047beb469d2173b9edf229 Mon Sep 17 00:00:00 2001 From: scribu Date: Wed, 10 Jul 2013 11:27:51 +0300 Subject: [PATCH 168/839] avoid repetition --- _posts/2013-02-19-plugin-unit-tests.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2013-02-19-plugin-unit-tests.md b/_posts/2013-02-19-plugin-unit-tests.md index 5a3c9c4d..2e2c8935 100644 --- a/_posts/2013-02-19-plugin-unit-tests.md +++ b/_posts/2013-02-19-plugin-unit-tests.md @@ -3,7 +3,7 @@ layout: post title: Easily Set Up Unit Tests For Your Plugin author: scribu --- -One of the reasons so few people take the time to write [unit tests for plugins][3] they write is that it's a chore to set everything up. You need to install [PHPUnit][4], the [WordPress testing library][5], as well as the actual plugin tests configuration files. +One of the reasons so few people take the time to write [unit tests for plugins][3] they author is that it's a chore to set everything up. You need to install [PHPUnit][4], the [WordPress testing library][5], as well as the actual plugin tests configuration files. If you're running WP-CLI 0.9.0-alpha2 or later, there are a few commands that make this significantly easier: From 7f2f618cc6c4fd75935b281326f9003743ece158 Mon Sep 17 00:00:00 2001 From: scribu Date: Fri, 12 Jul 2013 00:57:58 +0300 Subject: [PATCH 169/839] clarify that PHPUnit still needs to be installed manually --- _posts/2013-02-19-plugin-unit-tests.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2013-02-19-plugin-unit-tests.md b/_posts/2013-02-19-plugin-unit-tests.md index 2e2c8935..cce3ab92 100644 --- a/_posts/2013-02-19-plugin-unit-tests.md +++ b/_posts/2013-02-19-plugin-unit-tests.md @@ -3,9 +3,9 @@ layout: post title: Easily Set Up Unit Tests For Your Plugin author: scribu --- -One of the reasons so few people take the time to write [unit tests for plugins][3] they author is that it's a chore to set everything up. You need to install [PHPUnit][4], the [WordPress testing library][5], as well as the actual plugin tests configuration files. +One of the reasons so few people take the time to write [unit tests for plugins][3] they author is that it's a chore to set everything up. Besides installing [PHPUnit][4], you also have to set up the [WordPress testing library][5], as well as the actual plugin tests configuration files. -If you're running WP-CLI 0.9.0-alpha2 or later, there are a few commands that make this significantly easier: +If you're running WP-CLI 0.9.0-alpha2 or later, there are commands that make the last two steps significantly easier: wp core init-tests From b2909a924bb3887cbafef9f4b30c2a4dd96cdea7 Mon Sep 17 00:00:00 2001 From: scribu Date: Mon, 15 Jul 2013 04:06:47 +0300 Subject: [PATCH 170/839] enable the WP-CLI package index by default --- installer.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/installer.sh b/installer.sh index 7c8772eb..0a35af1e 100755 --- a/installer.sh +++ b/installer.sh @@ -64,6 +64,7 @@ if [ ! -f composer.json ]; then $COMPOSER init --stability dev --no-interaction $COMPOSER config bin-dir bin $COMPOSER config vendor-dir vendor + $COMPOSER config repositories.wp-cli composer http://wp-cli.org/package-index/ fi command -v bin/wp > /dev/null || { From 5a76767a500746d972639964203ea2149cd9a900 Mon Sep 17 00:00:00 2001 From: scribu Date: Sat, 20 Jul 2013 23:09:08 +0300 Subject: [PATCH 171/839] add version parameter to Phakefile tasks --- Phakefile.php | 4 +++- README.md | 2 +- _includes/cmd-list.html | 50 ++++++++++++++++++++--------------------- 3 files changed, 29 insertions(+), 27 deletions(-) diff --git a/Phakefile.php b/Phakefile.php index 40dc3503..d6119425 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -39,9 +39,11 @@ function generate_synopsis( $command, $path = '' ) { $out = ''; foreach ( $wp['subcommands'] as $command ) { + $url = "https://github.com/wp-cli/wp-cli/blob/{$app['version']}/php/commands/{$command['name']}.php"; + $out .= << - {$command['name']} + {$command['name']} {$command['description']} diff --git a/README.md b/README.md index d59cfd5b..a8e902dc 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ 3. Build: ```bash -vendor/bin/phake path=/path/to/wp/install +vendor/bin/phake path=/path/to/wp/install version=v0.10.2 ``` ### Preview locally diff --git a/_includes/cmd-list.html b/_includes/cmd-list.html index 3e4a83f8..44daa44b 100644 --- a/_includes/cmd-list.html +++ b/_includes/cmd-list.html @@ -1,100 +1,100 @@ - blog + blog Manage blogs in a multisite install. - cache + cache Manage the object cache. - cap + cap Manage user capabilities. - comment + comment Manage comments. - core + core Download, install, update and otherwise manage WordPress proper. - db + db Perform basic database operations. - eval + eval Execute arbitrary PHP code after loading WordPress. - eval-file + eval-file Load and execute a PHP file after loading WordPress. - export + export Export content to a WXR file. - help + help Get help on a certain topic. - media + media Control the media library and its attachments. - option + option Manage WordPress options. - plugin + plugin Manage plugins. - post + post Manage posts. - post-meta + post-meta Manage post custom fields. - rewrite + rewrite Manage rewrite rules. - role + role Manage user roles. - scaffold + scaffold Generate code for post types, taxonomies, etc. - search-replace + search-replace Search/replace strings in the database. - shell + shell Interactive PHP console. - term + term Manage terms. - theme + theme Manage themes. - transient + transient Manage WordPress transients. - user + user Manage users. - user-meta + user-meta Manage user custom fields. From ce61eedc49c41e83de4626a9a5654f78cb2fe2ac Mon Sep 17 00:00:00 2001 From: scribu Date: Sat, 20 Jul 2013 23:57:53 +0300 Subject: [PATCH 172/839] use Mustache templates --- Phakefile.php | 38 ++++++++++++------------------------ _includes/param-list.html | 2 +- _templates/cmd-list.mustache | 6 ++++++ _templates/config.mustache | 6 ++++++ composer.json | 3 ++- 5 files changed, 27 insertions(+), 28 deletions(-) create mode 100644 _templates/cmd-list.mustache create mode 100644 _templates/config.mustache diff --git a/Phakefile.php b/Phakefile.php index d6119425..51885ad9 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -1,4 +1,5 @@ render( $template, $binding ); +} + desc( 'Generate a list of commands with all accepted arguments on STDOUT.' ); task( 'syn-list', function( $app ) { function generate_synopsis( $command, $path = '' ) { @@ -35,22 +42,9 @@ function generate_synopsis( $command, $path = '' ) { desc( 'Update the /commands/ page.' ); task( 'cmd-list', function( $app ) { $wp = invoke_wp_cli( 'wp --cmd-dump', $app ); + $wp['version'] = $app['version']; - $out = ''; - - foreach ( $wp['subcommands'] as $command ) { - $url = "https://github.com/wp-cli/wp-cli/blob/{$app['version']}/php/commands/{$command['name']}.php"; - - $out .= << - {$command['name']} - {$command['description']} - - -EOB; - } - - file_put_contents( '_includes/cmd-list.html', $out ); + file_put_contents( '_includes/cmd-list.html', render( 'cmd-list.mustache', $wp ) ); }); desc( 'Update the /config/ page.' ); @@ -64,7 +58,7 @@ function generate_synopsis( $command, $path = '' ) { continue; if ( false !== $details['file'] ) { - $config = "$key: " . htmlspecialchars( $details['file'] ); + $config = "$key: " . $details['file']; } else { $config = ''; } @@ -72,7 +66,7 @@ function generate_synopsis( $command, $path = '' ) { if ( false !== $details['runtime'] ) { $flag = ( true === $details['runtime'] ) ? "--[no-]$key" - : "--$key" . htmlspecialchars( $details['runtime'] ); + : "--$key" . $details['runtime']; } else { $flag = ''; } @@ -81,15 +75,7 @@ function generate_synopsis( $command, $path = '' ) { $description = $details['desc']; - $out .= << - $config - $flag - $default - $description - - -EOB; + $out .= render( 'config.mustache', compact( 'config', 'flag', 'default', 'description' ) ); } file_put_contents( '_includes/param-list.html', $out ); diff --git a/_includes/param-list.html b/_includes/param-list.html index ba26493a..a908825c 100644 --- a/_includes/param-list.html +++ b/_includes/param-list.html @@ -37,7 +37,7 @@ color: <bool> --[no-]color - "auto" + "auto" Whether to colorize the output diff --git a/_templates/cmd-list.mustache b/_templates/cmd-list.mustache new file mode 100644 index 00000000..715cf0ae --- /dev/null +++ b/_templates/cmd-list.mustache @@ -0,0 +1,6 @@ +{{#subcommands}} + + {{name}} + {{description}} + +{{/subcommands}} diff --git a/_templates/config.mustache b/_templates/config.mustache new file mode 100644 index 00000000..f5d84f89 --- /dev/null +++ b/_templates/config.mustache @@ -0,0 +1,6 @@ + + {{config}} + {{flag}} + {{default}} + {{description}} + diff --git a/composer.json b/composer.json index b37ae195..831c5ce8 100644 --- a/composer.json +++ b/composer.json @@ -1,5 +1,6 @@ { "require-dev": { - "jaz303/phake": "dev-master" + "jaz303/phake": "dev-master", + "mustache/mustache": "~2.4" } } From e8a420bac3ad95069d8c9f7fc31f084cdb5fb251 Mon Sep 17 00:00:00 2001 From: scribu Date: Sun, 21 Jul 2013 01:50:21 +0300 Subject: [PATCH 173/839] generate help page for each command --- Phakefile.php | 36 ++++++++++++- README.md | 2 +- _includes/cmd-list.html | 50 ++++++++--------- _templates/cmd-list.mustache | 2 +- _templates/subcmd-list.mustache | 29 ++++++++++ assets/css/stylesheet.css | 10 ++-- commands/blog/create/index.md | 28 ++++++++++ commands/blog/delete/index.md | 22 ++++++++ commands/blog/empty/index.md | 11 ++++ commands/blog/index.md | 33 ++++++++++++ commands/cache/add/index.md | 9 ++++ commands/cache/decr/index.md | 9 ++++ commands/cache/delete/index.md | 9 ++++ commands/cache/flush/index.md | 9 ++++ commands/cache/get/index.md | 9 ++++ commands/cache/incr/index.md | 9 ++++ commands/cache/index.md | 62 +++++++++++++++++++++ commands/cache/replace/index.md | 9 ++++ commands/cache/set/index.md | 9 ++++ commands/cache/type/index.md | 9 ++++ commands/cap/add/index.md | 9 ++++ commands/cap/index.md | 43 +++++++++++++++ commands/cap/list/index.md | 9 ++++ commands/cap/remove/index.md | 9 ++++ commands/comment/approve/index.md | 17 ++++++ commands/comment/count/index.md | 18 +++++++ commands/comment/create/index.md | 21 ++++++++ commands/comment/delete/index.md | 20 +++++++ commands/comment/index.md | 65 ++++++++++++++++++++++ commands/comment/last/index.md | 20 +++++++ commands/comment/spam/index.md | 17 ++++++ commands/comment/status/index.md | 17 ++++++ commands/comment/trash/index.md | 17 ++++++ commands/comment/unapprove/index.md | 17 ++++++ commands/comment/unspam/index.md | 17 ++++++ commands/comment/untrash/index.md | 17 ++++++ commands/core/config/index.md | 39 ++++++++++++++ commands/core/download/index.md | 24 +++++++++ commands/core/index.md | 57 ++++++++++++++++++++ commands/core/init-tests/index.md | 27 ++++++++++ commands/core/install-network/index.md | 20 +++++++ commands/core/install/index.md | 25 +++++++++ commands/core/is-installed/index.md | 14 +++++ commands/core/update-db/index.md | 9 ++++ commands/core/update/index.md | 27 ++++++++++ commands/core/version/index.md | 13 +++++ commands/db/cli/index.md | 9 ++++ commands/db/create/index.md | 9 ++++ commands/db/drop/index.md | 9 ++++ commands/db/export/index.md | 9 ++++ commands/db/import/index.md | 9 ++++ commands/db/index.md | 72 +++++++++++++++++++++++++ commands/db/optimize/index.md | 9 ++++ commands/db/query/index.md | 9 ++++ commands/db/repair/index.md | 9 ++++ commands/db/reset/index.md | 9 ++++ commands/eval-file/index.md | 12 +++++ commands/eval/index.md | 12 +++++ commands/export/index.md | 52 ++++++++++++++++++ commands/help/index.md | 19 +++++++ commands/media/import/index.md | 53 ++++++++++++++++++ commands/media/index.md | 29 ++++++++++ commands/media/regenerate/index.md | 21 ++++++++ commands/option/add/index.md | 9 ++++ commands/option/delete/index.md | 9 ++++ commands/option/get/index.md | 9 ++++ commands/option/index.md | 51 ++++++++++++++++++ commands/option/update/index.md | 9 ++++ commands/plugin/activate/index.md | 16 ++++++ commands/plugin/deactivate/index.md | 16 ++++++ commands/plugin/delete/index.md | 18 +++++++ commands/plugin/index.md | 65 ++++++++++++++++++++++ commands/plugin/install/index.md | 29 ++++++++++ commands/plugin/list/index.md | 17 ++++++ commands/plugin/path/index.md | 22 ++++++++ commands/plugin/status/index.md | 12 +++++ commands/plugin/toggle/index.md | 16 ++++++ commands/plugin/uninstall/index.md | 22 ++++++++ commands/plugin/update-all/index.md | 17 ++++++ commands/plugin/update/index.md | 22 ++++++++ commands/post-meta/add/index.md | 9 ++++ commands/post-meta/delete/index.md | 9 ++++ commands/post-meta/get/index.md | 9 ++++ commands/post-meta/index.md | 45 ++++++++++++++++ commands/post-meta/update/index.md | 9 ++++ commands/post/create/index.md | 36 +++++++++++++ commands/post/delete/index.md | 22 ++++++++ commands/post/edit/index.md | 17 ++++++ commands/post/generate/index.md | 32 +++++++++++ commands/post/get/index.md | 29 ++++++++++ commands/post/index.md | 49 +++++++++++++++++ commands/post/list/index.md | 27 ++++++++++ commands/post/update/index.md | 20 +++++++ commands/rewrite/dump/index.md | 13 +++++ commands/rewrite/flush/index.md | 15 ++++++ commands/rewrite/index.md | 33 ++++++++++++ commands/rewrite/structure/index.md | 21 ++++++++ commands/role/create/index.md | 24 +++++++++ commands/role/delete/index.md | 21 ++++++++ commands/role/exists/index.md | 25 +++++++++ commands/role/index.md | 37 +++++++++++++ commands/role/list/index.md | 20 +++++++ commands/scaffold/_s/index.md | 25 +++++++++ commands/scaffold/child-theme/index.md | 32 +++++++++++ commands/scaffold/index.md | 45 ++++++++++++++++ commands/scaffold/plugin-tests/index.md | 26 +++++++++ commands/scaffold/plugin/index.md | 16 ++++++ commands/scaffold/post-type/index.md | 27 ++++++++++ commands/scaffold/taxonomy/index.md | 34 ++++++++++++ commands/search-replace/index.md | 31 +++++++++++ commands/shell/index.md | 17 ++++++ commands/term/create/index.md | 32 +++++++++++ commands/term/delete/index.md | 19 +++++++ commands/term/index.md | 37 +++++++++++++ commands/term/list/index.md | 25 +++++++++ commands/term/update/index.md | 32 +++++++++++ commands/theme/activate/index.md | 13 +++++ commands/theme/delete/index.md | 17 ++++++ commands/theme/index.md | 53 ++++++++++++++++++ commands/theme/install/index.md | 22 ++++++++ commands/theme/list/index.md | 17 ++++++ commands/theme/path/index.md | 22 ++++++++ commands/theme/status/index.md | 13 +++++ commands/theme/update-all/index.md | 17 ++++++ commands/theme/update/index.md | 21 ++++++++ commands/transient/delete/index.md | 9 ++++ commands/transient/get/index.md | 9 ++++ commands/transient/index.md | 40 ++++++++++++++ commands/transient/set/index.md | 9 ++++ commands/transient/type/index.md | 9 ++++ commands/user-meta/add/index.md | 9 ++++ commands/user-meta/delete/index.md | 9 ++++ commands/user-meta/get/index.md | 9 ++++ commands/user-meta/index.md | 45 ++++++++++++++++ commands/user-meta/update/index.md | 9 ++++ commands/user/add-role/index.md | 9 ++++ commands/user/create/index.md | 35 ++++++++++++ commands/user/delete/index.md | 20 +++++++ commands/user/generate/index.md | 16 ++++++ commands/user/import-csv/index.md | 24 +++++++++ commands/user/index.md | 57 ++++++++++++++++++++ commands/user/list/index.md | 27 ++++++++++ commands/user/remove-role/index.md | 18 +++++++ commands/user/set-role/index.md | 21 ++++++++ commands/user/update/index.md | 20 +++++++ 145 files changed, 3150 insertions(+), 33 deletions(-) create mode 100644 _templates/subcmd-list.mustache create mode 100644 commands/blog/create/index.md create mode 100644 commands/blog/delete/index.md create mode 100644 commands/blog/empty/index.md create mode 100644 commands/blog/index.md create mode 100644 commands/cache/add/index.md create mode 100644 commands/cache/decr/index.md create mode 100644 commands/cache/delete/index.md create mode 100644 commands/cache/flush/index.md create mode 100644 commands/cache/get/index.md create mode 100644 commands/cache/incr/index.md create mode 100644 commands/cache/index.md create mode 100644 commands/cache/replace/index.md create mode 100644 commands/cache/set/index.md create mode 100644 commands/cache/type/index.md create mode 100644 commands/cap/add/index.md create mode 100644 commands/cap/index.md create mode 100644 commands/cap/list/index.md create mode 100644 commands/cap/remove/index.md create mode 100644 commands/comment/approve/index.md create mode 100644 commands/comment/count/index.md create mode 100644 commands/comment/create/index.md create mode 100644 commands/comment/delete/index.md create mode 100644 commands/comment/index.md create mode 100644 commands/comment/last/index.md create mode 100644 commands/comment/spam/index.md create mode 100644 commands/comment/status/index.md create mode 100644 commands/comment/trash/index.md create mode 100644 commands/comment/unapprove/index.md create mode 100644 commands/comment/unspam/index.md create mode 100644 commands/comment/untrash/index.md create mode 100644 commands/core/config/index.md create mode 100644 commands/core/download/index.md create mode 100644 commands/core/index.md create mode 100644 commands/core/init-tests/index.md create mode 100644 commands/core/install-network/index.md create mode 100644 commands/core/install/index.md create mode 100644 commands/core/is-installed/index.md create mode 100644 commands/core/update-db/index.md create mode 100644 commands/core/update/index.md create mode 100644 commands/core/version/index.md create mode 100644 commands/db/cli/index.md create mode 100644 commands/db/create/index.md create mode 100644 commands/db/drop/index.md create mode 100644 commands/db/export/index.md create mode 100644 commands/db/import/index.md create mode 100644 commands/db/index.md create mode 100644 commands/db/optimize/index.md create mode 100644 commands/db/query/index.md create mode 100644 commands/db/repair/index.md create mode 100644 commands/db/reset/index.md create mode 100644 commands/eval-file/index.md create mode 100644 commands/eval/index.md create mode 100644 commands/export/index.md create mode 100644 commands/help/index.md create mode 100644 commands/media/import/index.md create mode 100644 commands/media/index.md create mode 100644 commands/media/regenerate/index.md create mode 100644 commands/option/add/index.md create mode 100644 commands/option/delete/index.md create mode 100644 commands/option/get/index.md create mode 100644 commands/option/index.md create mode 100644 commands/option/update/index.md create mode 100644 commands/plugin/activate/index.md create mode 100644 commands/plugin/deactivate/index.md create mode 100644 commands/plugin/delete/index.md create mode 100644 commands/plugin/index.md create mode 100644 commands/plugin/install/index.md create mode 100644 commands/plugin/list/index.md create mode 100644 commands/plugin/path/index.md create mode 100644 commands/plugin/status/index.md create mode 100644 commands/plugin/toggle/index.md create mode 100644 commands/plugin/uninstall/index.md create mode 100644 commands/plugin/update-all/index.md create mode 100644 commands/plugin/update/index.md create mode 100644 commands/post-meta/add/index.md create mode 100644 commands/post-meta/delete/index.md create mode 100644 commands/post-meta/get/index.md create mode 100644 commands/post-meta/index.md create mode 100644 commands/post-meta/update/index.md create mode 100644 commands/post/create/index.md create mode 100644 commands/post/delete/index.md create mode 100644 commands/post/edit/index.md create mode 100644 commands/post/generate/index.md create mode 100644 commands/post/get/index.md create mode 100644 commands/post/index.md create mode 100644 commands/post/list/index.md create mode 100644 commands/post/update/index.md create mode 100644 commands/rewrite/dump/index.md create mode 100644 commands/rewrite/flush/index.md create mode 100644 commands/rewrite/index.md create mode 100644 commands/rewrite/structure/index.md create mode 100644 commands/role/create/index.md create mode 100644 commands/role/delete/index.md create mode 100644 commands/role/exists/index.md create mode 100644 commands/role/index.md create mode 100644 commands/role/list/index.md create mode 100644 commands/scaffold/_s/index.md create mode 100644 commands/scaffold/child-theme/index.md create mode 100644 commands/scaffold/index.md create mode 100644 commands/scaffold/plugin-tests/index.md create mode 100644 commands/scaffold/plugin/index.md create mode 100644 commands/scaffold/post-type/index.md create mode 100644 commands/scaffold/taxonomy/index.md create mode 100644 commands/search-replace/index.md create mode 100644 commands/shell/index.md create mode 100644 commands/term/create/index.md create mode 100644 commands/term/delete/index.md create mode 100644 commands/term/index.md create mode 100644 commands/term/list/index.md create mode 100644 commands/term/update/index.md create mode 100644 commands/theme/activate/index.md create mode 100644 commands/theme/delete/index.md create mode 100644 commands/theme/index.md create mode 100644 commands/theme/install/index.md create mode 100644 commands/theme/list/index.md create mode 100644 commands/theme/path/index.md create mode 100644 commands/theme/status/index.md create mode 100644 commands/theme/update-all/index.md create mode 100644 commands/theme/update/index.md create mode 100644 commands/transient/delete/index.md create mode 100644 commands/transient/get/index.md create mode 100644 commands/transient/index.md create mode 100644 commands/transient/set/index.md create mode 100644 commands/transient/type/index.md create mode 100644 commands/user-meta/add/index.md create mode 100644 commands/user-meta/delete/index.md create mode 100644 commands/user-meta/get/index.md create mode 100644 commands/user-meta/index.md create mode 100644 commands/user-meta/update/index.md create mode 100644 commands/user/add-role/index.md create mode 100644 commands/user/create/index.md create mode 100644 commands/user/delete/index.md create mode 100644 commands/user/generate/index.md create mode 100644 commands/user/import-csv/index.md create mode 100644 commands/user/index.md create mode 100644 commands/user/list/index.md create mode 100644 commands/user/remove-role/index.md create mode 100644 commands/user/set-role/index.md create mode 100644 commands/user/update/index.md diff --git a/Phakefile.php b/Phakefile.php index 51885ad9..2fe0fbb1 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -39,12 +39,46 @@ function generate_synopsis( $command, $path = '' ) { generate_synopsis( invoke_wp_cli( 'wp --cmd-dump', $app ) ); }); +function gen_cmd_pages( $wp_cli_path, $cmd, $parent = array() ) { + $parent[] = $cmd['name']; + + $binding = $cmd; + $binding['synopsis'] = implode( ' ', $parent ); + $binding['path'] = implode( '/', $parent ); + $binding['has-subcommands'] = isset( $cmd['subcommands'] ) ? array(true) : false; + + $docs_path = $wp_cli_path . '/man-src/' . implode( '-', $parent ) . '.txt'; + if ( is_readable( $docs_path ) ) { + $docs = file_get_contents( $docs_path ); + $docs = preg_replace( '/^## /m', '### ', $docs ); + $docs = preg_replace( '/\n\* `(.+)`([^\n]*):\n\n/', "\n\t\\1\\2\n\t\t", $docs ); + $binding['docs'] = $docs; + } + + $path = __DIR__ . "/commands/" . $binding['path']; + mkdir( $path ); + file_put_contents( "$path/index.md", render( 'subcmd-list.mustache', $binding ) ); + + if ( !isset( $cmd['subcommands'] ) ) + return; + + foreach ( $cmd['subcommands'] as $subcmd ) { + gen_cmd_pages( $wp_cli_path, $subcmd, $parent ); + } +} + desc( 'Update the /commands/ page.' ); task( 'cmd-list', function( $app ) { $wp = invoke_wp_cli( 'wp --cmd-dump', $app ); - $wp['version'] = $app['version']; + // generate main page file_put_contents( '_includes/cmd-list.html', render( 'cmd-list.mustache', $wp ) ); + + system( sprintf( 'rm -rf %s/commands/*/', escapeshellarg( __DIR__ ) ) ); + + foreach ( $wp['subcommands'] as $cmd ) { + gen_cmd_pages( $app['path'], $cmd ); + } }); desc( 'Update the /config/ page.' ); diff --git a/README.md b/README.md index a8e902dc..244632d5 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ 3. Build: ```bash -vendor/bin/phake path=/path/to/wp/install version=v0.10.2 +vendor/bin/phake path=/path/to/wp-cli-dir ``` ### Preview locally diff --git a/_includes/cmd-list.html b/_includes/cmd-list.html index 44daa44b..d62d1a07 100644 --- a/_includes/cmd-list.html +++ b/_includes/cmd-list.html @@ -1,100 +1,100 @@ - blog + blog Manage blogs in a multisite install. - cache + cache Manage the object cache. - cap + cap Manage user capabilities. - comment + comment Manage comments. - core + core Download, install, update and otherwise manage WordPress proper. - db + db Perform basic database operations. - eval + eval Execute arbitrary PHP code after loading WordPress. - eval-file + eval-file Load and execute a PHP file after loading WordPress. - export + export Export content to a WXR file. - help + help Get help on a certain topic. - media + media Control the media library and its attachments. - option + option Manage WordPress options. - plugin + plugin Manage plugins. - post + post Manage posts. - post-meta + post-meta Manage post custom fields. - rewrite + rewrite Manage rewrite rules. - role + role Manage user roles. - scaffold + scaffold Generate code for post types, taxonomies, etc. - search-replace + search-replace Search/replace strings in the database. - shell + shell Interactive PHP console. - term + term Manage terms. - theme + theme Manage themes. - transient + transient Manage WordPress transients. - user + user Manage users. - user-meta + user-meta Manage user custom fields. diff --git a/_templates/cmd-list.mustache b/_templates/cmd-list.mustache index 715cf0ae..0fc2e3e9 100644 --- a/_templates/cmd-list.mustache +++ b/_templates/cmd-list.mustache @@ -1,6 +1,6 @@ {{#subcommands}} - {{name}} + {{name}} {{description}} {{/subcommands}} diff --git a/_templates/subcmd-list.mustache b/_templates/subcmd-list.mustache new file mode 100644 index 00000000..d051a272 --- /dev/null +++ b/_templates/subcmd-list.mustache @@ -0,0 +1,29 @@ +--- +layout: default +title: 'wp {{synopsis}}' +--- + +`wp {{synopsis}}` - {{description}} + +{{{docs}}} + +{{#has-subcommands}} +### SUBCOMMANDS + + + + + + + + + + {{#subcommands}} + + + + + {{/subcommands}} + +
NameDescription
{{name}}{{description}}
+{{/has-subcommands}} diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 4824dfcd..8fa212fd 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -188,6 +188,10 @@ pre code { background-color: inherit; } +h3 + table { + margin-top: 10px; +} + table { width: 100%; margin: 0 0 20px 0; @@ -195,16 +199,12 @@ table { th, td { vertical-align: top; + padding: 5px 20px 5px 0; } th { text-align: left; border-bottom: 1px dashed #b5e853; - padding: 5px 10px; -} - -td { - padding: 5px 10px; } hr { diff --git a/commands/blog/create/index.md b/commands/blog/create/index.md new file mode 100644 index 00000000..9d69fa15 --- /dev/null +++ b/commands/blog/create/index.md @@ -0,0 +1,28 @@ +--- +layout: default +title: 'wp blog create' +--- + +`wp blog create` - Create a blog in a multisite install. + +### OPTIONS + + --slug= + Path for the new blog. Subdomain on subdomain installs, directory on subdirectory installs. + + --title= + Email for Admin user. User will be created if none exists. Assignement to Super Admin if not included. + + --site_id= + Site (network) to associate new blog with. Defaults to current site (typically 1). + + --private + If set, the new blog will be non-public (not indexed) + + --porcelain + If set, only the blog id will be output on success. + + diff --git a/commands/blog/delete/index.md b/commands/blog/delete/index.md new file mode 100644 index 00000000..c57a5919 --- /dev/null +++ b/commands/blog/delete/index.md @@ -0,0 +1,22 @@ +--- +layout: default +title: 'wp blog delete' +--- + +`wp blog delete` - Delete a blog in a multisite install. + +### OPTIONS + + + The id of the blog to delete. If not provided, you must set the --slug parameter. + + --slug= + Path of the blog to be deleted. Subdomain on subdomain installs, directory on subdirectory installs. + + --yes + Answer yes to the confirmation message. + + --keep-tables + Delete the blog from the list, but don't drop it's tables. + + diff --git a/commands/blog/empty/index.md b/commands/blog/empty/index.md new file mode 100644 index 00000000..ec4cc797 --- /dev/null +++ b/commands/blog/empty/index.md @@ -0,0 +1,11 @@ +--- +layout: default +title: 'wp blog empty' +--- + +`wp blog empty` - Empty a blog of its content. + +### EXAMPLES + + wp blog empty + diff --git a/commands/blog/index.md b/commands/blog/index.md new file mode 100644 index 00000000..efb060bf --- /dev/null +++ b/commands/blog/index.md @@ -0,0 +1,33 @@ +--- +layout: default +title: 'wp blog' +--- + +`wp blog` - Manage blogs in a multisite install. + + + +### SUBCOMMANDS + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
createCreate a blog in a multisite install.
deleteDelete a blog in a multisite install.
emptyEmpty a blog of its content.
diff --git a/commands/cache/add/index.md b/commands/cache/add/index.md new file mode 100644 index 00000000..338e9e1d --- /dev/null +++ b/commands/cache/add/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp cache add' +--- + +`wp cache add` - Add a value to the object cache. + + + diff --git a/commands/cache/decr/index.md b/commands/cache/decr/index.md new file mode 100644 index 00000000..0086dde7 --- /dev/null +++ b/commands/cache/decr/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp cache decr' +--- + +`wp cache decr` - Decrement a value in the object cache. + + + diff --git a/commands/cache/delete/index.md b/commands/cache/delete/index.md new file mode 100644 index 00000000..13524acd --- /dev/null +++ b/commands/cache/delete/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp cache delete' +--- + +`wp cache delete` - Remove a value from the object cache. + + + diff --git a/commands/cache/flush/index.md b/commands/cache/flush/index.md new file mode 100644 index 00000000..e4351821 --- /dev/null +++ b/commands/cache/flush/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp cache flush' +--- + +`wp cache flush` - Flush the object cache. + + + diff --git a/commands/cache/get/index.md b/commands/cache/get/index.md new file mode 100644 index 00000000..fd69d46c --- /dev/null +++ b/commands/cache/get/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp cache get' +--- + +`wp cache get` - Get a value from the object cache. + + + diff --git a/commands/cache/incr/index.md b/commands/cache/incr/index.md new file mode 100644 index 00000000..02bc098c --- /dev/null +++ b/commands/cache/incr/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp cache incr' +--- + +`wp cache incr` - Increment a value in the object cache. + + + diff --git a/commands/cache/index.md b/commands/cache/index.md new file mode 100644 index 00000000..4599ae37 --- /dev/null +++ b/commands/cache/index.md @@ -0,0 +1,62 @@ +--- +layout: default +title: 'wp cache' +--- + +`wp cache` - Manage the object cache. + +### EXAMPLES + + wp cache set my_key my_value my_group 300 + + wp cache get my_key my_group + + +### SUBCOMMANDS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
addAdd a value to the object cache.
decrDecrement a value in the object cache.
deleteRemove a value from the object cache.
flushFlush the object cache.
getGet a value from the object cache.
incrIncrement a value in the object cache.
replaceReplace an existing value in the object cache.
setSet a value to the object cache.
typeAttempts to determine which object cache is being used.
diff --git a/commands/cache/replace/index.md b/commands/cache/replace/index.md new file mode 100644 index 00000000..6475f419 --- /dev/null +++ b/commands/cache/replace/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp cache replace' +--- + +`wp cache replace` - Replace an existing value in the object cache. + + + diff --git a/commands/cache/set/index.md b/commands/cache/set/index.md new file mode 100644 index 00000000..21561b26 --- /dev/null +++ b/commands/cache/set/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp cache set' +--- + +`wp cache set` - Set a value to the object cache. + + + diff --git a/commands/cache/type/index.md b/commands/cache/type/index.md new file mode 100644 index 00000000..2e256840 --- /dev/null +++ b/commands/cache/type/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp cache type' +--- + +`wp cache type` - Attempts to determine which object cache is being used. + + + diff --git a/commands/cap/add/index.md b/commands/cap/add/index.md new file mode 100644 index 00000000..84e27652 --- /dev/null +++ b/commands/cap/add/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp cap add' +--- + +`wp cap add` - Add capabilities to a given role. + + + diff --git a/commands/cap/index.md b/commands/cap/index.md new file mode 100644 index 00000000..7e69b337 --- /dev/null +++ b/commands/cap/index.md @@ -0,0 +1,43 @@ +--- +layout: default +title: 'wp cap' +--- + +`wp cap` - Manage user capabilities. + +### EXAMPLES + + # Add 'spectate' capability to 'author' role + wp cap add 'author' 'spectate' + + # Add all caps from 'editor' role to 'author' role + wp cap list 'editor' | xargs wp cap add 'author' + + # Remove all caps from 'editor' role that also appear in 'author' role + wp cap list 'author' | xargs wp cap remove 'editor' + + +### SUBCOMMANDS + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
addAdd capabilities to a given role.
listList capabilities for a given role.
removeRemove capabilities from a given role.
diff --git a/commands/cap/list/index.md b/commands/cap/list/index.md new file mode 100644 index 00000000..89097639 --- /dev/null +++ b/commands/cap/list/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp cap list' +--- + +`wp cap list` - List capabilities for a given role. + + + diff --git a/commands/cap/remove/index.md b/commands/cap/remove/index.md new file mode 100644 index 00000000..ec43de82 --- /dev/null +++ b/commands/cap/remove/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp cap remove' +--- + +`wp cap remove` - Remove capabilities from a given role. + + + diff --git a/commands/comment/approve/index.md b/commands/comment/approve/index.md new file mode 100644 index 00000000..ca426161 --- /dev/null +++ b/commands/comment/approve/index.md @@ -0,0 +1,17 @@ +--- +layout: default +title: 'wp comment approve' +--- + +`wp comment approve` - Approve a comment. + +### OPTIONS + + + The ID of the comment to approve. + +### EXAMPLES + + wp comment approve 1337 + + diff --git a/commands/comment/count/index.md b/commands/comment/count/index.md new file mode 100644 index 00000000..07c62641 --- /dev/null +++ b/commands/comment/count/index.md @@ -0,0 +1,18 @@ +--- +layout: default +title: 'wp comment count' +--- + +`wp comment count` - Count comments, on whole blog or on a given post. + +### OPTIONS + + + The ID of the post to count comments in + +### EXAMPLES + + wp comment count + wp comment count 42 + + diff --git a/commands/comment/create/index.md b/commands/comment/create/index.md new file mode 100644 index 00000000..c35249ea --- /dev/null +++ b/commands/comment/create/index.md @@ -0,0 +1,21 @@ +--- +layout: default +title: 'wp comment create' +--- + +`wp comment create` - Insert a comment. + +### OPTIONS + + --= + Field values for the new comment. See wp_insert_comment(). + + --porcelain + Output just the new comment id. + +### EXAMPLES + + wp comment create --comment_post_ID=15 --comment_content="hello blog" +--comment_author="wp-cli" + + diff --git a/commands/comment/delete/index.md b/commands/comment/delete/index.md new file mode 100644 index 00000000..d8ef9764 --- /dev/null +++ b/commands/comment/delete/index.md @@ -0,0 +1,20 @@ +--- +layout: default +title: 'wp comment delete' +--- + +`wp comment delete` - Delete a comment. + +### OPTIONS + + + The ID of the comment to delete. + + --force + Skip the trash bin. + +### EXAMPLES + + wp comment delete 1337 --force + + diff --git a/commands/comment/index.md b/commands/comment/index.md new file mode 100644 index 00000000..112f3c56 --- /dev/null +++ b/commands/comment/index.md @@ -0,0 +1,65 @@ +--- +layout: default +title: 'wp comment' +--- + +`wp comment` - Manage comments. + + + +### SUBCOMMANDS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
approveApprove a comment.
countCount comments, on whole blog or on a given post.
createInsert a comment.
deleteDelete a comment.
lastGet last approved comment.
spamSpam a comment.
statusGet status of a comment.
trashTrash a comment.
unapproveUnapprove a comment.
unspamUnspam a comment.
untrashUntrash a comment.
diff --git a/commands/comment/last/index.md b/commands/comment/last/index.md new file mode 100644 index 00000000..1c9a1fff --- /dev/null +++ b/commands/comment/last/index.md @@ -0,0 +1,20 @@ +--- +layout: default +title: 'wp comment last' +--- + +`wp comment last` - Get last approved comment. + +### OPTIONS + + --id + Output just the last comment id. + + --full + Output complete comment information. + +### EXAMPLES + + wp comment last --full + + diff --git a/commands/comment/spam/index.md b/commands/comment/spam/index.md new file mode 100644 index 00000000..674cbd47 --- /dev/null +++ b/commands/comment/spam/index.md @@ -0,0 +1,17 @@ +--- +layout: default +title: 'wp comment spam' +--- + +`wp comment spam` - Spam a comment. + +### OPTIONS + + + The ID of the comment to mark as spam. + +### EXAMPLES + + wp comment spam 1337 + + diff --git a/commands/comment/status/index.md b/commands/comment/status/index.md new file mode 100644 index 00000000..e20d02c9 --- /dev/null +++ b/commands/comment/status/index.md @@ -0,0 +1,17 @@ +--- +layout: default +title: 'wp comment status' +--- + +`wp comment status` - Get status of a comment. + +### OPTIONS + + + The ID of the comment to check + +### EXAMPLES + + wp comment status 1337 + + diff --git a/commands/comment/trash/index.md b/commands/comment/trash/index.md new file mode 100644 index 00000000..ac254279 --- /dev/null +++ b/commands/comment/trash/index.md @@ -0,0 +1,17 @@ +--- +layout: default +title: 'wp comment trash' +--- + +`wp comment trash` - Trash a comment. + +### OPTIONS + + + The ID of the comment to trash. + +### EXAMPLES + + wp comment trash 1337 + + diff --git a/commands/comment/unapprove/index.md b/commands/comment/unapprove/index.md new file mode 100644 index 00000000..c227f530 --- /dev/null +++ b/commands/comment/unapprove/index.md @@ -0,0 +1,17 @@ +--- +layout: default +title: 'wp comment unapprove' +--- + +`wp comment unapprove` - Unapprove a comment. + +### OPTIONS + + + The ID of the comment to unapprove. + +### EXAMPLES + + wp comment unapprove 1337 + + diff --git a/commands/comment/unspam/index.md b/commands/comment/unspam/index.md new file mode 100644 index 00000000..9db3027a --- /dev/null +++ b/commands/comment/unspam/index.md @@ -0,0 +1,17 @@ +--- +layout: default +title: 'wp comment unspam' +--- + +`wp comment unspam` - Unspam a comment. + +### OPTIONS + + + The ID of the comment to unmark as spam. + +### EXAMPLES + + wp comment unspam 1337 + + diff --git a/commands/comment/untrash/index.md b/commands/comment/untrash/index.md new file mode 100644 index 00000000..a9ba56c1 --- /dev/null +++ b/commands/comment/untrash/index.md @@ -0,0 +1,17 @@ +--- +layout: default +title: 'wp comment untrash' +--- + +`wp comment untrash` - Untrash a comment. + +### OPTIONS + + + The ID of the comment to untrash. + +### EXAMPLES + + wp comment untrash 1337 + + diff --git a/commands/core/config/index.md b/commands/core/config/index.md new file mode 100644 index 00000000..23d2cc3b --- /dev/null +++ b/commands/core/config/index.md @@ -0,0 +1,39 @@ +--- +layout: default +title: 'wp core config' +--- + +`wp core config` - Set up a wp-config.php file. + +### OPTIONS + + --dbname= + Set the database name. + + --dbuser= + Set the database user. + + --dbpass= + Set the database user password. + + --dbhost= + Set the database host. Default: 'localhost' + + --dbprefix= + Set the database table prefix. Default: 'wp_' + + --extra-php + If set, the command reads additional PHP code from STDIN. + +### EXAMPLES + + # Standard wp-config.php file + wp core config --dbname=testing --dbuser=wp --dbpass=securepswd + + # Enable WP_DEBUG and WP_DEBUG_LOG + wp core config --dbname=testing --dbuser=wp --dbpass=securepswd --extra-php < + Select which language you want to download. The --version parameter is +ignored in this case. + + --version= + Select which version you want to download. + + --force + Overwrites existing files, if present. + +### EXAMPLES + + wp core download --version=3.3 + + diff --git a/commands/core/index.md b/commands/core/index.md new file mode 100644 index 00000000..6531fcf5 --- /dev/null +++ b/commands/core/index.md @@ -0,0 +1,57 @@ +--- +layout: default +title: 'wp core' +--- + +`wp core` - Download, install, update and otherwise manage WordPress proper. + + + +### SUBCOMMANDS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
configSet up a wp-config.php file.
downloadDownload core WordPress files.
init-testsSet up the official test suite using the current WordPress instance.
installCreate the WordPress tables in the database.
install-networkTransform a single-site install into a multi-site install.
is-installedDetermine if the WordPress tables are installed.
updateUpdate WordPress.
update-dbUpdate the WordPress database.
versionDisplay the WordPress version.
diff --git a/commands/core/init-tests/index.md b/commands/core/init-tests/index.md new file mode 100644 index 00000000..efcc33b7 --- /dev/null +++ b/commands/core/init-tests/index.md @@ -0,0 +1,27 @@ +--- +layout: default +title: 'wp core init-tests' +--- + +`wp core init-tests` - Set up the official test suite using the current WordPress instance. + +### OPTIONS + + + The directory in which to download the testing suite files. (Optional) + + --dbname= + Set the database name. **WARNING**: The database will be whipped every time +you run the tests. + + --dbuser= + Set the database user. + + --dbpass= + Set the database user password. + +### EXAMPLE + + wp core init-tests ~/svn/wp-tests --dbname=wp_test --dbuser=wp_test + + diff --git a/commands/core/install-network/index.md b/commands/core/install-network/index.md new file mode 100644 index 00000000..45dc3617 --- /dev/null +++ b/commands/core/install-network/index.md @@ -0,0 +1,20 @@ +--- +layout: default +title: 'wp core install-network' +--- + +`wp core install-network` - Transform a single-site install into a multi-site install. + +### OPTIONS + + --title= + The title of the new network. + + --base= + Base path after the domain name that each site url will start with. +Default: '/' + + --subdomains + If passed, the network will use subdomains, instead of subdirectories. + + diff --git a/commands/core/install/index.md b/commands/core/install/index.md new file mode 100644 index 00000000..ad84fe56 --- /dev/null +++ b/commands/core/install/index.md @@ -0,0 +1,25 @@ +--- +layout: default +title: 'wp core install' +--- + +`wp core install` - Create the WordPress tables in the database. + +### OPTIONS + + --url= + The address of the new site. + + --title= + The title of the new site. + + --admin_name= + The name of the admin user. Default: 'admin' + + --admin_password= + The password for the admin user. + + --admin_email= + The email address for the admin user. + + diff --git a/commands/core/is-installed/index.md b/commands/core/is-installed/index.md new file mode 100644 index 00000000..062bd672 --- /dev/null +++ b/commands/core/is-installed/index.md @@ -0,0 +1,14 @@ +--- +layout: default +title: 'wp core is-installed' +--- + +`wp core is-installed` - Determine if the WordPress tables are installed. + +### EXAMPLES + + if ! $(wp core is-installed); then + wp core install + fi + + diff --git a/commands/core/update-db/index.md b/commands/core/update-db/index.md new file mode 100644 index 00000000..3ba7891c --- /dev/null +++ b/commands/core/update-db/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp core update-db' +--- + +`wp core update-db` - Update the WordPress database. + + + diff --git a/commands/core/update/index.md b/commands/core/update/index.md new file mode 100644 index 00000000..86ee58e3 --- /dev/null +++ b/commands/core/update/index.md @@ -0,0 +1,27 @@ +--- +layout: default +title: 'wp core update' +--- + +`wp core update` - Update WordPress. + +### OPTIONS + + --version= [package/zip] + When passed, updates to new_version, optionally using package/zip as +input. + +* `--force`: + + Will update even when current WP version < passed version. Use with +caution. + +### EXAMPLES + + wp core update + + wp core update --version=3.4 ../latest.zip + + wp core update --version=3.1 --force + + diff --git a/commands/core/version/index.md b/commands/core/version/index.md new file mode 100644 index 00000000..0226b87a --- /dev/null +++ b/commands/core/version/index.md @@ -0,0 +1,13 @@ +--- +layout: default +title: 'wp core version' +--- + +`wp core version` - Display the WordPress version. + +### OPTIONS + + --extra + Show extended version information. + + diff --git a/commands/db/cli/index.md b/commands/db/cli/index.md new file mode 100644 index 00000000..3e08d7b8 --- /dev/null +++ b/commands/db/cli/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp db cli' +--- + +`wp db cli` - Open a mysql console using the WordPress credentials. + + + diff --git a/commands/db/create/index.md b/commands/db/create/index.md new file mode 100644 index 00000000..8cd18832 --- /dev/null +++ b/commands/db/create/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp db create' +--- + +`wp db create` - Create the database, as specified in wp-config.php + + + diff --git a/commands/db/drop/index.md b/commands/db/drop/index.md new file mode 100644 index 00000000..51f53275 --- /dev/null +++ b/commands/db/drop/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp db drop' +--- + +`wp db drop` - Delete the database. + + + diff --git a/commands/db/export/index.md b/commands/db/export/index.md new file mode 100644 index 00000000..252bfce0 --- /dev/null +++ b/commands/db/export/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp db export' +--- + +`wp db export` - Exports the database using mysqldump. + + + diff --git a/commands/db/import/index.md b/commands/db/import/index.md new file mode 100644 index 00000000..2ae01325 --- /dev/null +++ b/commands/db/import/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp db import' +--- + +`wp db import` - Import database from a file. + + + diff --git a/commands/db/index.md b/commands/db/index.md new file mode 100644 index 00000000..7355e21b --- /dev/null +++ b/commands/db/index.md @@ -0,0 +1,72 @@ +--- +layout: default +title: 'wp db' +--- + +`wp db` - Perform basic database operations. + +### OPTIONS + + --yes + Answer yes to the confirmation message. + + + The name of the export file. If omitted, it will be '{dbname}.sql' + + + A SQL query. + +### EXAMPLES + + # execute a query stored in a file + wp db query < debug.sql + + +### SUBCOMMANDS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
cliOpen a mysql console using the WordPress credentials.
createCreate the database, as specified in wp-config.php
dropDelete the database.
exportExports the database using mysqldump.
importImport database from a file.
optimizeOptimize the database.
queryExecute a query against the database.
repairRepair the database.
resetRemove all tables from the database.
diff --git a/commands/db/optimize/index.md b/commands/db/optimize/index.md new file mode 100644 index 00000000..e44c5764 --- /dev/null +++ b/commands/db/optimize/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp db optimize' +--- + +`wp db optimize` - Optimize the database. + + + diff --git a/commands/db/query/index.md b/commands/db/query/index.md new file mode 100644 index 00000000..3123e337 --- /dev/null +++ b/commands/db/query/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp db query' +--- + +`wp db query` - Execute a query against the database. + + + diff --git a/commands/db/repair/index.md b/commands/db/repair/index.md new file mode 100644 index 00000000..ee88ec98 --- /dev/null +++ b/commands/db/repair/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp db repair' +--- + +`wp db repair` - Repair the database. + + + diff --git a/commands/db/reset/index.md b/commands/db/reset/index.md new file mode 100644 index 00000000..ae912f32 --- /dev/null +++ b/commands/db/reset/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp db reset' +--- + +`wp db reset` - Remove all tables from the database. + + + diff --git a/commands/eval-file/index.md b/commands/eval-file/index.md new file mode 100644 index 00000000..3b7cf30c --- /dev/null +++ b/commands/eval-file/index.md @@ -0,0 +1,12 @@ +--- +layout: default +title: 'wp eval-file' +--- + +`wp eval-file` - Load and execute a PHP file after loading WordPress. + +### EXAMPLES + + wp eval-file my-code.php + + diff --git a/commands/eval/index.md b/commands/eval/index.md new file mode 100644 index 00000000..f102a435 --- /dev/null +++ b/commands/eval/index.md @@ -0,0 +1,12 @@ +--- +layout: default +title: 'wp eval' +--- + +`wp eval` - Execute arbitrary PHP code after loading WordPress. + +### EXAMPLES + + wp eval 'echo WP_CONTENT_DIR;' + + diff --git a/commands/export/index.md b/commands/export/index.md new file mode 100644 index 00000000..575d7825 --- /dev/null +++ b/commands/export/index.md @@ -0,0 +1,52 @@ +--- +layout: default +title: 'wp export' +--- + +`wp export` - Export content to a WXR file. + +### OPTIONS + + --dir= + Full path to directory where WXR export files should be stored. Defaults +to current working directory. + + --skip_comments + Don't export comments. + + --file_item_count= + Break export into files with N posts. + + --verbose + Show more information about the process on STDOUT. + +### FILTERS + + --start_date= + Export only posts newer than this date, in format YYYY-MM-DD. + + --end_date= + Export only posts older than this date, in format YYYY-MM-DD. + + --post_type= + Export only posts with this post_type. + + --post__in= + Export all posts specified as a comma-separated list of IDs. + + --author= + Export only posts by this author. + + --category= + Export only posts in this category. + + --post_status= + Export only posts with this status. + +### EXAMPLES + + wp export --dir=/tmp/ --user=admin --post_type=post --start_date=2011-01-01 --end_date=2011-12-31 + + wp export --dir=/tmp/ --post__in=123,124,125 + + diff --git a/commands/help/index.md b/commands/help/index.md new file mode 100644 index 00000000..22b8e35c --- /dev/null +++ b/commands/help/index.md @@ -0,0 +1,19 @@ +--- +layout: default +title: 'wp help' +--- + +`wp help` - Get help on a certain topic. + +### EXAMPLES + + # (re)generates all man pages + wp help --gen + + # (re)generate man pages for the `core` command + wp help --gen core + + # (re)generate man page only for the `core download` subcommand + wp help --gen core download + + diff --git a/commands/media/import/index.md b/commands/media/import/index.md new file mode 100644 index 00000000..8b2c1add --- /dev/null +++ b/commands/media/import/index.md @@ -0,0 +1,53 @@ +--- +layout: default +title: 'wp media import' +--- + +`wp media import` - Create attachments from local files or from URLs. + +### OPTIONS + + + Path to file or files to be imported. Supports the glob(3) capabilities of the current shell. + If file is recognized as a URL (for example, with a scheme of http or ftp), the file will be + downloaded to a temp file before being sideloaded. + +* `--post_id=` + + ID of the post to attach the imported files to + +* `--title=` + + Attachment title (post title field) + +* `--caption=<caption>` + + Caption for attachent (post excerpt field) + +* `--alt=<alt_text>` + + Alt text for image (saved as post meta) + +* `--desc=<description>` + + "Description" field (post content) of attachment post + +* `--featured_image` + + If set, set the imported image as the Featured Image of the post its attached to. + + +### EXAMPLES + + # Import all jpgs in the current user's "Pictures" directory, not attached to any post + wp media import ~/Pictures/**/*.jpg + + # Import a local image and set it to be the post thumbnail for a post + wp media import ~/Downloads/image.png --post_id=123 --title="A downloaded picture" --featured_image + + # Import an image from the web + wp media import http://s.wordpress.org/style/images/wp-header-logo.png --title='The WordPress logo' --alt="Semantic personal publishing" + + + + diff --git a/commands/media/index.md b/commands/media/index.md new file mode 100644 index 00000000..d37167b1 --- /dev/null +++ b/commands/media/index.md @@ -0,0 +1,29 @@ +--- +layout: default +title: 'wp media' +--- + +`wp media` - Control the media library and its attachments. + + + +### SUBCOMMANDS + +<table> + <thead> + <tr> + <th>Name</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="/commands/media/import">import</a></td> + <td>Create attachments from local files or from URLs.</td> + </tr> + <tr> + <td><a href="/commands/media/regenerate">regenerate</a></td> + <td>Regenerate thumbnail(s).</td> + </tr> + </tbody> +</table> diff --git a/commands/media/regenerate/index.md b/commands/media/regenerate/index.md new file mode 100644 index 00000000..8bef11e6 --- /dev/null +++ b/commands/media/regenerate/index.md @@ -0,0 +1,21 @@ +--- +layout: default +title: 'wp media regenerate' +--- + +`wp media regenerate` - Regenerate thumbnail(s). + +### OPTIONS + + --yes + Answer yes to the confirmation message. + + <attachment-id> + One or more IDs of the attachments to regenerate. + +### EXAMPLES + + wp media regenerate 123 1337 + + wp media regenerate --yes + diff --git a/commands/option/add/index.md b/commands/option/add/index.md new file mode 100644 index 00000000..515e6b5d --- /dev/null +++ b/commands/option/add/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp option add' +--- + +`wp option add` - Add an option. + + + diff --git a/commands/option/delete/index.md b/commands/option/delete/index.md new file mode 100644 index 00000000..ca3a9458 --- /dev/null +++ b/commands/option/delete/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp option delete' +--- + +`wp option delete` - Delete an option. + + + diff --git a/commands/option/get/index.md b/commands/option/get/index.md new file mode 100644 index 00000000..04b75f14 --- /dev/null +++ b/commands/option/get/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp option get' +--- + +`wp option get` - Get an option. + + + diff --git a/commands/option/index.md b/commands/option/index.md new file mode 100644 index 00000000..92fa7936 --- /dev/null +++ b/commands/option/index.md @@ -0,0 +1,51 @@ +--- +layout: default +title: 'wp option' +--- + +`wp option` - Manage WordPress options. + +### OPTIONS + + --format=json + Encode/decode values as JSON. + +### EXAMPLES + + wp option get siteurl + + wp option add my_option foobar + + wp option update my_option '{"foo": "bar"}' --format=json + + wp option delete my_option + + +### SUBCOMMANDS + +<table> + <thead> + <tr> + <th>Name</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="/commands/option/add">add</a></td> + <td>Add an option.</td> + </tr> + <tr> + <td><a href="/commands/option/delete">delete</a></td> + <td>Delete an option.</td> + </tr> + <tr> + <td><a href="/commands/option/get">get</a></td> + <td>Get an option.</td> + </tr> + <tr> + <td><a href="/commands/option/update">update</a></td> + <td>Update an option.</td> + </tr> + </tbody> +</table> diff --git a/commands/option/update/index.md b/commands/option/update/index.md new file mode 100644 index 00000000..dcbea6d2 --- /dev/null +++ b/commands/option/update/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp option update' +--- + +`wp option update` - Update an option. + + + diff --git a/commands/plugin/activate/index.md b/commands/plugin/activate/index.md new file mode 100644 index 00000000..d610be6c --- /dev/null +++ b/commands/plugin/activate/index.md @@ -0,0 +1,16 @@ +--- +layout: default +title: 'wp plugin activate' +--- + +`wp plugin activate` - Activate a plugin. + +### OPTIONS + + <plugin> + The plugin to activate. + + --network + If set, the plugin will be activated for the entire multisite network. + + diff --git a/commands/plugin/deactivate/index.md b/commands/plugin/deactivate/index.md new file mode 100644 index 00000000..435bac5e --- /dev/null +++ b/commands/plugin/deactivate/index.md @@ -0,0 +1,16 @@ +--- +layout: default +title: 'wp plugin deactivate' +--- + +`wp plugin deactivate` - Deactivate a plugin. + +### OPTIONS + + <plugin> + The plugin to deactivate. + + --network + If set, the plugin will be deactivated for the entire multisite network. + + diff --git a/commands/plugin/delete/index.md b/commands/plugin/delete/index.md new file mode 100644 index 00000000..530a12c2 --- /dev/null +++ b/commands/plugin/delete/index.md @@ -0,0 +1,18 @@ +--- +layout: default +title: 'wp plugin delete' +--- + +`wp plugin delete` - Delete plugin files. + +### OPTIONS + +* <plugin>: + + The plugin to delete. + +### EXAMPLES + + wp plugin delete hello + + diff --git a/commands/plugin/index.md b/commands/plugin/index.md new file mode 100644 index 00000000..954c9456 --- /dev/null +++ b/commands/plugin/index.md @@ -0,0 +1,65 @@ +--- +layout: default +title: 'wp plugin' +--- + +`wp plugin` - Manage plugins. + + + +### SUBCOMMANDS + +<table> + <thead> + <tr> + <th>Name</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="/commands/plugin/activate">activate</a></td> + <td>Activate a plugin.</td> + </tr> + <tr> + <td><a href="/commands/plugin/deactivate">deactivate</a></td> + <td>Deactivate a plugin.</td> + </tr> + <tr> + <td><a href="/commands/plugin/delete">delete</a></td> + <td>Delete plugin files.</td> + </tr> + <tr> + <td><a href="/commands/plugin/install">install</a></td> + <td>Install a plugin.</td> + </tr> + <tr> + <td><a href="/commands/plugin/list">list</a></td> + <td>Get a list of plugins.</td> + </tr> + <tr> + <td><a href="/commands/plugin/path">path</a></td> + <td>Get the path to a plugin or to the plugin directory.</td> + </tr> + <tr> + <td><a href="/commands/plugin/status">status</a></td> + <td>See the status of one or all plugins.</td> + </tr> + <tr> + <td><a href="/commands/plugin/toggle">toggle</a></td> + <td>Toggle a plugin's activation state.</td> + </tr> + <tr> + <td><a href="/commands/plugin/uninstall">uninstall</a></td> + <td>Uninstall a plugin.</td> + </tr> + <tr> + <td><a href="/commands/plugin/update">update</a></td> + <td>Update a plugin.</td> + </tr> + <tr> + <td><a href="/commands/plugin/update-all">update-all</a></td> + <td>Update all plugins.</td> + </tr> + </tbody> +</table> diff --git a/commands/plugin/install/index.md b/commands/plugin/install/index.md new file mode 100644 index 00000000..42bafc53 --- /dev/null +++ b/commands/plugin/install/index.md @@ -0,0 +1,29 @@ +--- +layout: default +title: 'wp plugin install' +--- + +`wp plugin install` - Install a plugin. + +### OPTIONS + +* <plugin>: + + A plugin slug or the path to a zip file. + + --version=<version> + If set, get that particular version from wordpress.org, instead of the +stable version. + + --activate + If set, the plugin will be activated immediately after install. + +### EXAMPLES + + wp plugin install bbpress --version=2.1 --activate + + wp plugin install bbpress --version=dev + + wp plugin install ../my-plugin.zip + + diff --git a/commands/plugin/list/index.md b/commands/plugin/list/index.md new file mode 100644 index 00000000..6baa4f5c --- /dev/null +++ b/commands/plugin/list/index.md @@ -0,0 +1,17 @@ +--- +layout: default +title: 'wp plugin list' +--- + +`wp plugin list` - Get a list of plugins. + +### OPTIONS + + --format=<format> + Output list as table, CSV or JSON. Defaults to table. + +### EXAMPLES + + wp plugin list --format=json + + diff --git a/commands/plugin/path/index.md b/commands/plugin/path/index.md new file mode 100644 index 00000000..7d565d9e --- /dev/null +++ b/commands/plugin/path/index.md @@ -0,0 +1,22 @@ +--- +layout: default +title: 'wp plugin path' +--- + +`wp plugin path` - Get the path to a plugin or to the plugin directory. + +### OPTIONS + + <plugin> + The plugin to get the path to. If not set, will return the path to the +plugins directory. + + --dir + If set, get the path to the closest parent directory, instead of the +plugin file. + +### EXAMPLES + + cd $(wp theme path) + + diff --git a/commands/plugin/status/index.md b/commands/plugin/status/index.md new file mode 100644 index 00000000..876f761c --- /dev/null +++ b/commands/plugin/status/index.md @@ -0,0 +1,12 @@ +--- +layout: default +title: 'wp plugin status' +--- + +`wp plugin status` - See the status of one or all plugins. + +### OPTIONS + + <plugin> + A particular plugin to show the status for. + diff --git a/commands/plugin/toggle/index.md b/commands/plugin/toggle/index.md new file mode 100644 index 00000000..0be68b51 --- /dev/null +++ b/commands/plugin/toggle/index.md @@ -0,0 +1,16 @@ +--- +layout: default +title: 'wp plugin toggle' +--- + +`wp plugin toggle` - Toggle a plugin's activation state. + +### OPTIONS + + <plugin> + The plugin to toggle. + + --network + If set, the plugin will be toggled for the entire multisite network. + + diff --git a/commands/plugin/uninstall/index.md b/commands/plugin/uninstall/index.md new file mode 100644 index 00000000..bbe072bd --- /dev/null +++ b/commands/plugin/uninstall/index.md @@ -0,0 +1,22 @@ +--- +layout: default +title: 'wp plugin uninstall' +--- + +`wp plugin uninstall` - Uninstall a plugin. + +### OPTIONS + +* <plugin>: + + The plugin to uninstall. + + --no-delete + If set, the plugin files will not be deleted. Only the uninstall procedure +will be run. + +### EXAMPLES + + wp plugin uninstall hello + + diff --git a/commands/plugin/update-all/index.md b/commands/plugin/update-all/index.md new file mode 100644 index 00000000..ca5a5f7b --- /dev/null +++ b/commands/plugin/update-all/index.md @@ -0,0 +1,17 @@ +--- +layout: default +title: 'wp plugin update-all' +--- + +`wp plugin update-all` - Update all plugins. + +### OPTIONS + + --dry-run + Pretend to do the updates, to see what would happen. + +### EXAMPLES + + wp plugin update-all + + diff --git a/commands/plugin/update/index.md b/commands/plugin/update/index.md new file mode 100644 index 00000000..856b340c --- /dev/null +++ b/commands/plugin/update/index.md @@ -0,0 +1,22 @@ +--- +layout: default +title: 'wp plugin update' +--- + +`wp plugin update` - Update a plugin. + +### OPTIONS + +* <plugin>: + + The plugin to update. + + --version=dev + If set, the plugin will be updated to the latest development version, +regardless of what version is currently installed. + +### EXAMPLES + + wp plugin update bbpress --version=dev + + diff --git a/commands/post-meta/add/index.md b/commands/post-meta/add/index.md new file mode 100644 index 00000000..23b5af47 --- /dev/null +++ b/commands/post-meta/add/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp post-meta add' +--- + +`wp post-meta add` - Add a meta field. + + + diff --git a/commands/post-meta/delete/index.md b/commands/post-meta/delete/index.md new file mode 100644 index 00000000..04ca97df --- /dev/null +++ b/commands/post-meta/delete/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp post-meta delete' +--- + +`wp post-meta delete` - Delete a meta field. + + + diff --git a/commands/post-meta/get/index.md b/commands/post-meta/get/index.md new file mode 100644 index 00000000..a35a6072 --- /dev/null +++ b/commands/post-meta/get/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp post-meta get' +--- + +`wp post-meta get` - Get meta field value. + + + diff --git a/commands/post-meta/index.md b/commands/post-meta/index.md new file mode 100644 index 00000000..430e86a7 --- /dev/null +++ b/commands/post-meta/index.md @@ -0,0 +1,45 @@ +--- +layout: default +title: 'wp post-meta' +--- + +`wp post-meta` - Manage post custom fields. + +### OPTIONS + + --format=json + Encode/decode values as JSON. + +### EXAMPLES + + wp post-meta set 123 _wp_page_template about.php + + +### SUBCOMMANDS + +<table> + <thead> + <tr> + <th>Name</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="/commands/post-meta/add">add</a></td> + <td>Add a meta field.</td> + </tr> + <tr> + <td><a href="/commands/post-meta/delete">delete</a></td> + <td>Delete a meta field.</td> + </tr> + <tr> + <td><a href="/commands/post-meta/get">get</a></td> + <td>Get meta field value.</td> + </tr> + <tr> + <td><a href="/commands/post-meta/update">update</a></td> + <td>Update a meta field.</td> + </tr> + </tbody> +</table> diff --git a/commands/post-meta/update/index.md b/commands/post-meta/update/index.md new file mode 100644 index 00000000..03e26c17 --- /dev/null +++ b/commands/post-meta/update/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp post-meta update' +--- + +`wp post-meta update` - Update a meta field. + + + diff --git a/commands/post/create/index.md b/commands/post/create/index.md new file mode 100644 index 00000000..9920ef90 --- /dev/null +++ b/commands/post/create/index.md @@ -0,0 +1,36 @@ +--- +layout: default +title: 'wp post create' +--- + +`wp post create` - Create a post. + +### OPTIONS + + <filename> + Read post content from <filename>. If this value is present, the + `--post_content` argument will be ignored. + + Passing `-` as the filename will cause post content to + be read from STDIN. + + --<field>=<value> + Field values for the new post. See wp_insert_post(). + + --edit + Immediately open system's editor to write or edit post content. + + (If content is read from a file, from STDIN, or from the `--post_content` + argument, that text will be loaded into the editor; otherwise, an empty + file will be opened.) + + --porcelain + Output just the new post id. + +### EXAMPLES + + wp post create --post_type=page --post_status=publish --post_title='A future post' --post-status=future --post_date='2020-12-01 07:00:00' + + wp post create page.txt --post_type=page --post_title='Page from file' + + diff --git a/commands/post/delete/index.md b/commands/post/delete/index.md new file mode 100644 index 00000000..a5adb821 --- /dev/null +++ b/commands/post/delete/index.md @@ -0,0 +1,22 @@ +--- +layout: default +title: 'wp post delete' +--- + +`wp post delete` - Delete a post by ID. + +### OPTIONS + + <ID> + The ID of the post to delete. + + --force + Skip the trash bin. + +### EXAMPLES + + wp post delete 123 --force + + wp post delete $(wp post list --post_type='page' --format=ids) + + diff --git a/commands/post/edit/index.md b/commands/post/edit/index.md new file mode 100644 index 00000000..b6d1ea67 --- /dev/null +++ b/commands/post/edit/index.md @@ -0,0 +1,17 @@ +--- +layout: default +title: 'wp post edit' +--- + +`wp post edit` - Launch system editor to edit post content. + +### OPTIONS + + <id> + The ID of the post to edit. + +### EXAMPLES + + wp post edit 123 + + diff --git a/commands/post/generate/index.md b/commands/post/generate/index.md new file mode 100644 index 00000000..b93d5b8c --- /dev/null +++ b/commands/post/generate/index.md @@ -0,0 +1,32 @@ +--- +layout: default +title: 'wp post generate' +--- + +`wp post generate` - Generate some posts. + +### OPTIONS + + --count=<number> + How many posts to generate. Default: 100 + + --post_type=<type> + The type of the generated posts. Default: 'post' + + --post_status=<status> + The status of the generated posts. Default: 'publish' + + --post_author=<login> + The author of the generated posts. Default: none + + --post_date=<yyyy-mm-dd> + The date of the generated posts. Default: current date + + --max_depth=<number> + For hierarchical post types, generate child posts down to a certain depth. Default: 1 + +### EXAMPLES + + wp post generate --count=10 --post_type=page --post_date=1999-01-04 + + diff --git a/commands/post/get/index.md b/commands/post/get/index.md new file mode 100644 index 00000000..806832fb --- /dev/null +++ b/commands/post/get/index.md @@ -0,0 +1,29 @@ +--- +layout: default +title: 'wp post get' +--- + +`wp post get` - Get a post's content by ID. + +### OPTIONS + + [--format=<format>] + The format to use when printing the post, acceptable values: + + **content**: Outputs only the post's content. + + **table**: Outputs all fields of the post as a table. Note that the + post_content field is omitted so that the table is readable. + + **json**: Outputs all fields in JSON format. + + <id> + The ID of the post to get. + +### EXAMPLES + + wp post get 12 --format=content + + wp post get 12 > file.txt + + diff --git a/commands/post/index.md b/commands/post/index.md new file mode 100644 index 00000000..a30139bd --- /dev/null +++ b/commands/post/index.md @@ -0,0 +1,49 @@ +--- +layout: default +title: 'wp post' +--- + +`wp post` - Manage posts. + + + +### SUBCOMMANDS + +<table> + <thead> + <tr> + <th>Name</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="/commands/post/create">create</a></td> + <td>Create a post.</td> + </tr> + <tr> + <td><a href="/commands/post/delete">delete</a></td> + <td>Delete a post by ID.</td> + </tr> + <tr> + <td><a href="/commands/post/edit">edit</a></td> + <td>Launch system editor to edit post content.</td> + </tr> + <tr> + <td><a href="/commands/post/generate">generate</a></td> + <td>Generate some posts.</td> + </tr> + <tr> + <td><a href="/commands/post/get">get</a></td> + <td>Get a post's content by ID.</td> + </tr> + <tr> + <td><a href="/commands/post/list">list</a></td> + <td>Get a list of posts.</td> + </tr> + <tr> + <td><a href="/commands/post/update">update</a></td> + <td>Update one or more posts.</td> + </tr> + </tbody> +</table> diff --git a/commands/post/list/index.md b/commands/post/list/index.md new file mode 100644 index 00000000..4abe8401 --- /dev/null +++ b/commands/post/list/index.md @@ -0,0 +1,27 @@ +--- +layout: default +title: 'wp post list' +--- + +`wp post list` - Get a list of posts. + +### OPTIONS + + --<field>=<value> + One or more args to pass to WP_Query. + + --fields=<fields> + Limit the output to specific object fields. Defaults to ID,post_title,post_name,post_date,post_status. + + --format=<format> + Output list as table, CSV, JSON, or simply IDs. Defaults to table. + +### EXAMPLES + + wp post list --format=ids + + wp post list --post_type=post --posts_per_page=5 --format=json + + wp post list --post_type=page --fields=post_title,post_status + + diff --git a/commands/post/update/index.md b/commands/post/update/index.md new file mode 100644 index 00000000..661a96cd --- /dev/null +++ b/commands/post/update/index.md @@ -0,0 +1,20 @@ +--- +layout: default +title: 'wp post update' +--- + +`wp post update` - Update one or more posts. + +### OPTIONS + + <ID> + The ID of the post to update. + + --<field>=<value> + One or more fields to update. See wp_update_post(). + +### EXAMPLES + + wp post update 123 --post_name=something --post_status=draft + + diff --git a/commands/rewrite/dump/index.md b/commands/rewrite/dump/index.md new file mode 100644 index 00000000..417c8c3e --- /dev/null +++ b/commands/rewrite/dump/index.md @@ -0,0 +1,13 @@ +--- +layout: default +title: 'wp rewrite dump' +--- + +`wp rewrite dump` - Print current rewrite rules. + +### OPTIONS + + --format=json + Output rules in JSON format. + + diff --git a/commands/rewrite/flush/index.md b/commands/rewrite/flush/index.md new file mode 100644 index 00000000..fad2c806 --- /dev/null +++ b/commands/rewrite/flush/index.md @@ -0,0 +1,15 @@ +--- +layout: default +title: 'wp rewrite flush' +--- + +`wp rewrite flush` - Flush rewrite rules. + +### OPTIONS + + --soft + Perform a soft flush - do not overwrite `.htaccess`. The default is to update + `.htaccess` rules as well as rewrite rules in database. + + + diff --git a/commands/rewrite/index.md b/commands/rewrite/index.md new file mode 100644 index 00000000..b538ee1b --- /dev/null +++ b/commands/rewrite/index.md @@ -0,0 +1,33 @@ +--- +layout: default +title: 'wp rewrite' +--- + +`wp rewrite` - Manage rewrite rules. + + + +### SUBCOMMANDS + +<table> + <thead> + <tr> + <th>Name</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="/commands/rewrite/dump">dump</a></td> + <td>Print current rewrite rules.</td> + </tr> + <tr> + <td><a href="/commands/rewrite/flush">flush</a></td> + <td>Flush rewrite rules.</td> + </tr> + <tr> + <td><a href="/commands/rewrite/structure">structure</a></td> + <td>Update the permalink structure.</td> + </tr> + </tbody> +</table> diff --git a/commands/rewrite/structure/index.md b/commands/rewrite/structure/index.md new file mode 100644 index 00000000..4e6d37c2 --- /dev/null +++ b/commands/rewrite/structure/index.md @@ -0,0 +1,21 @@ +--- +layout: default +title: 'wp rewrite structure' +--- + +`wp rewrite structure` - Update the permalink structure. + +### OPTIONS + +* <permastruct>: + + The new permalink structure to apply; like "/%year%/%monthnum%/%postname%". + + --category-base=<categorybase> + Set the base for category permalinks, ie '/category/'. + + --tag-base=<tagbase> + Set the base for tag permalinks, ie '/tag/'. + + + diff --git a/commands/role/create/index.md b/commands/role/create/index.md new file mode 100644 index 00000000..3f724d3b --- /dev/null +++ b/commands/role/create/index.md @@ -0,0 +1,24 @@ +--- +layout: default +title: 'wp role create' +--- + +`wp role create` - Create a new role. + +### OPTIONS + +* <role-key>: + + The internal name of the role, e.g. editor + +* <role-name>: + + The publically visible name of the role, e.g. Editor + +### EXAMPLES + + wp role create approver Approver + + wp role create productadmin "Product Administrator" + + diff --git a/commands/role/delete/index.md b/commands/role/delete/index.md new file mode 100644 index 00000000..c2dcc0a5 --- /dev/null +++ b/commands/role/delete/index.md @@ -0,0 +1,21 @@ +--- +layout: default +title: 'wp role delete' +--- + +`wp role delete` - Delete an existing role. + +### OPTIONS + +* <role-key>: + + The internal name of the role, e.g. editor + +### EXAMPLES + + wp role delete approver + + wp role delete productadmin + + + diff --git a/commands/role/exists/index.md b/commands/role/exists/index.md new file mode 100644 index 00000000..6a3375fc --- /dev/null +++ b/commands/role/exists/index.md @@ -0,0 +1,25 @@ +--- +layout: default +title: 'wp role exists' +--- + +`wp role exists` - Check if a role exists. + +### OPTIONS + +* <role-key>: + + The internal name of the role, e.g. editor + + +##DESCRIPTION + +Will exit with status 0 if the role exists, 1 if it does not. + + +### EXAMPLES + + wp role exists editor + + + diff --git a/commands/role/index.md b/commands/role/index.md new file mode 100644 index 00000000..628eb4de --- /dev/null +++ b/commands/role/index.md @@ -0,0 +1,37 @@ +--- +layout: default +title: 'wp role' +--- + +`wp role` - Manage user roles. + + + +### SUBCOMMANDS + +<table> + <thead> + <tr> + <th>Name</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="/commands/role/create">create</a></td> + <td>Create a new role.</td> + </tr> + <tr> + <td><a href="/commands/role/delete">delete</a></td> + <td>Delete an existing role.</td> + </tr> + <tr> + <td><a href="/commands/role/exists">exists</a></td> + <td>Check if a role exists.</td> + </tr> + <tr> + <td><a href="/commands/role/list">list</a></td> + <td>List all roles.</td> + </tr> + </tbody> +</table> diff --git a/commands/role/list/index.md b/commands/role/list/index.md new file mode 100644 index 00000000..720277e8 --- /dev/null +++ b/commands/role/list/index.md @@ -0,0 +1,20 @@ +--- +layout: default +title: 'wp role list' +--- + +`wp role list` - List all roles. + +### OPTIONS + + --fields=<fields> + Limit the output to specific object fields. Defaults to name,role. + + --format=<format> + Output list as table, CSV or JSON. Defaults to table. + +### EXAMPLES + + wp role list --fields=role --format=csv + + diff --git a/commands/scaffold/_s/index.md b/commands/scaffold/_s/index.md new file mode 100644 index 00000000..a57fab78 --- /dev/null +++ b/commands/scaffold/_s/index.md @@ -0,0 +1,25 @@ +--- +layout: default +title: 'wp scaffold _s' +--- + +`wp scaffold _s` - Generate starter code for a theme. + +### OPTIONS + +* <slug>: + + The slug for the new theme, used for prefixing functions. + + --activate + Activate the newly downloaded theme. + + --theme_name=<title> + What to put in the 'Theme Name:' header in style.css + + --author=<full name> + What to put in the 'Author:' header in style.css + + --author_uri=<http url> + What to put in the 'Author URI:' header in style.css + diff --git a/commands/scaffold/child-theme/index.md b/commands/scaffold/child-theme/index.md new file mode 100644 index 00000000..718460fa --- /dev/null +++ b/commands/scaffold/child-theme/index.md @@ -0,0 +1,32 @@ +--- +layout: default +title: 'wp scaffold child-theme' +--- + +`wp scaffold child-theme` - Generate empty child theme. + +### OPTIONS + +* <slug>: + + The slug for the new child theme. + + --parent_theme=<slug> + What to put in the 'Template:' header in style.css + + --theme_name=<title> + What to put in the 'Theme Name:' header in style.css + + --author=<full name> + What to put in the 'Author:' header in style.css + + --author_uri=<http url> + What to put in the 'Author URI:' header in style.css + + --theme_uri=<http url> + What to put in the 'Theme URI:' header in style.css + + --activate + Activate the newly created child theme. + + diff --git a/commands/scaffold/index.md b/commands/scaffold/index.md new file mode 100644 index 00000000..1f9f175f --- /dev/null +++ b/commands/scaffold/index.md @@ -0,0 +1,45 @@ +--- +layout: default +title: 'wp scaffold' +--- + +`wp scaffold` - Generate code for post types, taxonomies, etc. + + + +### SUBCOMMANDS + +<table> + <thead> + <tr> + <th>Name</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="/commands/scaffold/_s">_s</a></td> + <td>Generate starter code for a theme.</td> + </tr> + <tr> + <td><a href="/commands/scaffold/child-theme">child-theme</a></td> + <td>Generate empty child theme.</td> + </tr> + <tr> + <td><a href="/commands/scaffold/plugin">plugin</a></td> + <td>Generate starter code for a plugin.</td> + </tr> + <tr> + <td><a href="/commands/scaffold/plugin-tests">plugin-tests</a></td> + <td>Generate files needed for running PHPUnit tests.</td> + </tr> + <tr> + <td><a href="/commands/scaffold/post-type">post-type</a></td> + <td>Generate PHP code for registering a custom post type.</td> + </tr> + <tr> + <td><a href="/commands/scaffold/taxonomy">taxonomy</a></td> + <td>Generate PHP code for registering a custom taxonomy.</td> + </tr> + </tbody> +</table> diff --git a/commands/scaffold/plugin-tests/index.md b/commands/scaffold/plugin-tests/index.md new file mode 100644 index 00000000..e67d2e61 --- /dev/null +++ b/commands/scaffold/plugin-tests/index.md @@ -0,0 +1,26 @@ +--- +layout: default +title: 'wp scaffold plugin-tests' +--- + +`wp scaffold plugin-tests` - Generate files needed for running PHPUnit tests. + +### DESCRIPTION + +These are the files that are generated: + +* `phpunit.xml` is the configuration file for PHPUnit +* `.travis.yml` is the configuration file for Travis CI +* `tests/bootstrap.php` is the file that makes the current plugin active when running the test suite +* `tests/test-sample.php` is a sample file containing the actual tests + +### ENVIRONMENT + +The `tests/bootstrap.php` file looks for the WP_TESTS_DIR environment +variable. + +### EXAMPLE + + wp scaffold plugin-tests hello + + diff --git a/commands/scaffold/plugin/index.md b/commands/scaffold/plugin/index.md new file mode 100644 index 00000000..a863ef83 --- /dev/null +++ b/commands/scaffold/plugin/index.md @@ -0,0 +1,16 @@ +--- +layout: default +title: 'wp scaffold plugin' +--- + +`wp scaffold plugin` - Generate starter code for a plugin. + +### OPTIONS + + --activate + Activate the newly generated plugin. + + --plugin_name=<title> + What to put in the 'Plugin Name:' header + + diff --git a/commands/scaffold/post-type/index.md b/commands/scaffold/post-type/index.md new file mode 100644 index 00000000..035323a5 --- /dev/null +++ b/commands/scaffold/post-type/index.md @@ -0,0 +1,27 @@ +--- +layout: default +title: 'wp scaffold post-type' +--- + +`wp scaffold post-type` - Generate PHP code for registering a custom post type. + +### OPTIONS + + --label=<label> + The text used to translate the update messages + + --textdomain=<textdomain> + The textdomain to use for the labels. + + --theme + Create a file in the current theme directory, instead of sending to +STDOUT. + + --plugin=<plugin> + Create a file in the given plugin's directory, instead of sending to +STDOUT. + + --raw + Just generate the `register_post_type()` call and nothing else. + + diff --git a/commands/scaffold/taxonomy/index.md b/commands/scaffold/taxonomy/index.md new file mode 100644 index 00000000..856fd0fe --- /dev/null +++ b/commands/scaffold/taxonomy/index.md @@ -0,0 +1,34 @@ +--- +layout: default +title: 'wp scaffold taxonomy' +--- + +`wp scaffold taxonomy` - Generate PHP code for registering a custom taxonomy. + +### OPTIONS + + --post_types=<post_types> + Post types to register for use with the taxonomy. + + --label=<label> + The text used to translate the update messages + + --textdomain=<textdomain> + The textdomain to use for the labels. + + --theme + Create a file in the current theme directory, instead of sending to +STDOUT. + + --plugin=<plugin> + Create a file in the given plugin's directory, instead of sending to +STDOUT. + + --raw + Just generate the `register_taxonomy()` call and nothing else. + +### EXAMPLES + + wp scaffold taxonomy venue --post_types=event,presentation + + diff --git a/commands/search-replace/index.md b/commands/search-replace/index.md new file mode 100644 index 00000000..9276615f --- /dev/null +++ b/commands/search-replace/index.md @@ -0,0 +1,31 @@ +--- +layout: default +title: 'wp search-replace' +--- + +`wp search-replace` - Search/replace strings in the database. + +### DESCRIPTION + +This command will go through all rows in all tables and will replace all appearances of the old string with the new one. + +It will correctly handle serialized values, and will not change primary key values. + +### OPTIONS + + --network + Search/replace through all the tables in a multisite install. + + --skip-columns=<columns> + Do not perform the replacement in the comma-separated columns. + + --dry-run + Show report, but don't perform the changes. + +### EXAMPLES + + wp search-replace 'http://example.dev' 'http://example.com' --skip-columns=guid + + wp search-replace 'foo' 'bar' wp_posts wp_postmeta wp_terms --dry-run + + diff --git a/commands/shell/index.md b/commands/shell/index.md new file mode 100644 index 00000000..1582d694 --- /dev/null +++ b/commands/shell/index.md @@ -0,0 +1,17 @@ +--- +layout: default +title: 'wp shell' +--- + +`wp shell` - Interactive PHP console. + +### DESCRIPTION + +`wp shell` allows you to evaluate PHP statements and expressions interactively, from within a WordPress environment. This means that you have access to all the functions, classes and globals that you would have access to from inside a WordPress plugin, for example. + +### OPTIONS + + --basic + Start in fail-safe mode, even if Boris is available. + + diff --git a/commands/term/create/index.md b/commands/term/create/index.md new file mode 100644 index 00000000..f7f5ae31 --- /dev/null +++ b/commands/term/create/index.md @@ -0,0 +1,32 @@ +--- +layout: default +title: 'wp term create' +--- + +`wp term create` - Create a term. + +### OPTIONS + + <term> + A name for the new term. + + <taxonomy> + Taxonomy for the new term. + + --slug=<slug> + A unique slug for the new term. Defaults to sanitized version of name. + + --description=<description> + A description for the new term. + + --parent=<term-id> + A parent for the new term. + + --porcelain + Output just the new term id. + +### EXAMPLES + + wp term create Apple category --description="A type of fruit" + + diff --git a/commands/term/delete/index.md b/commands/term/delete/index.md new file mode 100644 index 00000000..bcbee301 --- /dev/null +++ b/commands/term/delete/index.md @@ -0,0 +1,19 @@ +--- +layout: default +title: 'wp term delete' +--- + +`wp term delete` - Delete a term. + +### OPTIONS + + <term-id> + ID for the term to delete. + + <taxonomy> + Taxonomy of the term to delete. + +### EXAMPLES + + wp term delete 15 category + diff --git a/commands/term/index.md b/commands/term/index.md new file mode 100644 index 00000000..0cd27a28 --- /dev/null +++ b/commands/term/index.md @@ -0,0 +1,37 @@ +--- +layout: default +title: 'wp term' +--- + +`wp term` - Manage terms. + + + +### SUBCOMMANDS + +<table> + <thead> + <tr> + <th>Name</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="/commands/term/create">create</a></td> + <td>Create a term.</td> + </tr> + <tr> + <td><a href="/commands/term/delete">delete</a></td> + <td>Delete a term.</td> + </tr> + <tr> + <td><a href="/commands/term/list">list</a></td> + <td>List terms in a taxonomy.</td> + </tr> + <tr> + <td><a href="/commands/term/update">update</a></td> + <td>Update a term.</td> + </tr> + </tbody> +</table> diff --git a/commands/term/list/index.md b/commands/term/list/index.md new file mode 100644 index 00000000..0292dd84 --- /dev/null +++ b/commands/term/list/index.md @@ -0,0 +1,25 @@ +--- +layout: default +title: 'wp term list' +--- + +`wp term list` - List terms in a taxonomy. + +### OPTIONS + + <taxonomy> + List terms of a given taxonomy. + + --fields=<fields> + Limit the output to specific object fields. Defaults to all of the term object fields. + + --format=<format> + Output list as table, CSV, JSON, or simply IDs. Defaults to table. + +### EXAMPLES + + wp term list category --format=csv + + wp term list post_tag --fields=name,slug + + diff --git a/commands/term/update/index.md b/commands/term/update/index.md new file mode 100644 index 00000000..1cb306eb --- /dev/null +++ b/commands/term/update/index.md @@ -0,0 +1,32 @@ +--- +layout: default +title: 'wp term update' +--- + +`wp term update` - Update a term. + +### OPTIONS + + <term-id> + ID for the term to update. + + <taxonomy> + Taxonomy of the term to update. + + --name=<name> + A new name for the term. + + --slug=<slug> + A new slug for the term. + + --description=<description> + A new description for the term. + + --parent=<term-id> + A new parent for the term. + +### EXAMPLES + + wp term update 15 category --name=Apple + + diff --git a/commands/theme/activate/index.md b/commands/theme/activate/index.md new file mode 100644 index 00000000..f57fec24 --- /dev/null +++ b/commands/theme/activate/index.md @@ -0,0 +1,13 @@ +--- +layout: default +title: 'wp theme activate' +--- + +`wp theme activate` - Activate a theme. + +### OPTIONS + + <theme> + The theme to activate. + + diff --git a/commands/theme/delete/index.md b/commands/theme/delete/index.md new file mode 100644 index 00000000..85dff142 --- /dev/null +++ b/commands/theme/delete/index.md @@ -0,0 +1,17 @@ +--- +layout: default +title: 'wp theme delete' +--- + +`wp theme delete` - Delete a theme. + +### OPTIONS + + <theme> + The theme to delete. + +### EXAMPLES + + wp theme delete twentyeleven + + diff --git a/commands/theme/index.md b/commands/theme/index.md new file mode 100644 index 00000000..7f62fcdf --- /dev/null +++ b/commands/theme/index.md @@ -0,0 +1,53 @@ +--- +layout: default +title: 'wp theme' +--- + +`wp theme` - Manage themes. + + + +### SUBCOMMANDS + +<table> + <thead> + <tr> + <th>Name</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="/commands/theme/activate">activate</a></td> + <td>Activate a theme.</td> + </tr> + <tr> + <td><a href="/commands/theme/delete">delete</a></td> + <td>Delete a theme.</td> + </tr> + <tr> + <td><a href="/commands/theme/install">install</a></td> + <td>Install a theme.</td> + </tr> + <tr> + <td><a href="/commands/theme/list">list</a></td> + <td>Get a list of themes.</td> + </tr> + <tr> + <td><a href="/commands/theme/path">path</a></td> + <td>Get the path to a theme or to the theme directory.</td> + </tr> + <tr> + <td><a href="/commands/theme/status">status</a></td> + <td>See the status of one or all themes.</td> + </tr> + <tr> + <td><a href="/commands/theme/update">update</a></td> + <td>Update a theme.</td> + </tr> + <tr> + <td><a href="/commands/theme/update-all">update-all</a></td> + <td>Update all themes.</td> + </tr> + </tbody> +</table> diff --git a/commands/theme/install/index.md b/commands/theme/install/index.md new file mode 100644 index 00000000..20cec17f --- /dev/null +++ b/commands/theme/install/index.md @@ -0,0 +1,22 @@ +--- +layout: default +title: 'wp theme install' +--- + +`wp theme install` - Install a theme. + +### OPTIONS + + <theme> + A theme slug or the path to a zip file. + + --activate + If set, the theme will be activated immediately after install. + +### EXAMPLES + + wp theme install twentytwelve --activate + + wp theme install ../my-theme.zip + + diff --git a/commands/theme/list/index.md b/commands/theme/list/index.md new file mode 100644 index 00000000..40816044 --- /dev/null +++ b/commands/theme/list/index.md @@ -0,0 +1,17 @@ +--- +layout: default +title: 'wp theme list' +--- + +`wp theme list` - Get a list of themes. + +### OPTIONS + + --format=<format> + Output list as table, CSV or JSON. Defaults to table. + +### EXAMPLES + + wp theme list --format=csv + + diff --git a/commands/theme/path/index.md b/commands/theme/path/index.md new file mode 100644 index 00000000..6308fd9b --- /dev/null +++ b/commands/theme/path/index.md @@ -0,0 +1,22 @@ +--- +layout: default +title: 'wp theme path' +--- + +`wp theme path` - Get the path to a theme or to the theme directory. + +### OPTIONS + + <theme> + The theme to get the path to. If not set, will return the path to the +themes directory. + + --dir + If set, get the path to the closest parent directory, instead of the +theme file. + +### EXAMPLES + + cd $(wp theme path) + + diff --git a/commands/theme/status/index.md b/commands/theme/status/index.md new file mode 100644 index 00000000..be030faf --- /dev/null +++ b/commands/theme/status/index.md @@ -0,0 +1,13 @@ +--- +layout: default +title: 'wp theme status' +--- + +`wp theme status` - See the status of one or all themes. + +### OPTIONS + + <theme> + A particular theme to show the status for. + + diff --git a/commands/theme/update-all/index.md b/commands/theme/update-all/index.md new file mode 100644 index 00000000..73bff567 --- /dev/null +++ b/commands/theme/update-all/index.md @@ -0,0 +1,17 @@ +--- +layout: default +title: 'wp theme update-all' +--- + +`wp theme update-all` - Update all themes. + +### OPTIONS + + --dry-run + Pretend to do the updates, to see what would happen. + +### EXAMPLES + + wp theme update-all + + diff --git a/commands/theme/update/index.md b/commands/theme/update/index.md new file mode 100644 index 00000000..efa5b344 --- /dev/null +++ b/commands/theme/update/index.md @@ -0,0 +1,21 @@ +--- +layout: default +title: 'wp theme update' +--- + +`wp theme update` - Update a theme. + +### OPTIONS + + <theme> + The theme to update. + + --version=dev + If set, the theme will be updated to the latest development version, +regardless of what version is currently installed. + +### EXAMPLES + + wp theme update twentytwelve + + diff --git a/commands/transient/delete/index.md b/commands/transient/delete/index.md new file mode 100644 index 00000000..7a96fa5a --- /dev/null +++ b/commands/transient/delete/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp transient delete' +--- + +`wp transient delete` - Delete a transient value. + + + diff --git a/commands/transient/get/index.md b/commands/transient/get/index.md new file mode 100644 index 00000000..2cfa2ec1 --- /dev/null +++ b/commands/transient/get/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp transient get' +--- + +`wp transient get` - Get a transient value. + + + diff --git a/commands/transient/index.md b/commands/transient/index.md new file mode 100644 index 00000000..ff8b511b --- /dev/null +++ b/commands/transient/index.md @@ -0,0 +1,40 @@ +--- +layout: default +title: 'wp transient' +--- + +`wp transient` - Manage WordPress transients. + +### EXAMPLES + + wp transient set my_key my_value 300 + + +### SUBCOMMANDS + +<table> + <thead> + <tr> + <th>Name</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="/commands/transient/delete">delete</a></td> + <td>Delete a transient value.</td> + </tr> + <tr> + <td><a href="/commands/transient/get">get</a></td> + <td>Get a transient value.</td> + </tr> + <tr> + <td><a href="/commands/transient/set">set</a></td> + <td>Set a transient value. <expiration> is the time until expiration, in seconds.</td> + </tr> + <tr> + <td><a href="/commands/transient/type">type</a></td> + <td>See wether the transients API is using an object cache or the options table.</td> + </tr> + </tbody> +</table> diff --git a/commands/transient/set/index.md b/commands/transient/set/index.md new file mode 100644 index 00000000..4b2f5df0 --- /dev/null +++ b/commands/transient/set/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp transient set' +--- + +`wp transient set` - Set a transient value. <expiration> is the time until expiration, in seconds. + + + diff --git a/commands/transient/type/index.md b/commands/transient/type/index.md new file mode 100644 index 00000000..08faf848 --- /dev/null +++ b/commands/transient/type/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp transient type' +--- + +`wp transient type` - See wether the transients API is using an object cache or the options table. + + + diff --git a/commands/user-meta/add/index.md b/commands/user-meta/add/index.md new file mode 100644 index 00000000..01e80205 --- /dev/null +++ b/commands/user-meta/add/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp user-meta add' +--- + +`wp user-meta add` - Add a meta field. + + + diff --git a/commands/user-meta/delete/index.md b/commands/user-meta/delete/index.md new file mode 100644 index 00000000..0f5f2ee1 --- /dev/null +++ b/commands/user-meta/delete/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp user-meta delete' +--- + +`wp user-meta delete` - Delete a meta field. + + + diff --git a/commands/user-meta/get/index.md b/commands/user-meta/get/index.md new file mode 100644 index 00000000..67163631 --- /dev/null +++ b/commands/user-meta/get/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp user-meta get' +--- + +`wp user-meta get` - Get meta field value. + + + diff --git a/commands/user-meta/index.md b/commands/user-meta/index.md new file mode 100644 index 00000000..c7d49a18 --- /dev/null +++ b/commands/user-meta/index.md @@ -0,0 +1,45 @@ +--- +layout: default +title: 'wp user-meta' +--- + +`wp user-meta` - Manage user custom fields. + +### OPTIONS + + --format=json + Encode/decode values as JSON. + +### EXAMPLES + + wp user-meta set 123 description "Mary is a WordPress developer." + + +### SUBCOMMANDS + +<table> + <thead> + <tr> + <th>Name</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="/commands/user-meta/add">add</a></td> + <td>Add a meta field.</td> + </tr> + <tr> + <td><a href="/commands/user-meta/delete">delete</a></td> + <td>Delete a meta field.</td> + </tr> + <tr> + <td><a href="/commands/user-meta/get">get</a></td> + <td>Get meta field value.</td> + </tr> + <tr> + <td><a href="/commands/user-meta/update">update</a></td> + <td>Update a meta field.</td> + </tr> + </tbody> +</table> diff --git a/commands/user-meta/update/index.md b/commands/user-meta/update/index.md new file mode 100644 index 00000000..f51dc10c --- /dev/null +++ b/commands/user-meta/update/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp user-meta update' +--- + +`wp user-meta update` - Update a meta field. + + + diff --git a/commands/user/add-role/index.md b/commands/user/add-role/index.md new file mode 100644 index 00000000..52391398 --- /dev/null +++ b/commands/user/add-role/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp user add-role' +--- + +`wp user add-role` - Add a role for a user. + + + diff --git a/commands/user/create/index.md b/commands/user/create/index.md new file mode 100644 index 00000000..b1ab1209 --- /dev/null +++ b/commands/user/create/index.md @@ -0,0 +1,35 @@ +--- +layout: default +title: 'wp user create' +--- + +`wp user create` - Create a user. + +### OPTIONS + + <user-login> + The login of the user to create. + + <user-email> + The email address of the user to create. + + --role=<role> + The role of the user to create. Default: default role + + --user_pass=<password> + The user password. Default: randomly generated + + --user_registered=<yyyy-mm-dd> + The date the user registered. Default: current date + + --display_name=<name> + The display name. + + --porcelain + Output just the new user id. + +### EXAMPLES + + wp user create bob bob@example.com --role=author + + diff --git a/commands/user/delete/index.md b/commands/user/delete/index.md new file mode 100644 index 00000000..e0a002e1 --- /dev/null +++ b/commands/user/delete/index.md @@ -0,0 +1,20 @@ +--- +layout: default +title: 'wp user delete' +--- + +`wp user delete` - Delete one or more users. + +### OPTIONS + + <ID> + The ID of the user to delete. + + --reassign=<ID> + User to reassign the posts to. + +### EXAMPLES + + wp user delete 123 --reassign=567 + + diff --git a/commands/user/generate/index.md b/commands/user/generate/index.md new file mode 100644 index 00000000..5aa6c21c --- /dev/null +++ b/commands/user/generate/index.md @@ -0,0 +1,16 @@ +--- +layout: default +title: 'wp user generate' +--- + +`wp user generate` - Generate users. + +### OPTIONS + + --count=<number> + How many users to generate. Default: 100 + + --role=<role> + The role of the generated users. Default: default role from WP + + diff --git a/commands/user/import-csv/index.md b/commands/user/import-csv/index.md new file mode 100644 index 00000000..7f019adb --- /dev/null +++ b/commands/user/import-csv/index.md @@ -0,0 +1,24 @@ +--- +layout: default +title: 'wp user import-csv' +--- + +`wp user import-csv` - Import users from a CSV file. + +### OPTIONS + + <file> + The CSV file of users to import. + +### EXAMPLES + + wp user import-csv /path/to/users.csv + + Sample users.csv file: + + user_login,user_email,display_name,role + bobjones,bobjones@domain.com,Bob Jones,contributor + newuser1,newuser1@domain.com,New User,author + existinguser,existinguser@domain.com,Existing User,administrator + + diff --git a/commands/user/index.md b/commands/user/index.md new file mode 100644 index 00000000..703c1a88 --- /dev/null +++ b/commands/user/index.md @@ -0,0 +1,57 @@ +--- +layout: default +title: 'wp user' +--- + +`wp user` - Manage users. + + + +### SUBCOMMANDS + +<table> + <thead> + <tr> + <th>Name</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="/commands/user/add-role">add-role</a></td> + <td>Add a role for a user.</td> + </tr> + <tr> + <td><a href="/commands/user/create">create</a></td> + <td>Create a user.</td> + </tr> + <tr> + <td><a href="/commands/user/delete">delete</a></td> + <td>Delete one or more users.</td> + </tr> + <tr> + <td><a href="/commands/user/generate">generate</a></td> + <td>Generate users.</td> + </tr> + <tr> + <td><a href="/commands/user/import-csv">import-csv</a></td> + <td>Import users from a CSV file.</td> + </tr> + <tr> + <td><a href="/commands/user/list">list</a></td> + <td>List users.</td> + </tr> + <tr> + <td><a href="/commands/user/remove-role">remove-role</a></td> + <td>Remove a user's role.</td> + </tr> + <tr> + <td><a href="/commands/user/set-role">set-role</a></td> + <td>Set the user role (for a particular blog).</td> + </tr> + <tr> + <td><a href="/commands/user/update">update</a></td> + <td>Update a user.</td> + </tr> + </tbody> +</table> diff --git a/commands/user/list/index.md b/commands/user/list/index.md new file mode 100644 index 00000000..b3678bce --- /dev/null +++ b/commands/user/list/index.md @@ -0,0 +1,27 @@ +--- +layout: default +title: 'wp user list' +--- + +`wp user list` - List users. + +### OPTIONS + + --role=<role> + Only display users with a certain role. + + --fields=<fields> + Limit the output to specific object fields. Defaults to ID,user_login,display_name,user_email,user_registered,roles + + --format=<format> + Output list as table, CSV, JSON, or simply IDs. Defaults to table. + +### EXAMPLES + + wp user list --format=ids + + wp user list --role=administrator --format=csv + + wp user list --fields=display_name,user_email + + diff --git a/commands/user/remove-role/index.md b/commands/user/remove-role/index.md new file mode 100644 index 00000000..77d3d66a --- /dev/null +++ b/commands/user/remove-role/index.md @@ -0,0 +1,18 @@ +--- +layout: default +title: 'wp user remove-role' +--- + +`wp user remove-role` - Remove a user's role. + +### OPTIONS + + <user-login> + User ID or user login. + +### EXAMPLES + + wp user remove-role bob + wp user remove-role 12 + + diff --git a/commands/user/set-role/index.md b/commands/user/set-role/index.md new file mode 100644 index 00000000..c876970b --- /dev/null +++ b/commands/user/set-role/index.md @@ -0,0 +1,21 @@ +--- +layout: default +title: 'wp user set-role' +--- + +`wp user set-role` - Set the user role (for a particular blog). + +### OPTIONS + + <user-login> + User ID or user login. + + [<role>] + Add the user with the specified role. Defaults to blog default. + +### EXAMPLES + + wp user set-role bob author + wp user set-role 12 author + + diff --git a/commands/user/update/index.md b/commands/user/update/index.md new file mode 100644 index 00000000..24ab278b --- /dev/null +++ b/commands/user/update/index.md @@ -0,0 +1,20 @@ +--- +layout: default +title: 'wp user update' +--- + +`wp user update` - Update a user. + +### OPTIONS + + <ID> + The ID of the user to update. + + --<field>=<value> + One or more fields to update. For accepted fields, see wp_update_user(). + +### EXAMPLES + + wp user update 123 --user_login=mary --display_name=Mary + + From efdb8299b1c730aaf9cb101bdf6586dabc38e988 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Wed, 24 Jul 2013 16:13:27 +0300 Subject: [PATCH 174/839] remove unnecessary --path from invoke_wp_cli() --- Phakefile.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/Phakefile.php b/Phakefile.php index 2fe0fbb1..bfb1d425 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -2,8 +2,6 @@ require __DIR__ . '/vendor/autoload.php'; function invoke_wp_cli( $cmd, $app ) { - $cmd .= ' --path=' . escapeshellarg( $app['path'] ); - ob_start(); system( $cmd, $return_code ); $json = ob_get_clean(); From ab62fe0b48b599fcfbc84979d2673967e30a2816 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Sat, 20 Jul 2013 23:07:49 +0300 Subject: [PATCH 175/839] use new `wp cli` command --- Phakefile.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Phakefile.php b/Phakefile.php index bfb1d425..782a4264 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -34,7 +34,7 @@ function generate_synopsis( $command, $path = '' ) { } } - generate_synopsis( invoke_wp_cli( 'wp --cmd-dump', $app ) ); + generate_synopsis( invoke_wp_cli( 'wp cli cmd-dump', $app ) ); }); function gen_cmd_pages( $wp_cli_path, $cmd, $parent = array() ) { @@ -67,7 +67,7 @@ function gen_cmd_pages( $wp_cli_path, $cmd, $parent = array() ) { desc( 'Update the /commands/ page.' ); task( 'cmd-list', function( $app ) { - $wp = invoke_wp_cli( 'wp --cmd-dump', $app ); + $wp = invoke_wp_cli( 'wp cli cmd-dump', $app ); // generate main page file_put_contents( '_includes/cmd-list.html', render( 'cmd-list.mustache', $wp ) ); @@ -81,7 +81,7 @@ function gen_cmd_pages( $wp_cli_path, $cmd, $parent = array() ) { desc( 'Update the /config/ page.' ); task( 'param-list', function( $app ) { - $config_spec = invoke_wp_cli( 'wp --param-dump', $app ); + $config_spec = invoke_wp_cli( 'wp cli param-dump', $app ); $out = ''; From 3168af2ea615de851e44ebc318753b1ba3dd1508 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Thu, 25 Jul 2013 14:57:38 +0300 Subject: [PATCH 176/839] add trailing slash for command URLs; fixes wp-cli/wp-cli#609 --- _templates/subcmd-list.mustache | 2 +- commands/blog/index.md | 6 +++--- commands/cache/index.md | 18 +++++++++--------- commands/cap/index.md | 6 +++--- commands/comment/index.md | 22 +++++++++++----------- commands/core/index.md | 18 +++++++++--------- commands/db/index.md | 18 +++++++++--------- commands/media/index.md | 4 ++-- commands/option/index.md | 8 ++++---- commands/plugin/index.md | 22 +++++++++++----------- commands/post-meta/index.md | 8 ++++---- commands/post/index.md | 14 +++++++------- commands/rewrite/index.md | 6 +++--- commands/role/index.md | 8 ++++---- commands/scaffold/index.md | 12 ++++++------ commands/term/index.md | 8 ++++---- commands/theme/index.md | 16 ++++++++-------- commands/transient/index.md | 8 ++++---- commands/user-meta/index.md | 8 ++++---- commands/user/index.md | 18 +++++++++--------- 20 files changed, 115 insertions(+), 115 deletions(-) diff --git a/_templates/subcmd-list.mustache b/_templates/subcmd-list.mustache index d051a272..92a1d969 100644 --- a/_templates/subcmd-list.mustache +++ b/_templates/subcmd-list.mustache @@ -20,7 +20,7 @@ title: 'wp {{synopsis}}' <tbody> {{#subcommands}} <tr> - <td><a href="/commands/{{path}}/{{name}}">{{name}}</a></td> + <td><a href="/commands/{{path}}/{{name}}/">{{name}}</a></td> <td>{{description}}</td> </tr> {{/subcommands}} diff --git a/commands/blog/index.md b/commands/blog/index.md index efb060bf..e36fc616 100644 --- a/commands/blog/index.md +++ b/commands/blog/index.md @@ -18,15 +18,15 @@ title: 'wp blog' </thead> <tbody> <tr> - <td><a href="/commands/blog/create">create</a></td> + <td><a href="/commands/blog/create/">create</a></td> <td>Create a blog in a multisite install.</td> </tr> <tr> - <td><a href="/commands/blog/delete">delete</a></td> + <td><a href="/commands/blog/delete/">delete</a></td> <td>Delete a blog in a multisite install.</td> </tr> <tr> - <td><a href="/commands/blog/empty">empty</a></td> + <td><a href="/commands/blog/empty/">empty</a></td> <td>Empty a blog of its content.</td> </tr> </tbody> diff --git a/commands/cache/index.md b/commands/cache/index.md index 4599ae37..d0690f91 100644 --- a/commands/cache/index.md +++ b/commands/cache/index.md @@ -23,39 +23,39 @@ title: 'wp cache' </thead> <tbody> <tr> - <td><a href="/commands/cache/add">add</a></td> + <td><a href="/commands/cache/add/">add</a></td> <td>Add a value to the object cache.</td> </tr> <tr> - <td><a href="/commands/cache/decr">decr</a></td> + <td><a href="/commands/cache/decr/">decr</a></td> <td>Decrement a value in the object cache.</td> </tr> <tr> - <td><a href="/commands/cache/delete">delete</a></td> + <td><a href="/commands/cache/delete/">delete</a></td> <td>Remove a value from the object cache.</td> </tr> <tr> - <td><a href="/commands/cache/flush">flush</a></td> + <td><a href="/commands/cache/flush/">flush</a></td> <td>Flush the object cache.</td> </tr> <tr> - <td><a href="/commands/cache/get">get</a></td> + <td><a href="/commands/cache/get/">get</a></td> <td>Get a value from the object cache.</td> </tr> <tr> - <td><a href="/commands/cache/incr">incr</a></td> + <td><a href="/commands/cache/incr/">incr</a></td> <td>Increment a value in the object cache.</td> </tr> <tr> - <td><a href="/commands/cache/replace">replace</a></td> + <td><a href="/commands/cache/replace/">replace</a></td> <td>Replace an existing value in the object cache.</td> </tr> <tr> - <td><a href="/commands/cache/set">set</a></td> + <td><a href="/commands/cache/set/">set</a></td> <td>Set a value to the object cache.</td> </tr> <tr> - <td><a href="/commands/cache/type">type</a></td> + <td><a href="/commands/cache/type/">type</a></td> <td>Attempts to determine which object cache is being used.</td> </tr> </tbody> diff --git a/commands/cap/index.md b/commands/cap/index.md index 7e69b337..2563c823 100644 --- a/commands/cap/index.md +++ b/commands/cap/index.md @@ -28,15 +28,15 @@ title: 'wp cap' </thead> <tbody> <tr> - <td><a href="/commands/cap/add">add</a></td> + <td><a href="/commands/cap/add/">add</a></td> <td>Add capabilities to a given role.</td> </tr> <tr> - <td><a href="/commands/cap/list">list</a></td> + <td><a href="/commands/cap/list/">list</a></td> <td>List capabilities for a given role.</td> </tr> <tr> - <td><a href="/commands/cap/remove">remove</a></td> + <td><a href="/commands/cap/remove/">remove</a></td> <td>Remove capabilities from a given role.</td> </tr> </tbody> diff --git a/commands/comment/index.md b/commands/comment/index.md index 112f3c56..7cd6183c 100644 --- a/commands/comment/index.md +++ b/commands/comment/index.md @@ -18,47 +18,47 @@ title: 'wp comment' </thead> <tbody> <tr> - <td><a href="/commands/comment/approve">approve</a></td> + <td><a href="/commands/comment/approve/">approve</a></td> <td>Approve a comment.</td> </tr> <tr> - <td><a href="/commands/comment/count">count</a></td> + <td><a href="/commands/comment/count/">count</a></td> <td>Count comments, on whole blog or on a given post.</td> </tr> <tr> - <td><a href="/commands/comment/create">create</a></td> + <td><a href="/commands/comment/create/">create</a></td> <td>Insert a comment.</td> </tr> <tr> - <td><a href="/commands/comment/delete">delete</a></td> + <td><a href="/commands/comment/delete/">delete</a></td> <td>Delete a comment.</td> </tr> <tr> - <td><a href="/commands/comment/last">last</a></td> + <td><a href="/commands/comment/last/">last</a></td> <td>Get last approved comment.</td> </tr> <tr> - <td><a href="/commands/comment/spam">spam</a></td> + <td><a href="/commands/comment/spam/">spam</a></td> <td>Spam a comment.</td> </tr> <tr> - <td><a href="/commands/comment/status">status</a></td> + <td><a href="/commands/comment/status/">status</a></td> <td>Get status of a comment.</td> </tr> <tr> - <td><a href="/commands/comment/trash">trash</a></td> + <td><a href="/commands/comment/trash/">trash</a></td> <td>Trash a comment.</td> </tr> <tr> - <td><a href="/commands/comment/unapprove">unapprove</a></td> + <td><a href="/commands/comment/unapprove/">unapprove</a></td> <td>Unapprove a comment.</td> </tr> <tr> - <td><a href="/commands/comment/unspam">unspam</a></td> + <td><a href="/commands/comment/unspam/">unspam</a></td> <td>Unspam a comment.</td> </tr> <tr> - <td><a href="/commands/comment/untrash">untrash</a></td> + <td><a href="/commands/comment/untrash/">untrash</a></td> <td>Untrash a comment.</td> </tr> </tbody> diff --git a/commands/core/index.md b/commands/core/index.md index 6531fcf5..cecaa84b 100644 --- a/commands/core/index.md +++ b/commands/core/index.md @@ -18,39 +18,39 @@ title: 'wp core' </thead> <tbody> <tr> - <td><a href="/commands/core/config">config</a></td> + <td><a href="/commands/core/config/">config</a></td> <td>Set up a wp-config.php file.</td> </tr> <tr> - <td><a href="/commands/core/download">download</a></td> + <td><a href="/commands/core/download/">download</a></td> <td>Download core WordPress files.</td> </tr> <tr> - <td><a href="/commands/core/init-tests">init-tests</a></td> + <td><a href="/commands/core/init-tests/">init-tests</a></td> <td>Set up the official test suite using the current WordPress instance.</td> </tr> <tr> - <td><a href="/commands/core/install">install</a></td> + <td><a href="/commands/core/install/">install</a></td> <td>Create the WordPress tables in the database.</td> </tr> <tr> - <td><a href="/commands/core/install-network">install-network</a></td> + <td><a href="/commands/core/install-network/">install-network</a></td> <td>Transform a single-site install into a multi-site install.</td> </tr> <tr> - <td><a href="/commands/core/is-installed">is-installed</a></td> + <td><a href="/commands/core/is-installed/">is-installed</a></td> <td>Determine if the WordPress tables are installed.</td> </tr> <tr> - <td><a href="/commands/core/update">update</a></td> + <td><a href="/commands/core/update/">update</a></td> <td>Update WordPress.</td> </tr> <tr> - <td><a href="/commands/core/update-db">update-db</a></td> + <td><a href="/commands/core/update-db/">update-db</a></td> <td>Update the WordPress database.</td> </tr> <tr> - <td><a href="/commands/core/version">version</a></td> + <td><a href="/commands/core/version/">version</a></td> <td>Display the WordPress version.</td> </tr> </tbody> diff --git a/commands/db/index.md b/commands/db/index.md index 7355e21b..a03a2c3c 100644 --- a/commands/db/index.md +++ b/commands/db/index.md @@ -33,39 +33,39 @@ title: 'wp db' </thead> <tbody> <tr> - <td><a href="/commands/db/cli">cli</a></td> + <td><a href="/commands/db/cli/">cli</a></td> <td>Open a mysql console using the WordPress credentials.</td> </tr> <tr> - <td><a href="/commands/db/create">create</a></td> + <td><a href="/commands/db/create/">create</a></td> <td>Create the database, as specified in wp-config.php</td> </tr> <tr> - <td><a href="/commands/db/drop">drop</a></td> + <td><a href="/commands/db/drop/">drop</a></td> <td>Delete the database.</td> </tr> <tr> - <td><a href="/commands/db/export">export</a></td> + <td><a href="/commands/db/export/">export</a></td> <td>Exports the database using mysqldump.</td> </tr> <tr> - <td><a href="/commands/db/import">import</a></td> + <td><a href="/commands/db/import/">import</a></td> <td>Import database from a file.</td> </tr> <tr> - <td><a href="/commands/db/optimize">optimize</a></td> + <td><a href="/commands/db/optimize/">optimize</a></td> <td>Optimize the database.</td> </tr> <tr> - <td><a href="/commands/db/query">query</a></td> + <td><a href="/commands/db/query/">query</a></td> <td>Execute a query against the database.</td> </tr> <tr> - <td><a href="/commands/db/repair">repair</a></td> + <td><a href="/commands/db/repair/">repair</a></td> <td>Repair the database.</td> </tr> <tr> - <td><a href="/commands/db/reset">reset</a></td> + <td><a href="/commands/db/reset/">reset</a></td> <td>Remove all tables from the database.</td> </tr> </tbody> diff --git a/commands/media/index.md b/commands/media/index.md index d37167b1..09e45e40 100644 --- a/commands/media/index.md +++ b/commands/media/index.md @@ -18,11 +18,11 @@ title: 'wp media' </thead> <tbody> <tr> - <td><a href="/commands/media/import">import</a></td> + <td><a href="/commands/media/import/">import</a></td> <td>Create attachments from local files or from URLs.</td> </tr> <tr> - <td><a href="/commands/media/regenerate">regenerate</a></td> + <td><a href="/commands/media/regenerate/">regenerate</a></td> <td>Regenerate thumbnail(s).</td> </tr> </tbody> diff --git a/commands/option/index.md b/commands/option/index.md index 92fa7936..90b2f6a6 100644 --- a/commands/option/index.md +++ b/commands/option/index.md @@ -32,19 +32,19 @@ title: 'wp option' </thead> <tbody> <tr> - <td><a href="/commands/option/add">add</a></td> + <td><a href="/commands/option/add/">add</a></td> <td>Add an option.</td> </tr> <tr> - <td><a href="/commands/option/delete">delete</a></td> + <td><a href="/commands/option/delete/">delete</a></td> <td>Delete an option.</td> </tr> <tr> - <td><a href="/commands/option/get">get</a></td> + <td><a href="/commands/option/get/">get</a></td> <td>Get an option.</td> </tr> <tr> - <td><a href="/commands/option/update">update</a></td> + <td><a href="/commands/option/update/">update</a></td> <td>Update an option.</td> </tr> </tbody> diff --git a/commands/plugin/index.md b/commands/plugin/index.md index 954c9456..a3649f28 100644 --- a/commands/plugin/index.md +++ b/commands/plugin/index.md @@ -18,47 +18,47 @@ title: 'wp plugin' </thead> <tbody> <tr> - <td><a href="/commands/plugin/activate">activate</a></td> + <td><a href="/commands/plugin/activate/">activate</a></td> <td>Activate a plugin.</td> </tr> <tr> - <td><a href="/commands/plugin/deactivate">deactivate</a></td> + <td><a href="/commands/plugin/deactivate/">deactivate</a></td> <td>Deactivate a plugin.</td> </tr> <tr> - <td><a href="/commands/plugin/delete">delete</a></td> + <td><a href="/commands/plugin/delete/">delete</a></td> <td>Delete plugin files.</td> </tr> <tr> - <td><a href="/commands/plugin/install">install</a></td> + <td><a href="/commands/plugin/install/">install</a></td> <td>Install a plugin.</td> </tr> <tr> - <td><a href="/commands/plugin/list">list</a></td> + <td><a href="/commands/plugin/list/">list</a></td> <td>Get a list of plugins.</td> </tr> <tr> - <td><a href="/commands/plugin/path">path</a></td> + <td><a href="/commands/plugin/path/">path</a></td> <td>Get the path to a plugin or to the plugin directory.</td> </tr> <tr> - <td><a href="/commands/plugin/status">status</a></td> + <td><a href="/commands/plugin/status/">status</a></td> <td>See the status of one or all plugins.</td> </tr> <tr> - <td><a href="/commands/plugin/toggle">toggle</a></td> + <td><a href="/commands/plugin/toggle/">toggle</a></td> <td>Toggle a plugin's activation state.</td> </tr> <tr> - <td><a href="/commands/plugin/uninstall">uninstall</a></td> + <td><a href="/commands/plugin/uninstall/">uninstall</a></td> <td>Uninstall a plugin.</td> </tr> <tr> - <td><a href="/commands/plugin/update">update</a></td> + <td><a href="/commands/plugin/update/">update</a></td> <td>Update a plugin.</td> </tr> <tr> - <td><a href="/commands/plugin/update-all">update-all</a></td> + <td><a href="/commands/plugin/update-all/">update-all</a></td> <td>Update all plugins.</td> </tr> </tbody> diff --git a/commands/post-meta/index.md b/commands/post-meta/index.md index 430e86a7..7ca8fc2c 100644 --- a/commands/post-meta/index.md +++ b/commands/post-meta/index.md @@ -26,19 +26,19 @@ title: 'wp post-meta' </thead> <tbody> <tr> - <td><a href="/commands/post-meta/add">add</a></td> + <td><a href="/commands/post-meta/add/">add</a></td> <td>Add a meta field.</td> </tr> <tr> - <td><a href="/commands/post-meta/delete">delete</a></td> + <td><a href="/commands/post-meta/delete/">delete</a></td> <td>Delete a meta field.</td> </tr> <tr> - <td><a href="/commands/post-meta/get">get</a></td> + <td><a href="/commands/post-meta/get/">get</a></td> <td>Get meta field value.</td> </tr> <tr> - <td><a href="/commands/post-meta/update">update</a></td> + <td><a href="/commands/post-meta/update/">update</a></td> <td>Update a meta field.</td> </tr> </tbody> diff --git a/commands/post/index.md b/commands/post/index.md index a30139bd..311f7128 100644 --- a/commands/post/index.md +++ b/commands/post/index.md @@ -18,31 +18,31 @@ title: 'wp post' </thead> <tbody> <tr> - <td><a href="/commands/post/create">create</a></td> + <td><a href="/commands/post/create/">create</a></td> <td>Create a post.</td> </tr> <tr> - <td><a href="/commands/post/delete">delete</a></td> + <td><a href="/commands/post/delete/">delete</a></td> <td>Delete a post by ID.</td> </tr> <tr> - <td><a href="/commands/post/edit">edit</a></td> + <td><a href="/commands/post/edit/">edit</a></td> <td>Launch system editor to edit post content.</td> </tr> <tr> - <td><a href="/commands/post/generate">generate</a></td> + <td><a href="/commands/post/generate/">generate</a></td> <td>Generate some posts.</td> </tr> <tr> - <td><a href="/commands/post/get">get</a></td> + <td><a href="/commands/post/get/">get</a></td> <td>Get a post's content by ID.</td> </tr> <tr> - <td><a href="/commands/post/list">list</a></td> + <td><a href="/commands/post/list/">list</a></td> <td>Get a list of posts.</td> </tr> <tr> - <td><a href="/commands/post/update">update</a></td> + <td><a href="/commands/post/update/">update</a></td> <td>Update one or more posts.</td> </tr> </tbody> diff --git a/commands/rewrite/index.md b/commands/rewrite/index.md index b538ee1b..19a65b84 100644 --- a/commands/rewrite/index.md +++ b/commands/rewrite/index.md @@ -18,15 +18,15 @@ title: 'wp rewrite' </thead> <tbody> <tr> - <td><a href="/commands/rewrite/dump">dump</a></td> + <td><a href="/commands/rewrite/dump/">dump</a></td> <td>Print current rewrite rules.</td> </tr> <tr> - <td><a href="/commands/rewrite/flush">flush</a></td> + <td><a href="/commands/rewrite/flush/">flush</a></td> <td>Flush rewrite rules.</td> </tr> <tr> - <td><a href="/commands/rewrite/structure">structure</a></td> + <td><a href="/commands/rewrite/structure/">structure</a></td> <td>Update the permalink structure.</td> </tr> </tbody> diff --git a/commands/role/index.md b/commands/role/index.md index 628eb4de..a4ddb5b2 100644 --- a/commands/role/index.md +++ b/commands/role/index.md @@ -18,19 +18,19 @@ title: 'wp role' </thead> <tbody> <tr> - <td><a href="/commands/role/create">create</a></td> + <td><a href="/commands/role/create/">create</a></td> <td>Create a new role.</td> </tr> <tr> - <td><a href="/commands/role/delete">delete</a></td> + <td><a href="/commands/role/delete/">delete</a></td> <td>Delete an existing role.</td> </tr> <tr> - <td><a href="/commands/role/exists">exists</a></td> + <td><a href="/commands/role/exists/">exists</a></td> <td>Check if a role exists.</td> </tr> <tr> - <td><a href="/commands/role/list">list</a></td> + <td><a href="/commands/role/list/">list</a></td> <td>List all roles.</td> </tr> </tbody> diff --git a/commands/scaffold/index.md b/commands/scaffold/index.md index 1f9f175f..ca133658 100644 --- a/commands/scaffold/index.md +++ b/commands/scaffold/index.md @@ -18,27 +18,27 @@ title: 'wp scaffold' </thead> <tbody> <tr> - <td><a href="/commands/scaffold/_s">_s</a></td> + <td><a href="/commands/scaffold/_s/">_s</a></td> <td>Generate starter code for a theme.</td> </tr> <tr> - <td><a href="/commands/scaffold/child-theme">child-theme</a></td> + <td><a href="/commands/scaffold/child-theme/">child-theme</a></td> <td>Generate empty child theme.</td> </tr> <tr> - <td><a href="/commands/scaffold/plugin">plugin</a></td> + <td><a href="/commands/scaffold/plugin/">plugin</a></td> <td>Generate starter code for a plugin.</td> </tr> <tr> - <td><a href="/commands/scaffold/plugin-tests">plugin-tests</a></td> + <td><a href="/commands/scaffold/plugin-tests/">plugin-tests</a></td> <td>Generate files needed for running PHPUnit tests.</td> </tr> <tr> - <td><a href="/commands/scaffold/post-type">post-type</a></td> + <td><a href="/commands/scaffold/post-type/">post-type</a></td> <td>Generate PHP code for registering a custom post type.</td> </tr> <tr> - <td><a href="/commands/scaffold/taxonomy">taxonomy</a></td> + <td><a href="/commands/scaffold/taxonomy/">taxonomy</a></td> <td>Generate PHP code for registering a custom taxonomy.</td> </tr> </tbody> diff --git a/commands/term/index.md b/commands/term/index.md index 0cd27a28..50d34890 100644 --- a/commands/term/index.md +++ b/commands/term/index.md @@ -18,19 +18,19 @@ title: 'wp term' </thead> <tbody> <tr> - <td><a href="/commands/term/create">create</a></td> + <td><a href="/commands/term/create/">create</a></td> <td>Create a term.</td> </tr> <tr> - <td><a href="/commands/term/delete">delete</a></td> + <td><a href="/commands/term/delete/">delete</a></td> <td>Delete a term.</td> </tr> <tr> - <td><a href="/commands/term/list">list</a></td> + <td><a href="/commands/term/list/">list</a></td> <td>List terms in a taxonomy.</td> </tr> <tr> - <td><a href="/commands/term/update">update</a></td> + <td><a href="/commands/term/update/">update</a></td> <td>Update a term.</td> </tr> </tbody> diff --git a/commands/theme/index.md b/commands/theme/index.md index 7f62fcdf..e8cfa5bf 100644 --- a/commands/theme/index.md +++ b/commands/theme/index.md @@ -18,35 +18,35 @@ title: 'wp theme' </thead> <tbody> <tr> - <td><a href="/commands/theme/activate">activate</a></td> + <td><a href="/commands/theme/activate/">activate</a></td> <td>Activate a theme.</td> </tr> <tr> - <td><a href="/commands/theme/delete">delete</a></td> + <td><a href="/commands/theme/delete/">delete</a></td> <td>Delete a theme.</td> </tr> <tr> - <td><a href="/commands/theme/install">install</a></td> + <td><a href="/commands/theme/install/">install</a></td> <td>Install a theme.</td> </tr> <tr> - <td><a href="/commands/theme/list">list</a></td> + <td><a href="/commands/theme/list/">list</a></td> <td>Get a list of themes.</td> </tr> <tr> - <td><a href="/commands/theme/path">path</a></td> + <td><a href="/commands/theme/path/">path</a></td> <td>Get the path to a theme or to the theme directory.</td> </tr> <tr> - <td><a href="/commands/theme/status">status</a></td> + <td><a href="/commands/theme/status/">status</a></td> <td>See the status of one or all themes.</td> </tr> <tr> - <td><a href="/commands/theme/update">update</a></td> + <td><a href="/commands/theme/update/">update</a></td> <td>Update a theme.</td> </tr> <tr> - <td><a href="/commands/theme/update-all">update-all</a></td> + <td><a href="/commands/theme/update-all/">update-all</a></td> <td>Update all themes.</td> </tr> </tbody> diff --git a/commands/transient/index.md b/commands/transient/index.md index ff8b511b..d1d51091 100644 --- a/commands/transient/index.md +++ b/commands/transient/index.md @@ -21,19 +21,19 @@ title: 'wp transient' </thead> <tbody> <tr> - <td><a href="/commands/transient/delete">delete</a></td> + <td><a href="/commands/transient/delete/">delete</a></td> <td>Delete a transient value.</td> </tr> <tr> - <td><a href="/commands/transient/get">get</a></td> + <td><a href="/commands/transient/get/">get</a></td> <td>Get a transient value.</td> </tr> <tr> - <td><a href="/commands/transient/set">set</a></td> + <td><a href="/commands/transient/set/">set</a></td> <td>Set a transient value. <expiration> is the time until expiration, in seconds.</td> </tr> <tr> - <td><a href="/commands/transient/type">type</a></td> + <td><a href="/commands/transient/type/">type</a></td> <td>See wether the transients API is using an object cache or the options table.</td> </tr> </tbody> diff --git a/commands/user-meta/index.md b/commands/user-meta/index.md index c7d49a18..341b4f35 100644 --- a/commands/user-meta/index.md +++ b/commands/user-meta/index.md @@ -26,19 +26,19 @@ title: 'wp user-meta' </thead> <tbody> <tr> - <td><a href="/commands/user-meta/add">add</a></td> + <td><a href="/commands/user-meta/add/">add</a></td> <td>Add a meta field.</td> </tr> <tr> - <td><a href="/commands/user-meta/delete">delete</a></td> + <td><a href="/commands/user-meta/delete/">delete</a></td> <td>Delete a meta field.</td> </tr> <tr> - <td><a href="/commands/user-meta/get">get</a></td> + <td><a href="/commands/user-meta/get/">get</a></td> <td>Get meta field value.</td> </tr> <tr> - <td><a href="/commands/user-meta/update">update</a></td> + <td><a href="/commands/user-meta/update/">update</a></td> <td>Update a meta field.</td> </tr> </tbody> diff --git a/commands/user/index.md b/commands/user/index.md index 703c1a88..7e706a4c 100644 --- a/commands/user/index.md +++ b/commands/user/index.md @@ -18,39 +18,39 @@ title: 'wp user' </thead> <tbody> <tr> - <td><a href="/commands/user/add-role">add-role</a></td> + <td><a href="/commands/user/add-role/">add-role</a></td> <td>Add a role for a user.</td> </tr> <tr> - <td><a href="/commands/user/create">create</a></td> + <td><a href="/commands/user/create/">create</a></td> <td>Create a user.</td> </tr> <tr> - <td><a href="/commands/user/delete">delete</a></td> + <td><a href="/commands/user/delete/">delete</a></td> <td>Delete one or more users.</td> </tr> <tr> - <td><a href="/commands/user/generate">generate</a></td> + <td><a href="/commands/user/generate/">generate</a></td> <td>Generate users.</td> </tr> <tr> - <td><a href="/commands/user/import-csv">import-csv</a></td> + <td><a href="/commands/user/import-csv/">import-csv</a></td> <td>Import users from a CSV file.</td> </tr> <tr> - <td><a href="/commands/user/list">list</a></td> + <td><a href="/commands/user/list/">list</a></td> <td>List users.</td> </tr> <tr> - <td><a href="/commands/user/remove-role">remove-role</a></td> + <td><a href="/commands/user/remove-role/">remove-role</a></td> <td>Remove a user's role.</td> </tr> <tr> - <td><a href="/commands/user/set-role">set-role</a></td> + <td><a href="/commands/user/set-role/">set-role</a></td> <td>Set the user role (for a particular blog).</td> </tr> <tr> - <td><a href="/commands/user/update">update</a></td> + <td><a href="/commands/user/update/">update</a></td> <td>Update a user.</td> </tr> </tbody> From d45e5c1f6985ede139001ee61d5cbcba33dd91c7 Mon Sep 17 00:00:00 2001 From: Graham Christensen <graham@grahamc.com> Date: Fri, 26 Jul 2013 11:20:28 -0500 Subject: [PATCH 177/839] Resolve horrific installation-based security issue Expecting HTTP traffic to not be mangled, especially when a potential attacker knows users are planning on piping it directly to bash, is a horrifying idea. Instead, link to the HTTPS version hosted on github.com. Same outcome, less horribleness. --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index f767cb63..84080793 100644 --- a/index.md +++ b/index.md @@ -15,7 +15,7 @@ title: Command line interface for WordPress Just execute the following command in your terminal: ``` -curl http://wp-cli.org/installer.sh | bash +curl https://raw.github.com/wp-cli/wp-cli.github.com/master/installer.sh | bash ``` Make sure to read the instructions. From 15f086e7f5a04041e23b49f89f5dd94805f302f1 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Sun, 4 Aug 2013 16:04:56 +0300 Subject: [PATCH 178/839] adapt template for new docs format Kramdown is needed for definition lists. see wp-cli/wp-cli#551 --- Phakefile.php | 1 - _config.yml | 2 +- _templates/subcmd-list.mustache | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Phakefile.php b/Phakefile.php index 782a4264..0d49b288 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -49,7 +49,6 @@ function gen_cmd_pages( $wp_cli_path, $cmd, $parent = array() ) { if ( is_readable( $docs_path ) ) { $docs = file_get_contents( $docs_path ); $docs = preg_replace( '/^## /m', '### ', $docs ); - $docs = preg_replace( '/\n\* `(.+)`([^\n]*):\n\n/', "\n\t\\1\\2\n\t\t", $docs ); $binding['docs'] = $docs; } diff --git a/_config.yml b/_config.yml index 63e78d97..678a7fba 100644 --- a/_config.yml +++ b/_config.yml @@ -1,7 +1,7 @@ safe: true lsi: false pygments: true -markdown: redcarpet +markdown: kramdown url: http://wp-cli.org permalink: /blog/:title.html paginate: 10 diff --git a/_templates/subcmd-list.mustache b/_templates/subcmd-list.mustache index d051a272..f60693bc 100644 --- a/_templates/subcmd-list.mustache +++ b/_templates/subcmd-list.mustache @@ -5,7 +5,7 @@ title: 'wp {{synopsis}}' `wp {{synopsis}}` - {{description}} -{{{docs}}} +{{docs}} {{#has-subcommands}} ### SUBCOMMANDS From e092d99628ce3d6fda2faeab4e81811296d897bd Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Sun, 4 Aug 2013 22:18:31 +0300 Subject: [PATCH 179/839] read docs from 'longdesc' property, instead of looking for doc files --- Phakefile.php | 11 +++++------ README.md | 2 +- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/Phakefile.php b/Phakefile.php index 0d49b288..9fa584d9 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -37,7 +37,7 @@ function generate_synopsis( $command, $path = '' ) { generate_synopsis( invoke_wp_cli( 'wp cli cmd-dump', $app ) ); }); -function gen_cmd_pages( $wp_cli_path, $cmd, $parent = array() ) { +function gen_cmd_pages( $cmd, $parent = array() ) { $parent[] = $cmd['name']; $binding = $cmd; @@ -45,9 +45,8 @@ function gen_cmd_pages( $wp_cli_path, $cmd, $parent = array() ) { $binding['path'] = implode( '/', $parent ); $binding['has-subcommands'] = isset( $cmd['subcommands'] ) ? array(true) : false; - $docs_path = $wp_cli_path . '/man-src/' . implode( '-', $parent ) . '.txt'; - if ( is_readable( $docs_path ) ) { - $docs = file_get_contents( $docs_path ); + if ( $cmd['longdesc'] ) { + $docs = $cmd['longdesc']; $docs = preg_replace( '/^## /m', '### ', $docs ); $binding['docs'] = $docs; } @@ -60,7 +59,7 @@ function gen_cmd_pages( $wp_cli_path, $cmd, $parent = array() ) { return; foreach ( $cmd['subcommands'] as $subcmd ) { - gen_cmd_pages( $wp_cli_path, $subcmd, $parent ); + gen_cmd_pages( $subcmd, $parent ); } } @@ -74,7 +73,7 @@ function gen_cmd_pages( $wp_cli_path, $cmd, $parent = array() ) { system( sprintf( 'rm -rf %s/commands/*/', escapeshellarg( __DIR__ ) ) ); foreach ( $wp['subcommands'] as $cmd ) { - gen_cmd_pages( $app['path'], $cmd ); + gen_cmd_pages( $cmd ); } }); diff --git a/README.md b/README.md index 244632d5..54415ab1 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ 3. Build: ```bash -vendor/bin/phake path=/path/to/wp-cli-dir +vendor/bin/phake ``` ### Preview locally From 6a64082a7036f4ac82e4b4b60ee8d9f5ed901bd5 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Sun, 4 Aug 2013 23:04:13 +0300 Subject: [PATCH 180/839] build for 0.11-beta --- _includes/cmd-list.html | 28 ++++++++---- _includes/param-list.html | 10 ++++- commands/cache/index.md | 5 +-- commands/cache/type/index.md | 4 +- commands/cap/index.md | 13 +++--- commands/cli/cmd-dump/index.md | 9 ++++ commands/cli/completions/index.md | 9 ++++ commands/cli/index.md | 41 ++++++++++++++++++ commands/cli/info/index.md | 9 ++++ commands/cli/param-dump/index.md | 9 ++++ commands/cli/version/index.md | 9 ++++ commands/comment/approve/index.md | 7 ++- commands/comment/count/index.md | 9 ++-- commands/comment/create/index.md | 12 +++--- commands/comment/delete/index.md | 11 +++-- commands/comment/last/index.md | 11 +++-- commands/comment/spam/index.md | 7 ++- commands/comment/status/index.md | 7 ++- commands/comment/trash/index.md | 7 ++- commands/comment/unapprove/index.md | 7 ++- commands/comment/unspam/index.md | 7 ++- commands/comment/untrash/index.md | 7 ++- commands/core/config/index.md | 42 +++++++++--------- commands/core/download/index.md | 15 +++---- commands/core/index.md | 10 +++-- commands/core/init-tests/index.md | 18 -------- commands/core/install/index.md | 21 +++++---- commands/core/is-installed/index.md | 7 ++- commands/core/multisite-convert/index.md | 19 +++++++++ commands/core/multisite-install/index.md | 31 ++++++++++++++ commands/core/update/index.md | 16 +++---- commands/core/version/index.md | 5 +-- commands/db/index.md | 17 ++++---- commands/eval-file/index.md | 3 +- commands/eval/index.md | 3 +- commands/export/index.md | 49 +++++++++++---------- commands/help/index.md | 14 +++--- commands/import/index.md | 18 ++++++++ commands/media/import/index.md | 54 ++++++++++-------------- commands/media/index.md | 2 +- commands/media/regenerate/index.md | 12 +++--- commands/network-meta/add/index.md | 9 ++++ commands/network-meta/delete/index.md | 9 ++++ commands/network-meta/get/index.md | 9 ++++ commands/network-meta/index.md | 48 +++++++++++++++++++++ commands/network-meta/update/index.md | 9 ++++ commands/option/index.md | 15 +++---- commands/plugin/activate/index.md | 9 ++-- commands/plugin/deactivate/index.md | 9 ++-- commands/plugin/delete/index.md | 8 ++-- commands/plugin/install/index.md | 28 +++++++----- commands/plugin/list/index.md | 8 ++-- commands/plugin/path/index.md | 11 +++-- commands/plugin/status/index.md | 4 +- commands/plugin/toggle/index.md | 9 ++-- commands/plugin/uninstall/index.md | 12 +++--- commands/plugin/update-all/index.md | 7 ++- commands/plugin/update/index.md | 12 +++--- commands/post-meta/index.md | 7 ++- commands/post/create/index.md | 34 +++++++-------- commands/post/delete/index.md | 13 +++--- commands/post/edit/index.md | 7 ++- commands/post/generate/index.md | 27 ++++++------ commands/post/get/index.md | 21 +++++---- commands/post/list/index.md | 19 ++++----- commands/post/update/index.md | 11 +++-- commands/rewrite/dump/index.md | 5 +-- commands/rewrite/flush/index.md | 7 +-- commands/rewrite/structure/index.md | 15 ++++--- commands/role/create/index.md | 7 ++- commands/role/delete/index.md | 4 +- commands/role/exists/index.md | 14 +++--- commands/role/list/index.md | 9 ++-- commands/scaffold/_s/index.md | 21 +++++---- commands/scaffold/child-theme/index.md | 30 ++++++------- commands/scaffold/plugin-tests/index.md | 3 +- commands/scaffold/plugin/index.md | 9 ++-- commands/scaffold/post-type/index.md | 23 +++++----- commands/scaffold/taxonomy/index.md | 29 ++++++------- commands/search-replace/index.md | 17 ++++---- commands/shell/index.md | 5 +-- commands/site/create/index.md | 27 ++++++++++++ commands/site/delete/index.md | 21 +++++++++ commands/site/empty/index.md | 12 ++++++ commands/site/index.md | 33 +++++++++++++++ commands/term/create/index.md | 27 ++++++------ commands/term/delete/index.md | 10 ++--- commands/term/list/index.md | 17 ++++---- commands/term/update/index.md | 27 ++++++------ commands/theme/activate/index.md | 5 +-- commands/theme/delete/index.md | 7 ++- commands/theme/install/index.md | 20 ++++++--- commands/theme/list/index.md | 8 ++-- commands/theme/path/index.md | 11 +++-- commands/theme/status/index.md | 5 +-- commands/theme/update-all/index.md | 7 ++- commands/theme/update/index.md | 11 +++-- commands/transient/index.md | 5 +-- commands/user-meta/index.md | 7 ++- commands/user/add-role/index.md | 11 +++++ commands/user/create/index.md | 31 +++++++------- commands/user/delete/index.md | 11 +++-- commands/user/generate/index.md | 9 ++-- commands/user/get/index.md | 25 +++++++++++ commands/user/import-csv/index.md | 17 ++++---- commands/user/index.md | 4 ++ commands/user/list/index.md | 19 ++++----- commands/user/remove-role/index.md | 9 ++-- commands/user/set-role/index.md | 14 +++--- commands/user/update/index.md | 11 ++--- 110 files changed, 934 insertions(+), 634 deletions(-) create mode 100644 commands/cli/cmd-dump/index.md create mode 100644 commands/cli/completions/index.md create mode 100644 commands/cli/index.md create mode 100644 commands/cli/info/index.md create mode 100644 commands/cli/param-dump/index.md create mode 100644 commands/cli/version/index.md create mode 100644 commands/core/multisite-convert/index.md create mode 100644 commands/core/multisite-install/index.md create mode 100644 commands/import/index.md create mode 100644 commands/network-meta/add/index.md create mode 100644 commands/network-meta/delete/index.md create mode 100644 commands/network-meta/get/index.md create mode 100644 commands/network-meta/index.md create mode 100644 commands/network-meta/update/index.md create mode 100644 commands/site/create/index.md create mode 100644 commands/site/delete/index.md create mode 100644 commands/site/empty/index.md create mode 100644 commands/site/index.md create mode 100644 commands/user/get/index.md diff --git a/_includes/cmd-list.html b/_includes/cmd-list.html index d62d1a07..4c35fa41 100644 --- a/_includes/cmd-list.html +++ b/_includes/cmd-list.html @@ -1,7 +1,3 @@ - <tr> - <td><a href="/commands/blog/">blog</a></td> - <td>Manage blogs in a multisite install.</td> - </tr> <tr> <td><a href="/commands/cache/">cache</a></td> <td>Manage the object cache.</td> @@ -10,6 +6,10 @@ <td><a href="/commands/cap/">cap</a></td> <td>Manage user capabilities.</td> </tr> + <tr> + <td><a href="/commands/cli/">cli</a></td> + <td>Get information about WP-CLI itself.</td> + </tr> <tr> <td><a href="/commands/comment/">comment</a></td> <td>Manage comments.</td> @@ -36,15 +36,23 @@ </tr> <tr> <td><a href="/commands/help/">help</a></td> - <td>Get help on a certain topic.</td> + <td>Get help on a certain command.</td> + </tr> + <tr> + <td><a href="/commands/import/">import</a></td> + <td>Import content from a WXR file.</td> </tr> <tr> <td><a href="/commands/media/">media</a></td> - <td>Control the media library and its attachments.</td> + <td>Manage attachments.</td> + </tr> + <tr> + <td><a href="/commands/network-meta/">network-meta</a></td> + <td>Manage network custom fields.</td> </tr> <tr> <td><a href="/commands/option/">option</a></td> - <td>Manage WordPress options.</td> + <td>Manage options.</td> </tr> <tr> <td><a href="/commands/plugin/">plugin</a></td> @@ -78,6 +86,10 @@ <td><a href="/commands/shell/">shell</a></td> <td>Interactive PHP console.</td> </tr> + <tr> + <td><a href="/commands/site/">site</a></td> + <td>Perform site-wide operations.</td> + </tr> <tr> <td><a href="/commands/term/">term</a></td> <td>Manage terms.</td> @@ -88,7 +100,7 @@ </tr> <tr> <td><a href="/commands/transient/">transient</a></td> - <td>Manage WordPress transients.</td> + <td>Manage transients.</td> </tr> <tr> <td><a href="/commands/user/">user</a></td> diff --git a/_includes/param-list.html b/_includes/param-list.html index a908825c..7df74212 100644 --- a/_includes/param-list.html +++ b/_includes/param-list.html @@ -25,8 +25,8 @@ <tr> <td><code>require: <path></code></td> <td><code>--require=<path></code></td> - <td><code>null</code></td> - <td>Load given PHP file before running the command</td> + <td><code>[]</code></td> + <td>Load PHP file before running the command (may be used more than once)</td> </tr> <tr> <td><code>disabled_commands: <list></code></td> @@ -52,3 +52,9 @@ <td><code>false</code></td> <td>Suppress informational messages</td> </tr> + <tr> + <td><code>apache_modules: <list></code></td> + <td><code></code></td> + <td><code>[]</code></td> + <td>List of Apache Modules that are to be reported as loaded</td> + </tr> diff --git a/commands/cache/index.md b/commands/cache/index.md index 4599ae37..c944f34f 100644 --- a/commands/cache/index.md +++ b/commands/cache/index.md @@ -7,10 +7,9 @@ title: 'wp cache' ### EXAMPLES - wp cache set my_key my_value my_group 300 - - wp cache get my_key my_group + wp cache set my_key my_value my_group 300 + wp cache get my_key my_group ### SUBCOMMANDS diff --git a/commands/cache/type/index.md b/commands/cache/type/index.md index 2e256840..bcebd50e 100644 --- a/commands/cache/type/index.md +++ b/commands/cache/type/index.md @@ -5,5 +5,7 @@ title: 'wp cache type' `wp cache type` - Attempts to determine which object cache is being used. - +Note that the guesses made by this function are based on the WP_Object_Cache classes +that define the 3rd party object cache extension. Changes to those classes could render +problems with this function's ability to determine which object cache is being used. diff --git a/commands/cap/index.md b/commands/cap/index.md index 7e69b337..402ebf28 100644 --- a/commands/cap/index.md +++ b/commands/cap/index.md @@ -7,15 +7,14 @@ title: 'wp cap' ### EXAMPLES - # Add 'spectate' capability to 'author' role - wp cap add 'author' 'spectate' + # Add 'spectate' capability to 'author' role + wp cap add 'author' 'spectate' - # Add all caps from 'editor' role to 'author' role - wp cap list 'editor' | xargs wp cap add 'author' - - # Remove all caps from 'editor' role that also appear in 'author' role - wp cap list 'author' | xargs wp cap remove 'editor' + # Add all caps from 'editor' role to 'author' role + wp cap list 'editor' | xargs wp cap add 'author' + # Remove all caps from 'editor' role that also appear in 'author' role + wp cap list 'author' | xargs wp cap remove 'editor' ### SUBCOMMANDS diff --git a/commands/cli/cmd-dump/index.md b/commands/cli/cmd-dump/index.md new file mode 100644 index 00000000..a802f09f --- /dev/null +++ b/commands/cli/cmd-dump/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp cli cmd-dump' +--- + +`wp cli cmd-dump` - + + + diff --git a/commands/cli/completions/index.md b/commands/cli/completions/index.md new file mode 100644 index 00000000..5d11a782 --- /dev/null +++ b/commands/cli/completions/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp cli completions' +--- + +`wp cli completions` - + + + diff --git a/commands/cli/index.md b/commands/cli/index.md new file mode 100644 index 00000000..68f91e72 --- /dev/null +++ b/commands/cli/index.md @@ -0,0 +1,41 @@ +--- +layout: default +title: 'wp cli' +--- + +`wp cli` - Get information about WP-CLI itself. + + + +### SUBCOMMANDS + +<table> + <thead> + <tr> + <th>Name</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="/commands/cli/cmd-dump">cmd-dump</a></td> + <td></td> + </tr> + <tr> + <td><a href="/commands/cli/completions">completions</a></td> + <td></td> + </tr> + <tr> + <td><a href="/commands/cli/info">info</a></td> + <td></td> + </tr> + <tr> + <td><a href="/commands/cli/param-dump">param-dump</a></td> + <td></td> + </tr> + <tr> + <td><a href="/commands/cli/version">version</a></td> + <td></td> + </tr> + </tbody> +</table> diff --git a/commands/cli/info/index.md b/commands/cli/info/index.md new file mode 100644 index 00000000..01c6a67b --- /dev/null +++ b/commands/cli/info/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp cli info' +--- + +`wp cli info` - + + + diff --git a/commands/cli/param-dump/index.md b/commands/cli/param-dump/index.md new file mode 100644 index 00000000..23095928 --- /dev/null +++ b/commands/cli/param-dump/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp cli param-dump' +--- + +`wp cli param-dump` - + + + diff --git a/commands/cli/version/index.md b/commands/cli/version/index.md new file mode 100644 index 00000000..33743da4 --- /dev/null +++ b/commands/cli/version/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp cli version' +--- + +`wp cli version` - + + + diff --git a/commands/comment/approve/index.md b/commands/comment/approve/index.md index ca426161..0394e920 100644 --- a/commands/comment/approve/index.md +++ b/commands/comment/approve/index.md @@ -7,11 +7,10 @@ title: 'wp comment approve' ### OPTIONS - <ID> - The ID of the comment to approve. +<ID> +: The ID of the comment to approve. ### EXAMPLES - wp comment approve 1337 - + wp comment approve 1337 diff --git a/commands/comment/count/index.md b/commands/comment/count/index.md index 07c62641..0d9bed06 100644 --- a/commands/comment/count/index.md +++ b/commands/comment/count/index.md @@ -7,12 +7,11 @@ title: 'wp comment count' ### OPTIONS - <ID> - The ID of the post to count comments in +<ID> +: The ID of the post to count comments in ### EXAMPLES - wp comment count - wp comment count 42 - + wp comment count + wp comment count 42 diff --git a/commands/comment/create/index.md b/commands/comment/create/index.md index c35249ea..73f2b4ff 100644 --- a/commands/comment/create/index.md +++ b/commands/comment/create/index.md @@ -7,15 +7,13 @@ title: 'wp comment create' ### OPTIONS - --<field>=<value> - Field values for the new comment. See wp_insert_comment(). +--<field>=<value> +: Field values for the new comment. See wp_insert_comment(). - --porcelain - Output just the new comment id. +--porcelain +: Output just the new comment id. ### EXAMPLES - wp comment create --comment_post_ID=15 --comment_content="hello blog" ---comment_author="wp-cli" - + wp comment create --comment_post_ID=15 --comment_content="hello blog" --comment_author="wp-cli" diff --git a/commands/comment/delete/index.md b/commands/comment/delete/index.md index d8ef9764..656b18b1 100644 --- a/commands/comment/delete/index.md +++ b/commands/comment/delete/index.md @@ -7,14 +7,13 @@ title: 'wp comment delete' ### OPTIONS - <ID> - The ID of the comment to delete. +<ID> +: The ID of the comment to delete. - --force - Skip the trash bin. +--force +: Skip the trash bin. ### EXAMPLES - wp comment delete 1337 --force - + wp comment delete 1337 --force diff --git a/commands/comment/last/index.md b/commands/comment/last/index.md index 1c9a1fff..74e12ca8 100644 --- a/commands/comment/last/index.md +++ b/commands/comment/last/index.md @@ -7,14 +7,13 @@ title: 'wp comment last' ### OPTIONS - --id - Output just the last comment id. +--id +: Output just the last comment id. - --full - Output complete comment information. +--full +: Output complete comment information. ### EXAMPLES - wp comment last --full - + wp comment last --full diff --git a/commands/comment/spam/index.md b/commands/comment/spam/index.md index 674cbd47..c28b1271 100644 --- a/commands/comment/spam/index.md +++ b/commands/comment/spam/index.md @@ -7,11 +7,10 @@ title: 'wp comment spam' ### OPTIONS - <ID> - The ID of the comment to mark as spam. +<ID> +: The ID of the comment to mark as spam. ### EXAMPLES - wp comment spam 1337 - + wp comment spam 1337 diff --git a/commands/comment/status/index.md b/commands/comment/status/index.md index e20d02c9..90343837 100644 --- a/commands/comment/status/index.md +++ b/commands/comment/status/index.md @@ -7,11 +7,10 @@ title: 'wp comment status' ### OPTIONS - <ID> - The ID of the comment to check +<ID> +: The ID of the comment to check ### EXAMPLES - wp comment status 1337 - + wp comment status 1337 diff --git a/commands/comment/trash/index.md b/commands/comment/trash/index.md index ac254279..58aab614 100644 --- a/commands/comment/trash/index.md +++ b/commands/comment/trash/index.md @@ -7,11 +7,10 @@ title: 'wp comment trash' ### OPTIONS - <ID> - The ID of the comment to trash. +<ID> +: The ID of the comment to trash. ### EXAMPLES - wp comment trash 1337 - + wp comment trash 1337 diff --git a/commands/comment/unapprove/index.md b/commands/comment/unapprove/index.md index c227f530..4d4725be 100644 --- a/commands/comment/unapprove/index.md +++ b/commands/comment/unapprove/index.md @@ -7,11 +7,10 @@ title: 'wp comment unapprove' ### OPTIONS - <ID> - The ID of the comment to unapprove. +<ID> +: The ID of the comment to unapprove. ### EXAMPLES - wp comment unapprove 1337 - + wp comment unapprove 1337 diff --git a/commands/comment/unspam/index.md b/commands/comment/unspam/index.md index 9db3027a..583503cb 100644 --- a/commands/comment/unspam/index.md +++ b/commands/comment/unspam/index.md @@ -7,11 +7,10 @@ title: 'wp comment unspam' ### OPTIONS - <ID> - The ID of the comment to unmark as spam. +<ID> +: The ID of the comment to unmark as spam. ### EXAMPLES - wp comment unspam 1337 - + wp comment unspam 1337 diff --git a/commands/comment/untrash/index.md b/commands/comment/untrash/index.md index a9ba56c1..448c5c35 100644 --- a/commands/comment/untrash/index.md +++ b/commands/comment/untrash/index.md @@ -7,11 +7,10 @@ title: 'wp comment untrash' ### OPTIONS - <ID> - The ID of the comment to untrash. +<ID> +: The ID of the comment to untrash. ### EXAMPLES - wp comment untrash 1337 - + wp comment untrash 1337 diff --git a/commands/core/config/index.md b/commands/core/config/index.md index 23d2cc3b..39120298 100644 --- a/commands/core/config/index.md +++ b/commands/core/config/index.md @@ -7,33 +7,35 @@ title: 'wp core config' ### OPTIONS - --dbname=<dbname> - Set the database name. +--dbname=<dbname> +: Set the database name. - --dbuser=<dbuser> - Set the database user. +--dbuser=<dbuser> +: Set the database user. - --dbpass=<dbpass> - Set the database user password. +--dbpass=<dbpass> +: Set the database user password. - --dbhost=<dbhost> - Set the database host. Default: 'localhost' +--dbhost=<dbhost> +: Set the database host. Default: 'localhost' - --dbprefix=<dbprefix> - Set the database table prefix. Default: 'wp_' +--dbprefix=<dbprefix> +: Set the database table prefix. Default: 'wp_' - --extra-php - If set, the command reads additional PHP code from STDIN. +--locale=<locale> +: Set the WPLANG constant. Defaults to $wp_local_package variable. -### EXAMPLES +--extra-php +: If set, the command reads additional PHP code from STDIN. - # Standard wp-config.php file - wp core config --dbname=testing --dbuser=wp --dbpass=securepswd +### EXAMPLES - # Enable WP_DEBUG and WP_DEBUG_LOG - wp core config --dbname=testing --dbuser=wp --dbpass=securepswd --extra-php <<PHP - define( 'WP_DEBUG', true ); - define( 'WP_DEBUG_LOG', true ); - PHP + # Standard wp-config.php file + wp core config --dbname=testing --dbuser=wp --dbpass=securepswd --locale=ro_RO + # Enable WP_DEBUG and WP_DEBUG_LOG + wp core config --dbname=testing --dbuser=wp --dbpass=securepswd --extra-php <<PHP + define( 'WP_DEBUG', true ); + define( 'WP_DEBUG_LOG', true ); + PHP diff --git a/commands/core/download/index.md b/commands/core/download/index.md index 41be7212..dac4e04f 100644 --- a/commands/core/download/index.md +++ b/commands/core/download/index.md @@ -7,18 +7,17 @@ title: 'wp core download' ### OPTIONS - --locale=<locale> - Select which language you want to download. The --version parameter is +--locale=<locale> +: Select which language you want to download. The --version parameter is ignored in this case. - --version=<version> - Select which version you want to download. +--version=<version> +: Select which version you want to download. - --force - Overwrites existing files, if present. +--force +: Overwrites existing files, if present. ### EXAMPLES - wp core download --version=3.3 - + wp core download --version=3.3 diff --git a/commands/core/index.md b/commands/core/index.md index 6531fcf5..5274c586 100644 --- a/commands/core/index.md +++ b/commands/core/index.md @@ -34,12 +34,16 @@ title: 'wp core' <td>Create the WordPress tables in the database.</td> </tr> <tr> - <td><a href="/commands/core/install-network">install-network</a></td> + <td><a href="/commands/core/is-installed">is-installed</a></td> + <td>Determine if the WordPress tables are installed.</td> + </tr> + <tr> + <td><a href="/commands/core/multisite-convert">multisite-convert</a></td> <td>Transform a single-site install into a multi-site install.</td> </tr> <tr> - <td><a href="/commands/core/is-installed">is-installed</a></td> - <td>Determine if the WordPress tables are installed.</td> + <td><a href="/commands/core/multisite-install">multisite-install</a></td> + <td>Install multisite from scratch.</td> </tr> <tr> <td><a href="/commands/core/update">update</a></td> diff --git a/commands/core/init-tests/index.md b/commands/core/init-tests/index.md index efcc33b7..24699a7a 100644 --- a/commands/core/init-tests/index.md +++ b/commands/core/init-tests/index.md @@ -5,23 +5,5 @@ title: 'wp core init-tests' `wp core init-tests` - Set up the official test suite using the current WordPress instance. -### OPTIONS - - <path> - The directory in which to download the testing suite files. (Optional) - - --dbname=<dbname> - Set the database name. **WARNING**: The database will be whipped every time -you run the tests. - - --dbuser=<dbuser> - Set the database user. - - --dbpass=<dbpass> - Set the database user password. - -### EXAMPLE - - wp core init-tests ~/svn/wp-tests --dbname=wp_test --dbuser=wp_test diff --git a/commands/core/install/index.md b/commands/core/install/index.md index ad84fe56..7832807f 100644 --- a/commands/core/install/index.md +++ b/commands/core/install/index.md @@ -7,19 +7,18 @@ title: 'wp core install' ### OPTIONS - --url=<url> - The address of the new site. +--url=<url> +: The address of the new site. - --title=<site-title> - The title of the new site. +--title=<site-title> +: The title of the new site. - --admin_name=<username> - The name of the admin user. Default: 'admin' +--admin_name=<username> +: The name of the admin user. Default: 'admin' - --admin_password=<password> - The password for the admin user. - - --admin_email=<email> - The email address for the admin user. +--admin_password=<password> +: The password for the admin user. +--admin_email=<email> +: The email address for the admin user. diff --git a/commands/core/is-installed/index.md b/commands/core/is-installed/index.md index 062bd672..b1343c65 100644 --- a/commands/core/is-installed/index.md +++ b/commands/core/is-installed/index.md @@ -7,8 +7,7 @@ title: 'wp core is-installed' ### EXAMPLES - if ! $(wp core is-installed); then - wp core install - fi - + if ! $(wp core is-installed); then + wp core install + fi diff --git a/commands/core/multisite-convert/index.md b/commands/core/multisite-convert/index.md new file mode 100644 index 00000000..f68c3acd --- /dev/null +++ b/commands/core/multisite-convert/index.md @@ -0,0 +1,19 @@ +--- +layout: default +title: 'wp core multisite-convert' +--- + +`wp core multisite-convert` - Transform a single-site install into a multi-site install. + +### OPTIONS + +--title=<site-title> +: The title of the new network. + +--base=<url-path> +: Base path after the domain name that each site url will start with. +Default: '/' + +--subdomains +: If passed, the network will use subdomains, instead of subdirectories. + diff --git a/commands/core/multisite-install/index.md b/commands/core/multisite-install/index.md new file mode 100644 index 00000000..d12bdce8 --- /dev/null +++ b/commands/core/multisite-install/index.md @@ -0,0 +1,31 @@ +--- +layout: default +title: 'wp core multisite-install' +--- + +`wp core multisite-install` - Install multisite from scratch. + +### OPTIONS + +--url=<url> +: The address of the new site. + +--base=<url-path> +: Base path after the domain name that each site url in the network will start with. +Default: '/' + +--subdomains +: If passed, the network will use subdomains, instead of subdirectories. + +--title=<site-title> +: The title of the new site. + +--admin_name=<username> +: The name of the admin user. Default: 'admin' + +--admin_password=<password> +: The password for the admin user. + +--admin_email=<email> +: The email address for the admin user. + diff --git a/commands/core/update/index.md b/commands/core/update/index.md index 86ee58e3..496b5de1 100644 --- a/commands/core/update/index.md +++ b/commands/core/update/index.md @@ -7,21 +7,19 @@ title: 'wp core update' ### OPTIONS - --version=<new_version> [package/zip] - When passed, updates to new_version, optionally using package/zip as +--version=<new_version> [package/zip] +: When passed, updates to new_version, optionally using package/zip as input. -* `--force`: - - Will update even when current WP version < passed version. Use with +--force +: Will update even when current WP version < passed version. Use with caution. ### EXAMPLES - wp core update + wp core update - wp core update --version=3.4 ../latest.zip - - wp core update --version=3.1 --force + wp core update --version=3.4 ../latest.zip + wp core update --version=3.1 --force diff --git a/commands/core/version/index.md b/commands/core/version/index.md index 0226b87a..5407ef0a 100644 --- a/commands/core/version/index.md +++ b/commands/core/version/index.md @@ -7,7 +7,6 @@ title: 'wp core version' ### OPTIONS - --extra - Show extended version information. - +--extra +: Show extended version information. diff --git a/commands/db/index.md b/commands/db/index.md index 7355e21b..548d3a81 100644 --- a/commands/db/index.md +++ b/commands/db/index.md @@ -7,20 +7,19 @@ title: 'wp db' ### OPTIONS - --yes - Answer yes to the confirmation message. +--yes +: Answer yes to the confirmation message. - <file> - The name of the export file. If omitted, it will be '{dbname}.sql' +<file> +: The name of the export file. If omitted, it will be '{dbname}.sql' - <SQL> - A SQL query. +<SQL> +: A SQL query. ### EXAMPLES - # execute a query stored in a file - wp db query < debug.sql - + # execute a query stored in a file + wp db query < debug.sql ### SUBCOMMANDS diff --git a/commands/eval-file/index.md b/commands/eval-file/index.md index 3b7cf30c..6f337bde 100644 --- a/commands/eval-file/index.md +++ b/commands/eval-file/index.md @@ -7,6 +7,5 @@ title: 'wp eval-file' ### EXAMPLES - wp eval-file my-code.php - + wp eval-file my-code.php diff --git a/commands/eval/index.md b/commands/eval/index.md index f102a435..ddc41027 100644 --- a/commands/eval/index.md +++ b/commands/eval/index.md @@ -7,6 +7,5 @@ title: 'wp eval' ### EXAMPLES - wp eval 'echo WP_CONTENT_DIR;' - + wp eval 'echo WP_CONTENT_DIR;' diff --git a/commands/export/index.md b/commands/export/index.md index 575d7825..750d923d 100644 --- a/commands/export/index.md +++ b/commands/export/index.md @@ -7,46 +7,45 @@ title: 'wp export' ### OPTIONS - --dir=<dirname> - Full path to directory where WXR export files should be stored. Defaults +--dir=<dirname> +: Full path to directory where WXR export files should be stored. Defaults to current working directory. - --skip_comments - Don't export comments. +--skip_comments +: Don't export comments. - --file_item_count=<count> - Break export into files with N posts. +--file_item_count=<count> +: Break export into files with N posts. - --verbose - Show more information about the process on STDOUT. +--verbose +: Show more information about the process on STDOUT. ### FILTERS - --start_date=<date> - Export only posts newer than this date, in format YYYY-MM-DD. +--start_date=<date> +: Export only posts newer than this date, in format YYYY-MM-DD. - --end_date=<date> - Export only posts older than this date, in format YYYY-MM-DD. +--end_date=<date> +: Export only posts older than this date, in format YYYY-MM-DD. - --post_type=<post_type> - Export only posts with this post_type. +--post_type=<post_type> +: Export only posts with this post_type. - --post__in=<pid> - Export all posts specified as a comma-separated list of IDs. +--post__in=<pid> +: Export all posts specified as a comma-separated list of IDs. - --author=<login/id> - Export only posts by this author. +--author=<login/id> +: Export only posts by this author. - --category=<category-id> - Export only posts in this category. +--category=<category-id> +: Export only posts in this category. - --post_status=<status> - Export only posts with this status. +--post_status=<status> +: Export only posts with this status. ### EXAMPLES - wp export --dir=/tmp/ --user=admin --post_type=post --start_date=2011-01-01 --end_date=2011-12-31 - - wp export --dir=/tmp/ --post__in=123,124,125 + wp export --dir=/tmp/ --user=admin --post_type=post --start_date=2011-01-01 --end_date=2011-12-31 + wp export --dir=/tmp/ --post__in=123,124,125 diff --git a/commands/help/index.md b/commands/help/index.md index 22b8e35c..5d97db4f 100644 --- a/commands/help/index.md +++ b/commands/help/index.md @@ -3,17 +3,13 @@ layout: default title: 'wp help' --- -`wp help` - Get help on a certain topic. +`wp help` - Get help on a certain command. ### EXAMPLES - # (re)generates all man pages - wp help --gen - - # (re)generate man pages for the `core` command - wp help --gen core - - # (re)generate man page only for the `core download` subcommand - wp help --gen core download + # get help for `core` command + wp help core + # get help for `core download` subcommand + wp help core download diff --git a/commands/import/index.md b/commands/import/index.md new file mode 100644 index 00000000..9d2cbbd3 --- /dev/null +++ b/commands/import/index.md @@ -0,0 +1,18 @@ +--- +layout: default +title: 'wp import' +--- + +`wp import` - Import content from a WXR file. + +### OPTIONS + +<file> +: Path to a valid WXR file for importing. + +--authors=<authors> +: How the author mapping should be handled. Options are 'create', 'mapping.csv', or 'skip'. The first will create any non-existent users from the WXR file. The second will read author mapping associations from a CSV, or create a CSV for editing if the file path doesn't exist. The last option will skip any author mapping. + +--skip=<data-type> +: Skip importing specific data. Supported option is 'attachment'. + diff --git a/commands/media/import/index.md b/commands/media/import/index.md index 8b2c1add..7e966538 100644 --- a/commands/media/import/index.md +++ b/commands/media/import/index.md @@ -7,47 +7,37 @@ title: 'wp media import' ### OPTIONS - <file> - Path to file or files to be imported. Supports the glob(3) capabilities of the current shell. - If file is recognized as a URL (for example, with a scheme of http or ftp), the file will be - downloaded to a temp file before being sideloaded. +<file> +: Path to file or files to be imported. Supports the glob(3) capabilities of the current shell. + If file is recognized as a URL (for example, with a scheme of http or ftp), the file will be + downloaded to a temp file before being sideloaded. -* `--post_id=<post_id>` +--post_id=<post_id> +: ID of the post to attach the imported files to - ID of the post to attach the imported files to +--title=<title> +: Attachment title (post title field) -* `--title=<title>` +--caption=<caption> +: Caption for attachent (post excerpt field) - Attachment title (post title field) +--alt=<alt_text> +: Alt text for image (saved as post meta) -* `--caption=<caption>` - - Caption for attachent (post excerpt field) - -* `--alt=<alt_text>` - - Alt text for image (saved as post meta) - -* `--desc=<description>` - - "Description" field (post content) of attachment post - -* `--featured_image` - - If set, set the imported image as the Featured Image of the post its attached to. +--desc=<description> +: "Description" field (post content) of attachment post +--featured_image +: If set, set the imported image as the Featured Image of the post its attached to. ### EXAMPLES - # Import all jpgs in the current user's "Pictures" directory, not attached to any post - wp media import ~/Pictures/**/*.jpg - - # Import a local image and set it to be the post thumbnail for a post - wp media import ~/Downloads/image.png --post_id=123 --title="A downloaded picture" --featured_image - - # Import an image from the web - wp media import http://s.wordpress.org/style/images/wp-header-logo.png --title='The WordPress logo' --alt="Semantic personal publishing" - + # Import all jpgs in the current user's "Pictures" directory, not attached to any post + wp media import ~/Pictures/**\/*.jpg + # Import a local image and set it to be the post thumbnail for a post + wp media import ~/Downloads/image.png --post_id=123 --title="A downloaded picture" --featured_image + # Import an image from the web + wp media import http://s.wordpress.org/style/images/wp-header-logo.png --title='The WordPress logo' --alt="Semantic personal publishing" diff --git a/commands/media/index.md b/commands/media/index.md index d37167b1..6392d5ba 100644 --- a/commands/media/index.md +++ b/commands/media/index.md @@ -3,7 +3,7 @@ layout: default title: 'wp media' --- -`wp media` - Control the media library and its attachments. +`wp media` - Manage attachments. diff --git a/commands/media/regenerate/index.md b/commands/media/regenerate/index.md index 8bef11e6..88446540 100644 --- a/commands/media/regenerate/index.md +++ b/commands/media/regenerate/index.md @@ -7,15 +7,15 @@ title: 'wp media regenerate' ### OPTIONS - --yes - Answer yes to the confirmation message. +--yes +: Answer yes to the confirmation message. - <attachment-id> - One or more IDs of the attachments to regenerate. +<attachment-id> +: One or more IDs of the attachments to regenerate. ### EXAMPLES - wp media regenerate 123 1337 + wp media regenerate 123 1337 - wp media regenerate --yes + wp media regenerate --yes diff --git a/commands/network-meta/add/index.md b/commands/network-meta/add/index.md new file mode 100644 index 00000000..a0225964 --- /dev/null +++ b/commands/network-meta/add/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp network-meta add' +--- + +`wp network-meta add` - Add a meta field. + + + diff --git a/commands/network-meta/delete/index.md b/commands/network-meta/delete/index.md new file mode 100644 index 00000000..10002022 --- /dev/null +++ b/commands/network-meta/delete/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp network-meta delete' +--- + +`wp network-meta delete` - Delete a meta field. + + + diff --git a/commands/network-meta/get/index.md b/commands/network-meta/get/index.md new file mode 100644 index 00000000..e75e9f04 --- /dev/null +++ b/commands/network-meta/get/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp network-meta get' +--- + +`wp network-meta get` - Get meta field value. + + + diff --git a/commands/network-meta/index.md b/commands/network-meta/index.md new file mode 100644 index 00000000..5de73714 --- /dev/null +++ b/commands/network-meta/index.md @@ -0,0 +1,48 @@ +--- +layout: default +title: 'wp network-meta' +--- + +`wp network-meta` - Manage network custom fields. + +### OPTIONS + +<id> +: The network id (usually 1). + +--format=json +: Encode/decode values as JSON. + +### EXAMPLES + + # get a list of super-admins + wp network-meta get 1 site_admins + +### SUBCOMMANDS + +<table> + <thead> + <tr> + <th>Name</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="/commands/network-meta/add">add</a></td> + <td>Add a meta field.</td> + </tr> + <tr> + <td><a href="/commands/network-meta/delete">delete</a></td> + <td>Delete a meta field.</td> + </tr> + <tr> + <td><a href="/commands/network-meta/get">get</a></td> + <td>Get meta field value.</td> + </tr> + <tr> + <td><a href="/commands/network-meta/update">update</a></td> + <td>Update a meta field.</td> + </tr> + </tbody> +</table> diff --git a/commands/network-meta/update/index.md b/commands/network-meta/update/index.md new file mode 100644 index 00000000..83cacc61 --- /dev/null +++ b/commands/network-meta/update/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp network-meta update' +--- + +`wp network-meta update` - Update a meta field. + + + diff --git a/commands/option/index.md b/commands/option/index.md index 92fa7936..fcd6741e 100644 --- a/commands/option/index.md +++ b/commands/option/index.md @@ -3,23 +3,22 @@ layout: default title: 'wp option' --- -`wp option` - Manage WordPress options. +`wp option` - Manage options. ### OPTIONS - --format=json - Encode/decode values as JSON. +--format=json +: Encode/decode values as JSON. ### EXAMPLES - wp option get siteurl + wp option get siteurl - wp option add my_option foobar + wp option add my_option foobar - wp option update my_option '{"foo": "bar"}' --format=json - - wp option delete my_option + wp option update my_option '{"foo": "bar"}' --format=json + wp option delete my_option ### SUBCOMMANDS diff --git a/commands/plugin/activate/index.md b/commands/plugin/activate/index.md index d610be6c..431edf9d 100644 --- a/commands/plugin/activate/index.md +++ b/commands/plugin/activate/index.md @@ -7,10 +7,9 @@ title: 'wp plugin activate' ### OPTIONS - <plugin> - The plugin to activate. - - --network - If set, the plugin will be activated for the entire multisite network. +<plugin> +: The plugin to activate. +--network +: If set, the plugin will be activated for the entire multisite network. diff --git a/commands/plugin/deactivate/index.md b/commands/plugin/deactivate/index.md index 435bac5e..ef48b678 100644 --- a/commands/plugin/deactivate/index.md +++ b/commands/plugin/deactivate/index.md @@ -7,10 +7,9 @@ title: 'wp plugin deactivate' ### OPTIONS - <plugin> - The plugin to deactivate. - - --network - If set, the plugin will be deactivated for the entire multisite network. +<plugin> +: The plugin to deactivate. +--network +: If set, the plugin will be deactivated for the entire multisite network. diff --git a/commands/plugin/delete/index.md b/commands/plugin/delete/index.md index 530a12c2..9ccffc42 100644 --- a/commands/plugin/delete/index.md +++ b/commands/plugin/delete/index.md @@ -7,12 +7,10 @@ title: 'wp plugin delete' ### OPTIONS -* <plugin>: - - The plugin to delete. +<plugin> +: The plugin to delete. ### EXAMPLES - wp plugin delete hello - + wp plugin delete hello diff --git a/commands/plugin/install/index.md b/commands/plugin/install/index.md index 42bafc53..799a6b6d 100644 --- a/commands/plugin/install/index.md +++ b/commands/plugin/install/index.md @@ -7,23 +7,31 @@ title: 'wp plugin install' ### OPTIONS -* <plugin>: +<plugin|zip|url> +: A plugin slug, the path to a local zip file, or URL to a remote zip file. - A plugin slug or the path to a zip file. - - --version=<version> - If set, get that particular version from wordpress.org, instead of the +--version=<version> +: If set, get that particular version from wordpress.org, instead of the stable version. - --activate - If set, the plugin will be activated immediately after install. +--force +: If set, the command will overwrite any installed version of the plugin, without prompting +for confirmation. + +--activate +: If set, the plugin will be activated immediately after install. ### EXAMPLES - wp plugin install bbpress --version=2.1 --activate + # Install the latest version from wordpress.org and activate + wp plugin install bbpress --activate - wp plugin install bbpress --version=dev + # Install the development version from wordpress.org + wp plugin install bbpress --version=dev - wp plugin install ../my-plugin.zip + # Install from a local zip file + wp plugin install ../my-plugin.zip + # Install from a remote zip file + wp plugin install http://s3.amazonaws.com/bucketname/my-plugin.zip?AWSAccessKeyId=123&Expires=456&Signature=abcdef diff --git a/commands/plugin/list/index.md b/commands/plugin/list/index.md index 6baa4f5c..ab64c09c 100644 --- a/commands/plugin/list/index.md +++ b/commands/plugin/list/index.md @@ -7,11 +7,11 @@ title: 'wp plugin list' ### OPTIONS - --format=<format> - Output list as table, CSV or JSON. Defaults to table. +* `--format`=<format>: -### EXAMPLES + Output list as table, CSV or JSON. Defaults to table. - wp plugin list --format=json +### EXAMPLES + wp plugin list --format=json diff --git a/commands/plugin/path/index.md b/commands/plugin/path/index.md index 7d565d9e..95d092c2 100644 --- a/commands/plugin/path/index.md +++ b/commands/plugin/path/index.md @@ -7,16 +7,15 @@ title: 'wp plugin path' ### OPTIONS - <plugin> - The plugin to get the path to. If not set, will return the path to the +<plugin> +: The plugin to get the path to. If not set, will return the path to the plugins directory. - --dir - If set, get the path to the closest parent directory, instead of the +--dir +: If set, get the path to the closest parent directory, instead of the plugin file. ### EXAMPLES - cd $(wp theme path) - + cd $(wp theme path) diff --git a/commands/plugin/status/index.md b/commands/plugin/status/index.md index 876f761c..c7410f37 100644 --- a/commands/plugin/status/index.md +++ b/commands/plugin/status/index.md @@ -7,6 +7,6 @@ title: 'wp plugin status' ### OPTIONS - <plugin> - A particular plugin to show the status for. +<plugin> +: A particular plugin to show the status for. diff --git a/commands/plugin/toggle/index.md b/commands/plugin/toggle/index.md index 0be68b51..d7e6d4b9 100644 --- a/commands/plugin/toggle/index.md +++ b/commands/plugin/toggle/index.md @@ -7,10 +7,9 @@ title: 'wp plugin toggle' ### OPTIONS - <plugin> - The plugin to toggle. - - --network - If set, the plugin will be toggled for the entire multisite network. +<plugin> +: The plugin to toggle. +--network +: If set, the plugin will be toggled for the entire multisite network. diff --git a/commands/plugin/uninstall/index.md b/commands/plugin/uninstall/index.md index bbe072bd..83653a81 100644 --- a/commands/plugin/uninstall/index.md +++ b/commands/plugin/uninstall/index.md @@ -7,16 +7,14 @@ title: 'wp plugin uninstall' ### OPTIONS -* <plugin>: +<plugin> +: The plugin to uninstall. - The plugin to uninstall. - - --no-delete - If set, the plugin files will not be deleted. Only the uninstall procedure +--no-delete +: If set, the plugin files will not be deleted. Only the uninstall procedure will be run. ### EXAMPLES - wp plugin uninstall hello - + wp plugin uninstall hello diff --git a/commands/plugin/update-all/index.md b/commands/plugin/update-all/index.md index ca5a5f7b..4c89060c 100644 --- a/commands/plugin/update-all/index.md +++ b/commands/plugin/update-all/index.md @@ -7,11 +7,10 @@ title: 'wp plugin update-all' ### OPTIONS - --dry-run - Pretend to do the updates, to see what would happen. +--dry-run +: Pretend to do the updates, to see what would happen. ### EXAMPLES - wp plugin update-all - + wp plugin update-all diff --git a/commands/plugin/update/index.md b/commands/plugin/update/index.md index 856b340c..baab39f7 100644 --- a/commands/plugin/update/index.md +++ b/commands/plugin/update/index.md @@ -7,16 +7,14 @@ title: 'wp plugin update' ### OPTIONS -* <plugin>: +<plugin> +: The plugin to update. - The plugin to update. - - --version=dev - If set, the plugin will be updated to the latest development version, +--version=dev +: If set, the plugin will be updated to the latest development version, regardless of what version is currently installed. ### EXAMPLES - wp plugin update bbpress --version=dev - + wp plugin update bbpress --version=dev diff --git a/commands/post-meta/index.md b/commands/post-meta/index.md index 430e86a7..ac5d1c59 100644 --- a/commands/post-meta/index.md +++ b/commands/post-meta/index.md @@ -7,13 +7,12 @@ title: 'wp post-meta' ### OPTIONS - --format=json - Encode/decode values as JSON. +--format=json +: Encode/decode values as JSON. ### EXAMPLES - wp post-meta set 123 _wp_page_template about.php - + wp post-meta set 123 _wp_page_template about.php ### SUBCOMMANDS diff --git a/commands/post/create/index.md b/commands/post/create/index.md index 9920ef90..55a06129 100644 --- a/commands/post/create/index.md +++ b/commands/post/create/index.md @@ -7,30 +7,28 @@ title: 'wp post create' ### OPTIONS - <filename> - Read post content from <filename>. If this value is present, the - `--post_content` argument will be ignored. +<filename> +: Read post content from <filename>. If this value is present, the + `--post_content` argument will be ignored. - Passing `-` as the filename will cause post content to - be read from STDIN. + Passing `-` as the filename will cause post content to + be read from STDIN. - --<field>=<value> - Field values for the new post. See wp_insert_post(). +--<field>=<value> +: Field values for the new post. See wp_insert_post(). - --edit - Immediately open system's editor to write or edit post content. - - (If content is read from a file, from STDIN, or from the `--post_content` - argument, that text will be loaded into the editor; otherwise, an empty - file will be opened.) +--edit +: Immediately open system's editor to write or edit post content. - --porcelain - Output just the new post id. + If content is read from a file, from STDIN, or from the `--post_content` + argument, that text will be loaded into the editor. -### EXAMPLES +--porcelain +: Output just the new post id. - wp post create --post_type=page --post_status=publish --post_title='A future post' --post-status=future --post_date='2020-12-01 07:00:00' +### EXAMPLES - wp post create page.txt --post_type=page --post_title='Page from file' + wp post create --post_type=page --post_status=publish --post_title='A future post' --post-status=future --post_date='2020-12-01 07:00:00' + wp post create page.txt --post_type=page --post_title='Page from file' diff --git a/commands/post/delete/index.md b/commands/post/delete/index.md index a5adb821..f964b6dc 100644 --- a/commands/post/delete/index.md +++ b/commands/post/delete/index.md @@ -7,16 +7,15 @@ title: 'wp post delete' ### OPTIONS - <ID> - The ID of the post to delete. +<ID> +: The ID of the post to delete. - --force - Skip the trash bin. +--force +: Skip the trash bin. ### EXAMPLES - wp post delete 123 --force - - wp post delete $(wp post list --post_type='page' --format=ids) + wp post delete 123 --force + wp post delete $(wp post list --post_type='page' --format=ids) diff --git a/commands/post/edit/index.md b/commands/post/edit/index.md index b6d1ea67..58e62ffd 100644 --- a/commands/post/edit/index.md +++ b/commands/post/edit/index.md @@ -7,11 +7,10 @@ title: 'wp post edit' ### OPTIONS - <id> - The ID of the post to edit. +<id> +: The ID of the post to edit. ### EXAMPLES - wp post edit 123 - + wp post edit 123 diff --git a/commands/post/generate/index.md b/commands/post/generate/index.md index b93d5b8c..11c86301 100644 --- a/commands/post/generate/index.md +++ b/commands/post/generate/index.md @@ -7,26 +7,25 @@ title: 'wp post generate' ### OPTIONS - --count=<number> - How many posts to generate. Default: 100 +--count=<number> +: How many posts to generate. Default: 100 - --post_type=<type> - The type of the generated posts. Default: 'post' +--post_type=<type> +: The type of the generated posts. Default: 'post' - --post_status=<status> - The status of the generated posts. Default: 'publish' +--post_status=<status> +: The status of the generated posts. Default: 'publish' - --post_author=<login> - The author of the generated posts. Default: none +--post_author=<login> +: The author of the generated posts. Default: none - --post_date=<yyyy-mm-dd> - The date of the generated posts. Default: current date +--post_date=<yyyy-mm-dd> +: The date of the generated posts. Default: current date - --max_depth=<number> - For hierarchical post types, generate child posts down to a certain depth. Default: 1 +--max_depth=<number> +: For hierarchical post types, generate child posts down to a certain depth. Default: 1 ### EXAMPLES - wp post generate --count=10 --post_type=page --post_date=1999-01-04 - + wp post generate --count=10 --post_type=page --post_date=1999-01-04 diff --git a/commands/post/get/index.md b/commands/post/get/index.md index 806832fb..d2d820e7 100644 --- a/commands/post/get/index.md +++ b/commands/post/get/index.md @@ -7,23 +7,22 @@ title: 'wp post get' ### OPTIONS - [--format=<format>] - The format to use when printing the post, acceptable values: +<ID> +: The ID of the post to get. - **content**: Outputs only the post's content. +--format=<format> +: The format to use when printing the post, acceptable values: - **table**: Outputs all fields of the post as a table. Note that the - post_content field is omitted so that the table is readable. + - **content**: Outputs only the post's content. - **json**: Outputs all fields in JSON format. + - **table**: Outputs all fields of the post as a table. Note that the + post_content field is omitted so that the table is readable. - <id> - The ID of the post to get. + - **json**: Outputs all fields in JSON format. ### EXAMPLES - wp post get 12 --format=content - - wp post get 12 > file.txt + wp post get 12 --format=content + wp post get 12 > file.txt diff --git a/commands/post/list/index.md b/commands/post/list/index.md index 4abe8401..6ce0a3a5 100644 --- a/commands/post/list/index.md +++ b/commands/post/list/index.md @@ -7,21 +7,20 @@ title: 'wp post list' ### OPTIONS - --<field>=<value> - One or more args to pass to WP_Query. +--<field>=<value> +: One or more args to pass to WP_Query. - --fields=<fields> - Limit the output to specific object fields. Defaults to ID,post_title,post_name,post_date,post_status. +--fields=<fields> +: Limit the output to specific object fields. Defaults to ID,post_title,post_name,post_date,post_status. - --format=<format> - Output list as table, CSV, JSON, or simply IDs. Defaults to table. +--format=<format> +: Output list as table, CSV, JSON, or simply IDs. Defaults to table. ### EXAMPLES - wp post list --format=ids + wp post list --format=ids - wp post list --post_type=post --posts_per_page=5 --format=json - - wp post list --post_type=page --fields=post_title,post_status + wp post list --post_type=post --posts_per_page=5 --format=json + wp post list --post_type=page --fields=post_title,post_status diff --git a/commands/post/update/index.md b/commands/post/update/index.md index 661a96cd..9d3c6fab 100644 --- a/commands/post/update/index.md +++ b/commands/post/update/index.md @@ -7,14 +7,13 @@ title: 'wp post update' ### OPTIONS - <ID> - The ID of the post to update. +<ID> +: The ID of the post to update. - --<field>=<value> - One or more fields to update. See wp_update_post(). +--<field>=<value> +: One or more fields to update. See wp_update_post(). ### EXAMPLES - wp post update 123 --post_name=something --post_status=draft - + wp post update 123 --post_name=something --post_status=draft diff --git a/commands/rewrite/dump/index.md b/commands/rewrite/dump/index.md index 417c8c3e..523d25b6 100644 --- a/commands/rewrite/dump/index.md +++ b/commands/rewrite/dump/index.md @@ -7,7 +7,6 @@ title: 'wp rewrite dump' ### OPTIONS - --format=json - Output rules in JSON format. - +--format=json +: Output rules in JSON format. diff --git a/commands/rewrite/flush/index.md b/commands/rewrite/flush/index.md index fad2c806..357f185b 100644 --- a/commands/rewrite/flush/index.md +++ b/commands/rewrite/flush/index.md @@ -7,9 +7,6 @@ title: 'wp rewrite flush' ### OPTIONS - --soft - Perform a soft flush - do not overwrite `.htaccess`. The default is to update - `.htaccess` rules as well as rewrite rules in database. - - +--hard +: Perform a hard flush - do not overwrite `.htaccess`. The default is to update `.htaccess` rules as well as rewrite rules in database. diff --git a/commands/rewrite/structure/index.md b/commands/rewrite/structure/index.md index 4e6d37c2..f06ac193 100644 --- a/commands/rewrite/structure/index.md +++ b/commands/rewrite/structure/index.md @@ -7,15 +7,16 @@ title: 'wp rewrite structure' ### OPTIONS -* <permastruct>: +<permastruct> +: The new permalink structure to apply. - The new permalink structure to apply; like "/%year%/%monthnum%/%postname%". +--category-base=<categorybase> +: Set the base for category permalinks, i.e. '/category/'. - --category-base=<categorybase> - Set the base for category permalinks, ie '/category/'. - - --tag-base=<tagbase> - Set the base for tag permalinks, ie '/tag/'. +--tag-base=<tagbase> +: Set the base for tag permalinks, i.e. '/tag/'. +### EXAMPLES + wp rewrite structure '/%year%/%monthnum%/%postname%' diff --git a/commands/role/create/index.md b/commands/role/create/index.md index 3f724d3b..e236a6d7 100644 --- a/commands/role/create/index.md +++ b/commands/role/create/index.md @@ -7,11 +7,11 @@ title: 'wp role create' ### OPTIONS -* <role-key>: +* <role-key>: The internal name of the role, e.g. editor -* <role-name>: +* <role-name>: The publically visible name of the role, e.g. Editor @@ -19,6 +19,5 @@ title: 'wp role create' wp role create approver Approver - wp role create productadmin "Product Administrator" - + wp role create productadmin "Product Administrator" diff --git a/commands/role/delete/index.md b/commands/role/delete/index.md index c2dcc0a5..b89388b9 100644 --- a/commands/role/delete/index.md +++ b/commands/role/delete/index.md @@ -7,7 +7,7 @@ title: 'wp role delete' ### OPTIONS -* <role-key>: +* <role-key>: The internal name of the role, e.g. editor @@ -17,5 +17,3 @@ title: 'wp role delete' wp role delete productadmin - - diff --git a/commands/role/exists/index.md b/commands/role/exists/index.md index 6a3375fc..7c4ace7f 100644 --- a/commands/role/exists/index.md +++ b/commands/role/exists/index.md @@ -5,21 +5,17 @@ title: 'wp role exists' `wp role exists` - Check if a role exists. -### OPTIONS - -* <role-key>: - - The internal name of the role, e.g. editor - - ##DESCRIPTION Will exit with status 0 if the role exists, 1 if it does not. +### OPTIONS -### EXAMPLES +* <role-key>: - wp role exists editor + The internal name of the role, e.g. editor +### EXAMPLES + wp role exists editor diff --git a/commands/role/list/index.md b/commands/role/list/index.md index 720277e8..fdcdf4f0 100644 --- a/commands/role/list/index.md +++ b/commands/role/list/index.md @@ -7,14 +7,13 @@ title: 'wp role list' ### OPTIONS - --fields=<fields> - Limit the output to specific object fields. Defaults to name,role. +--fields=<fields> +: Limit the output to specific object fields. Defaults to name,role. - --format=<format> - Output list as table, CSV or JSON. Defaults to table. +--format=<format> +: Output list as table, CSV or JSON. Defaults to table. ### EXAMPLES wp role list --fields=role --format=csv - diff --git a/commands/scaffold/_s/index.md b/commands/scaffold/_s/index.md index a57fab78..c40c14dd 100644 --- a/commands/scaffold/_s/index.md +++ b/commands/scaffold/_s/index.md @@ -7,19 +7,18 @@ title: 'wp scaffold _s' ### OPTIONS -* <slug>: +<slug> +: The slug for the new theme, used for prefixing functions. - The slug for the new theme, used for prefixing functions. +--activate +: Activate the newly downloaded theme. - --activate - Activate the newly downloaded theme. +--theme_name=<title> +: What to put in the 'Theme Name:' header in style.css - --theme_name=<title> - What to put in the 'Theme Name:' header in style.css +--author=<full name> +: What to put in the 'Author:' header in style.css - --author=<full name> - What to put in the 'Author:' header in style.css - - --author_uri=<http url> - What to put in the 'Author URI:' header in style.css +--author_uri=<http url> +: What to put in the 'Author URI:' header in style.css diff --git a/commands/scaffold/child-theme/index.md b/commands/scaffold/child-theme/index.md index 718460fa..6087c6ea 100644 --- a/commands/scaffold/child-theme/index.md +++ b/commands/scaffold/child-theme/index.md @@ -7,26 +7,24 @@ title: 'wp scaffold child-theme' ### OPTIONS -* <slug>: +<slug> +: The slug for the new child theme. - The slug for the new child theme. +--parent_theme=<slug> +: What to put in the 'Template:' header in style.css - --parent_theme=<slug> - What to put in the 'Template:' header in style.css +--theme_name=<title> +: What to put in the 'Theme Name:' header in style.css - --theme_name=<title> - What to put in the 'Theme Name:' header in style.css +--author=<full name> +: What to put in the 'Author:' header in style.css - --author=<full name> - What to put in the 'Author:' header in style.css +--author_uri=<http url> +: What to put in the 'Author URI:' header in style.css - --author_uri=<http url> - What to put in the 'Author URI:' header in style.css - - --theme_uri=<http url> - What to put in the 'Theme URI:' header in style.css - - --activate - Activate the newly created child theme. +--theme_uri=<http url> +: What to put in the 'Theme URI:' header in style.css +--activate +: Activate the newly created child theme. diff --git a/commands/scaffold/plugin-tests/index.md b/commands/scaffold/plugin-tests/index.md index e67d2e61..75304668 100644 --- a/commands/scaffold/plugin-tests/index.md +++ b/commands/scaffold/plugin-tests/index.md @@ -21,6 +21,5 @@ variable. ### EXAMPLE - wp scaffold plugin-tests hello - + wp scaffold plugin-tests hello diff --git a/commands/scaffold/plugin/index.md b/commands/scaffold/plugin/index.md index a863ef83..b7c4e9bf 100644 --- a/commands/scaffold/plugin/index.md +++ b/commands/scaffold/plugin/index.md @@ -7,10 +7,9 @@ title: 'wp scaffold plugin' ### OPTIONS - --activate - Activate the newly generated plugin. - - --plugin_name=<title> - What to put in the 'Plugin Name:' header +--activate +: Activate the newly generated plugin. +--plugin_name=<title> +: What to put in the 'Plugin Name:' header diff --git a/commands/scaffold/post-type/index.md b/commands/scaffold/post-type/index.md index 035323a5..573fb11d 100644 --- a/commands/scaffold/post-type/index.md +++ b/commands/scaffold/post-type/index.md @@ -7,21 +7,20 @@ title: 'wp scaffold post-type' ### OPTIONS - --label=<label> - The text used to translate the update messages +--label=<label> +: The text used to translate the update messages - --textdomain=<textdomain> - The textdomain to use for the labels. +--textdomain=<textdomain> +: The textdomain to use for the labels. - --theme - Create a file in the current theme directory, instead of sending to -STDOUT. +--theme +: Create a file in the active theme directory, instead of sending to +STDOUT. Specify a theme with `--theme=<theme>` to have the file placed in that theme. - --plugin=<plugin> - Create a file in the given plugin's directory, instead of sending to +--plugin=<plugin> +: Create a file in the given plugin's directory, instead of sending to STDOUT. - --raw - Just generate the `register_post_type()` call and nothing else. - +--raw +: Just generate the `register_post_type()` call and nothing else. diff --git a/commands/scaffold/taxonomy/index.md b/commands/scaffold/taxonomy/index.md index 856fd0fe..48444ebd 100644 --- a/commands/scaffold/taxonomy/index.md +++ b/commands/scaffold/taxonomy/index.md @@ -7,28 +7,27 @@ title: 'wp scaffold taxonomy' ### OPTIONS - --post_types=<post_types> - Post types to register for use with the taxonomy. +--post_types=<post_types> +: Post types to register for use with the taxonomy. - --label=<label> - The text used to translate the update messages +--label=<label> +: The text used to translate the update messages - --textdomain=<textdomain> - The textdomain to use for the labels. +--textdomain=<textdomain> +: The textdomain to use for the labels. - --theme - Create a file in the current theme directory, instead of sending to -STDOUT. +--theme +: Create a file in the active theme directory, instead of sending to +STDOUT. Specify a theme with `--theme=<theme>` to have the file placed in that theme. - --plugin=<plugin> - Create a file in the given plugin's directory, instead of sending to +--plugin=<plugin> +: Create a file in the given plugin's directory, instead of sending to STDOUT. - --raw - Just generate the `register_taxonomy()` call and nothing else. +--raw +: Just generate the `register_taxonomy()` call and nothing else. ### EXAMPLES - wp scaffold taxonomy venue --post_types=event,presentation - + wp scaffold taxonomy venue --post_types=event,presentation diff --git a/commands/search-replace/index.md b/commands/search-replace/index.md index 9276615f..d58a3c78 100644 --- a/commands/search-replace/index.md +++ b/commands/search-replace/index.md @@ -13,19 +13,18 @@ It will correctly handle serialized values, and will not change primary key valu ### OPTIONS - --network - Search/replace through all the tables in a multisite install. +--network +: Search/replace through all the tables in a multisite install. - --skip-columns=<columns> - Do not perform the replacement in the comma-separated columns. +--skip-columns=<columns> +: Do not perform the replacement in the comma-separated columns. - --dry-run - Show report, but don't perform the changes. +--dry-run +: Show report, but don't perform the changes. ### EXAMPLES - wp search-replace 'http://example.dev' 'http://example.com' --skip-columns=guid - - wp search-replace 'foo' 'bar' wp_posts wp_postmeta wp_terms --dry-run + wp search-replace 'http://example.dev' 'http://example.com' --skip-columns=guid + wp search-replace 'foo' 'bar' wp_posts wp_postmeta wp_terms --dry-run diff --git a/commands/shell/index.md b/commands/shell/index.md index 1582d694..aab80098 100644 --- a/commands/shell/index.md +++ b/commands/shell/index.md @@ -11,7 +11,6 @@ title: 'wp shell' ### OPTIONS - --basic - Start in fail-safe mode, even if Boris is available. - +--basic +: Start in fail-safe mode, even if Boris is available. diff --git a/commands/site/create/index.md b/commands/site/create/index.md new file mode 100644 index 00000000..b9791ed4 --- /dev/null +++ b/commands/site/create/index.md @@ -0,0 +1,27 @@ +--- +layout: default +title: 'wp site create' +--- + +`wp site create` - Create a site in a multisite install. + +### OPTIONS + +--slug=<slug> +: Path for the new site. Subdomain on subdomain installs, directory on subdirectory installs. + +--title=<title&gt; +: Title of the new site. Default: prettified slug. + +--email=<email> +: Email for Admin user. User will be created if none exists. Assignement to Super Admin if not included. + +--network_id=<network-id> +: Network to associate new site with. Defaults to current network (typically 1). + +--private +: If set, the new site will be non-public (not indexed) + +--porcelain +: If set, only the site id will be output on success. + diff --git a/commands/site/delete/index.md b/commands/site/delete/index.md new file mode 100644 index 00000000..4330f0e5 --- /dev/null +++ b/commands/site/delete/index.md @@ -0,0 +1,21 @@ +--- +layout: default +title: 'wp site delete' +--- + +`wp site delete` - Delete a site in a multisite install. + +### OPTIONS + +<blog-id> +: The id of the blog to delete. If not provided, you must set the --slug parameter. + +--slug=<slug> +: Path of the blog to be deleted. Subdomain on subdomain installs, directory on subdirectory installs. + +--yes +: Answer yes to the confirmation message. + +--keep-tables +: Delete the blog from the list, but don't drop it's tables. + diff --git a/commands/site/empty/index.md b/commands/site/empty/index.md new file mode 100644 index 00000000..3542bb95 --- /dev/null +++ b/commands/site/empty/index.md @@ -0,0 +1,12 @@ +--- +layout: default +title: 'wp site empty' +--- + +`wp site empty` - Empty a site of its content (posts, comments, and terms). + +### OPTIONS + +--yes +: Proceed to empty the site without a confirmation prompt. + diff --git a/commands/site/index.md b/commands/site/index.md new file mode 100644 index 00000000..a4de79b0 --- /dev/null +++ b/commands/site/index.md @@ -0,0 +1,33 @@ +--- +layout: default +title: 'wp site' +--- + +`wp site` - Perform site-wide operations. + + + +### SUBCOMMANDS + +<table> + <thead> + <tr> + <th>Name</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="/commands/site/create">create</a></td> + <td>Create a site in a multisite install.</td> + </tr> + <tr> + <td><a href="/commands/site/delete">delete</a></td> + <td>Delete a site in a multisite install.</td> + </tr> + <tr> + <td><a href="/commands/site/empty">empty</a></td> + <td>Empty a site of its content (posts, comments, and terms).</td> + </tr> + </tbody> +</table> diff --git a/commands/term/create/index.md b/commands/term/create/index.md index f7f5ae31..299900d4 100644 --- a/commands/term/create/index.md +++ b/commands/term/create/index.md @@ -7,26 +7,25 @@ title: 'wp term create' ### OPTIONS - <term> - A name for the new term. +<term> +: A name for the new term. - <taxonomy> - Taxonomy for the new term. +<taxonomy> +: Taxonomy for the new term. - --slug=<slug> - A unique slug for the new term. Defaults to sanitized version of name. +--slug=<slug> +: A unique slug for the new term. Defaults to sanitized version of name. - --description=<description> - A description for the new term. +--description=<description> +: A description for the new term. - --parent=<term-id> - A parent for the new term. +--parent=<term-id> +: A parent for the new term. - --porcelain - Output just the new term id. +--porcelain +: Output just the new term id. ### EXAMPLES - wp term create Apple category --description="A type of fruit" - + wp term create Apple category --description="A type of fruit" diff --git a/commands/term/delete/index.md b/commands/term/delete/index.md index bcbee301..2b2a7fea 100644 --- a/commands/term/delete/index.md +++ b/commands/term/delete/index.md @@ -7,13 +7,13 @@ title: 'wp term delete' ### OPTIONS - <term-id> - ID for the term to delete. +<term-id> +: ID for the term to delete. - <taxonomy> - Taxonomy of the term to delete. +<taxonomy> +: Taxonomy of the term to delete. ### EXAMPLES - wp term delete 15 category + wp term delete 15 category diff --git a/commands/term/list/index.md b/commands/term/list/index.md index 0292dd84..37948359 100644 --- a/commands/term/list/index.md +++ b/commands/term/list/index.md @@ -7,19 +7,18 @@ title: 'wp term list' ### OPTIONS - <taxonomy> - List terms of a given taxonomy. +<taxonomy> +: List terms of a given taxonomy. - --fields=<fields> - Limit the output to specific object fields. Defaults to all of the term object fields. +--fields=<fields> +: Limit the output to specific object fields. Defaults to all of the term object fields. - --format=<format> - Output list as table, CSV, JSON, or simply IDs. Defaults to table. +--format=<format> +: Output list as table, CSV, JSON, or simply IDs. Defaults to table. ### EXAMPLES - wp term list category --format=csv - - wp term list post_tag --fields=name,slug + wp term list category --format=csv + wp term list post_tag --fields=name,slug diff --git a/commands/term/update/index.md b/commands/term/update/index.md index 1cb306eb..b9dc3fc7 100644 --- a/commands/term/update/index.md +++ b/commands/term/update/index.md @@ -7,26 +7,25 @@ title: 'wp term update' ### OPTIONS - <term-id> - ID for the term to update. +<term-id> +: ID for the term to update. - <taxonomy> - Taxonomy of the term to update. +<taxonomy> +: Taxonomy of the term to update. - --name=<name> - A new name for the term. +--name=<name> +: A new name for the term. - --slug=<slug> - A new slug for the term. +--slug=<slug> +: A new slug for the term. - --description=<description> - A new description for the term. +--description=<description> +: A new description for the term. - --parent=<term-id> - A new parent for the term. +--parent=<term-id> +: A new parent for the term. ### EXAMPLES - wp term update 15 category --name=Apple - + wp term update 15 category --name=Apple diff --git a/commands/theme/activate/index.md b/commands/theme/activate/index.md index f57fec24..181296ec 100644 --- a/commands/theme/activate/index.md +++ b/commands/theme/activate/index.md @@ -7,7 +7,6 @@ title: 'wp theme activate' ### OPTIONS - <theme> - The theme to activate. - +<theme> +: The theme to activate. diff --git a/commands/theme/delete/index.md b/commands/theme/delete/index.md index 85dff142..942745f4 100644 --- a/commands/theme/delete/index.md +++ b/commands/theme/delete/index.md @@ -7,11 +7,10 @@ title: 'wp theme delete' ### OPTIONS - <theme> - The theme to delete. +<theme> +: The theme to delete. ### EXAMPLES - wp theme delete twentyeleven - + wp theme delete twentyeleven diff --git a/commands/theme/install/index.md b/commands/theme/install/index.md index 20cec17f..10f53907 100644 --- a/commands/theme/install/index.md +++ b/commands/theme/install/index.md @@ -7,16 +7,24 @@ title: 'wp theme install' ### OPTIONS - <theme> - A theme slug or the path to a zip file. +<theme|zip|url> +: A theme slug, the path to a local zip file, or URL to a remote zip file. - --activate - If set, the theme will be activated immediately after install. +--force +: If set, the command will overwrite any installed version of the theme, without prompting +for confirmation. + +--activate +: If set, the theme will be activated immediately after install. ### EXAMPLES - wp theme install twentytwelve --activate + # Install the latest version from wordpress.org and activate + wp theme install twentytwelve --activate - wp theme install ../my-theme.zip + # Install from a local zip file + wp theme install ../my-theme.zip + # Install from a remote zip file + wp theme install http://s3.amazonaws.com/bucketname/my-theme.zip?AWSAccessKeyId=123&Expires=456&Signature=abcdef diff --git a/commands/theme/list/index.md b/commands/theme/list/index.md index 40816044..5d7990ad 100644 --- a/commands/theme/list/index.md +++ b/commands/theme/list/index.md @@ -7,11 +7,11 @@ title: 'wp theme list' ### OPTIONS - --format=<format> - Output list as table, CSV or JSON. Defaults to table. +* `--format`=<format>: -### EXAMPLES + Output list as table, CSV or JSON. Defaults to table. - wp theme list --format=csv +### EXAMPLES + wp theme list --format=csv diff --git a/commands/theme/path/index.md b/commands/theme/path/index.md index 6308fd9b..541b9c75 100644 --- a/commands/theme/path/index.md +++ b/commands/theme/path/index.md @@ -7,16 +7,15 @@ title: 'wp theme path' ### OPTIONS - <theme> - The theme to get the path to. If not set, will return the path to the +<theme> +: The theme to get the path to. If not set, will return the path to the themes directory. - --dir - If set, get the path to the closest parent directory, instead of the +--dir +: If set, get the path to the closest parent directory, instead of the theme file. ### EXAMPLES - cd $(wp theme path) - + cd $(wp theme path) diff --git a/commands/theme/status/index.md b/commands/theme/status/index.md index be030faf..b583b8c3 100644 --- a/commands/theme/status/index.md +++ b/commands/theme/status/index.md @@ -7,7 +7,6 @@ title: 'wp theme status' ### OPTIONS - <theme> - A particular theme to show the status for. - +<theme> +: A particular theme to show the status for. diff --git a/commands/theme/update-all/index.md b/commands/theme/update-all/index.md index 73bff567..f301cb03 100644 --- a/commands/theme/update-all/index.md +++ b/commands/theme/update-all/index.md @@ -7,11 +7,10 @@ title: 'wp theme update-all' ### OPTIONS - --dry-run - Pretend to do the updates, to see what would happen. +--dry-run +: Pretend to do the updates, to see what would happen. ### EXAMPLES - wp theme update-all - + wp theme update-all diff --git a/commands/theme/update/index.md b/commands/theme/update/index.md index efa5b344..66bcf442 100644 --- a/commands/theme/update/index.md +++ b/commands/theme/update/index.md @@ -7,15 +7,14 @@ title: 'wp theme update' ### OPTIONS - <theme> - The theme to update. +<theme> +: The theme to update. - --version=dev - If set, the theme will be updated to the latest development version, +--version=dev +: If set, the theme will be updated to the latest development version, regardless of what version is currently installed. ### EXAMPLES - wp theme update twentytwelve - + wp theme update twentytwelve diff --git a/commands/transient/index.md b/commands/transient/index.md index ff8b511b..5ff8709d 100644 --- a/commands/transient/index.md +++ b/commands/transient/index.md @@ -3,12 +3,11 @@ layout: default title: 'wp transient' --- -`wp transient` - Manage WordPress transients. +`wp transient` - Manage transients. ### EXAMPLES - wp transient set my_key my_value 300 - + wp transient set my_key my_value 300 ### SUBCOMMANDS diff --git a/commands/user-meta/index.md b/commands/user-meta/index.md index c7d49a18..c0ffce92 100644 --- a/commands/user-meta/index.md +++ b/commands/user-meta/index.md @@ -7,13 +7,12 @@ title: 'wp user-meta' ### OPTIONS - --format=json - Encode/decode values as JSON. +--format=json +: Encode/decode values as JSON. ### EXAMPLES - wp user-meta set 123 description "Mary is a WordPress developer." - + wp user-meta set 123 description "Mary is a WordPress developer." ### SUBCOMMANDS diff --git a/commands/user/add-role/index.md b/commands/user/add-role/index.md index 52391398..79e104a6 100644 --- a/commands/user/add-role/index.md +++ b/commands/user/add-role/index.md @@ -5,5 +5,16 @@ title: 'wp user add-role' `wp user add-role` - Add a role for a user. +### OPTIONS +<user> +: User ID or user login. + +<role> +: Add the specified role to the user. + +### EXAMPLES + + wp user set-role bob author + wp user set-role 12 author diff --git a/commands/user/create/index.md b/commands/user/create/index.md index b1ab1209..ed41ae76 100644 --- a/commands/user/create/index.md +++ b/commands/user/create/index.md @@ -7,29 +7,28 @@ title: 'wp user create' ### OPTIONS - <user-login> - The login of the user to create. +<user-login> +: The login of the user to create. - <user-email> - The email address of the user to create. +<user-email> +: The email address of the user to create. - --role=<role> - The role of the user to create. Default: default role +--role=<role> +: The role of the user to create. Default: default role - --user_pass=<password> - The user password. Default: randomly generated +--user_pass=<password> +: The user password. Default: randomly generated - --user_registered=<yyyy-mm-dd> - The date the user registered. Default: current date +--user_registered=<yyyy-mm-dd> +: The date the user registered. Default: current date - --display_name=<name> - The display name. +--display_name=<name> +: The display name. - --porcelain - Output just the new user id. +--porcelain +: Output just the new user id. ### EXAMPLES - wp user create bob bob@example.com --role=author - + wp user create bob bob@example.com --role=author diff --git a/commands/user/delete/index.md b/commands/user/delete/index.md index e0a002e1..7579a328 100644 --- a/commands/user/delete/index.md +++ b/commands/user/delete/index.md @@ -7,14 +7,13 @@ title: 'wp user delete' ### OPTIONS - <ID> - The ID of the user to delete. +<user> +: The user login or ID of the user to delete. - --reassign=<ID> - User to reassign the posts to. +--reassign=<ID> +: User to reassign the posts to. ### EXAMPLES - wp user delete 123 --reassign=567 - + wp user delete 123 --reassign=567 diff --git a/commands/user/generate/index.md b/commands/user/generate/index.md index 5aa6c21c..b65b43db 100644 --- a/commands/user/generate/index.md +++ b/commands/user/generate/index.md @@ -7,10 +7,9 @@ title: 'wp user generate' ### OPTIONS - --count=<number> - How many users to generate. Default: 100 - - --role=<role> - The role of the generated users. Default: default role from WP +--count=<number> +: How many users to generate. Default: 100 +--role=<role> +: The role of the generated users. Default: default role from WP diff --git a/commands/user/get/index.md b/commands/user/get/index.md new file mode 100644 index 00000000..d5a75a70 --- /dev/null +++ b/commands/user/get/index.md @@ -0,0 +1,25 @@ +--- +layout: default +title: 'wp user get' +--- + +`wp user get` - Get a single user. + +### OPTIONS + +<user> +: User ID or user login. + +--format=<format> +: The format to use when printing the user; acceptable values: + + **table**: Outputs all fields of the user as a table. + + **json**: Outputs all fields in JSON format. + +### EXAMPLES + + wp user get 12 + + wp user get bob --format=json > bob.json + diff --git a/commands/user/import-csv/index.md b/commands/user/import-csv/index.md index 7f019adb..37bba9fb 100644 --- a/commands/user/import-csv/index.md +++ b/commands/user/import-csv/index.md @@ -7,18 +7,17 @@ title: 'wp user import-csv' ### OPTIONS - <file> - The CSV file of users to import. +<file> +: The CSV file of users to import. ### EXAMPLES - wp user import-csv /path/to/users.csv + wp user import-csv /path/to/users.csv - Sample users.csv file: - - user_login,user_email,display_name,role - bobjones,bobjones@domain.com,Bob Jones,contributor - newuser1,newuser1@domain.com,New User,author - existinguser,existinguser@domain.com,Existing User,administrator + Sample users.csv file: + user_login,user_email,display_name,role + bobjones,bobjones@domain.com,Bob Jones,contributor + newuser1,newuser1@domain.com,New User,author + existinguser,existinguser@domain.com,Existing User,administrator diff --git a/commands/user/index.md b/commands/user/index.md index 703c1a88..bf27b68b 100644 --- a/commands/user/index.md +++ b/commands/user/index.md @@ -33,6 +33,10 @@ title: 'wp user' <td><a href="/commands/user/generate">generate</a></td> <td>Generate users.</td> </tr> + <tr> + <td><a href="/commands/user/get">get</a></td> + <td>Get a single user.</td> + </tr> <tr> <td><a href="/commands/user/import-csv">import-csv</a></td> <td>Import users from a CSV file.</td> diff --git a/commands/user/list/index.md b/commands/user/list/index.md index b3678bce..33b3237e 100644 --- a/commands/user/list/index.md +++ b/commands/user/list/index.md @@ -7,21 +7,20 @@ title: 'wp user list' ### OPTIONS - --role=<role> - Only display users with a certain role. +--role=<role> +: Only display users with a certain role. - --fields=<fields> - Limit the output to specific object fields. Defaults to ID,user_login,display_name,user_email,user_registered,roles +--fields=<fields> +: Limit the output to specific object fields. Defaults to ID,user_login,display_name,user_email,user_registered,roles - --format=<format> - Output list as table, CSV, JSON, or simply IDs. Defaults to table. +--format=<format> +: Output list as table, CSV, JSON, or simply IDs. Defaults to table. ### EXAMPLES - wp user list --format=ids + wp user list --format=ids - wp user list --role=administrator --format=csv - - wp user list --fields=display_name,user_email + wp user list --role=administrator --format=csv + wp user list --fields=display_name,user_email diff --git a/commands/user/remove-role/index.md b/commands/user/remove-role/index.md index 77d3d66a..d0a5f57b 100644 --- a/commands/user/remove-role/index.md +++ b/commands/user/remove-role/index.md @@ -7,12 +7,11 @@ title: 'wp user remove-role' ### OPTIONS - <user-login> - User ID or user login. +<user> +: User ID or user login. ### EXAMPLES - wp user remove-role bob - wp user remove-role 12 - + wp user remove-role bob + wp user remove-role 12 diff --git a/commands/user/set-role/index.md b/commands/user/set-role/index.md index c876970b..f1447ed9 100644 --- a/commands/user/set-role/index.md +++ b/commands/user/set-role/index.md @@ -7,15 +7,15 @@ title: 'wp user set-role' ### OPTIONS - <user-login> - User ID or user login. +<user> +: User ID or user login. - [<role>] - Add the user with the specified role. Defaults to blog default. +[<role>] +: Make the user have the specified role. If not passed, the default role is +used. ### EXAMPLES - wp user set-role bob author - wp user set-role 12 author - + wp user set-role bob author + wp user set-role 12 author diff --git a/commands/user/update/index.md b/commands/user/update/index.md index 24ab278b..72d18c60 100644 --- a/commands/user/update/index.md +++ b/commands/user/update/index.md @@ -7,14 +7,15 @@ title: 'wp user update' ### OPTIONS - <ID> - The ID of the user to update. +<user> +: The user login or ID of the user to update. - --<field>=<value> - One or more fields to update. For accepted fields, see wp_update_user(). +--<field>=<value> +: One or more fields to update. For accepted fields, see wp_update_user(). ### EXAMPLES - wp user update 123 --user_login=mary --display_name=Mary + wp user update 123 --user_login=mary --display_name=Mary + wp user update mary --user_pass=marypass From 69537daaec8e37b95b1619b71a399ca5f8b22efd Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Sun, 4 Aug 2013 23:17:42 +0300 Subject: [PATCH 181/839] point old commands to new commands --- commands/blog/create/index.md | 25 +-------------------- commands/blog/delete/index.md | 19 +--------------- commands/blog/empty/index.md | 8 +------ commands/blog/index.md | 30 +------------------------- commands/core/install-network/index.md | 17 +-------------- 5 files changed, 5 insertions(+), 94 deletions(-) diff --git a/commands/blog/create/index.md b/commands/blog/create/index.md index 9d69fa15..6309a190 100644 --- a/commands/blog/create/index.md +++ b/commands/blog/create/index.md @@ -2,27 +2,4 @@ layout: default title: 'wp blog create' --- - -`wp blog create` - Create a blog in a multisite install. - -### OPTIONS - - --slug=<slug> - Path for the new blog. Subdomain on subdomain installs, directory on subdirectory installs. - - --title=<title> - Title of the new blog. Default: prettified slug. - - --email=<email> - Email for Admin user. User will be created if none exists. Assignement to Super Admin if not included. - - --site_id=<site-id> - Site (network) to associate new blog with. Defaults to current site (typically 1). - - --private - If set, the new blog will be non-public (not indexed) - - --porcelain - If set, only the blog id will be output on success. - - +The `wp blog create` command has been renamed to [wp site create](/commands/site/create) in WP-CLI 0.11. diff --git a/commands/blog/delete/index.md b/commands/blog/delete/index.md index c57a5919..e0bd27f4 100644 --- a/commands/blog/delete/index.md +++ b/commands/blog/delete/index.md @@ -2,21 +2,4 @@ layout: default title: 'wp blog delete' --- - -`wp blog delete` - Delete a blog in a multisite install. - -### OPTIONS - - <blog-id> - The id of the blog to delete. If not provided, you must set the --slug parameter. - - --slug=<slug> - Path of the blog to be deleted. Subdomain on subdomain installs, directory on subdirectory installs. - - --yes - Answer yes to the confirmation message. - - --keep-tables - Delete the blog from the list, but don't drop it's tables. - - +The `wp blog delete` command has been renamed to [wp site delete](/commands/site/delete) in WP-CLI 0.11. diff --git a/commands/blog/empty/index.md b/commands/blog/empty/index.md index ec4cc797..e6219d29 100644 --- a/commands/blog/empty/index.md +++ b/commands/blog/empty/index.md @@ -2,10 +2,4 @@ layout: default title: 'wp blog empty' --- - -`wp blog empty` - Empty a blog of its content. - -### EXAMPLES - - wp blog empty - +The `wp blog empty` command has been renamed to [wp site empty](/commands/site/empty) in WP-CLI 0.11. diff --git a/commands/blog/index.md b/commands/blog/index.md index efb060bf..eaf889a0 100644 --- a/commands/blog/index.md +++ b/commands/blog/index.md @@ -2,32 +2,4 @@ layout: default title: 'wp blog' --- - -`wp blog` - Manage blogs in a multisite install. - - - -### SUBCOMMANDS - -<table> - <thead> - <tr> - <th>Name</th> - <th>Description</th> - </tr> - </thead> - <tbody> - <tr> - <td><a href="/commands/blog/create">create</a></td> - <td>Create a blog in a multisite install.</td> - </tr> - <tr> - <td><a href="/commands/blog/delete">delete</a></td> - <td>Delete a blog in a multisite install.</td> - </tr> - <tr> - <td><a href="/commands/blog/empty">empty</a></td> - <td>Empty a blog of its content.</td> - </tr> - </tbody> -</table> +The `wp blog` command has been renamed to [wp site](/commands/site) in WP-CLI 0.11. diff --git a/commands/core/install-network/index.md b/commands/core/install-network/index.md index 45dc3617..14d8ec06 100644 --- a/commands/core/install-network/index.md +++ b/commands/core/install-network/index.md @@ -2,19 +2,4 @@ layout: default title: 'wp core install-network' --- - -`wp core install-network` - Transform a single-site install into a multi-site install. - -### OPTIONS - - --title=<site-title> - The title of the new network. - - --base=<url-path> - Base path after the domain name that each site url will start with. -Default: '/' - - --subdomains - If passed, the network will use subdomains, instead of subdirectories. - - +The `wp core install-network` command has been renamed to [wp core multisite-convert](/commands/core/multisite-convert) in WP-CLI 0.11. From 9f627ca86592cfc50d263ccf329695534ad59d25 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Sun, 4 Aug 2013 23:25:38 +0300 Subject: [PATCH 182/839] don't clear /commands/ directory when generating --- Phakefile.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Phakefile.php b/Phakefile.php index 9fa584d9..384065cf 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -52,7 +52,9 @@ function gen_cmd_pages( $cmd, $parent = array() ) { } $path = __DIR__ . "/commands/" . $binding['path']; - mkdir( $path ); + if ( !is_dir( $path ) ) { + mkdir( $path ); + } file_put_contents( "$path/index.md", render( 'subcmd-list.mustache', $binding ) ); if ( !isset( $cmd['subcommands'] ) ) @@ -70,8 +72,6 @@ function gen_cmd_pages( $cmd, $parent = array() ) { // generate main page file_put_contents( '_includes/cmd-list.html', render( 'cmd-list.mustache', $wp ) ); - system( sprintf( 'rm -rf %s/commands/*/', escapeshellarg( __DIR__ ) ) ); - foreach ( $wp['subcommands'] as $cmd ) { gen_cmd_pages( $cmd ); } From d8a831c6490f07ae137dcc6d517325a71eb845bb Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Sun, 4 Aug 2013 23:31:28 +0300 Subject: [PATCH 183/839] update docs for 'wp cli' --- commands/cli/cmd-dump/index.md | 2 +- commands/cli/completions/index.md | 2 +- commands/cli/index.md | 10 +++++----- commands/cli/info/index.md | 2 +- commands/cli/param-dump/index.md | 2 +- commands/cli/version/index.md | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/commands/cli/cmd-dump/index.md b/commands/cli/cmd-dump/index.md index a802f09f..b9057949 100644 --- a/commands/cli/cmd-dump/index.md +++ b/commands/cli/cmd-dump/index.md @@ -3,7 +3,7 @@ layout: default title: 'wp cli cmd-dump' --- -`wp cli cmd-dump` - +`wp cli cmd-dump` - Dump the list of installed commands, as JSON. diff --git a/commands/cli/completions/index.md b/commands/cli/completions/index.md index 5d11a782..19dadd80 100644 --- a/commands/cli/completions/index.md +++ b/commands/cli/completions/index.md @@ -3,7 +3,7 @@ layout: default title: 'wp cli completions' --- -`wp cli completions` - +`wp cli completions` - Generate tab completion strings. diff --git a/commands/cli/index.md b/commands/cli/index.md index 68f91e72..9d116d02 100644 --- a/commands/cli/index.md +++ b/commands/cli/index.md @@ -19,23 +19,23 @@ title: 'wp cli' <tbody> <tr> <td><a href="/commands/cli/cmd-dump">cmd-dump</a></td> - <td></td> + <td>Dump the list of installed commands, as JSON.</td> </tr> <tr> <td><a href="/commands/cli/completions">completions</a></td> - <td></td> + <td>Generate tab completion strings.</td> </tr> <tr> <td><a href="/commands/cli/info">info</a></td> - <td></td> + <td>Print various data about the CLI environment.</td> </tr> <tr> <td><a href="/commands/cli/param-dump">param-dump</a></td> - <td></td> + <td>Dump the list of global parameters, as JSON.</td> </tr> <tr> <td><a href="/commands/cli/version">version</a></td> - <td></td> + <td>Print WP-CLI version.</td> </tr> </tbody> </table> diff --git a/commands/cli/info/index.md b/commands/cli/info/index.md index 01c6a67b..dad4889b 100644 --- a/commands/cli/info/index.md +++ b/commands/cli/info/index.md @@ -3,7 +3,7 @@ layout: default title: 'wp cli info' --- -`wp cli info` - +`wp cli info` - Print various data about the CLI environment. diff --git a/commands/cli/param-dump/index.md b/commands/cli/param-dump/index.md index 23095928..3956280c 100644 --- a/commands/cli/param-dump/index.md +++ b/commands/cli/param-dump/index.md @@ -3,7 +3,7 @@ layout: default title: 'wp cli param-dump' --- -`wp cli param-dump` - +`wp cli param-dump` - Dump the list of global parameters, as JSON. diff --git a/commands/cli/version/index.md b/commands/cli/version/index.md index 33743da4..e109a7da 100644 --- a/commands/cli/version/index.md +++ b/commands/cli/version/index.md @@ -3,7 +3,7 @@ layout: default title: 'wp cli version' --- -`wp cli version` - +`wp cli version` - Print WP-CLI version. From 3f54275265e7c772d005fb932e5cf39ab1e4604c Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Mon, 5 Aug 2013 01:05:52 +0300 Subject: [PATCH 184/839] space out the definition lists a little --- assets/css/stylesheet.css | 1 + 1 file changed, 1 insertion(+) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 8fa212fd..0c2fad44 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -142,6 +142,7 @@ h1, h2, h3, h4, h5, h6 { dt { font-style: italic; font-weight: bold; + margin-top: 20px; } ul li { From 33c7d4898c70ea6241ce0cd9b80461b53521f058 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Mon, 5 Aug 2013 01:12:24 +0300 Subject: [PATCH 185/839] switch to Kramdown syntax for fenced code blocks --- _posts/2013-03-16-editing-posts.md | 4 +- ...olding-custom-post-types-and-taxonomies.md | 28 +++++----- index.md | 56 +++++++++---------- 3 files changed, 44 insertions(+), 44 deletions(-) diff --git a/_posts/2013-03-16-editing-posts.md b/_posts/2013-03-16-editing-posts.md index cbf1209d..ca82222e 100644 --- a/_posts/2013-03-16-editing-posts.md +++ b/_posts/2013-03-16-editing-posts.md @@ -7,9 +7,9 @@ A few years ago, I came across a very interesting project by Joseph Scott, calle With [WP-CLI](/) 0.9.0-beta, you can do the same thing: -```bash +~~~bash wp post edit 123 -``` +~~~ Once you run that command, your `$EDITOR` will open up, pre-filled with the content of the post with ID 123. After you've made your changes and quit the editor, WP-CLI will update the post in the database. diff --git a/_posts/2013-03-29-scaffolding-custom-post-types-and-taxonomies.md b/_posts/2013-03-29-scaffolding-custom-post-types-and-taxonomies.md index f7c38e73..2ad0bf25 100644 --- a/_posts/2013-03-29-scaffolding-custom-post-types-and-taxonomies.md +++ b/_posts/2013-03-29-scaffolding-custom-post-types-and-taxonomies.md @@ -11,25 +11,25 @@ Now you can do this with WP-CLI, using the `wp scaffold` command. The following command generates the code for registering the post type and also for customizing the update messages: -```bash +~~~bash wp scaffold post-type zombie -``` +~~~ ### Scaffold a taxonomy The following command generates the code for registering the taxonomy to the zombie post type: -```bash +~~~bash wp scaffold taxonomy zombie-speed --post-type=zombie -``` +~~~ ### But I only want the registration of the post-type... Then you can add the `--raw` flag: -```bash +~~~bash wp scaffold post-type zombie --raw -``` +~~~ This will only output the code that will `register_post_type()` without the `init` action and the update messages. @@ -37,31 +37,31 @@ This will only output the code that will `register_post_type()` without the `ini This is a personal preference. Some ship it within a theme, while others will save it within a plugin. That's why we have these two flags: -```bash +~~~bash wp scaffold post-type zombie --theme -``` +~~~ `--theme` stores the generated code within your current active theme under a `/post-types` directory and names a file name `zombie.php` -```bash +~~~bash wp scaffold post-type zombie --plugin=pluginname -``` +~~~ `--plugin=plugin-dir-name` stores the generated code within the given plugin name. By default, the code will be output to your terminal (STDOUT) so you could write it to your file of choice: -```bash +~~~bash wp scaffold post-type zombie > ~/project/foo/bar.php -``` +~~~ ### And what about I18n? Internationalization by gettext can be achieved through the `--textdomain` parameter: -```bash +~~~bash wp scaffold post-type zombie --textdomain=my-textdomain -``` +~~~ By default when using the `--theme`, the textdomain will be that of your active theme, and if using the `--plugin` flag, the textdomain will be your plugin name. diff --git a/index.md b/index.md index f767cb63..623422bb 100644 --- a/index.md +++ b/index.md @@ -14,9 +14,9 @@ title: Command line interface for WordPress Just execute the following command in your terminal: -``` +~~~ curl http://wp-cli.org/installer.sh | bash -``` +~~~ Make sure to read the instructions. @@ -27,40 +27,40 @@ WP-CLI comes with a tab completion script for command, subcommand and flag names If you're using **Bash**, add the following lines to `~/.bash_profile`: -``` +~~~ # WP-CLI Bash completions source $HOME/.wp-cli/vendor/wp-cli/wp-cli/utils/wp-completion.bash -``` +~~~ And re-load the file: -``` +~~~ source ~/.bash_profile -``` +~~~ If you're using **Zsh**, add the following lines to `~/.zprofile`: -``` +~~~ # WP-CLI Bash completions autoload bashcompinit bashcompinit source $HOME/.wp-cli/vendor/wp-cli/wp-cli/utils/wp-completion.bash -``` +~~~ And re-load the file: -``` +~~~ source ~/.zprofile -``` +~~~ <h3 id="update">Updating</h3> If you installed WP-CLI using the method above, you can also easily update it: -``` +~~~ cd ~/.wp-cli php composer.phar update -``` +~~~ Also see [Alternative Install Methods](https://github.com/wp-cli/wp-cli/wiki/Alternative-Install-Methods). @@ -68,13 +68,13 @@ Also see [Alternative Install Methods](https://github.com/wp-cli/wp-cli/wiki/Alt Go into a WordPress root folder: -``` +~~~ cd /var/www/wp/ -``` +~~~ Typing `wp` should show you output similar to this: -``` +~~~ Available commands: wp blog create|delete wp cache add|decr|delete|flush|get|incr|replace|set|type @@ -85,50 +85,50 @@ Available commands: ... See 'wp help <command>' for more information on a specific command. -``` +~~~ Let's try to install the Hello Dolly plugin from wordpress.org: -``` +~~~ wp plugin install hello-dolly -``` +~~~ Output: -``` +~~~ Installing Hello Dolly (1.5) Downloading install package from http://downloads.WordPress.org/plugin/hello-dolly.1.5.zip ... Unpacking the package ... Installing the plugin ... Plugin installed successfully. -``` +~~~ <h3 id="multisite">Multisite</h3> On a multisite installation, you need to pass a `--url` parameter, so that WP-CLI knows which site it's supposed to be operating on: -``` +~~~ wp theme status --url=localhost/wp/test -``` +~~~ If you have a subdomain installation, it would look like this: -``` +~~~ wp theme status --url=test.example.com -``` +~~~ If you're usually working on the same site most of the time, you can create a `wp-cli.yml` file in the root directory: -``` +~~~ url: test.example.com -``` +~~~ Then, you can call `wp` without the `--url` parameter again: -``` +~~~ wp theme status -``` +~~~ <h2>Adding commands</h2> From 6b6dc0ebc09b0ec604553d74af33d75490cfc795 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Mon, 5 Aug 2013 03:04:35 +0300 Subject: [PATCH 186/839] add release post for 0.11 --- _posts/2013-08-05-version-0.11.md | 56 +++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 _posts/2013-08-05-version-0.11.md diff --git a/_posts/2013-08-05-version-0.11.md b/_posts/2013-08-05-version-0.11.md new file mode 100644 index 00000000..3499643a --- /dev/null +++ b/_posts/2013-08-05-version-0.11.md @@ -0,0 +1,56 @@ +--- +layout: post +author: scribu +title: Version 0.11 has arrived. +--- +It's been two months since the [last major release](/blog/version-0.10.html). We didn't want to wait any longer to show you all the goodies that we packed into this version. + +### Import content from WXR files + +A significant addition in this release is the [wp import](/commands/import/) command, which is the yin to [wp export](/commands/export/)'s yang. + +It's an iteration on Automattic's [WordPress-CLI-Importer](https://github.com/Automattic/WordPress-CLI-Importer). + +### Install multisite from scratch + +Here's a little puzzle: How do you spin up a multisite install, when you already have a `wp-config.php` file with all the settings? + +Run `wp core install` and then `wp core install-network`? No. Use a dummy `wp-config.php` file and then swap in the real one? Probably not. Learn to play jazz, impress Matt and then ask him to fix the multisite install process? Maybe later. + +To trick WordPress into submission, you have to do a zillion little hacks, strewn throughout the loading process. We took care of this dirty work for you. Just run `wp core multisite-install`. + +### Inline help + +In previous versions, `wp help` called `man` internally. Besides not working on Windows, it also had the significant drawback that you had to use a separate tool to compile man pages. + +In WP-CLI 0.11, we generate the docs on the fly, using the information from the [command PHPDoc](https://github.com/wp-cli/wp-cli/wiki/Commands-Cookbook#longdesc). + +### Support for community packages + +Remember how in the previous release we suggested using [the installer](/#install)? If you followed that recommendation, it should be very easy to install [community packages](https://github.com/wp-cli/wp-cli/wiki/Community-Packages) now. + +### Changelog + +Commands: + +* added [wp import](/commands/import/) command +* added [wp core multisite-install](/commands/core/multisite-install/) command +* renamed `wp core install-network` to `wp core multisite-convert` +* added [wp network-meta](/commands/network-meta/) command +* renamed `wp blog` to `wp site` +* added `--force` flag to `wp plugin install` and `wp theme install` +* added `wp user get` subcommand +* added `--format=count` to `list` subcommands +* made `wp user` commands accept both user logins or user IDs. + +Internals: + +* added support for `@when before_wp_load` annotation +* added support for `apache_modules` config key +* show warning if WordPress version is too old +* support passing `--require=` multiple times +* deprecated `WP_CLI::add_man_dir()` + +You can also browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?milestone=10&state=closed) on Github. + +Contributors to this release: [dangardner](https://github.com/dangardner), [danielbachhuber](https://github.com/danielbachhuber), [eugeneware](https://github.com/eugeneware), [jmslbam](https://github.com/jmslbam), [johnbillion](https://github.com/johnbillion), [MiteshShah](https://github.com/MiteshShah), [om4james](https://github.com/om4james), [scribu](https://github.com/scribu), [twratajczak](https://github.com/twratajczak), [Veered](https://github.com/Veered). From 03cf529934c4fdea1a5f46bb2e29c674a20f33fc Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Mon, 5 Aug 2013 21:09:26 +0300 Subject: [PATCH 187/839] add --no-dev flag to 'composer update' command --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index 1fd18a39..077b032d 100644 --- a/index.md +++ b/index.md @@ -59,7 +59,7 @@ If you installed WP-CLI using the method above, you can also easily update it: ~~~ cd ~/.wp-cli -php composer.phar update +php composer.phar update --no-dev ~~~ Also see [Alternative Install Methods](https://github.com/wp-cli/wp-cli/wiki/Alternative-Install-Methods). From 34ce5ad8537bbe9cd2b7b4ea968be3b7b11a5ca6 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Mon, 5 Aug 2013 21:33:51 +0300 Subject: [PATCH 188/839] add 'composer self-update' step ... in case the user has a very old version without a --no-dev flag. (see parent commit) --- index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/index.md b/index.md index 077b032d..a3bce3dc 100644 --- a/index.md +++ b/index.md @@ -59,6 +59,7 @@ If you installed WP-CLI using the method above, you can also easily update it: ~~~ cd ~/.wp-cli +php composer.phar self-update php composer.phar update --no-dev ~~~ From a28aa906781dde5d9a423e07babe1713d5bed206 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Tue, 6 Aug 2013 21:53:36 +0300 Subject: [PATCH 189/839] remove old 'autocomplete' anchor; messes with Kramdown fixes wp-cli/wp-cli#644 --- index.md | 1 - 1 file changed, 1 deletion(-) diff --git a/index.md b/index.md index a3bce3dc..01431e5a 100644 --- a/index.md +++ b/index.md @@ -20,7 +20,6 @@ curl https://raw.github.com/wp-cli/wp-cli.github.com/master/installer.sh | bash Make sure to read the instructions. -<a name="autocomplete"></a> <h3 id="complete">Tab completions</h3> WP-CLI comes with a tab completion script for command, subcommand and flag names. From 5c19660167157841b2b52941d426122a0f1f8ffe Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Wed, 7 Aug 2013 23:47:50 +0300 Subject: [PATCH 190/839] add missing trailing slashes --- commands/cli/index.md | 10 +++++----- commands/core/index.md | 20 ++++++++++---------- commands/network-meta/index.md | 8 ++++---- commands/site/index.md | 6 +++--- commands/user/index.md | 20 ++++++++++---------- 5 files changed, 32 insertions(+), 32 deletions(-) diff --git a/commands/cli/index.md b/commands/cli/index.md index 9d116d02..7d3d43f5 100644 --- a/commands/cli/index.md +++ b/commands/cli/index.md @@ -18,23 +18,23 @@ title: 'wp cli' </thead> <tbody> <tr> - <td><a href="/commands/cli/cmd-dump">cmd-dump</a></td> + <td><a href="/commands/cli/cmd-dump/">cmd-dump</a></td> <td>Dump the list of installed commands, as JSON.</td> </tr> <tr> - <td><a href="/commands/cli/completions">completions</a></td> + <td><a href="/commands/cli/completions/">completions</a></td> <td>Generate tab completion strings.</td> </tr> <tr> - <td><a href="/commands/cli/info">info</a></td> + <td><a href="/commands/cli/info/">info</a></td> <td>Print various data about the CLI environment.</td> </tr> <tr> - <td><a href="/commands/cli/param-dump">param-dump</a></td> + <td><a href="/commands/cli/param-dump/">param-dump</a></td> <td>Dump the list of global parameters, as JSON.</td> </tr> <tr> - <td><a href="/commands/cli/version">version</a></td> + <td><a href="/commands/cli/version/">version</a></td> <td>Print WP-CLI version.</td> </tr> </tbody> diff --git a/commands/core/index.md b/commands/core/index.md index 5274c586..9a9b6e64 100644 --- a/commands/core/index.md +++ b/commands/core/index.md @@ -18,43 +18,43 @@ title: 'wp core' </thead> <tbody> <tr> - <td><a href="/commands/core/config">config</a></td> + <td><a href="/commands/core/config/">config</a></td> <td>Set up a wp-config.php file.</td> </tr> <tr> - <td><a href="/commands/core/download">download</a></td> + <td><a href="/commands/core/download/">download</a></td> <td>Download core WordPress files.</td> </tr> <tr> - <td><a href="/commands/core/init-tests">init-tests</a></td> + <td><a href="/commands/core/init-tests/">init-tests</a></td> <td>Set up the official test suite using the current WordPress instance.</td> </tr> <tr> - <td><a href="/commands/core/install">install</a></td> + <td><a href="/commands/core/install/">install</a></td> <td>Create the WordPress tables in the database.</td> </tr> <tr> - <td><a href="/commands/core/is-installed">is-installed</a></td> + <td><a href="/commands/core/is-installed/">is-installed</a></td> <td>Determine if the WordPress tables are installed.</td> </tr> <tr> - <td><a href="/commands/core/multisite-convert">multisite-convert</a></td> + <td><a href="/commands/core/multisite-convert/">multisite-convert</a></td> <td>Transform a single-site install into a multi-site install.</td> </tr> <tr> - <td><a href="/commands/core/multisite-install">multisite-install</a></td> + <td><a href="/commands/core/multisite-install/">multisite-install</a></td> <td>Install multisite from scratch.</td> </tr> <tr> - <td><a href="/commands/core/update">update</a></td> + <td><a href="/commands/core/update/">update</a></td> <td>Update WordPress.</td> </tr> <tr> - <td><a href="/commands/core/update-db">update-db</a></td> + <td><a href="/commands/core/update-db/">update-db</a></td> <td>Update the WordPress database.</td> </tr> <tr> - <td><a href="/commands/core/version">version</a></td> + <td><a href="/commands/core/version/">version</a></td> <td>Display the WordPress version.</td> </tr> </tbody> diff --git a/commands/network-meta/index.md b/commands/network-meta/index.md index 5de73714..780c5e96 100644 --- a/commands/network-meta/index.md +++ b/commands/network-meta/index.md @@ -29,19 +29,19 @@ title: 'wp network-meta' </thead> <tbody> <tr> - <td><a href="/commands/network-meta/add">add</a></td> + <td><a href="/commands/network-meta/add/">add</a></td> <td>Add a meta field.</td> </tr> <tr> - <td><a href="/commands/network-meta/delete">delete</a></td> + <td><a href="/commands/network-meta/delete/">delete</a></td> <td>Delete a meta field.</td> </tr> <tr> - <td><a href="/commands/network-meta/get">get</a></td> + <td><a href="/commands/network-meta/get/">get</a></td> <td>Get meta field value.</td> </tr> <tr> - <td><a href="/commands/network-meta/update">update</a></td> + <td><a href="/commands/network-meta/update/">update</a></td> <td>Update a meta field.</td> </tr> </tbody> diff --git a/commands/site/index.md b/commands/site/index.md index a4de79b0..62eb7460 100644 --- a/commands/site/index.md +++ b/commands/site/index.md @@ -18,15 +18,15 @@ title: 'wp site' </thead> <tbody> <tr> - <td><a href="/commands/site/create">create</a></td> + <td><a href="/commands/site/create/">create</a></td> <td>Create a site in a multisite install.</td> </tr> <tr> - <td><a href="/commands/site/delete">delete</a></td> + <td><a href="/commands/site/delete/">delete</a></td> <td>Delete a site in a multisite install.</td> </tr> <tr> - <td><a href="/commands/site/empty">empty</a></td> + <td><a href="/commands/site/empty/">empty</a></td> <td>Empty a site of its content (posts, comments, and terms).</td> </tr> </tbody> diff --git a/commands/user/index.md b/commands/user/index.md index bf27b68b..c684b6e3 100644 --- a/commands/user/index.md +++ b/commands/user/index.md @@ -18,43 +18,43 @@ title: 'wp user' </thead> <tbody> <tr> - <td><a href="/commands/user/add-role">add-role</a></td> + <td><a href="/commands/user/add-role/">add-role</a></td> <td>Add a role for a user.</td> </tr> <tr> - <td><a href="/commands/user/create">create</a></td> + <td><a href="/commands/user/create/">create</a></td> <td>Create a user.</td> </tr> <tr> - <td><a href="/commands/user/delete">delete</a></td> + <td><a href="/commands/user/delete/">delete</a></td> <td>Delete one or more users.</td> </tr> <tr> - <td><a href="/commands/user/generate">generate</a></td> + <td><a href="/commands/user/generate/">generate</a></td> <td>Generate users.</td> </tr> <tr> - <td><a href="/commands/user/get">get</a></td> + <td><a href="/commands/user/get/">get</a></td> <td>Get a single user.</td> </tr> <tr> - <td><a href="/commands/user/import-csv">import-csv</a></td> + <td><a href="/commands/user/import-csv/">import-csv</a></td> <td>Import users from a CSV file.</td> </tr> <tr> - <td><a href="/commands/user/list">list</a></td> + <td><a href="/commands/user/list/">list</a></td> <td>List users.</td> </tr> <tr> - <td><a href="/commands/user/remove-role">remove-role</a></td> + <td><a href="/commands/user/remove-role/">remove-role</a></td> <td>Remove a user's role.</td> </tr> <tr> - <td><a href="/commands/user/set-role">set-role</a></td> + <td><a href="/commands/user/set-role/">set-role</a></td> <td>Set the user role (for a particular blog).</td> </tr> <tr> - <td><a href="/commands/user/update">update</a></td> + <td><a href="/commands/user/update/">update</a></td> <td>Update a user.</td> </tr> </tbody> From 10153b7acd44392cd09164cd9d840dc68c4853b2 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Thu, 8 Aug 2013 16:18:53 +0300 Subject: [PATCH 191/839] add release post for 0.11.1 --- _posts/2013-08-08-version-0.11.1.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 _posts/2013-08-08-version-0.11.1.md diff --git a/_posts/2013-08-08-version-0.11.1.md b/_posts/2013-08-08-version-0.11.1.md new file mode 100644 index 00000000..31bbd994 --- /dev/null +++ b/_posts/2013-08-08-version-0.11.1.md @@ -0,0 +1,25 @@ +--- +layout: post +author: scribu +title: Version 0.11.1 released +--- +This is a minor release, which fixes a few regressions. + +### Changelog + +Commands: + +* made `search-replace` work with tables that have reserved column names, such as 'default' +* made `option update` work correctly for `blog_public` +* fixed notice in `scaffold post-type` +* fixed colorization on `wp plugin update-all --dry-run` + +Internals: + +* fixed bug where `wp help` would not display commands defined in plugins +* fixed synopsis parser bug where arguments with vertical bars would be ignored +* added support for `WP_CLI_PHP_INI` environment variable + +You can also browse the list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?milestone=15&state=closed) on Github. + +Contributors to this release: [c10b10](https://github.com/c10b10), [jmslbam](https://github.com/jmslbam), [scribu](https://github.com/scribu). From 3c49e989243323c15d7b21fff8f0bd6f818204a9 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Thu, 8 Aug 2013 17:57:55 +0300 Subject: [PATCH 192/839] WP_CLI_PHP_ARGS not WP_CLI_PHP_INI fixes wp-cli/wp-cli#651 --- _posts/2013-08-08-version-0.11.1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2013-08-08-version-0.11.1.md b/_posts/2013-08-08-version-0.11.1.md index 31bbd994..a85f8253 100644 --- a/_posts/2013-08-08-version-0.11.1.md +++ b/_posts/2013-08-08-version-0.11.1.md @@ -18,7 +18,7 @@ Internals: * fixed bug where `wp help` would not display commands defined in plugins * fixed synopsis parser bug where arguments with vertical bars would be ignored -* added support for `WP_CLI_PHP_INI` environment variable +* added support for `WP_CLI_PHP_ARGS` environment variable You can also browse the list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?milestone=15&state=closed) on Github. From bdc1c80a706eb6d161374db2ff9adc23601390cc Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Fri, 9 Aug 2013 15:23:43 +0300 Subject: [PATCH 193/839] stop trying to install Boris automatically It frequently fails because it depends on several PHP extensions, scaring off new users. Related: wp-cli/wp-cli#640 --- installer.sh | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/installer.sh b/installer.sh index 7c8772eb..09f0254f 100755 --- a/installer.sh +++ b/installer.sh @@ -75,17 +75,6 @@ command -v bin/wp > /dev/null || { echo "WP-CLI files have been succesfully installed." } -command -v bin/boris > /dev/null || { - echo - printf "Trying to install the optional Boris package... " - $COMPOSER --quiet require --prefer-source 'd11wtq/boris=@stable' - if [ $? -gt 0 ]; then - echo "failed." - else - echo "done." - fi -} - cat <<EOB To test WP-CLI, run: From 0be9501d5c2c1e1140d09437bd88d355ed6ee51b Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Mon, 12 Aug 2013 17:50:26 +0300 Subject: [PATCH 194/839] installer: export PATH --- installer.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installer.sh b/installer.sh index 09f0254f..30d45cfb 100755 --- a/installer.sh +++ b/installer.sh @@ -84,7 +84,7 @@ To test WP-CLI, run: Make sure you have the following line in your .bashrc file: # WP-CLI directory - PATH=$INSTALL_DIR/bin:\$PATH + export PATH=$INSTALL_DIR/bin:\$PATH EOB if [ "$WP_CLI_PHP" != "$(which php)" ]; then From f1b2646298e036a697aec70c7fb0bb858e4a21db Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Wed, 14 Aug 2013 15:59:13 +0300 Subject: [PATCH 195/839] installer: s/.bashrc/.bash_profile/ to match the home page instructions see wp-cli/wp-cli#676 --- installer.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installer.sh b/installer.sh index 30d45cfb..5ac8bc07 100755 --- a/installer.sh +++ b/installer.sh @@ -81,7 +81,7 @@ To test WP-CLI, run: $INSTALL_DIR/bin/wp --info -Make sure you have the following line in your .bashrc file: +Make sure you have the following line in your .bash_profile file: # WP-CLI directory export PATH=$INSTALL_DIR/bin:\$PATH From e3943c2523d3310b3517184031a91598b16baf96 Mon Sep 17 00:00:00 2001 From: 8ig8 <brian@lowfatdesigns.com> Date: Sat, 17 Aug 2013 17:40:42 -0400 Subject: [PATCH 196/839] Corrects minor misspelling on install message. --- installer.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installer.sh b/installer.sh index 5ac8bc07..5528f2e6 100755 --- a/installer.sh +++ b/installer.sh @@ -72,7 +72,7 @@ command -v bin/wp > /dev/null || { echo "-----------------" $COMPOSER require --prefer-source wp-cli/wp-cli="$VERSION" echo - echo "WP-CLI files have been succesfully installed." + echo "WP-CLI files have been successfully installed." } cat <<EOB From 3df27f55cc0ef2b40e8081145af3475126c8af73 Mon Sep 17 00:00:00 2001 From: Jake Spurlock <whyisjake@gmail.com> Date: Wed, 21 Aug 2013 14:45:32 -0700 Subject: [PATCH 197/839] Adding alternate location based on older versions of MAMP General installer always failed for me. Working now. --- installer.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/installer.sh b/installer.sh index 5528f2e6..4e135699 100755 --- a/installer.sh +++ b/installer.sh @@ -2,6 +2,7 @@ find_php() { read -r -d '' AMP_PATHS <<EOB +/Applications/MAMP/bin/php5.3/bin/php /Applications/MAMP/bin/php/*/bin/php /Applications/xampp/xamppfiles/bin/php /opt/lampp/bin/php From 311c9ec83858d42fb3006a3be9112221bfcd7b94 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Thu, 22 Aug 2013 13:44:49 +0300 Subject: [PATCH 198/839] add 0.11.2 release post --- _posts/2013-08-22-version-0.11.2.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 _posts/2013-08-22-version-0.11.2.md diff --git a/_posts/2013-08-22-version-0.11.2.md b/_posts/2013-08-22-version-0.11.2.md new file mode 100644 index 00000000..02c30233 --- /dev/null +++ b/_posts/2013-08-22-version-0.11.2.md @@ -0,0 +1,14 @@ +--- +layout: post +author: scribu +title: Version 0.11.2 is out +--- +This is a minor release, which contains a single change that fixes [many issues][1]. + +### Changelog + +Internals: + +* don't set `WP_ADMIN` to true and don't fire the `'admin_init'` hook. + +[1]: https://github.com/wp-cli/wp-cli/issues?milestone=16&state=closed From a3247e6086f4721d969c75893bb1ea85930477bf Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Sun, 25 Aug 2013 18:14:18 +0300 Subject: [PATCH 199/839] explicitly include the '_s' folder. fixes wp-cli/wp-cli#610 --- _config.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_config.yml b/_config.yml index 678a7fba..3c083aa9 100644 --- a/_config.yml +++ b/_config.yml @@ -6,6 +6,8 @@ url: http://wp-cli.org permalink: /blog/:title.html paginate: 10 paginate_path: /blog/page:num +include: + - _s exclude: - Phakefile.php - README.md From 2f134e06c76f923c8ae7544de0924a405686cb85 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Sat, 31 Aug 2013 12:56:51 +0300 Subject: [PATCH 200/839] explicitly update to the stable version --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index 01431e5a..59cdcff3 100644 --- a/index.md +++ b/index.md @@ -59,7 +59,7 @@ If you installed WP-CLI using the method above, you can also easily update it: ~~~ cd ~/.wp-cli php composer.phar self-update -php composer.phar update --no-dev +php composer.phar require 'wp-cli/wp-cli=@stable' --no-dev ~~~ Also see [Alternative Install Methods](https://github.com/wp-cli/wp-cli/wiki/Alternative-Install-Methods). From c1b45336565cf4df7c3fd3e72a790fb6c9fbf00b Mon Sep 17 00:00:00 2001 From: smhmic <smhmic@gmail.com> Date: Sat, 7 Sep 2013 20:48:07 -0400 Subject: [PATCH 201/839] detect if Composer failed to include any required packages This script displayed success message, even if Composer comand failed (e.g. "Installation failed, reverting ./composer.json to its original content. PFXPHP-CLI files have been successfully installed. To test PFXPHP-CLI ...") This update prints success/failure message depending on Composer output. --- installer.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/installer.sh b/installer.sh index 4e135699..76882b3c 100755 --- a/installer.sh +++ b/installer.sh @@ -71,9 +71,15 @@ command -v bin/wp > /dev/null || { echo echo "Installing WP-CLI in $INSTALL_DIR" echo "-----------------" - $COMPOSER require --prefer-source wp-cli/wp-cli="$VERSION" + OUTPUT=$($COMPOSER require --prefer-source wp-cli/wp-cli="$VERSION") + echo "$OUTPUT" echo - echo "WP-CLI files have been successfully installed." + if [[ $OUTPUT = *failed* ]]; then + echo "WP-CLI encountered an error during installation." + exit 1 + else + echo "WP-CLI files have been successfully installed." + fi } cat <<EOB From 3e8be14958f95d156cd69b1ac349c5d066c9159d Mon Sep 17 00:00:00 2001 From: smhmic <smhmic@gmail.com> Date: Mon, 9 Sep 2013 02:07:19 -0400 Subject: [PATCH 202/839] detect if Composer returned unsuccessful exit code update according to [scribu's suggestion](https://github.com/wp-cli/wp-cli.github.com/pull/23#issuecomment-24018000) --- installer.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/installer.sh b/installer.sh index 76882b3c..1f706dab 100755 --- a/installer.sh +++ b/installer.sh @@ -71,14 +71,15 @@ command -v bin/wp > /dev/null || { echo echo "Installing WP-CLI in $INSTALL_DIR" echo "-----------------" - OUTPUT=$($COMPOSER require --prefer-source wp-cli/wp-cli="$VERSION") + $COMPOSER require --prefer-source wp-cli/wp-cli="$VERSION" echo "$OUTPUT" echo - if [[ $OUTPUT = *failed* ]]; then - echo "WP-CLI encountered an error during installation." + if [ $? -ne 0 ]; then + echo "WP-CLI was not successfully installed." exit 1 else echo "WP-CLI files have been successfully installed." + fi fi } From 4993e44a62f1ff7a2b2626b1e4a880657f862b6e Mon Sep 17 00:00:00 2001 From: smhmic <smhmic@gmail.com> Date: Mon, 9 Sep 2013 02:12:45 -0400 Subject: [PATCH 203/839] detect if Composer returned unsuccessful exit code missed removing extra echo in last commit --- installer.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/installer.sh b/installer.sh index 1f706dab..6cf53459 100755 --- a/installer.sh +++ b/installer.sh @@ -72,12 +72,11 @@ command -v bin/wp > /dev/null || { echo "Installing WP-CLI in $INSTALL_DIR" echo "-----------------" $COMPOSER require --prefer-source wp-cli/wp-cli="$VERSION" - echo "$OUTPUT" - echo if [ $? -ne 0 ]; then echo "WP-CLI was not successfully installed." exit 1 else + echo echo "WP-CLI files have been successfully installed." fi fi From 37e392b2f92d66d22f9175e3bdb776272873ad79 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Mon, 9 Sep 2013 22:28:30 +0300 Subject: [PATCH 204/839] fix indentation; remove hocum 'fi' see #23 --- installer.sh | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/installer.sh b/installer.sh index 6cf53459..79ce10c2 100755 --- a/installer.sh +++ b/installer.sh @@ -72,14 +72,13 @@ command -v bin/wp > /dev/null || { echo "Installing WP-CLI in $INSTALL_DIR" echo "-----------------" $COMPOSER require --prefer-source wp-cli/wp-cli="$VERSION" - if [ $? -ne 0 ]; then - echo "WP-CLI was not successfully installed." - exit 1 + if [ $? -gt 0 ]; then + echo "WP-CLI was not successfully installed." + exit 1 else - echo - echo "WP-CLI files have been successfully installed." - fi - fi + echo + echo "WP-CLI files have been successfully installed." + fi } cat <<EOB From 5d1a0ae0ce9d3ff60e0495d3be95b8d229f86442 Mon Sep 17 00:00:00 2001 From: jmslbam <jmslbam@gmail.com> Date: Fri, 4 Oct 2013 10:18:14 +0200 Subject: [PATCH 205/839] Update Jekyll links and dependecies --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 54415ab1..55b3713b 100644 --- a/README.md +++ b/README.md @@ -12,5 +12,6 @@ vendor/bin/phake ### Preview locally -1. [Install Jekyll](https://github.com/mojombo/jekyll/wiki/install). +1. [Install Jekyll](http://jekyllrb.com/docs/installation/). +2. [Install Kramdown](http://jekyllrb.com/docs/extras/#kramdown). 2. Run `jekyll serve --watch` From f97076239bda8dc4e646d4c5ef0551f1a1838293 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Fri, 4 Oct 2013 11:48:32 +0200 Subject: [PATCH 206/839] set Phake to version 0.5.1 --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 831c5ce8..1fd2cd34 100644 --- a/composer.json +++ b/composer.json @@ -1,6 +1,6 @@ { "require-dev": { - "jaz303/phake": "dev-master", + "jaz303/phake": "0.5.1", "mustache/mustache": "~2.4" } } From 63dbb2515e6a265b516f5cd0de7212f541696296 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Fri, 4 Oct 2013 13:12:59 +0200 Subject: [PATCH 207/839] update command pages using wp-cli/wp-cli@7cea2ca5e0b8a79ebcc70d476c2ab5da310f2433 --- _includes/param-list.html | 6 ++++ commands/comment/approve/index.md | 2 +- commands/comment/count/index.md | 4 +-- commands/comment/create/index.md | 4 +-- commands/comment/delete/index.md | 4 +-- commands/comment/exists/index.md | 16 +++++++++ commands/comment/get/index.md | 25 ++++++++++++++ commands/comment/index.md | 16 +++++++-- commands/comment/list/index.md | 29 ++++++++++++++++ commands/comment/spam/index.md | 2 +- commands/comment/status/index.md | 4 +-- commands/comment/trash/index.md | 2 +- commands/comment/unapprove/index.md | 2 +- commands/comment/unspam/index.md | 2 +- commands/comment/untrash/index.md | 2 +- commands/comment/update/index.md | 19 +++++++++++ commands/core/config/index.md | 19 ++++++++--- commands/core/download/index.md | 9 +++-- commands/core/install/index.md | 4 +-- commands/core/multisite-convert/index.md | 6 ++-- commands/core/multisite-install/index.md | 8 ++--- commands/core/update/index.md | 10 +++--- commands/core/version/index.md | 2 +- commands/export/index.md | 22 ++++++------- commands/import/index.md | 2 +- commands/media/regenerate/index.md | 8 ++--- commands/option/index.md | 2 +- commands/plugin/activate/index.md | 6 ++-- commands/plugin/deactivate/index.md | 6 ++-- commands/plugin/delete/index.md | 4 +-- commands/plugin/get/index.md | 22 +++++++++++++ commands/plugin/index.md | 18 +++++++--- commands/plugin/install/index.md | 8 ++--- commands/plugin/is-installed/index.md | 16 +++++++++ commands/plugin/list/index.md | 9 +++-- commands/plugin/path/index.md | 4 +-- commands/plugin/search/index.md | 42 ++++++++++++++++++++++++ commands/plugin/status/index.md | 2 +- commands/plugin/toggle/index.md | 6 ++-- commands/plugin/uninstall/index.md | 6 ++-- commands/plugin/update/index.md | 16 ++++++--- commands/post-meta/index.md | 2 +- commands/post/create/index.md | 10 +++--- commands/post/delete/index.md | 6 ++-- commands/post/generate/index.md | 12 +++---- commands/post/get/index.md | 14 ++++---- commands/post/list/index.md | 11 ++++--- commands/post/update/index.md | 4 +-- commands/rewrite/flush/index.md | 4 +-- commands/rewrite/index.md | 8 ++--- commands/rewrite/list/index.md | 16 +++++++++ commands/rewrite/structure/index.md | 7 ++-- commands/role/create/index.md | 10 +++--- commands/role/delete/index.md | 5 ++- commands/role/exists/index.md | 5 ++- commands/role/list/index.md | 4 +-- commands/scaffold/_s/index.md | 8 ++--- commands/scaffold/child-theme/index.md | 10 +++--- commands/scaffold/plugin-tests/index.md | 5 +++ commands/scaffold/plugin/index.md | 7 ++-- commands/scaffold/post-type/index.md | 16 +++++---- commands/scaffold/taxonomy/index.md | 20 ++++++----- commands/search-replace/index.md | 15 +++++++-- commands/shell/index.md | 2 +- commands/site/delete/index.md | 10 +++--- commands/site/empty/index.md | 2 +- commands/site/index.md | 4 +++ commands/site/list/index.md | 26 +++++++++++++++ commands/term/create/index.md | 8 ++--- commands/term/get/index.md | 28 ++++++++++++++++ commands/term/index.md | 4 +++ commands/term/list/index.md | 10 ++++-- commands/term/update/index.md | 8 ++--- commands/theme/delete/index.md | 4 +-- commands/theme/get/index.md | 22 +++++++++++++ commands/theme/index.md | 14 +++++--- commands/theme/install/index.md | 10 ++++-- commands/theme/list/index.md | 9 +++-- commands/theme/path/index.md | 10 +++--- commands/theme/search/index.md | 35 ++++++++++++++++++++ commands/theme/status/index.md | 2 +- commands/theme/update/index.md | 18 +++++++--- commands/user/add-cap/index.md | 20 +++++++++++ commands/user/add-role/index.md | 4 +-- commands/user/create/index.md | 10 +++--- commands/user/delete/index.md | 8 ++--- commands/user/generate/index.md | 4 +-- commands/user/get/index.md | 7 ++-- commands/user/index.md | 12 +++++++ commands/user/list-caps/index.md | 17 ++++++++++ commands/user/list/index.md | 16 ++++++--- commands/user/remove-cap/index.md | 20 +++++++++++ commands/user/remove-role/index.md | 5 ++- commands/user/update/index.md | 4 +-- 94 files changed, 716 insertions(+), 232 deletions(-) create mode 100644 commands/comment/exists/index.md create mode 100644 commands/comment/get/index.md create mode 100644 commands/comment/list/index.md create mode 100644 commands/comment/update/index.md create mode 100644 commands/plugin/get/index.md create mode 100644 commands/plugin/is-installed/index.md create mode 100644 commands/plugin/search/index.md create mode 100644 commands/rewrite/list/index.md create mode 100644 commands/site/list/index.md create mode 100644 commands/term/get/index.md create mode 100644 commands/theme/get/index.md create mode 100644 commands/theme/search/index.md create mode 100644 commands/user/add-cap/index.md create mode 100644 commands/user/list-caps/index.md create mode 100644 commands/user/remove-cap/index.md diff --git a/_includes/param-list.html b/_includes/param-list.html index 7df74212..93842bc0 100644 --- a/_includes/param-list.html +++ b/_includes/param-list.html @@ -46,6 +46,12 @@ <td><code>false</code></td> <td>Show all PHP errors</td> </tr> + <tr> + <td><code></code></td> + <td><code>--prompt</code></td> + <td><code>false</code></td> + <td>Prompt the user to enter values for all command arguments</td> + </tr> <tr> <td><code>quiet: <bool></code></td> <td><code>--quiet</code></td> diff --git a/commands/comment/approve/index.md b/commands/comment/approve/index.md index 0394e920..35aa81a8 100644 --- a/commands/comment/approve/index.md +++ b/commands/comment/approve/index.md @@ -7,7 +7,7 @@ title: 'wp comment approve' ### OPTIONS -<ID> +<id> : The ID of the comment to approve. ### EXAMPLES diff --git a/commands/comment/count/index.md b/commands/comment/count/index.md index 0d9bed06..fc858d38 100644 --- a/commands/comment/count/index.md +++ b/commands/comment/count/index.md @@ -7,8 +7,8 @@ title: 'wp comment count' ### OPTIONS -<ID> -: The ID of the post to count comments in +<post-id> +: The ID of the post to count comments in. ### EXAMPLES diff --git a/commands/comment/create/index.md b/commands/comment/create/index.md index 73f2b4ff..76ec2e60 100644 --- a/commands/comment/create/index.md +++ b/commands/comment/create/index.md @@ -8,9 +8,9 @@ title: 'wp comment create' ### OPTIONS --<field>=<value> -: Field values for the new comment. See wp_insert_comment(). +: Associative args for the new comment. See wp_insert_comment(). ---porcelain +[--porcelain] : Output just the new comment id. ### EXAMPLES diff --git a/commands/comment/delete/index.md b/commands/comment/delete/index.md index 656b18b1..839640ac 100644 --- a/commands/comment/delete/index.md +++ b/commands/comment/delete/index.md @@ -7,10 +7,10 @@ title: 'wp comment delete' ### OPTIONS -<ID> +<id> : The ID of the comment to delete. ---force +[--force] : Skip the trash bin. ### EXAMPLES diff --git a/commands/comment/exists/index.md b/commands/comment/exists/index.md new file mode 100644 index 00000000..6293f44a --- /dev/null +++ b/commands/comment/exists/index.md @@ -0,0 +1,16 @@ +--- +layout: default +title: 'wp comment exists' +--- + +`wp comment exists` - Verify whether a comment exists. + +### OPTIONS + +<id> +: The ID of the comment to check. + +### EXAMPLES + + wp comment exists 1337 + diff --git a/commands/comment/get/index.md b/commands/comment/get/index.md new file mode 100644 index 00000000..c80734cc --- /dev/null +++ b/commands/comment/get/index.md @@ -0,0 +1,25 @@ +--- +layout: default +title: 'wp comment get' +--- + +`wp comment get` - Get a single comment. + +### OPTIONS + +<id> +: The comment to get. + +[--field=<field>] +: Instead of returning the whole comment, returns the value of a single field. + +[--format=<format>] +: The format to use when printing the comment, acceptable values: + + - **table**: Outputs all fields of the comment as a table. + - **json**: Outputs all fields in JSON format. + +### EXAMPLES + + wp comment get 1 --field=content + diff --git a/commands/comment/index.md b/commands/comment/index.md index 7cd6183c..4875d44e 100644 --- a/commands/comment/index.md +++ b/commands/comment/index.md @@ -34,8 +34,16 @@ title: 'wp comment' <td>Delete a comment.</td> </tr> <tr> - <td><a href="/commands/comment/last/">last</a></td> - <td>Get last approved comment.</td> + <td><a href="/commands/comment/exists/">exists</a></td> + <td>Verify whether a comment exists.</td> + </tr> + <tr> + <td><a href="/commands/comment/get/">get</a></td> + <td>Get a single comment.</td> + </tr> + <tr> + <td><a href="/commands/comment/list/">list</a></td> + <td>Get a list of comments.</td> </tr> <tr> <td><a href="/commands/comment/spam/">spam</a></td> @@ -61,5 +69,9 @@ title: 'wp comment' <td><a href="/commands/comment/untrash/">untrash</a></td> <td>Untrash a comment.</td> </tr> + <tr> + <td><a href="/commands/comment/update/">update</a></td> + <td>Update one or more comments.</td> + </tr> </tbody> </table> diff --git a/commands/comment/list/index.md b/commands/comment/list/index.md new file mode 100644 index 00000000..324e6905 --- /dev/null +++ b/commands/comment/list/index.md @@ -0,0 +1,29 @@ +--- +layout: default +title: 'wp comment list' +--- + +`wp comment list` - Get a list of comments. + +### OPTIONS + +[--<field>=<value>] +: One or more args to pass to WP_Comment_Query. + +[--field=<field>] +: Prints the value of a single field for each comment. + +[--fields=<fields>] +: Limit the output to specific object fields. Defaults to comment_ID,comment_post_ID,comment_date,comment_approved,comment_author,comment_author_email + +[--format=<format>] +: Output list as table, CSV, JSON, or simply IDs. Defaults to table. + +### EXAMPLES + + wp comment list --field=ID + + wp comment list --post_id=2 + + wp comment list --number=20 --comment_approved=1 + diff --git a/commands/comment/spam/index.md b/commands/comment/spam/index.md index c28b1271..9cc406ce 100644 --- a/commands/comment/spam/index.md +++ b/commands/comment/spam/index.md @@ -7,7 +7,7 @@ title: 'wp comment spam' ### OPTIONS -<ID> +<id> : The ID of the comment to mark as spam. ### EXAMPLES diff --git a/commands/comment/status/index.md b/commands/comment/status/index.md index 90343837..c6b1509e 100644 --- a/commands/comment/status/index.md +++ b/commands/comment/status/index.md @@ -7,8 +7,8 @@ title: 'wp comment status' ### OPTIONS -<ID> -: The ID of the comment to check +<id> +: The ID of the comment to check. ### EXAMPLES diff --git a/commands/comment/trash/index.md b/commands/comment/trash/index.md index 58aab614..cddda0e1 100644 --- a/commands/comment/trash/index.md +++ b/commands/comment/trash/index.md @@ -7,7 +7,7 @@ title: 'wp comment trash' ### OPTIONS -<ID> +<id> : The ID of the comment to trash. ### EXAMPLES diff --git a/commands/comment/unapprove/index.md b/commands/comment/unapprove/index.md index 4d4725be..9c245b5d 100644 --- a/commands/comment/unapprove/index.md +++ b/commands/comment/unapprove/index.md @@ -7,7 +7,7 @@ title: 'wp comment unapprove' ### OPTIONS -<ID> +<id> : The ID of the comment to unapprove. ### EXAMPLES diff --git a/commands/comment/unspam/index.md b/commands/comment/unspam/index.md index 583503cb..0c31abc3 100644 --- a/commands/comment/unspam/index.md +++ b/commands/comment/unspam/index.md @@ -7,7 +7,7 @@ title: 'wp comment unspam' ### OPTIONS -<ID> +<id> : The ID of the comment to unmark as spam. ### EXAMPLES diff --git a/commands/comment/untrash/index.md b/commands/comment/untrash/index.md index 448c5c35..885510d1 100644 --- a/commands/comment/untrash/index.md +++ b/commands/comment/untrash/index.md @@ -7,7 +7,7 @@ title: 'wp comment untrash' ### OPTIONS -<ID> +<id> : The ID of the comment to untrash. ### EXAMPLES diff --git a/commands/comment/update/index.md b/commands/comment/update/index.md new file mode 100644 index 00000000..6a18a09d --- /dev/null +++ b/commands/comment/update/index.md @@ -0,0 +1,19 @@ +--- +layout: default +title: 'wp comment update' +--- + +`wp comment update` - Update one or more comments. + +### OPTIONS + +<id>... +: One or more IDs of comments to update. + +--<field>=<value> +: One or more fields to update. See wp_update_comment(). + +### EXAMPLES + + wp comment update 123 --comment_author='That Guy' + diff --git a/commands/core/config/index.md b/commands/core/config/index.md index 39120298..1f79d857 100644 --- a/commands/core/config/index.md +++ b/commands/core/config/index.md @@ -13,21 +13,30 @@ title: 'wp core config' --dbuser=<dbuser> : Set the database user. ---dbpass=<dbpass> +[--dbpass=<dbpass>] : Set the database user password. ---dbhost=<dbhost> +[--dbhost=<dbhost>] : Set the database host. Default: 'localhost' ---dbprefix=<dbprefix> +[--dbprefix=<dbprefix>] : Set the database table prefix. Default: 'wp_' ---locale=<locale> +[--dbcharset=<dbcharset>] +: Set the database charset. Default: 'utf8' + +[--dbcollate=<dbcollate>] +: Set the database collation. Default: '' + +[--locale=<locale>] : Set the WPLANG constant. Defaults to $wp_local_package variable. ---extra-php +[--extra-php] : If set, the command reads additional PHP code from STDIN. +[--skip-salts] +: If set, keys and salts won't be generated, but, instead, should be passed via --extra-php. + ### EXAMPLES # Standard wp-config.php file diff --git a/commands/core/download/index.md b/commands/core/download/index.md index dac4e04f..d8b27489 100644 --- a/commands/core/download/index.md +++ b/commands/core/download/index.md @@ -7,14 +7,13 @@ title: 'wp core download' ### OPTIONS ---locale=<locale> -: Select which language you want to download. The --version parameter is -ignored in this case. +[--locale=<locale>] +: Select which language you want to download. ---version=<version> +[--version=<version>] : Select which version you want to download. ---force +[--force] : Overwrites existing files, if present. ### EXAMPLES diff --git a/commands/core/install/index.md b/commands/core/install/index.md index 7832807f..0ddf235b 100644 --- a/commands/core/install/index.md +++ b/commands/core/install/index.md @@ -13,8 +13,8 @@ title: 'wp core install' --title=<site-title> : The title of the new site. ---admin_name=<username> -: The name of the admin user. Default: 'admin' +--admin_user=<username> +: The name of the admin user. --admin_password=<password> : The password for the admin user. diff --git a/commands/core/multisite-convert/index.md b/commands/core/multisite-convert/index.md index f68c3acd..821d1154 100644 --- a/commands/core/multisite-convert/index.md +++ b/commands/core/multisite-convert/index.md @@ -7,13 +7,13 @@ title: 'wp core multisite-convert' ### OPTIONS ---title=<site-title> +[--title=<network-title>] : The title of the new network. ---base=<url-path> +[--base=<url-path>] : Base path after the domain name that each site url will start with. Default: '/' ---subdomains +[--subdomains] : If passed, the network will use subdomains, instead of subdirectories. diff --git a/commands/core/multisite-install/index.md b/commands/core/multisite-install/index.md index d12bdce8..269797df 100644 --- a/commands/core/multisite-install/index.md +++ b/commands/core/multisite-install/index.md @@ -7,20 +7,20 @@ title: 'wp core multisite-install' ### OPTIONS ---url=<url> +[--url=<url>] : The address of the new site. ---base=<url-path> +[--base=<url-path>] : Base path after the domain name that each site url in the network will start with. Default: '/' ---subdomains +[--subdomains] : If passed, the network will use subdomains, instead of subdirectories. --title=<site-title> : The title of the new site. ---admin_name=<username> +--admin_user=<username> : The name of the admin user. Default: 'admin' --admin_password=<password> diff --git a/commands/core/update/index.md b/commands/core/update/index.md index 496b5de1..edb91398 100644 --- a/commands/core/update/index.md +++ b/commands/core/update/index.md @@ -7,11 +7,13 @@ title: 'wp core update' ### OPTIONS ---version=<new_version> [package/zip] -: When passed, updates to new_version, optionally using package/zip as -input. +[<zip>] +: Path to zip file to use, instead of downloading from wordpress.org. ---force +[--version=<version>] +: Update to this version, instead of to the latest version. + +[--force] : Will update even when current WP version < passed version. Use with caution. diff --git a/commands/core/version/index.md b/commands/core/version/index.md index 5407ef0a..ff4446ce 100644 --- a/commands/core/version/index.md +++ b/commands/core/version/index.md @@ -7,6 +7,6 @@ title: 'wp core version' ### OPTIONS ---extra +[--extra] : Show extended version information. diff --git a/commands/export/index.md b/commands/export/index.md index 750d923d..ea805546 100644 --- a/commands/export/index.md +++ b/commands/export/index.md @@ -7,40 +7,40 @@ title: 'wp export' ### OPTIONS ---dir=<dirname> +[--dir=<dirname>] : Full path to directory where WXR export files should be stored. Defaults to current working directory. ---skip_comments +[--skip_comments] : Don't export comments. ---file_item_count=<count> +[--file_item_count=<count>] : Break export into files with N posts. ---verbose +[--verbose] : Show more information about the process on STDOUT. ### FILTERS ---start_date=<date> +[--start_date=<date>] : Export only posts newer than this date, in format YYYY-MM-DD. ---end_date=<date> +[--end_date=<date>] : Export only posts older than this date, in format YYYY-MM-DD. ---post_type=<post_type> +[--post_type=<post_type>] : Export only posts with this post_type. ---post__in=<pid> +[--post__in=<pid>] : Export all posts specified as a comma-separated list of IDs. ---author=<login/id> +[--author=<login/id>] : Export only posts by this author. ---category=<category-id> +[--category=<category-id>] : Export only posts in this category. ---post_status=<status> +[--post_status=<status>] : Export only posts with this status. ### EXAMPLES diff --git a/commands/import/index.md b/commands/import/index.md index 9d2cbbd3..702a869a 100644 --- a/commands/import/index.md +++ b/commands/import/index.md @@ -13,6 +13,6 @@ title: 'wp import' --authors=<authors> : How the author mapping should be handled. Options are 'create', 'mapping.csv', or 'skip'. The first will create any non-existent users from the WXR file. The second will read author mapping associations from a CSV, or create a CSV for editing if the file path doesn't exist. The last option will skip any author mapping. ---skip=<data-type> +[--skip=<data-type>] : Skip importing specific data. Supported option is 'attachment'. diff --git a/commands/media/regenerate/index.md b/commands/media/regenerate/index.md index 88446540..c3a3b409 100644 --- a/commands/media/regenerate/index.md +++ b/commands/media/regenerate/index.md @@ -7,12 +7,12 @@ title: 'wp media regenerate' ### OPTIONS ---yes -: Answer yes to the confirmation message. - -<attachment-id> +[<attachment-id>...] : One or more IDs of the attachments to regenerate. +[--yes] +: Answer yes to the confirmation message. + ### EXAMPLES wp media regenerate 123 1337 diff --git a/commands/option/index.md b/commands/option/index.md index 57acea30..694bae09 100644 --- a/commands/option/index.md +++ b/commands/option/index.md @@ -7,7 +7,7 @@ title: 'wp option' ### OPTIONS ---format=json +[--format=json] : Encode/decode values as JSON. ### EXAMPLES diff --git a/commands/plugin/activate/index.md b/commands/plugin/activate/index.md index 431edf9d..960b701d 100644 --- a/commands/plugin/activate/index.md +++ b/commands/plugin/activate/index.md @@ -7,9 +7,9 @@ title: 'wp plugin activate' ### OPTIONS -<plugin> -: The plugin to activate. +<plugin>... +: One or more plugins to activate. ---network +[--network] : If set, the plugin will be activated for the entire multisite network. diff --git a/commands/plugin/deactivate/index.md b/commands/plugin/deactivate/index.md index ef48b678..2633676e 100644 --- a/commands/plugin/deactivate/index.md +++ b/commands/plugin/deactivate/index.md @@ -7,9 +7,9 @@ title: 'wp plugin deactivate' ### OPTIONS -<plugin> -: The plugin to deactivate. +<plugin>... +: One or more plugins to deactivate. ---network +[--network] : If set, the plugin will be deactivated for the entire multisite network. diff --git a/commands/plugin/delete/index.md b/commands/plugin/delete/index.md index 9ccffc42..a6d9f8c8 100644 --- a/commands/plugin/delete/index.md +++ b/commands/plugin/delete/index.md @@ -7,8 +7,8 @@ title: 'wp plugin delete' ### OPTIONS -<plugin> -: The plugin to delete. +<plugin>... +: One or more plugins to delete. ### EXAMPLES diff --git a/commands/plugin/get/index.md b/commands/plugin/get/index.md new file mode 100644 index 00000000..54744854 --- /dev/null +++ b/commands/plugin/get/index.md @@ -0,0 +1,22 @@ +--- +layout: default +title: 'wp plugin get' +--- + +`wp plugin get` - Get a plugin. + +### OPTIONS + +<plugin> +: The plugin to get. + +[--field=<field>] +: Instead of returning the whole plugin, returns the value of a single field. + +[--format=<format>] +: Output list as table or JSON. Defaults to table. + +### EXAMPLES + + wp plugin get bbpress --format=json + diff --git a/commands/plugin/index.md b/commands/plugin/index.md index a3649f28..8246896c 100644 --- a/commands/plugin/index.md +++ b/commands/plugin/index.md @@ -29,10 +29,18 @@ title: 'wp plugin' <td><a href="/commands/plugin/delete/">delete</a></td> <td>Delete plugin files.</td> </tr> + <tr> + <td><a href="/commands/plugin/get/">get</a></td> + <td>Get a plugin.</td> + </tr> <tr> <td><a href="/commands/plugin/install/">install</a></td> <td>Install a plugin.</td> </tr> + <tr> + <td><a href="/commands/plugin/is-installed/">is-installed</a></td> + <td>Check if the plugin is installed</td> + </tr> <tr> <td><a href="/commands/plugin/list/">list</a></td> <td>Get a list of plugins.</td> @@ -41,6 +49,10 @@ title: 'wp plugin' <td><a href="/commands/plugin/path/">path</a></td> <td>Get the path to a plugin or to the plugin directory.</td> </tr> + <tr> + <td><a href="/commands/plugin/search/">search</a></td> + <td>Search the wordpress.org plugin repository.</td> + </tr> <tr> <td><a href="/commands/plugin/status/">status</a></td> <td>See the status of one or all plugins.</td> @@ -55,11 +67,7 @@ title: 'wp plugin' </tr> <tr> <td><a href="/commands/plugin/update/">update</a></td> - <td>Update a plugin.</td> - </tr> - <tr> - <td><a href="/commands/plugin/update-all/">update-all</a></td> - <td>Update all plugins.</td> + <td>Update one or more plugins.</td> </tr> </tbody> </table> diff --git a/commands/plugin/install/index.md b/commands/plugin/install/index.md index 799a6b6d..8c8aa8be 100644 --- a/commands/plugin/install/index.md +++ b/commands/plugin/install/index.md @@ -7,18 +7,18 @@ title: 'wp plugin install' ### OPTIONS -<plugin|zip|url> +<plugin|zip|url>... : A plugin slug, the path to a local zip file, or URL to a remote zip file. ---version=<version> +[--version=<version>] : If set, get that particular version from wordpress.org, instead of the stable version. ---force +[--force] : If set, the command will overwrite any installed version of the plugin, without prompting for confirmation. ---activate +[--activate] : If set, the plugin will be activated immediately after install. ### EXAMPLES diff --git a/commands/plugin/is-installed/index.md b/commands/plugin/is-installed/index.md new file mode 100644 index 00000000..21f28795 --- /dev/null +++ b/commands/plugin/is-installed/index.md @@ -0,0 +1,16 @@ +--- +layout: default +title: 'wp plugin is-installed' +--- + +`wp plugin is-installed` - Check if the plugin is installed + +### OPTIONS + +<plugin> +: The plugin to check. + +### EXAMPLES + + wp plugin is-installed hello + diff --git a/commands/plugin/list/index.md b/commands/plugin/list/index.md index ab64c09c..aababb25 100644 --- a/commands/plugin/list/index.md +++ b/commands/plugin/list/index.md @@ -7,9 +7,14 @@ title: 'wp plugin list' ### OPTIONS -* `--format`=<format>: +[--field=<field>] +: Prints the value of a single field for each plugin. - Output list as table, CSV or JSON. Defaults to table. +[--fields=<fields>] +: Limit the output to specific object fields. Defaults to name,status,update,version. + +[--format=<format>] +: Output list as table, CSV or JSON. Defaults to table. ### EXAMPLES diff --git a/commands/plugin/path/index.md b/commands/plugin/path/index.md index 95d092c2..8452e7b2 100644 --- a/commands/plugin/path/index.md +++ b/commands/plugin/path/index.md @@ -7,11 +7,11 @@ title: 'wp plugin path' ### OPTIONS -<plugin> +[<plugin>] : The plugin to get the path to. If not set, will return the path to the plugins directory. ---dir +[--dir] : If set, get the path to the closest parent directory, instead of the plugin file. diff --git a/commands/plugin/search/index.md b/commands/plugin/search/index.md new file mode 100644 index 00000000..f5c0ae84 --- /dev/null +++ b/commands/plugin/search/index.md @@ -0,0 +1,42 @@ +--- +layout: default +title: 'wp plugin search' +--- + +`wp plugin search` - Search the wordpress.org plugin repository. + +### OPTIONS + +<search> +: The string to search for. + +[--per-page=<per-page>] +: Optional number of results to display. Defaults to 10. + +[--format=<format>] +: Output list as table, CSV or JSON. Defaults to table. + +[--fields=<fields>] +: Ask for specific fields from the API. Defaults to name,slug,author_profile,rating. Acceptable values: + + **name**: Plugin Name + **slug**: Plugin Slug + **version**: Current Version Number + **author**: Plugin Author + **author_profile**: Plugin Author Profile + **contributors**: Plugin Contributors + **requires**: Plugin Minimum Requirements + **tested**: Plugin Tested Up To + **compatibility**: Plugin Compatible With + **rating**: Plugin Rating + **num_ratings**: Number of Plugin Ratings + **homepage**: Plugin Author's Homepage + **description**: Plugin's Description + **short_description**: Plugin's Short Description + +### EXAMPLES + + wp plugin search dsgnwrks --per-page=20 --format=json + + wp plugin search dsgnwrks --fields=name,version,slug,rating,num_ratings + diff --git a/commands/plugin/status/index.md b/commands/plugin/status/index.md index c7410f37..d3b6a265 100644 --- a/commands/plugin/status/index.md +++ b/commands/plugin/status/index.md @@ -7,6 +7,6 @@ title: 'wp plugin status' ### OPTIONS -<plugin> +[<plugin>] : A particular plugin to show the status for. diff --git a/commands/plugin/toggle/index.md b/commands/plugin/toggle/index.md index d7e6d4b9..366eaf62 100644 --- a/commands/plugin/toggle/index.md +++ b/commands/plugin/toggle/index.md @@ -7,9 +7,9 @@ title: 'wp plugin toggle' ### OPTIONS -<plugin> -: The plugin to toggle. +<plugin>... +: One or more plugins to toggle. ---network +[--network] : If set, the plugin will be toggled for the entire multisite network. diff --git a/commands/plugin/uninstall/index.md b/commands/plugin/uninstall/index.md index 83653a81..480f72e7 100644 --- a/commands/plugin/uninstall/index.md +++ b/commands/plugin/uninstall/index.md @@ -7,10 +7,10 @@ title: 'wp plugin uninstall' ### OPTIONS -<plugin> -: The plugin to uninstall. +<plugin>... +: One or more plugins to uninstall. ---no-delete +[--no-delete] : If set, the plugin files will not be deleted. Only the uninstall procedure will be run. diff --git a/commands/plugin/update/index.md b/commands/plugin/update/index.md index baab39f7..53db7712 100644 --- a/commands/plugin/update/index.md +++ b/commands/plugin/update/index.md @@ -3,18 +3,26 @@ layout: default title: 'wp plugin update' --- -`wp plugin update` - Update a plugin. +`wp plugin update` - Update one or more plugins. ### OPTIONS -<plugin> -: The plugin to update. +[<plugin>...] +: One or more plugins to update. ---version=dev +[--all] +: If set, all plugins that have updates will be updated. + +[--version=<version>] : If set, the plugin will be updated to the latest development version, regardless of what version is currently installed. +[--dry-run] +: Preview which plugins would be updated. + ### EXAMPLES wp plugin update bbpress --version=dev + wp plugin update --all + diff --git a/commands/post-meta/index.md b/commands/post-meta/index.md index d6a081ca..cd7f6ec5 100644 --- a/commands/post-meta/index.md +++ b/commands/post-meta/index.md @@ -7,7 +7,7 @@ title: 'wp post-meta' ### OPTIONS ---format=json +[--format=json] : Encode/decode values as JSON. ### EXAMPLES diff --git a/commands/post/create/index.md b/commands/post/create/index.md index 55a06129..a78e32be 100644 --- a/commands/post/create/index.md +++ b/commands/post/create/index.md @@ -7,23 +7,23 @@ title: 'wp post create' ### OPTIONS -<filename> +[<filename>] : Read post content from <filename>. If this value is present, the `--post_content` argument will be ignored. Passing `-` as the filename will cause post content to be read from STDIN. ---<field>=<value> -: Field values for the new post. See wp_insert_post(). +[--<field>=<value>] +: Associative args for the new post. See wp_insert_post(). ---edit +[--edit] : Immediately open system's editor to write or edit post content. If content is read from a file, from STDIN, or from the `--post_content` argument, that text will be loaded into the editor. ---porcelain +[--porcelain] : Output just the new post id. ### EXAMPLES diff --git a/commands/post/delete/index.md b/commands/post/delete/index.md index f964b6dc..4dcd35b1 100644 --- a/commands/post/delete/index.md +++ b/commands/post/delete/index.md @@ -7,10 +7,10 @@ title: 'wp post delete' ### OPTIONS -<ID> -: The ID of the post to delete. +<id>... +: One or more IDs of posts to delete. ---force +[--force] : Skip the trash bin. ### EXAMPLES diff --git a/commands/post/generate/index.md b/commands/post/generate/index.md index 11c86301..d48dc98f 100644 --- a/commands/post/generate/index.md +++ b/commands/post/generate/index.md @@ -7,22 +7,22 @@ title: 'wp post generate' ### OPTIONS ---count=<number> +[--count=<number>] : How many posts to generate. Default: 100 ---post_type=<type> +[--post_type=<type>] : The type of the generated posts. Default: 'post' ---post_status=<status> +[--post_status=<status>] : The status of the generated posts. Default: 'publish' ---post_author=<login> +[--post_author=<login>] : The author of the generated posts. Default: none ---post_date=<yyyy-mm-dd> +[--post_date=<yyyy-mm-dd>] : The date of the generated posts. Default: current date ---max_depth=<number> +[--max_depth=<number>] : For hierarchical post types, generate child posts down to a certain depth. Default: 1 ### EXAMPLES diff --git a/commands/post/get/index.md b/commands/post/get/index.md index d2d820e7..70e62fd7 100644 --- a/commands/post/get/index.md +++ b/commands/post/get/index.md @@ -7,13 +7,14 @@ title: 'wp post get' ### OPTIONS -<ID> +<id> : The ID of the post to get. ---format=<format> -: The format to use when printing the post, acceptable values: +[--field=<field>] +: Instead of returning the whole post, returns the value of a single field. - - **content**: Outputs only the post's content. +[--format=<format>] +: The format to use when printing the post, acceptable values: - **table**: Outputs all fields of the post as a table. Note that the post_content field is omitted so that the table is readable. @@ -22,7 +23,6 @@ title: 'wp post get' ### EXAMPLES - wp post get 12 --format=content - - wp post get 12 > file.txt + # save the post content to a file + wp post get 12 --field=content > file.txt diff --git a/commands/post/list/index.md b/commands/post/list/index.md index 6ce0a3a5..9bab9aeb 100644 --- a/commands/post/list/index.md +++ b/commands/post/list/index.md @@ -7,18 +7,21 @@ title: 'wp post list' ### OPTIONS ---<field>=<value> +[--<field>=<value>] : One or more args to pass to WP_Query. ---fields=<fields> +[--field=<field>] +: Prints the value of a single field for each post. + +[--fields=<fields>] : Limit the output to specific object fields. Defaults to ID,post_title,post_name,post_date,post_status. ---format=<format> +[--format=<format>] : Output list as table, CSV, JSON, or simply IDs. Defaults to table. ### EXAMPLES - wp post list --format=ids + wp post list --field=ID wp post list --post_type=post --posts_per_page=5 --format=json diff --git a/commands/post/update/index.md b/commands/post/update/index.md index 9d3c6fab..fc8b248b 100644 --- a/commands/post/update/index.md +++ b/commands/post/update/index.md @@ -7,8 +7,8 @@ title: 'wp post update' ### OPTIONS -<ID> -: The ID of the post to update. +<id>... +: One or more IDs of posts to update. --<field>=<value> : One or more fields to update. See wp_update_post(). diff --git a/commands/rewrite/flush/index.md b/commands/rewrite/flush/index.md index 357f185b..0837c979 100644 --- a/commands/rewrite/flush/index.md +++ b/commands/rewrite/flush/index.md @@ -7,6 +7,6 @@ title: 'wp rewrite flush' ### OPTIONS ---hard -: Perform a hard flush - do not overwrite `.htaccess`. The default is to update `.htaccess` rules as well as rewrite rules in database. +[--hard] +: Perform a hard flush - update `.htaccess` rules as well as rewrite rules in database. diff --git a/commands/rewrite/index.md b/commands/rewrite/index.md index 19a65b84..6e8fd19f 100644 --- a/commands/rewrite/index.md +++ b/commands/rewrite/index.md @@ -17,14 +17,14 @@ title: 'wp rewrite' </tr> </thead> <tbody> - <tr> - <td><a href="/commands/rewrite/dump/">dump</a></td> - <td>Print current rewrite rules.</td> - </tr> <tr> <td><a href="/commands/rewrite/flush/">flush</a></td> <td>Flush rewrite rules.</td> </tr> + <tr> + <td><a href="/commands/rewrite/list/">list</a></td> + <td>Print current rewrite rules.</td> + </tr> <tr> <td><a href="/commands/rewrite/structure/">structure</a></td> <td>Update the permalink structure.</td> diff --git a/commands/rewrite/list/index.md b/commands/rewrite/list/index.md new file mode 100644 index 00000000..6e8b8ee2 --- /dev/null +++ b/commands/rewrite/list/index.md @@ -0,0 +1,16 @@ +--- +layout: default +title: 'wp rewrite list' +--- + +`wp rewrite list` - Print current rewrite rules. + +### OPTIONS + +[--format=<format>] +: Output list as table, JSON or CSV. Defaults to table. + +### EXAMPLES + + wp rewrite list --format=csv + diff --git a/commands/rewrite/structure/index.md b/commands/rewrite/structure/index.md index f06ac193..ba6de90e 100644 --- a/commands/rewrite/structure/index.md +++ b/commands/rewrite/structure/index.md @@ -10,12 +10,15 @@ title: 'wp rewrite structure' <permastruct> : The new permalink structure to apply. ---category-base=<categorybase> +[--category-base=<base>] : Set the base for category permalinks, i.e. '/category/'. ---tag-base=<tagbase> +[--tag-base=<base>] : Set the base for tag permalinks, i.e. '/tag/'. +[--hard] +: Perform a hard flush - update `.htaccess` rules as well as rewrite rules in database. + ### EXAMPLES wp rewrite structure '/%year%/%monthnum%/%postname%' diff --git a/commands/role/create/index.md b/commands/role/create/index.md index e236a6d7..f9bbfea6 100644 --- a/commands/role/create/index.md +++ b/commands/role/create/index.md @@ -7,13 +7,11 @@ title: 'wp role create' ### OPTIONS -* <role-key>: +<role-key> +: The internal name of the role. - The internal name of the role, e.g. editor - -* <role-name>: - - The publically visible name of the role, e.g. Editor +<role-name> +: The publicly visible name of the role. ### EXAMPLES diff --git a/commands/role/delete/index.md b/commands/role/delete/index.md index b89388b9..264a04d0 100644 --- a/commands/role/delete/index.md +++ b/commands/role/delete/index.md @@ -7,9 +7,8 @@ title: 'wp role delete' ### OPTIONS -* <role-key>: - - The internal name of the role, e.g. editor +<role-key> +: The internal name of the role. ### EXAMPLES diff --git a/commands/role/exists/index.md b/commands/role/exists/index.md index 7c4ace7f..0bb0a51c 100644 --- a/commands/role/exists/index.md +++ b/commands/role/exists/index.md @@ -11,9 +11,8 @@ Will exit with status 0 if the role exists, 1 if it does not. ### OPTIONS -* <role-key>: - - The internal name of the role, e.g. editor +<role-key> +: The internal name of the role. ### EXAMPLES diff --git a/commands/role/list/index.md b/commands/role/list/index.md index fdcdf4f0..0cc86429 100644 --- a/commands/role/list/index.md +++ b/commands/role/list/index.md @@ -7,10 +7,10 @@ title: 'wp role list' ### OPTIONS ---fields=<fields> +[--fields=<fields>] : Limit the output to specific object fields. Defaults to name,role. ---format=<format> +[--format=<format>] : Output list as table, CSV or JSON. Defaults to table. ### EXAMPLES diff --git a/commands/scaffold/_s/index.md b/commands/scaffold/_s/index.md index c40c14dd..ab855f3f 100644 --- a/commands/scaffold/_s/index.md +++ b/commands/scaffold/_s/index.md @@ -10,15 +10,15 @@ title: 'wp scaffold _s' <slug> : The slug for the new theme, used for prefixing functions. ---activate +[--activate] : Activate the newly downloaded theme. ---theme_name=<title> +[--theme_name=<title>] : What to put in the 'Theme Name:' header in style.css ---author=<full name> +[--author=<full-name>] : What to put in the 'Author:' header in style.css ---author_uri=<http url> +[--author_uri=<uri>] : What to put in the 'Author URI:' header in style.css diff --git a/commands/scaffold/child-theme/index.md b/commands/scaffold/child-theme/index.md index 6087c6ea..a2d314ce 100644 --- a/commands/scaffold/child-theme/index.md +++ b/commands/scaffold/child-theme/index.md @@ -13,18 +13,18 @@ title: 'wp scaffold child-theme' --parent_theme=<slug> : What to put in the 'Template:' header in style.css ---theme_name=<title> +[--theme_name=<title>] : What to put in the 'Theme Name:' header in style.css ---author=<full name> +[--author=<full-name>] : What to put in the 'Author:' header in style.css ---author_uri=<http url> +[--author_uri=<uri>] : What to put in the 'Author URI:' header in style.css ---theme_uri=<http url> +[--theme_uri=<uri>] : What to put in the 'Theme URI:' header in style.css ---activate +[--activate] : Activate the newly created child theme. diff --git a/commands/scaffold/plugin-tests/index.md b/commands/scaffold/plugin-tests/index.md index 75304668..a1b2604d 100644 --- a/commands/scaffold/plugin-tests/index.md +++ b/commands/scaffold/plugin-tests/index.md @@ -19,6 +19,11 @@ These are the files that are generated: The `tests/bootstrap.php` file looks for the WP_TESTS_DIR environment variable. +### OPTIONS + +<plugin> +: The name of the plugin to generate test files for. + ### EXAMPLE wp scaffold plugin-tests hello diff --git a/commands/scaffold/plugin/index.md b/commands/scaffold/plugin/index.md index b7c4e9bf..7eca0e61 100644 --- a/commands/scaffold/plugin/index.md +++ b/commands/scaffold/plugin/index.md @@ -7,9 +7,12 @@ title: 'wp scaffold plugin' ### OPTIONS ---activate +<slug> +: The internal name of the plugin. + +[--activate] : Activate the newly generated plugin. ---plugin_name=<title> +[--plugin_name=<title>] : What to put in the 'Plugin Name:' header diff --git a/commands/scaffold/post-type/index.md b/commands/scaffold/post-type/index.md index 573fb11d..1bf1a362 100644 --- a/commands/scaffold/post-type/index.md +++ b/commands/scaffold/post-type/index.md @@ -7,20 +7,22 @@ title: 'wp scaffold post-type' ### OPTIONS ---label=<label> +<slug> +: The internal name of the post type. + +[--label=<label>] : The text used to translate the update messages ---textdomain=<textdomain> +[--textdomain=<textdomain>] : The textdomain to use for the labels. ---theme +[--theme] : Create a file in the active theme directory, instead of sending to STDOUT. Specify a theme with `--theme=<theme>` to have the file placed in that theme. ---plugin=<plugin> -: Create a file in the given plugin's directory, instead of sending to -STDOUT. +[--plugin=<plugin>] +: Create a file in the given plugin's directory, instead of sending to STDOUT. ---raw +[--raw] : Just generate the `register_post_type()` call and nothing else. diff --git a/commands/scaffold/taxonomy/index.md b/commands/scaffold/taxonomy/index.md index 48444ebd..76e328f5 100644 --- a/commands/scaffold/taxonomy/index.md +++ b/commands/scaffold/taxonomy/index.md @@ -7,24 +7,26 @@ title: 'wp scaffold taxonomy' ### OPTIONS ---post_types=<post_types> +<slug> +: The internal name of the taxonomy. + +[--post_types=<post-types>] : Post types to register for use with the taxonomy. ---label=<label> -: The text used to translate the update messages +[--label=<label>] +: The text used to translate the update messages. ---textdomain=<textdomain> +[--textdomain=<textdomain>] : The textdomain to use for the labels. ---theme +[--theme] : Create a file in the active theme directory, instead of sending to STDOUT. Specify a theme with `--theme=<theme>` to have the file placed in that theme. ---plugin=<plugin> -: Create a file in the given plugin's directory, instead of sending to -STDOUT. +[--plugin=<plugin>] +: Create a file in the given plugin's directory, instead of sending to STDOUT. ---raw +[--raw] : Just generate the `register_taxonomy()` call and nothing else. ### EXAMPLES diff --git a/commands/search-replace/index.md b/commands/search-replace/index.md index d58a3c78..d5ddbfbd 100644 --- a/commands/search-replace/index.md +++ b/commands/search-replace/index.md @@ -13,13 +13,22 @@ It will correctly handle serialized values, and will not change primary key valu ### OPTIONS ---network +<old> +: The old string. + +<new> +: The new string. + +[<table>...] +: List of database tables to restrict the replacement to. + +[--network] : Search/replace through all the tables in a multisite install. ---skip-columns=<columns> +[--skip-columns=<columns>] : Do not perform the replacement in the comma-separated columns. ---dry-run +[--dry-run] : Show report, but don't perform the changes. ### EXAMPLES diff --git a/commands/shell/index.md b/commands/shell/index.md index aab80098..02350759 100644 --- a/commands/shell/index.md +++ b/commands/shell/index.md @@ -11,6 +11,6 @@ title: 'wp shell' ### OPTIONS ---basic +[--basic] : Start in fail-safe mode, even if Boris is available. diff --git a/commands/site/delete/index.md b/commands/site/delete/index.md index 4330f0e5..60bc9a14 100644 --- a/commands/site/delete/index.md +++ b/commands/site/delete/index.md @@ -7,15 +7,15 @@ title: 'wp site delete' ### OPTIONS -<blog-id> -: The id of the blog to delete. If not provided, you must set the --slug parameter. +[<site-id>] +: The id of the site to delete. If not provided, you must set the --slug parameter. ---slug=<slug> +[--slug=<slug>] : Path of the blog to be deleted. Subdomain on subdomain installs, directory on subdirectory installs. ---yes +[--yes] : Answer yes to the confirmation message. ---keep-tables +[--keep-tables] : Delete the blog from the list, but don't drop it's tables. diff --git a/commands/site/empty/index.md b/commands/site/empty/index.md index 3542bb95..cd5fd8b2 100644 --- a/commands/site/empty/index.md +++ b/commands/site/empty/index.md @@ -7,6 +7,6 @@ title: 'wp site empty' ### OPTIONS ---yes +[--yes] : Proceed to empty the site without a confirmation prompt. diff --git a/commands/site/index.md b/commands/site/index.md index 62eb7460..1664710f 100644 --- a/commands/site/index.md +++ b/commands/site/index.md @@ -29,5 +29,9 @@ title: 'wp site' <td><a href="/commands/site/empty/">empty</a></td> <td>Empty a site of its content (posts, comments, and terms).</td> </tr> + <tr> + <td><a href="/commands/site/list/">list</a></td> + <td>List all sites in a multisite install.</td> + </tr> </tbody> </table> diff --git a/commands/site/list/index.md b/commands/site/list/index.md new file mode 100644 index 00000000..eef7d36b --- /dev/null +++ b/commands/site/list/index.md @@ -0,0 +1,26 @@ +--- +layout: default +title: 'wp site list' +--- + +`wp site list` - List all sites in a multisite install. + +### OPTIONS + +[--network=<id>] +: The network to which the sites belong. + +[--field=<field>] +: Prints the value of a single field for each site. + +[--fields=<fields>] +: Comma-separated list of fields to show. + +[--format=<format>] +: Output list as table, csv, json or url. Defaults to table. + +### EXAMPLES + + # Output a simple list of site URLs + wp site list --field=url + diff --git a/commands/term/create/index.md b/commands/term/create/index.md index 299900d4..2d3ba212 100644 --- a/commands/term/create/index.md +++ b/commands/term/create/index.md @@ -13,16 +13,16 @@ title: 'wp term create' <taxonomy> : Taxonomy for the new term. ---slug=<slug> +[--slug=<slug>] : A unique slug for the new term. Defaults to sanitized version of name. ---description=<description> +[--description=<description>] : A description for the new term. ---parent=<term-id> +[--parent=<term-id>] : A parent for the new term. ---porcelain +[--porcelain] : Output just the new term id. ### EXAMPLES diff --git a/commands/term/get/index.md b/commands/term/get/index.md new file mode 100644 index 00000000..f959fd2c --- /dev/null +++ b/commands/term/get/index.md @@ -0,0 +1,28 @@ +--- +layout: default +title: 'wp term get' +--- + +`wp term get` - Get a taxonomy term + +### OPTIONS + +<term-id> +: ID of the term to get + +<taxonomy> +: Taxonomy of the term to get + +[--field=<field>] +: Instead of returning the whole term, returns the value of a single field. + +[--format=<format>] +: The format to use when printing the term, acceptable values: + + - **table**: Outputs all fields of the term as a table. + - **json**: Outputs all fields in JSON format. + +### EXAMPLES + + wp term get 1 category --format=json + diff --git a/commands/term/index.md b/commands/term/index.md index 50d34890..14f45004 100644 --- a/commands/term/index.md +++ b/commands/term/index.md @@ -25,6 +25,10 @@ title: 'wp term' <td><a href="/commands/term/delete/">delete</a></td> <td>Delete a term.</td> </tr> + <tr> + <td><a href="/commands/term/get/">get</a></td> + <td>Get a taxonomy term</td> + </tr> <tr> <td><a href="/commands/term/list/">list</a></td> <td>List terms in a taxonomy.</td> diff --git a/commands/term/list/index.md b/commands/term/list/index.md index 37948359..ae817e36 100644 --- a/commands/term/list/index.md +++ b/commands/term/list/index.md @@ -10,10 +10,16 @@ title: 'wp term list' <taxonomy> : List terms of a given taxonomy. ---fields=<fields> +[--<field>=<value>] +: Filter by one or more fields. For accepted fields, see get_terms(). + +[--field=<field>] +: Prints the value of a single field for each term. + +[--fields=<fields>] : Limit the output to specific object fields. Defaults to all of the term object fields. ---format=<format> +[--format=<format>] : Output list as table, CSV, JSON, or simply IDs. Defaults to table. ### EXAMPLES diff --git a/commands/term/update/index.md b/commands/term/update/index.md index b9dc3fc7..7eace74e 100644 --- a/commands/term/update/index.md +++ b/commands/term/update/index.md @@ -13,16 +13,16 @@ title: 'wp term update' <taxonomy> : Taxonomy of the term to update. ---name=<name> +[--name=<name>] : A new name for the term. ---slug=<slug> +[--slug=<slug>] : A new slug for the term. ---description=<description> +[--description=<description>] : A new description for the term. ---parent=<term-id> +[--parent=<term-id>] : A new parent for the term. ### EXAMPLES diff --git a/commands/theme/delete/index.md b/commands/theme/delete/index.md index 942745f4..a4b7ff02 100644 --- a/commands/theme/delete/index.md +++ b/commands/theme/delete/index.md @@ -7,8 +7,8 @@ title: 'wp theme delete' ### OPTIONS -<theme> -: The theme to delete. +<theme>... +: One or more themes to delete. ### EXAMPLES diff --git a/commands/theme/get/index.md b/commands/theme/get/index.md new file mode 100644 index 00000000..f7542ba8 --- /dev/null +++ b/commands/theme/get/index.md @@ -0,0 +1,22 @@ +--- +layout: default +title: 'wp theme get' +--- + +`wp theme get` - Get a theme + +### OPTIONS + +<theme> +: The theme to get. + +[--field=<field>] +: Instead of returning the whole theme, returns the value of a single field. + +[--format=<format>] +: Output list as table or JSON. Defaults to table. + +### EXAMPLES + + wp theme get twentytwelve --format=json + diff --git a/commands/theme/index.md b/commands/theme/index.md index e8cfa5bf..5f9b43f0 100644 --- a/commands/theme/index.md +++ b/commands/theme/index.md @@ -25,6 +25,10 @@ title: 'wp theme' <td><a href="/commands/theme/delete/">delete</a></td> <td>Delete a theme.</td> </tr> + <tr> + <td><a href="/commands/theme/get/">get</a></td> + <td>Get a theme</td> + </tr> <tr> <td><a href="/commands/theme/install/">install</a></td> <td>Install a theme.</td> @@ -37,17 +41,17 @@ title: 'wp theme' <td><a href="/commands/theme/path/">path</a></td> <td>Get the path to a theme or to the theme directory.</td> </tr> + <tr> + <td><a href="/commands/theme/search/">search</a></td> + <td>Search the wordpress.org theme repository.</td> + </tr> <tr> <td><a href="/commands/theme/status/">status</a></td> <td>See the status of one or all themes.</td> </tr> <tr> <td><a href="/commands/theme/update/">update</a></td> - <td>Update a theme.</td> - </tr> - <tr> - <td><a href="/commands/theme/update-all/">update-all</a></td> - <td>Update all themes.</td> + <td>Update one or more themes.</td> </tr> </tbody> </table> diff --git a/commands/theme/install/index.md b/commands/theme/install/index.md index 10f53907..27c2e4df 100644 --- a/commands/theme/install/index.md +++ b/commands/theme/install/index.md @@ -7,14 +7,18 @@ title: 'wp theme install' ### OPTIONS -<theme|zip|url> +<theme|zip|url>... : A theme slug, the path to a local zip file, or URL to a remote zip file. ---force +[--version=<version>] +: If set, get that particular version from wordpress.org, instead of the +stable version. + +[--force] : If set, the command will overwrite any installed version of the theme, without prompting for confirmation. ---activate +[--activate] : If set, the theme will be activated immediately after install. ### EXAMPLES diff --git a/commands/theme/list/index.md b/commands/theme/list/index.md index 5d7990ad..2b682ee9 100644 --- a/commands/theme/list/index.md +++ b/commands/theme/list/index.md @@ -7,9 +7,14 @@ title: 'wp theme list' ### OPTIONS -* `--format`=<format>: +[--field=<field>] +: Prints the value of a single field for each theme. - Output list as table, CSV or JSON. Defaults to table. +[--fields=<fields>] +: Limit the output to specific object fields. Defaults to name,status,update,version. + +[--format=<format>] +: Output list as table, CSV or JSON. Defaults to table. ### EXAMPLES diff --git a/commands/theme/path/index.md b/commands/theme/path/index.md index 541b9c75..d2ea0a70 100644 --- a/commands/theme/path/index.md +++ b/commands/theme/path/index.md @@ -7,13 +7,13 @@ title: 'wp theme path' ### OPTIONS -<theme> -: The theme to get the path to. If not set, will return the path to the -themes directory. +[<theme>] +: The theme to get the path to. Path includes "style.css" file. +If not set, will return the path to the themes directory. ---dir +[--dir] : If set, get the path to the closest parent directory, instead of the -theme file. +theme's "style.css" file. ### EXAMPLES diff --git a/commands/theme/search/index.md b/commands/theme/search/index.md new file mode 100644 index 00000000..24b3a246 --- /dev/null +++ b/commands/theme/search/index.md @@ -0,0 +1,35 @@ +--- +layout: default +title: 'wp theme search' +--- + +`wp theme search` - Search the wordpress.org theme repository. + +### OPTIONS + +<search> +: The string to search for. + +[--per-page=<per-page>] +: Optional number of results to display. Defaults to 10. + +[--fields=<fields>] +: Ask for specific fields from the API. Defaults to name,slug,author,rating. Acceptable values: + + **name**: Theme Name + **slug**: Theme Slug + **version**: Current Version Number + **author**: Theme Author + **preview_url**: Theme Preview URL + **screenshot_url**: Theme Screenshot URL + **rating**: Theme Rating + **num_ratings**: Number of Theme Ratings + **homepage**: Theme Author's Homepage + **description**: Theme Description + +### EXAMPLES + + wp theme search automattic --per-page=20 + + wp theme search automattic --fields=name,version,slug,rating,num_ratings,description + diff --git a/commands/theme/status/index.md b/commands/theme/status/index.md index b583b8c3..bab206fb 100644 --- a/commands/theme/status/index.md +++ b/commands/theme/status/index.md @@ -7,6 +7,6 @@ title: 'wp theme status' ### OPTIONS -<theme> +[<theme>] : A particular theme to show the status for. diff --git a/commands/theme/update/index.md b/commands/theme/update/index.md index 66bcf442..1c8e5b82 100644 --- a/commands/theme/update/index.md +++ b/commands/theme/update/index.md @@ -3,18 +3,26 @@ layout: default title: 'wp theme update' --- -`wp theme update` - Update a theme. +`wp theme update` - Update one or more themes. ### OPTIONS -<theme> -: The theme to update. +[<theme>...] +: One or more themes to update. ---version=dev +[--all] +: If set, all themes that have updates will be updated. + +[--version=<version>] : If set, the theme will be updated to the latest development version, regardless of what version is currently installed. +[--dry-run] +: Preview which themes would be updated. + ### EXAMPLES - wp theme update twentytwelve + wp theme update twentyeleven twentytwelve + + wp theme update --all diff --git a/commands/user/add-cap/index.md b/commands/user/add-cap/index.md new file mode 100644 index 00000000..52b189c5 --- /dev/null +++ b/commands/user/add-cap/index.md @@ -0,0 +1,20 @@ +--- +layout: default +title: 'wp user add-cap' +--- + +`wp user add-cap` - Add a capability for a user. + +### OPTIONS + +<user> +: User ID or user login. + +<cap> +: The capability to add. + +### EXAMPLES + + wp user add-cap john create_premium_item + wp user add-cap 15 edit_product + diff --git a/commands/user/add-role/index.md b/commands/user/add-role/index.md index 79e104a6..174c4126 100644 --- a/commands/user/add-role/index.md +++ b/commands/user/add-role/index.md @@ -15,6 +15,6 @@ title: 'wp user add-role' ### EXAMPLES - wp user set-role bob author - wp user set-role 12 author + wp user add-role bob author + wp user add-role 12 author diff --git a/commands/user/create/index.md b/commands/user/create/index.md index ed41ae76..05efbf02 100644 --- a/commands/user/create/index.md +++ b/commands/user/create/index.md @@ -13,19 +13,19 @@ title: 'wp user create' <user-email> : The email address of the user to create. ---role=<role> +[--role=<role>] : The role of the user to create. Default: default role ---user_pass=<password> +[--user_pass=<password>] : The user password. Default: randomly generated ---user_registered=<yyyy-mm-dd> +[--user_registered=<yyyy-mm-dd>] : The date the user registered. Default: current date ---display_name=<name> +[--display_name=<name>] : The display name. ---porcelain +[--porcelain] : Output just the new user id. ### EXAMPLES diff --git a/commands/user/delete/index.md b/commands/user/delete/index.md index 7579a328..75b681dc 100644 --- a/commands/user/delete/index.md +++ b/commands/user/delete/index.md @@ -7,11 +7,11 @@ title: 'wp user delete' ### OPTIONS -<user> -: The user login or ID of the user to delete. +<user>... +: The user login or ID of the user(s) to update. ---reassign=<ID> -: User to reassign the posts to. +[--reassign=<user-id>] +: User ID to reassign the posts to. ### EXAMPLES diff --git a/commands/user/generate/index.md b/commands/user/generate/index.md index b65b43db..30caa4b5 100644 --- a/commands/user/generate/index.md +++ b/commands/user/generate/index.md @@ -7,9 +7,9 @@ title: 'wp user generate' ### OPTIONS ---count=<number> +[--count=<number>] : How many users to generate. Default: 100 ---role=<role> +[--role=<role>] : The role of the generated users. Default: default role from WP diff --git a/commands/user/get/index.md b/commands/user/get/index.md index d5a75a70..1b23f899 100644 --- a/commands/user/get/index.md +++ b/commands/user/get/index.md @@ -10,7 +10,10 @@ title: 'wp user get' <user> : User ID or user login. ---format=<format> +[--field=<field>] +: Instead of returning the whole user, returns the value of a single field. + +[--format=<format>] : The format to use when printing the user; acceptable values: **table**: Outputs all fields of the user as a table. @@ -19,7 +22,7 @@ title: 'wp user get' ### EXAMPLES - wp user get 12 + wp user get 12 --field=login wp user get bob --format=json > bob.json diff --git a/commands/user/index.md b/commands/user/index.md index c684b6e3..806b0209 100644 --- a/commands/user/index.md +++ b/commands/user/index.md @@ -17,6 +17,10 @@ title: 'wp user' </tr> </thead> <tbody> + <tr> + <td><a href="/commands/user/add-cap/">add-cap</a></td> + <td>Add a capability for a user.</td> + </tr> <tr> <td><a href="/commands/user/add-role/">add-role</a></td> <td>Add a role for a user.</td> @@ -45,6 +49,14 @@ title: 'wp user' <td><a href="/commands/user/list/">list</a></td> <td>List users.</td> </tr> + <tr> + <td><a href="/commands/user/list-caps/">list-caps</a></td> + <td>List all user's capabilities.</td> + </tr> + <tr> + <td><a href="/commands/user/remove-cap/">remove-cap</a></td> + <td>Remove a user's capability.</td> + </tr> <tr> <td><a href="/commands/user/remove-role/">remove-role</a></td> <td>Remove a user's role.</td> diff --git a/commands/user/list-caps/index.md b/commands/user/list-caps/index.md new file mode 100644 index 00000000..ab0a633e --- /dev/null +++ b/commands/user/list-caps/index.md @@ -0,0 +1,17 @@ +--- +layout: default +title: 'wp user list-caps' +--- + +`wp user list-caps` - List all user's capabilities. + +### OPTIONS + +<user> +: User ID or login. + +### EXAMPLES + + wp user list-caps admin + wp user list-caps 21 + diff --git a/commands/user/list/index.md b/commands/user/list/index.md index 33b3237e..348f23ce 100644 --- a/commands/user/list/index.md +++ b/commands/user/list/index.md @@ -7,20 +7,26 @@ title: 'wp user list' ### OPTIONS ---role=<role> +[--role=<role>] : Only display users with a certain role. ---fields=<fields> +[--<field>=<value>] +: Filter by one or more fields. For accepted fields, see get_users(). + +[--field=<field>] +: Prints the value of a single field for each user. + +[--fields=<fields>] : Limit the output to specific object fields. Defaults to ID,user_login,display_name,user_email,user_registered,roles ---format=<format> +[--format=<format>] : Output list as table, CSV, JSON, or simply IDs. Defaults to table. ### EXAMPLES - wp user list --format=ids + wp user list --field=ID wp user list --role=administrator --format=csv - wp user list --fields=display_name,user_email + wp user list --fields=display_name,user_email --format=json diff --git a/commands/user/remove-cap/index.md b/commands/user/remove-cap/index.md new file mode 100644 index 00000000..0b58eabb --- /dev/null +++ b/commands/user/remove-cap/index.md @@ -0,0 +1,20 @@ +--- +layout: default +title: 'wp user remove-cap' +--- + +`wp user remove-cap` - Remove a user's capability. + +### OPTIONS + +<user> +: User ID or user login. + +<cap> +: The capability to be removed. + +### EXAMPLES + + wp user remove-cap bob edit_themes + wp user remove-cap 11 publish_newsletters + diff --git a/commands/user/remove-role/index.md b/commands/user/remove-role/index.md index d0a5f57b..8ff9488e 100644 --- a/commands/user/remove-role/index.md +++ b/commands/user/remove-role/index.md @@ -10,8 +10,11 @@ title: 'wp user remove-role' <user> : User ID or user login. +[<role>] +: A specific role to remove. + ### EXAMPLES wp user remove-role bob - wp user remove-role 12 + wp user remove-role 12 editor diff --git a/commands/user/update/index.md b/commands/user/update/index.md index 72d18c60..03ad924c 100644 --- a/commands/user/update/index.md +++ b/commands/user/update/index.md @@ -7,8 +7,8 @@ title: 'wp user update' ### OPTIONS -<user> -: The user login or ID of the user to update. +<user>... +: The user login or ID of the user(s) to update. --<field>=<value> : One or more fields to update. For accepted fields, see wp_update_user(). From 2807f9cc6923c555084dfc5f2d797c44f7a0f8e0 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Fri, 4 Oct 2013 13:16:27 +0200 Subject: [PATCH 208/839] unbold dt tag; makes '...' more legible --- assets/css/stylesheet.css | 1 - 1 file changed, 1 deletion(-) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 0c2fad44..7012cd12 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -141,7 +141,6 @@ h1, h2, h3, h4, h5, h6 { dt { font-style: italic; - font-weight: bold; margin-top: 20px; } From 5a27c512e49a17bca2708e6badc3520a0cc37ccc Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Fri, 4 Oct 2013 13:21:55 +0200 Subject: [PATCH 209/839] remove pages for old commands keep references for plugin|theme update-all, because they were used as examples in a lot of presentations --- commands/comment/last/index.md | 19 ------------------- commands/plugin/update-all/index.md | 12 +----------- commands/rewrite/dump/index.md | 12 ------------ commands/theme/update-all/index.md | 12 +----------- 4 files changed, 2 insertions(+), 53 deletions(-) delete mode 100644 commands/comment/last/index.md delete mode 100644 commands/rewrite/dump/index.md diff --git a/commands/comment/last/index.md b/commands/comment/last/index.md deleted file mode 100644 index 74e12ca8..00000000 --- a/commands/comment/last/index.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -layout: default -title: 'wp comment last' ---- - -`wp comment last` - Get last approved comment. - -### OPTIONS - ---id -: Output just the last comment id. - ---full -: Output complete comment information. - -### EXAMPLES - - wp comment last --full - diff --git a/commands/plugin/update-all/index.md b/commands/plugin/update-all/index.md index 4c89060c..49c6f8a4 100644 --- a/commands/plugin/update-all/index.md +++ b/commands/plugin/update-all/index.md @@ -3,14 +3,4 @@ layout: default title: 'wp plugin update-all' --- -`wp plugin update-all` - Update all plugins. - -### OPTIONS - ---dry-run -: Pretend to do the updates, to see what would happen. - -### EXAMPLES - - wp plugin update-all - +`wp plugin update-all` is an alias for [wp plugin update --all](/commands/plugin/update/). diff --git a/commands/rewrite/dump/index.md b/commands/rewrite/dump/index.md deleted file mode 100644 index 523d25b6..00000000 --- a/commands/rewrite/dump/index.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: default -title: 'wp rewrite dump' ---- - -`wp rewrite dump` - Print current rewrite rules. - -### OPTIONS - ---format=json -: Output rules in JSON format. - diff --git a/commands/theme/update-all/index.md b/commands/theme/update-all/index.md index f301cb03..291ec545 100644 --- a/commands/theme/update-all/index.md +++ b/commands/theme/update-all/index.md @@ -3,14 +3,4 @@ layout: default title: 'wp theme update-all' --- -`wp theme update-all` - Update all themes. - -### OPTIONS - ---dry-run -: Pretend to do the updates, to see what would happen. - -### EXAMPLES - - wp theme update-all - +`wp theme update-all` is an alias for [wp theme update --all](/commands/theme/update/). From a12cdf810b72979ab9dc1e4b8d00b7ca1e58622f Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Fri, 4 Oct 2013 15:17:11 +0200 Subject: [PATCH 210/839] update commands pages after wp-cli/wp-cli@b6334de --- commands/plugin/index.md | 2 +- commands/plugin/is-installed/index.md | 2 +- commands/theme/index.md | 4 ++++ commands/theme/is-installed/index.md | 16 ++++++++++++++++ 4 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 commands/theme/is-installed/index.md diff --git a/commands/plugin/index.md b/commands/plugin/index.md index 8246896c..555266f6 100644 --- a/commands/plugin/index.md +++ b/commands/plugin/index.md @@ -39,7 +39,7 @@ title: 'wp plugin' </tr> <tr> <td><a href="/commands/plugin/is-installed/">is-installed</a></td> - <td>Check if the plugin is installed</td> + <td>Check if the plugin is installed.</td> </tr> <tr> <td><a href="/commands/plugin/list/">list</a></td> diff --git a/commands/plugin/is-installed/index.md b/commands/plugin/is-installed/index.md index 21f28795..53b1803f 100644 --- a/commands/plugin/is-installed/index.md +++ b/commands/plugin/is-installed/index.md @@ -3,7 +3,7 @@ layout: default title: 'wp plugin is-installed' --- -`wp plugin is-installed` - Check if the plugin is installed +`wp plugin is-installed` - Check if the plugin is installed. ### OPTIONS diff --git a/commands/theme/index.md b/commands/theme/index.md index 5f9b43f0..80bd0516 100644 --- a/commands/theme/index.md +++ b/commands/theme/index.md @@ -33,6 +33,10 @@ title: 'wp theme' <td><a href="/commands/theme/install/">install</a></td> <td>Install a theme.</td> </tr> + <tr> + <td><a href="/commands/theme/is-installed/">is-installed</a></td> + <td>Check if the theme is installed.</td> + </tr> <tr> <td><a href="/commands/theme/list/">list</a></td> <td>Get a list of themes.</td> diff --git a/commands/theme/is-installed/index.md b/commands/theme/is-installed/index.md new file mode 100644 index 00000000..a844f050 --- /dev/null +++ b/commands/theme/is-installed/index.md @@ -0,0 +1,16 @@ +--- +layout: default +title: 'wp theme is-installed' +--- + +`wp theme is-installed` - Check if the theme is installed. + +### OPTIONS + +<theme> +: The theme to check. + +### EXAMPLES + + wp theme is-installed twentytwelve + From 30dd021d36b75e4479a15b38e0d4f558c522dde7 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Fri, 4 Oct 2013 18:30:44 +0200 Subject: [PATCH 211/839] avoid -- being converted to – fixes wp-cli/wp-cli#808 --- Phakefile.php | 1 + commands/comment/create/index.md | 4 ++-- commands/comment/delete/index.md | 2 +- commands/comment/get/index.md | 4 ++-- commands/comment/list/index.md | 8 ++++---- commands/comment/update/index.md | 2 +- commands/core/config/index.md | 20 ++++++++++---------- commands/core/download/index.md | 6 +++--- commands/core/install/index.md | 10 +++++----- commands/core/multisite-convert/index.md | 6 +++--- commands/core/multisite-install/index.md | 14 +++++++------- commands/core/update/index.md | 4 ++-- commands/core/version/index.md | 2 +- commands/db/index.md | 2 +- commands/export/index.md | 22 +++++++++++----------- commands/import/index.md | 4 ++-- commands/media/import/index.md | 12 ++++++------ commands/media/regenerate/index.md | 2 +- commands/network-meta/index.md | 2 +- commands/option/index.md | 2 +- commands/plugin/activate/index.md | 2 +- commands/plugin/deactivate/index.md | 2 +- commands/plugin/get/index.md | 4 ++-- commands/plugin/install/index.md | 6 +++--- commands/plugin/list/index.md | 6 +++--- commands/plugin/path/index.md | 2 +- commands/plugin/search/index.md | 6 +++--- commands/plugin/toggle/index.md | 2 +- commands/plugin/uninstall/index.md | 2 +- commands/plugin/update/index.md | 6 +++--- commands/post-meta/index.md | 2 +- commands/post/create/index.md | 6 +++--- commands/post/delete/index.md | 2 +- commands/post/generate/index.md | 12 ++++++------ commands/post/get/index.md | 4 ++-- commands/post/list/index.md | 8 ++++---- commands/post/update/index.md | 2 +- commands/rewrite/flush/index.md | 2 +- commands/rewrite/list/index.md | 2 +- commands/rewrite/structure/index.md | 6 +++--- commands/role/list/index.md | 4 ++-- commands/scaffold/_s/index.md | 8 ++++---- commands/scaffold/child-theme/index.md | 12 ++++++------ commands/scaffold/plugin/index.md | 4 ++-- commands/scaffold/post-type/index.md | 10 +++++----- commands/scaffold/taxonomy/index.md | 12 ++++++------ commands/search-replace/index.md | 6 +++--- commands/shell/index.md | 2 +- commands/site/create/index.md | 12 ++++++------ commands/site/delete/index.md | 6 +++--- commands/site/empty/index.md | 2 +- commands/site/list/index.md | 8 ++++---- commands/term/create/index.md | 8 ++++---- commands/term/get/index.md | 4 ++-- commands/term/list/index.md | 8 ++++---- commands/term/update/index.md | 8 ++++---- commands/theme/get/index.md | 4 ++-- commands/theme/install/index.md | 6 +++--- commands/theme/list/index.md | 6 +++--- commands/theme/path/index.md | 2 +- commands/theme/search/index.md | 4 ++-- commands/theme/update/index.md | 6 +++--- commands/user-meta/index.md | 2 +- commands/user/create/index.md | 10 +++++----- commands/user/delete/index.md | 2 +- commands/user/generate/index.md | 4 ++-- commands/user/get/index.md | 4 ++-- commands/user/list/index.md | 10 +++++----- commands/user/update/index.md | 2 +- 69 files changed, 195 insertions(+), 194 deletions(-) diff --git a/Phakefile.php b/Phakefile.php index 384065cf..4cdaf544 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -48,6 +48,7 @@ function gen_cmd_pages( $cmd, $parent = array() ) { if ( $cmd['longdesc'] ) { $docs = $cmd['longdesc']; $docs = preg_replace( '/^## /m', '### ', $docs ); + $docs = preg_replace( '/^(\[?)--/m', '\1\--', $docs ); $binding['docs'] = $docs; } diff --git a/commands/comment/create/index.md b/commands/comment/create/index.md index 76ec2e60..2ea6e3f9 100644 --- a/commands/comment/create/index.md +++ b/commands/comment/create/index.md @@ -7,10 +7,10 @@ title: 'wp comment create' ### OPTIONS ---<field>=<value> +\--<field>=<value> : Associative args for the new comment. See wp_insert_comment(). -[--porcelain] +[\--porcelain] : Output just the new comment id. ### EXAMPLES diff --git a/commands/comment/delete/index.md b/commands/comment/delete/index.md index 839640ac..685d8cb0 100644 --- a/commands/comment/delete/index.md +++ b/commands/comment/delete/index.md @@ -10,7 +10,7 @@ title: 'wp comment delete' <id> : The ID of the comment to delete. -[--force] +[\--force] : Skip the trash bin. ### EXAMPLES diff --git a/commands/comment/get/index.md b/commands/comment/get/index.md index c80734cc..c05aeddb 100644 --- a/commands/comment/get/index.md +++ b/commands/comment/get/index.md @@ -10,10 +10,10 @@ title: 'wp comment get' <id> : The comment to get. -[--field=<field>] +[\--field=<field>] : Instead of returning the whole comment, returns the value of a single field. -[--format=<format>] +[\--format=<format>] : The format to use when printing the comment, acceptable values: - **table**: Outputs all fields of the comment as a table. diff --git a/commands/comment/list/index.md b/commands/comment/list/index.md index 324e6905..509b19ae 100644 --- a/commands/comment/list/index.md +++ b/commands/comment/list/index.md @@ -7,16 +7,16 @@ title: 'wp comment list' ### OPTIONS -[--<field>=<value>] +[\--<field>=<value>] : One or more args to pass to WP_Comment_Query. -[--field=<field>] +[\--field=<field>] : Prints the value of a single field for each comment. -[--fields=<fields>] +[\--fields=<fields>] : Limit the output to specific object fields. Defaults to comment_ID,comment_post_ID,comment_date,comment_approved,comment_author,comment_author_email -[--format=<format>] +[\--format=<format>] : Output list as table, CSV, JSON, or simply IDs. Defaults to table. ### EXAMPLES diff --git a/commands/comment/update/index.md b/commands/comment/update/index.md index 6a18a09d..d33c8526 100644 --- a/commands/comment/update/index.md +++ b/commands/comment/update/index.md @@ -10,7 +10,7 @@ title: 'wp comment update' <id>... : One or more IDs of comments to update. ---<field>=<value> +\--<field>=<value> : One or more fields to update. See wp_update_comment(). ### EXAMPLES diff --git a/commands/core/config/index.md b/commands/core/config/index.md index 1f79d857..45058660 100644 --- a/commands/core/config/index.md +++ b/commands/core/config/index.md @@ -7,34 +7,34 @@ title: 'wp core config' ### OPTIONS ---dbname=<dbname> +\--dbname=<dbname> : Set the database name. ---dbuser=<dbuser> +\--dbuser=<dbuser> : Set the database user. -[--dbpass=<dbpass>] +[\--dbpass=<dbpass>] : Set the database user password. -[--dbhost=<dbhost>] +[\--dbhost=<dbhost>] : Set the database host. Default: 'localhost' -[--dbprefix=<dbprefix>] +[\--dbprefix=<dbprefix>] : Set the database table prefix. Default: 'wp_' -[--dbcharset=<dbcharset>] +[\--dbcharset=<dbcharset>] : Set the database charset. Default: 'utf8' -[--dbcollate=<dbcollate>] +[\--dbcollate=<dbcollate>] : Set the database collation. Default: '' -[--locale=<locale>] +[\--locale=<locale>] : Set the WPLANG constant. Defaults to $wp_local_package variable. -[--extra-php] +[\--extra-php] : If set, the command reads additional PHP code from STDIN. -[--skip-salts] +[\--skip-salts] : If set, keys and salts won't be generated, but, instead, should be passed via --extra-php. ### EXAMPLES diff --git a/commands/core/download/index.md b/commands/core/download/index.md index d8b27489..700eb6d3 100644 --- a/commands/core/download/index.md +++ b/commands/core/download/index.md @@ -7,13 +7,13 @@ title: 'wp core download' ### OPTIONS -[--locale=<locale>] +[\--locale=<locale>] : Select which language you want to download. -[--version=<version>] +[\--version=<version>] : Select which version you want to download. -[--force] +[\--force] : Overwrites existing files, if present. ### EXAMPLES diff --git a/commands/core/install/index.md b/commands/core/install/index.md index 0ddf235b..aa3ec2e9 100644 --- a/commands/core/install/index.md +++ b/commands/core/install/index.md @@ -7,18 +7,18 @@ title: 'wp core install' ### OPTIONS ---url=<url> +\--url=<url> : The address of the new site. ---title=<site-title> +\--title=<site-title> : The title of the new site. ---admin_user=<username> +\--admin_user=<username> : The name of the admin user. ---admin_password=<password> +\--admin_password=<password> : The password for the admin user. ---admin_email=<email> +\--admin_email=<email> : The email address for the admin user. diff --git a/commands/core/multisite-convert/index.md b/commands/core/multisite-convert/index.md index 821d1154..4f9eb6ad 100644 --- a/commands/core/multisite-convert/index.md +++ b/commands/core/multisite-convert/index.md @@ -7,13 +7,13 @@ title: 'wp core multisite-convert' ### OPTIONS -[--title=<network-title>] +[\--title=<network-title>] : The title of the new network. -[--base=<url-path>] +[\--base=<url-path>] : Base path after the domain name that each site url will start with. Default: '/' -[--subdomains] +[\--subdomains] : If passed, the network will use subdomains, instead of subdirectories. diff --git a/commands/core/multisite-install/index.md b/commands/core/multisite-install/index.md index 269797df..12f5b4fe 100644 --- a/commands/core/multisite-install/index.md +++ b/commands/core/multisite-install/index.md @@ -7,25 +7,25 @@ title: 'wp core multisite-install' ### OPTIONS -[--url=<url>] +[\--url=<url>] : The address of the new site. -[--base=<url-path>] +[\--base=<url-path>] : Base path after the domain name that each site url in the network will start with. Default: '/' -[--subdomains] +[\--subdomains] : If passed, the network will use subdomains, instead of subdirectories. ---title=<site-title> +\--title=<site-title> : The title of the new site. ---admin_user=<username> +\--admin_user=<username> : The name of the admin user. Default: 'admin' ---admin_password=<password> +\--admin_password=<password> : The password for the admin user. ---admin_email=<email> +\--admin_email=<email> : The email address for the admin user. diff --git a/commands/core/update/index.md b/commands/core/update/index.md index edb91398..ed84e230 100644 --- a/commands/core/update/index.md +++ b/commands/core/update/index.md @@ -10,10 +10,10 @@ title: 'wp core update' [<zip>] : Path to zip file to use, instead of downloading from wordpress.org. -[--version=<version>] +[\--version=<version>] : Update to this version, instead of to the latest version. -[--force] +[\--force] : Will update even when current WP version < passed version. Use with caution. diff --git a/commands/core/version/index.md b/commands/core/version/index.md index ff4446ce..c590b59b 100644 --- a/commands/core/version/index.md +++ b/commands/core/version/index.md @@ -7,6 +7,6 @@ title: 'wp core version' ### OPTIONS -[--extra] +[\--extra] : Show extended version information. diff --git a/commands/db/index.md b/commands/db/index.md index b08f3783..f74463d9 100644 --- a/commands/db/index.md +++ b/commands/db/index.md @@ -7,7 +7,7 @@ title: 'wp db' ### OPTIONS ---yes +\--yes : Answer yes to the confirmation message. <file> diff --git a/commands/export/index.md b/commands/export/index.md index ea805546..0cf4d274 100644 --- a/commands/export/index.md +++ b/commands/export/index.md @@ -7,40 +7,40 @@ title: 'wp export' ### OPTIONS -[--dir=<dirname>] +[\--dir=<dirname>] : Full path to directory where WXR export files should be stored. Defaults to current working directory. -[--skip_comments] +[\--skip_comments] : Don't export comments. -[--file_item_count=<count>] +[\--file_item_count=<count>] : Break export into files with N posts. -[--verbose] +[\--verbose] : Show more information about the process on STDOUT. ### FILTERS -[--start_date=<date>] +[\--start_date=<date>] : Export only posts newer than this date, in format YYYY-MM-DD. -[--end_date=<date>] +[\--end_date=<date>] : Export only posts older than this date, in format YYYY-MM-DD. -[--post_type=<post_type>] +[\--post_type=<post_type>] : Export only posts with this post_type. -[--post__in=<pid>] +[\--post__in=<pid>] : Export all posts specified as a comma-separated list of IDs. -[--author=<login/id>] +[\--author=<login/id>] : Export only posts by this author. -[--category=<category-id>] +[\--category=<category-id>] : Export only posts in this category. -[--post_status=<status>] +[\--post_status=<status>] : Export only posts with this status. ### EXAMPLES diff --git a/commands/import/index.md b/commands/import/index.md index 702a869a..7f850597 100644 --- a/commands/import/index.md +++ b/commands/import/index.md @@ -10,9 +10,9 @@ title: 'wp import' <file> : Path to a valid WXR file for importing. ---authors=<authors> +\--authors=<authors> : How the author mapping should be handled. Options are 'create', 'mapping.csv', or 'skip'. The first will create any non-existent users from the WXR file. The second will read author mapping associations from a CSV, or create a CSV for editing if the file path doesn't exist. The last option will skip any author mapping. -[--skip=<data-type>] +[\--skip=<data-type>] : Skip importing specific data. Supported option is 'attachment'. diff --git a/commands/media/import/index.md b/commands/media/import/index.md index 7e966538..d6701f91 100644 --- a/commands/media/import/index.md +++ b/commands/media/import/index.md @@ -12,22 +12,22 @@ title: 'wp media import' If file is recognized as a URL (for example, with a scheme of http or ftp), the file will be downloaded to a temp file before being sideloaded. ---post_id=<post_id> +\--post_id=<post_id> : ID of the post to attach the imported files to ---title=<title> +\--title=<title> : Attachment title (post title field) ---caption=<caption> +\--caption=<caption> : Caption for attachent (post excerpt field) ---alt=<alt_text> +\--alt=<alt_text> : Alt text for image (saved as post meta) ---desc=<description> +\--desc=<description> : "Description" field (post content) of attachment post ---featured_image +\--featured_image : If set, set the imported image as the Featured Image of the post its attached to. ### EXAMPLES diff --git a/commands/media/regenerate/index.md b/commands/media/regenerate/index.md index c3a3b409..818222b4 100644 --- a/commands/media/regenerate/index.md +++ b/commands/media/regenerate/index.md @@ -10,7 +10,7 @@ title: 'wp media regenerate' [<attachment-id>...] : One or more IDs of the attachments to regenerate. -[--yes] +[\--yes] : Answer yes to the confirmation message. ### EXAMPLES diff --git a/commands/network-meta/index.md b/commands/network-meta/index.md index 780c5e96..83911ed2 100644 --- a/commands/network-meta/index.md +++ b/commands/network-meta/index.md @@ -10,7 +10,7 @@ title: 'wp network-meta' <id> : The network id (usually 1). ---format=json +\--format=json : Encode/decode values as JSON. ### EXAMPLES diff --git a/commands/option/index.md b/commands/option/index.md index 694bae09..86ca4c3f 100644 --- a/commands/option/index.md +++ b/commands/option/index.md @@ -7,7 +7,7 @@ title: 'wp option' ### OPTIONS -[--format=json] +[\--format=json] : Encode/decode values as JSON. ### EXAMPLES diff --git a/commands/plugin/activate/index.md b/commands/plugin/activate/index.md index 960b701d..c97ba9a3 100644 --- a/commands/plugin/activate/index.md +++ b/commands/plugin/activate/index.md @@ -10,6 +10,6 @@ title: 'wp plugin activate' <plugin>... : One or more plugins to activate. -[--network] +[\--network] : If set, the plugin will be activated for the entire multisite network. diff --git a/commands/plugin/deactivate/index.md b/commands/plugin/deactivate/index.md index 2633676e..761668cf 100644 --- a/commands/plugin/deactivate/index.md +++ b/commands/plugin/deactivate/index.md @@ -10,6 +10,6 @@ title: 'wp plugin deactivate' <plugin>... : One or more plugins to deactivate. -[--network] +[\--network] : If set, the plugin will be deactivated for the entire multisite network. diff --git a/commands/plugin/get/index.md b/commands/plugin/get/index.md index 54744854..854101e8 100644 --- a/commands/plugin/get/index.md +++ b/commands/plugin/get/index.md @@ -10,10 +10,10 @@ title: 'wp plugin get' <plugin> : The plugin to get. -[--field=<field>] +[\--field=<field>] : Instead of returning the whole plugin, returns the value of a single field. -[--format=<format>] +[\--format=<format>] : Output list as table or JSON. Defaults to table. ### EXAMPLES diff --git a/commands/plugin/install/index.md b/commands/plugin/install/index.md index 8c8aa8be..3479d124 100644 --- a/commands/plugin/install/index.md +++ b/commands/plugin/install/index.md @@ -10,15 +10,15 @@ title: 'wp plugin install' <plugin|zip|url>... : A plugin slug, the path to a local zip file, or URL to a remote zip file. -[--version=<version>] +[\--version=<version>] : If set, get that particular version from wordpress.org, instead of the stable version. -[--force] +[\--force] : If set, the command will overwrite any installed version of the plugin, without prompting for confirmation. -[--activate] +[\--activate] : If set, the plugin will be activated immediately after install. ### EXAMPLES diff --git a/commands/plugin/list/index.md b/commands/plugin/list/index.md index aababb25..793f9dcb 100644 --- a/commands/plugin/list/index.md +++ b/commands/plugin/list/index.md @@ -7,13 +7,13 @@ title: 'wp plugin list' ### OPTIONS -[--field=<field>] +[\--field=<field>] : Prints the value of a single field for each plugin. -[--fields=<fields>] +[\--fields=<fields>] : Limit the output to specific object fields. Defaults to name,status,update,version. -[--format=<format>] +[\--format=<format>] : Output list as table, CSV or JSON. Defaults to table. ### EXAMPLES diff --git a/commands/plugin/path/index.md b/commands/plugin/path/index.md index 8452e7b2..039888e4 100644 --- a/commands/plugin/path/index.md +++ b/commands/plugin/path/index.md @@ -11,7 +11,7 @@ title: 'wp plugin path' : The plugin to get the path to. If not set, will return the path to the plugins directory. -[--dir] +[\--dir] : If set, get the path to the closest parent directory, instead of the plugin file. diff --git a/commands/plugin/search/index.md b/commands/plugin/search/index.md index f5c0ae84..eb29e05d 100644 --- a/commands/plugin/search/index.md +++ b/commands/plugin/search/index.md @@ -10,13 +10,13 @@ title: 'wp plugin search' <search> : The string to search for. -[--per-page=<per-page>] +[\--per-page=<per-page>] : Optional number of results to display. Defaults to 10. -[--format=<format>] +[\--format=<format>] : Output list as table, CSV or JSON. Defaults to table. -[--fields=<fields>] +[\--fields=<fields>] : Ask for specific fields from the API. Defaults to name,slug,author_profile,rating. Acceptable values: **name**: Plugin Name diff --git a/commands/plugin/toggle/index.md b/commands/plugin/toggle/index.md index 366eaf62..a2db0d1c 100644 --- a/commands/plugin/toggle/index.md +++ b/commands/plugin/toggle/index.md @@ -10,6 +10,6 @@ title: 'wp plugin toggle' <plugin>... : One or more plugins to toggle. -[--network] +[\--network] : If set, the plugin will be toggled for the entire multisite network. diff --git a/commands/plugin/uninstall/index.md b/commands/plugin/uninstall/index.md index 480f72e7..4080a4a7 100644 --- a/commands/plugin/uninstall/index.md +++ b/commands/plugin/uninstall/index.md @@ -10,7 +10,7 @@ title: 'wp plugin uninstall' <plugin>... : One or more plugins to uninstall. -[--no-delete] +[\--no-delete] : If set, the plugin files will not be deleted. Only the uninstall procedure will be run. diff --git a/commands/plugin/update/index.md b/commands/plugin/update/index.md index 53db7712..c15cca4a 100644 --- a/commands/plugin/update/index.md +++ b/commands/plugin/update/index.md @@ -10,14 +10,14 @@ title: 'wp plugin update' [<plugin>...] : One or more plugins to update. -[--all] +[\--all] : If set, all plugins that have updates will be updated. -[--version=<version>] +[\--version=<version>] : If set, the plugin will be updated to the latest development version, regardless of what version is currently installed. -[--dry-run] +[\--dry-run] : Preview which plugins would be updated. ### EXAMPLES diff --git a/commands/post-meta/index.md b/commands/post-meta/index.md index cd7f6ec5..6823bf27 100644 --- a/commands/post-meta/index.md +++ b/commands/post-meta/index.md @@ -7,7 +7,7 @@ title: 'wp post-meta' ### OPTIONS -[--format=json] +[\--format=json] : Encode/decode values as JSON. ### EXAMPLES diff --git a/commands/post/create/index.md b/commands/post/create/index.md index a78e32be..071837e7 100644 --- a/commands/post/create/index.md +++ b/commands/post/create/index.md @@ -14,16 +14,16 @@ title: 'wp post create' Passing `-` as the filename will cause post content to be read from STDIN. -[--<field>=<value>] +[\--<field>=<value>] : Associative args for the new post. See wp_insert_post(). -[--edit] +[\--edit] : Immediately open system's editor to write or edit post content. If content is read from a file, from STDIN, or from the `--post_content` argument, that text will be loaded into the editor. -[--porcelain] +[\--porcelain] : Output just the new post id. ### EXAMPLES diff --git a/commands/post/delete/index.md b/commands/post/delete/index.md index 4dcd35b1..f0709571 100644 --- a/commands/post/delete/index.md +++ b/commands/post/delete/index.md @@ -10,7 +10,7 @@ title: 'wp post delete' <id>... : One or more IDs of posts to delete. -[--force] +[\--force] : Skip the trash bin. ### EXAMPLES diff --git a/commands/post/generate/index.md b/commands/post/generate/index.md index d48dc98f..8632264a 100644 --- a/commands/post/generate/index.md +++ b/commands/post/generate/index.md @@ -7,22 +7,22 @@ title: 'wp post generate' ### OPTIONS -[--count=<number>] +[\--count=<number>] : How many posts to generate. Default: 100 -[--post_type=<type>] +[\--post_type=<type>] : The type of the generated posts. Default: 'post' -[--post_status=<status>] +[\--post_status=<status>] : The status of the generated posts. Default: 'publish' -[--post_author=<login>] +[\--post_author=<login>] : The author of the generated posts. Default: none -[--post_date=<yyyy-mm-dd>] +[\--post_date=<yyyy-mm-dd>] : The date of the generated posts. Default: current date -[--max_depth=<number>] +[\--max_depth=<number>] : For hierarchical post types, generate child posts down to a certain depth. Default: 1 ### EXAMPLES diff --git a/commands/post/get/index.md b/commands/post/get/index.md index 70e62fd7..562ab515 100644 --- a/commands/post/get/index.md +++ b/commands/post/get/index.md @@ -10,10 +10,10 @@ title: 'wp post get' <id> : The ID of the post to get. -[--field=<field>] +[\--field=<field>] : Instead of returning the whole post, returns the value of a single field. -[--format=<format>] +[\--format=<format>] : The format to use when printing the post, acceptable values: - **table**: Outputs all fields of the post as a table. Note that the diff --git a/commands/post/list/index.md b/commands/post/list/index.md index 9bab9aeb..27f46150 100644 --- a/commands/post/list/index.md +++ b/commands/post/list/index.md @@ -7,16 +7,16 @@ title: 'wp post list' ### OPTIONS -[--<field>=<value>] +[\--<field>=<value>] : One or more args to pass to WP_Query. -[--field=<field>] +[\--field=<field>] : Prints the value of a single field for each post. -[--fields=<fields>] +[\--fields=<fields>] : Limit the output to specific object fields. Defaults to ID,post_title,post_name,post_date,post_status. -[--format=<format>] +[\--format=<format>] : Output list as table, CSV, JSON, or simply IDs. Defaults to table. ### EXAMPLES diff --git a/commands/post/update/index.md b/commands/post/update/index.md index fc8b248b..2a63ac9f 100644 --- a/commands/post/update/index.md +++ b/commands/post/update/index.md @@ -10,7 +10,7 @@ title: 'wp post update' <id>... : One or more IDs of posts to update. ---<field>=<value> +\--<field>=<value> : One or more fields to update. See wp_update_post(). ### EXAMPLES diff --git a/commands/rewrite/flush/index.md b/commands/rewrite/flush/index.md index 0837c979..2417294b 100644 --- a/commands/rewrite/flush/index.md +++ b/commands/rewrite/flush/index.md @@ -7,6 +7,6 @@ title: 'wp rewrite flush' ### OPTIONS -[--hard] +[\--hard] : Perform a hard flush - update `.htaccess` rules as well as rewrite rules in database. diff --git a/commands/rewrite/list/index.md b/commands/rewrite/list/index.md index 6e8b8ee2..c4eb72c2 100644 --- a/commands/rewrite/list/index.md +++ b/commands/rewrite/list/index.md @@ -7,7 +7,7 @@ title: 'wp rewrite list' ### OPTIONS -[--format=<format>] +[\--format=<format>] : Output list as table, JSON or CSV. Defaults to table. ### EXAMPLES diff --git a/commands/rewrite/structure/index.md b/commands/rewrite/structure/index.md index ba6de90e..12aa3cd8 100644 --- a/commands/rewrite/structure/index.md +++ b/commands/rewrite/structure/index.md @@ -10,13 +10,13 @@ title: 'wp rewrite structure' <permastruct> : The new permalink structure to apply. -[--category-base=<base>] +[\--category-base=<base>] : Set the base for category permalinks, i.e. '/category/'. -[--tag-base=<base>] +[\--tag-base=<base>] : Set the base for tag permalinks, i.e. '/tag/'. -[--hard] +[\--hard] : Perform a hard flush - update `.htaccess` rules as well as rewrite rules in database. ### EXAMPLES diff --git a/commands/role/list/index.md b/commands/role/list/index.md index 0cc86429..cf1f38e7 100644 --- a/commands/role/list/index.md +++ b/commands/role/list/index.md @@ -7,10 +7,10 @@ title: 'wp role list' ### OPTIONS -[--fields=<fields>] +[\--fields=<fields>] : Limit the output to specific object fields. Defaults to name,role. -[--format=<format>] +[\--format=<format>] : Output list as table, CSV or JSON. Defaults to table. ### EXAMPLES diff --git a/commands/scaffold/_s/index.md b/commands/scaffold/_s/index.md index ab855f3f..245f5663 100644 --- a/commands/scaffold/_s/index.md +++ b/commands/scaffold/_s/index.md @@ -10,15 +10,15 @@ title: 'wp scaffold _s' <slug> : The slug for the new theme, used for prefixing functions. -[--activate] +[\--activate] : Activate the newly downloaded theme. -[--theme_name=<title>] +[\--theme_name=<title>] : What to put in the 'Theme Name:' header in style.css -[--author=<full-name>] +[\--author=<full-name>] : What to put in the 'Author:' header in style.css -[--author_uri=<uri>] +[\--author_uri=<uri>] : What to put in the 'Author URI:' header in style.css diff --git a/commands/scaffold/child-theme/index.md b/commands/scaffold/child-theme/index.md index a2d314ce..a75dbcc5 100644 --- a/commands/scaffold/child-theme/index.md +++ b/commands/scaffold/child-theme/index.md @@ -10,21 +10,21 @@ title: 'wp scaffold child-theme' <slug> : The slug for the new child theme. ---parent_theme=<slug> +\--parent_theme=<slug> : What to put in the 'Template:' header in style.css -[--theme_name=<title>] +[\--theme_name=<title>] : What to put in the 'Theme Name:' header in style.css -[--author=<full-name>] +[\--author=<full-name>] : What to put in the 'Author:' header in style.css -[--author_uri=<uri>] +[\--author_uri=<uri>] : What to put in the 'Author URI:' header in style.css -[--theme_uri=<uri>] +[\--theme_uri=<uri>] : What to put in the 'Theme URI:' header in style.css -[--activate] +[\--activate] : Activate the newly created child theme. diff --git a/commands/scaffold/plugin/index.md b/commands/scaffold/plugin/index.md index 7eca0e61..e6322674 100644 --- a/commands/scaffold/plugin/index.md +++ b/commands/scaffold/plugin/index.md @@ -10,9 +10,9 @@ title: 'wp scaffold plugin' <slug> : The internal name of the plugin. -[--activate] +[\--activate] : Activate the newly generated plugin. -[--plugin_name=<title>] +[\--plugin_name=<title>] : What to put in the 'Plugin Name:' header diff --git a/commands/scaffold/post-type/index.md b/commands/scaffold/post-type/index.md index 1bf1a362..40487eb5 100644 --- a/commands/scaffold/post-type/index.md +++ b/commands/scaffold/post-type/index.md @@ -10,19 +10,19 @@ title: 'wp scaffold post-type' <slug> : The internal name of the post type. -[--label=<label>] +[\--label=<label>] : The text used to translate the update messages -[--textdomain=<textdomain>] +[\--textdomain=<textdomain>] : The textdomain to use for the labels. -[--theme] +[\--theme] : Create a file in the active theme directory, instead of sending to STDOUT. Specify a theme with `--theme=<theme>` to have the file placed in that theme. -[--plugin=<plugin>] +[\--plugin=<plugin>] : Create a file in the given plugin's directory, instead of sending to STDOUT. -[--raw] +[\--raw] : Just generate the `register_post_type()` call and nothing else. diff --git a/commands/scaffold/taxonomy/index.md b/commands/scaffold/taxonomy/index.md index 76e328f5..11c2ca0f 100644 --- a/commands/scaffold/taxonomy/index.md +++ b/commands/scaffold/taxonomy/index.md @@ -10,23 +10,23 @@ title: 'wp scaffold taxonomy' <slug> : The internal name of the taxonomy. -[--post_types=<post-types>] +[\--post_types=<post-types>] : Post types to register for use with the taxonomy. -[--label=<label>] +[\--label=<label>] : The text used to translate the update messages. -[--textdomain=<textdomain>] +[\--textdomain=<textdomain>] : The textdomain to use for the labels. -[--theme] +[\--theme] : Create a file in the active theme directory, instead of sending to STDOUT. Specify a theme with `--theme=<theme>` to have the file placed in that theme. -[--plugin=<plugin>] +[\--plugin=<plugin>] : Create a file in the given plugin's directory, instead of sending to STDOUT. -[--raw] +[\--raw] : Just generate the `register_taxonomy()` call and nothing else. ### EXAMPLES diff --git a/commands/search-replace/index.md b/commands/search-replace/index.md index d5ddbfbd..bc4caac3 100644 --- a/commands/search-replace/index.md +++ b/commands/search-replace/index.md @@ -22,13 +22,13 @@ It will correctly handle serialized values, and will not change primary key valu [<table>...] : List of database tables to restrict the replacement to. -[--network] +[\--network] : Search/replace through all the tables in a multisite install. -[--skip-columns=<columns>] +[\--skip-columns=<columns>] : Do not perform the replacement in the comma-separated columns. -[--dry-run] +[\--dry-run] : Show report, but don't perform the changes. ### EXAMPLES diff --git a/commands/shell/index.md b/commands/shell/index.md index 02350759..9fe82d2a 100644 --- a/commands/shell/index.md +++ b/commands/shell/index.md @@ -11,6 +11,6 @@ title: 'wp shell' ### OPTIONS -[--basic] +[\--basic] : Start in fail-safe mode, even if Boris is available. diff --git a/commands/site/create/index.md b/commands/site/create/index.md index b9791ed4..5cfc4083 100644 --- a/commands/site/create/index.md +++ b/commands/site/create/index.md @@ -7,21 +7,21 @@ title: 'wp site create' ### OPTIONS ---slug=<slug> +\--slug=<slug> : Path for the new site. Subdomain on subdomain installs, directory on subdirectory installs. ---title=<title&gt; +\--title=<title&gt; : Title of the new site. Default: prettified slug. ---email=<email> +\--email=<email> : Email for Admin user. User will be created if none exists. Assignement to Super Admin if not included. ---network_id=<network-id> +\--network_id=<network-id> : Network to associate new site with. Defaults to current network (typically 1). ---private +\--private : If set, the new site will be non-public (not indexed) ---porcelain +\--porcelain : If set, only the site id will be output on success. diff --git a/commands/site/delete/index.md b/commands/site/delete/index.md index 60bc9a14..fc656f3e 100644 --- a/commands/site/delete/index.md +++ b/commands/site/delete/index.md @@ -10,12 +10,12 @@ title: 'wp site delete' [<site-id>] : The id of the site to delete. If not provided, you must set the --slug parameter. -[--slug=<slug>] +[\--slug=<slug>] : Path of the blog to be deleted. Subdomain on subdomain installs, directory on subdirectory installs. -[--yes] +[\--yes] : Answer yes to the confirmation message. -[--keep-tables] +[\--keep-tables] : Delete the blog from the list, but don't drop it's tables. diff --git a/commands/site/empty/index.md b/commands/site/empty/index.md index cd5fd8b2..0b787135 100644 --- a/commands/site/empty/index.md +++ b/commands/site/empty/index.md @@ -7,6 +7,6 @@ title: 'wp site empty' ### OPTIONS -[--yes] +[\--yes] : Proceed to empty the site without a confirmation prompt. diff --git a/commands/site/list/index.md b/commands/site/list/index.md index eef7d36b..ff3a842a 100644 --- a/commands/site/list/index.md +++ b/commands/site/list/index.md @@ -7,16 +7,16 @@ title: 'wp site list' ### OPTIONS -[--network=<id>] +[\--network=<id>] : The network to which the sites belong. -[--field=<field>] +[\--field=<field>] : Prints the value of a single field for each site. -[--fields=<fields>] +[\--fields=<fields>] : Comma-separated list of fields to show. -[--format=<format>] +[\--format=<format>] : Output list as table, csv, json or url. Defaults to table. ### EXAMPLES diff --git a/commands/term/create/index.md b/commands/term/create/index.md index 2d3ba212..711a1490 100644 --- a/commands/term/create/index.md +++ b/commands/term/create/index.md @@ -13,16 +13,16 @@ title: 'wp term create' <taxonomy> : Taxonomy for the new term. -[--slug=<slug>] +[\--slug=<slug>] : A unique slug for the new term. Defaults to sanitized version of name. -[--description=<description>] +[\--description=<description>] : A description for the new term. -[--parent=<term-id>] +[\--parent=<term-id>] : A parent for the new term. -[--porcelain] +[\--porcelain] : Output just the new term id. ### EXAMPLES diff --git a/commands/term/get/index.md b/commands/term/get/index.md index f959fd2c..80ecaeb2 100644 --- a/commands/term/get/index.md +++ b/commands/term/get/index.md @@ -13,10 +13,10 @@ title: 'wp term get' <taxonomy> : Taxonomy of the term to get -[--field=<field>] +[\--field=<field>] : Instead of returning the whole term, returns the value of a single field. -[--format=<format>] +[\--format=<format>] : The format to use when printing the term, acceptable values: - **table**: Outputs all fields of the term as a table. diff --git a/commands/term/list/index.md b/commands/term/list/index.md index ae817e36..5c775cab 100644 --- a/commands/term/list/index.md +++ b/commands/term/list/index.md @@ -10,16 +10,16 @@ title: 'wp term list' <taxonomy> : List terms of a given taxonomy. -[--<field>=<value>] +[\--<field>=<value>] : Filter by one or more fields. For accepted fields, see get_terms(). -[--field=<field>] +[\--field=<field>] : Prints the value of a single field for each term. -[--fields=<fields>] +[\--fields=<fields>] : Limit the output to specific object fields. Defaults to all of the term object fields. -[--format=<format>] +[\--format=<format>] : Output list as table, CSV, JSON, or simply IDs. Defaults to table. ### EXAMPLES diff --git a/commands/term/update/index.md b/commands/term/update/index.md index 7eace74e..fd181a5d 100644 --- a/commands/term/update/index.md +++ b/commands/term/update/index.md @@ -13,16 +13,16 @@ title: 'wp term update' <taxonomy> : Taxonomy of the term to update. -[--name=<name>] +[\--name=<name>] : A new name for the term. -[--slug=<slug>] +[\--slug=<slug>] : A new slug for the term. -[--description=<description>] +[\--description=<description>] : A new description for the term. -[--parent=<term-id>] +[\--parent=<term-id>] : A new parent for the term. ### EXAMPLES diff --git a/commands/theme/get/index.md b/commands/theme/get/index.md index f7542ba8..b3374016 100644 --- a/commands/theme/get/index.md +++ b/commands/theme/get/index.md @@ -10,10 +10,10 @@ title: 'wp theme get' <theme> : The theme to get. -[--field=<field>] +[\--field=<field>] : Instead of returning the whole theme, returns the value of a single field. -[--format=<format>] +[\--format=<format>] : Output list as table or JSON. Defaults to table. ### EXAMPLES diff --git a/commands/theme/install/index.md b/commands/theme/install/index.md index 27c2e4df..d48e1e73 100644 --- a/commands/theme/install/index.md +++ b/commands/theme/install/index.md @@ -10,15 +10,15 @@ title: 'wp theme install' <theme|zip|url>... : A theme slug, the path to a local zip file, or URL to a remote zip file. -[--version=<version>] +[\--version=<version>] : If set, get that particular version from wordpress.org, instead of the stable version. -[--force] +[\--force] : If set, the command will overwrite any installed version of the theme, without prompting for confirmation. -[--activate] +[\--activate] : If set, the theme will be activated immediately after install. ### EXAMPLES diff --git a/commands/theme/list/index.md b/commands/theme/list/index.md index 2b682ee9..2b81bb82 100644 --- a/commands/theme/list/index.md +++ b/commands/theme/list/index.md @@ -7,13 +7,13 @@ title: 'wp theme list' ### OPTIONS -[--field=<field>] +[\--field=<field>] : Prints the value of a single field for each theme. -[--fields=<fields>] +[\--fields=<fields>] : Limit the output to specific object fields. Defaults to name,status,update,version. -[--format=<format>] +[\--format=<format>] : Output list as table, CSV or JSON. Defaults to table. ### EXAMPLES diff --git a/commands/theme/path/index.md b/commands/theme/path/index.md index d2ea0a70..3b8f36dd 100644 --- a/commands/theme/path/index.md +++ b/commands/theme/path/index.md @@ -11,7 +11,7 @@ title: 'wp theme path' : The theme to get the path to. Path includes "style.css" file. If not set, will return the path to the themes directory. -[--dir] +[\--dir] : If set, get the path to the closest parent directory, instead of the theme's "style.css" file. diff --git a/commands/theme/search/index.md b/commands/theme/search/index.md index 24b3a246..1ee2fc11 100644 --- a/commands/theme/search/index.md +++ b/commands/theme/search/index.md @@ -10,10 +10,10 @@ title: 'wp theme search' <search> : The string to search for. -[--per-page=<per-page>] +[\--per-page=<per-page>] : Optional number of results to display. Defaults to 10. -[--fields=<fields>] +[\--fields=<fields>] : Ask for specific fields from the API. Defaults to name,slug,author,rating. Acceptable values: **name**: Theme Name diff --git a/commands/theme/update/index.md b/commands/theme/update/index.md index 1c8e5b82..d6e423c6 100644 --- a/commands/theme/update/index.md +++ b/commands/theme/update/index.md @@ -10,14 +10,14 @@ title: 'wp theme update' [<theme>...] : One or more themes to update. -[--all] +[\--all] : If set, all themes that have updates will be updated. -[--version=<version>] +[\--version=<version>] : If set, the theme will be updated to the latest development version, regardless of what version is currently installed. -[--dry-run] +[\--dry-run] : Preview which themes would be updated. ### EXAMPLES diff --git a/commands/user-meta/index.md b/commands/user-meta/index.md index f8a287aa..8438f00a 100644 --- a/commands/user-meta/index.md +++ b/commands/user-meta/index.md @@ -7,7 +7,7 @@ title: 'wp user-meta' ### OPTIONS ---format=json +\--format=json : Encode/decode values as JSON. ### EXAMPLES diff --git a/commands/user/create/index.md b/commands/user/create/index.md index 05efbf02..f376d666 100644 --- a/commands/user/create/index.md +++ b/commands/user/create/index.md @@ -13,19 +13,19 @@ title: 'wp user create' <user-email> : The email address of the user to create. -[--role=<role>] +[\--role=<role>] : The role of the user to create. Default: default role -[--user_pass=<password>] +[\--user_pass=<password>] : The user password. Default: randomly generated -[--user_registered=<yyyy-mm-dd>] +[\--user_registered=<yyyy-mm-dd>] : The date the user registered. Default: current date -[--display_name=<name>] +[\--display_name=<name>] : The display name. -[--porcelain] +[\--porcelain] : Output just the new user id. ### EXAMPLES diff --git a/commands/user/delete/index.md b/commands/user/delete/index.md index 75b681dc..be82e4ac 100644 --- a/commands/user/delete/index.md +++ b/commands/user/delete/index.md @@ -10,7 +10,7 @@ title: 'wp user delete' <user>... : The user login or ID of the user(s) to update. -[--reassign=<user-id>] +[\--reassign=<user-id>] : User ID to reassign the posts to. ### EXAMPLES diff --git a/commands/user/generate/index.md b/commands/user/generate/index.md index 30caa4b5..6a97c6a3 100644 --- a/commands/user/generate/index.md +++ b/commands/user/generate/index.md @@ -7,9 +7,9 @@ title: 'wp user generate' ### OPTIONS -[--count=<number>] +[\--count=<number>] : How many users to generate. Default: 100 -[--role=<role>] +[\--role=<role>] : The role of the generated users. Default: default role from WP diff --git a/commands/user/get/index.md b/commands/user/get/index.md index 1b23f899..ac3c6ff2 100644 --- a/commands/user/get/index.md +++ b/commands/user/get/index.md @@ -10,10 +10,10 @@ title: 'wp user get' <user> : User ID or user login. -[--field=<field>] +[\--field=<field>] : Instead of returning the whole user, returns the value of a single field. -[--format=<format>] +[\--format=<format>] : The format to use when printing the user; acceptable values: **table**: Outputs all fields of the user as a table. diff --git a/commands/user/list/index.md b/commands/user/list/index.md index 348f23ce..2c2f7efd 100644 --- a/commands/user/list/index.md +++ b/commands/user/list/index.md @@ -7,19 +7,19 @@ title: 'wp user list' ### OPTIONS -[--role=<role>] +[\--role=<role>] : Only display users with a certain role. -[--<field>=<value>] +[\--<field>=<value>] : Filter by one or more fields. For accepted fields, see get_users(). -[--field=<field>] +[\--field=<field>] : Prints the value of a single field for each user. -[--fields=<fields>] +[\--fields=<fields>] : Limit the output to specific object fields. Defaults to ID,user_login,display_name,user_email,user_registered,roles -[--format=<format>] +[\--format=<format>] : Output list as table, CSV, JSON, or simply IDs. Defaults to table. ### EXAMPLES diff --git a/commands/user/update/index.md b/commands/user/update/index.md index 03ad924c..bd1e0189 100644 --- a/commands/user/update/index.md +++ b/commands/user/update/index.md @@ -10,7 +10,7 @@ title: 'wp user update' <user>... : The user login or ID of the user(s) to update. ---<field>=<value> +\--<field>=<value> : One or more fields to update. For accepted fields, see wp_update_user(). ### EXAMPLES From bb52532af823655238c42c0e7d4f30f2c36b832c Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Fri, 4 Oct 2013 18:59:50 +0200 Subject: [PATCH 212/839] add 0.12 release post --- _posts/2013-10-04-version-0.12.md | 65 +++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 _posts/2013-10-04-version-0.12.md diff --git a/_posts/2013-10-04-version-0.12.md b/_posts/2013-10-04-version-0.12.md new file mode 100644 index 00000000..11f94ccf --- /dev/null +++ b/_posts/2013-10-04-version-0.12.md @@ -0,0 +1,65 @@ +--- +layout: post +author: scribu +title: Version 0.12 released +--- +It's been almost two months since the last major release. We have a few neat features to show you: + +### `wp site list` command + +I predict that this will turn out to be the most useful command for managing multisite installs, because you can use it to loop through all of them, directly from bash even: + + for url in $(wp site list --field=url) + do + echo "$url:" + wp --url=$url post list + done + +### New `--field=` parameter + +Notice the `--field=url` parameter I used above? It's available for all commands that display some information. A few examples: + + wp post get 123 --field=content + + wp user list --field=username + +This will retrieve only the content of the post with ID 123 and nothing else. + +### Experimental `--prompt` global parameter + +This nifty little parameter changes the behaviour of commands when required arguments are not passed to a command. Instead of showing an error and exiting, it prompts you for the value of each argument. Try it out: + + wp theme scaffold --prompt + +### Phar archives are back + +They were originally introduced in [version 0.9](http://wp-cli.org/blog/version-0.9.html) and... ahem, naively abandoned in the next release with the introduction of the installer script. + +The installer uses Composer, which has its own environmental requirements, but, more importantly, it has to fetch all of the packages WP-CLI depends on, which is both less reliable and slower than downloading a single file that contains everything. + +This is particularly important in a continuous integration environment, like Travis CI, where you want to have your builds run as fast as possible and fail only due to failing tests, not due to a faulty internet connection. + +So, phar archives can be downloaded from the [wp-cli/builds](https://github.com/wp-cli/builds/tree/gh-pages/phar) repository. + +### Breaking changes + +* `wp post get --format=content` was replaced with `wp post get --field=content` +* the `wp rewrite dump` command was replaced with `wp rewrite list` +* the `wp comment last` command was removed (use `wp comment list` instead) + +### Other non-obvious changes + +* `wp search-replace` no longer touches serialized objects +* WP-CLI will display PHP errors on STDERR, even if XDebug is not installed + +### New commands + +* `wp comment get`, `wp comment update` and `wp comment exists` +* `wp plugin get` and `wp theme get` +* `wp plugin search` and `wp theme search` +* `wp plugin is-installed` and `wp theme is-installed` +* `wp user add-cap`, `wp user remove-cap` and `wp user list-caps` + +You can browse the full list of [resolved issues](https://github.com/WP-CLI/WP-CLI/issues?milestone=14&state=closed) on Github. + +Contributors to this release: [c10b10](https://github.com/c10b10), [danielbachhuber](https://github.com/danielbachhuber), [getsource](https://github.com/getsource), [goldenapples](https://github.com/goldenapples), [jmslbam](https://github.com/jmslbam), [johnbillion](https://github.com/johnbillion), [joshbetz](https://github.com/joshbetz), [jtsternberg](https://github.com/jtsternberg), [mattes](https://github.com/mattes), [MattiaG](https://github.com/MattiaG), [mpeshev](https://github.com/mpeshev), [nikolay](https://github.com/nikolay), [nullvariable](https://github.com/nullvariable), [oknoway](https://github.com/oknoway), [Rarst](https://github.com/Rarst), [scribu](https://github.com/scribu), [smhmic](https://github.com/smhmic), [stianlik](https://github.com/stianlik), [thisislawatts](https://github.com/thisislawatts), [trepmal](https://github.com/trepmal), [westonruter](https://github.com/westonruter). From d0689913bf4442b7a542fa020d6836105fa7ccc3 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Fri, 4 Oct 2013 20:10:16 +0200 Subject: [PATCH 213/839] add links to various issues --- _posts/2013-10-04-version-0.12.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/_posts/2013-10-04-version-0.12.md b/_posts/2013-10-04-version-0.12.md index 11f94ccf..bd5f180b 100644 --- a/_posts/2013-10-04-version-0.12.md +++ b/_posts/2013-10-04-version-0.12.md @@ -49,8 +49,8 @@ So, phar archives can be downloaded from the [wp-cli/builds](https://github.com/ ### Other non-obvious changes -* `wp search-replace` no longer touches serialized objects -* WP-CLI will display PHP errors on STDERR, even if XDebug is not installed +* `wp search-replace` no longer touches serialized objects ([#792][1]) +* WP-CLI will display PHP errors on STDERR, even if XDebug is not installed ([#786][2]) ### New commands @@ -62,4 +62,7 @@ So, phar archives can be downloaded from the [wp-cli/builds](https://github.com/ You can browse the full list of [resolved issues](https://github.com/WP-CLI/WP-CLI/issues?milestone=14&state=closed) on Github. +[1]: https://github.com/wp-cli/wp-cli/issues/792#issuecomment-25376430 +[2]: https://github.com/wp-cli/wp-cli/pull/786 + Contributors to this release: [c10b10](https://github.com/c10b10), [danielbachhuber](https://github.com/danielbachhuber), [getsource](https://github.com/getsource), [goldenapples](https://github.com/goldenapples), [jmslbam](https://github.com/jmslbam), [johnbillion](https://github.com/johnbillion), [joshbetz](https://github.com/joshbetz), [jtsternberg](https://github.com/jtsternberg), [mattes](https://github.com/mattes), [MattiaG](https://github.com/MattiaG), [mpeshev](https://github.com/mpeshev), [nikolay](https://github.com/nikolay), [nullvariable](https://github.com/nullvariable), [oknoway](https://github.com/oknoway), [Rarst](https://github.com/Rarst), [scribu](https://github.com/scribu), [smhmic](https://github.com/smhmic), [stianlik](https://github.com/stianlik), [thisislawatts](https://github.com/thisislawatts), [trepmal](https://github.com/trepmal), [westonruter](https://github.com/westonruter). From 817d5f903a89b6e0bf5749228e8232f0f1d9dab8 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Fri, 11 Oct 2013 15:37:55 +0300 Subject: [PATCH 214/839] add 0.12.1 release post --- _posts/2013-10-11-version-0.12.1.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 _posts/2013-10-11-version-0.12.1.md diff --git a/_posts/2013-10-11-version-0.12.1.md b/_posts/2013-10-11-version-0.12.1.md new file mode 100644 index 00000000..e78eff00 --- /dev/null +++ b/_posts/2013-10-11-version-0.12.1.md @@ -0,0 +1,16 @@ +--- +layout: post +author: scribu +title: Version 0.12.1 released +--- +Hot on the heels of the [0.12 release](/blog/version-0.12.html) comes a minor release with a few fixes: + +* fixed `wp plugin delete` when plugin is not in its own directory +* show warning when an HTTPS request fails +* added `--field=` parameter to `wp plugin search` and `wp theme search` +* made the `--post__in=` parameter in `wp post list` work +* added `--match=` argument for `wp rewrite list` + other improvements + +You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?milestone=18&page=1&state=closed) on Github. + +Contributors to this release: [danielbachhuber](https://github.com/danielbachhuber), [mattes](https://github.com/mattes), [scribu](https://github.com/scribu) From cecbbf01cc845cdaeeb438f6fba3207bffa8db2d Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Fri, 11 Oct 2013 16:35:14 +0300 Subject: [PATCH 215/839] make site a bit wider --- assets/css/stylesheet.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 7012cd12..15358a9d 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -12,7 +12,7 @@ body { .container { width: 90%; - max-width: 600px; + max-width: 800px; margin: 0 auto; } From 09e81ad3f17eba7f004067693bb72cb0b09287a0 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Fri, 11 Oct 2013 16:42:14 +0300 Subject: [PATCH 216/839] add link to package index from the main site --- _includes/header.html | 1 + 1 file changed, 1 insertion(+) diff --git a/_includes/header.html b/_includes/header.html index 5c1c307b..77e3cd53 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -23,6 +23,7 @@ <h2>A command line interface for WordPress</h2> <section id="downloads"> <a href="/commands/" class="btn btn-cmd">Commands</a> <a href="/config/" class="btn btn-cmd">Configuration</a> + <a href="/package-index/" class="btn btn-cmd">Packages</a> <a href="/blog/" class="btn btn-blog">Blog</a> <a href="https://github.com/wp-cli/wp-cli/wiki" class="btn btn-github">Wiki</a> <a href="https://github.com/wp-cli/wp-cli" class="btn btn-source">Github</a> From 35f3667710b16f1604572f1a57f361d7b04cf7ff Mon Sep 17 00:00:00 2001 From: "Aaron D. Campbell" <aaron@xavisys.com> Date: Fri, 11 Oct 2013 14:46:30 -0500 Subject: [PATCH 217/839] Remove reference to nonexistent --no-dev --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index 59cdcff3..0a4e4afd 100644 --- a/index.md +++ b/index.md @@ -59,7 +59,7 @@ If you installed WP-CLI using the method above, you can also easily update it: ~~~ cd ~/.wp-cli php composer.phar self-update -php composer.phar require 'wp-cli/wp-cli=@stable' --no-dev +php composer.phar require 'wp-cli/wp-cli=@stable' ~~~ Also see [Alternative Install Methods](https://github.com/wp-cli/wp-cli/wiki/Alternative-Install-Methods). From f8e5709256719c80565090a91d3afef66f250fdb Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Thu, 24 Oct 2013 22:50:24 +0300 Subject: [PATCH 218/839] update docs for 'wp plugin path' see wp-cli/wp-cli#842 --- commands/plugin/path/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/commands/plugin/path/index.md b/commands/plugin/path/index.md index 039888e4..11257b8f 100644 --- a/commands/plugin/path/index.md +++ b/commands/plugin/path/index.md @@ -17,5 +17,5 @@ plugin file. ### EXAMPLES - cd $(wp theme path) + cd $(wp plugin path) From b6b375d1707004c7b01e5514a100a0eb516b6330 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Fri, 25 Oct 2013 03:50:56 +0300 Subject: [PATCH 219/839] add post about loading WP --- .../2013-10-24-how-wp-cli-loads-wordpress.md | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 _posts/2013-10-24-how-wp-cli-loads-wordpress.md diff --git a/_posts/2013-10-24-how-wp-cli-loads-wordpress.md b/_posts/2013-10-24-how-wp-cli-loads-wordpress.md new file mode 100644 index 00000000..bd8ee44a --- /dev/null +++ b/_posts/2013-10-24-how-wp-cli-loads-wordpress.md @@ -0,0 +1,36 @@ +--- +layout: post +author: scribu +title: How WP-CLI loads WordPress +--- +Shelly Bashful loves the command line. Since she's been using it daily at work, she knows all the little tricks that make typing at the console a breeze. + +She'd been put in charge of a WordPress site a few weeks ago and was sorely missing a CLI management tool. All modern web frameworks have one and Drupal has Drush. For cron jobs, she could trigger HTTP requests, but that seemed like a really roundabout way of doing things. + +She figures that if she manages to load the WP environment from a CLI script, the rest would be easy. After a bit of trial-and-error, she comes up with a few lines of code: + + $_SERVER['HTTP_HOST'] = 'example.com'; + define('WP_ADMIN', true); + require('wordpress/wp-load.php'); + +Shelly is pleased; her script even works on multisite installs. Both the host name and the path to the WordPress install are hardcoded, but she can figure ways around that later. + +With her geeky curiosity satisfied, she lazily types in a google search, to check if anyone else has solved this problem. The first result is a project called WP-CLI. She installs it and tries out a few commands - it seems to work pretty well. + +She then goes to the WP-CLI source and searches for 'wp-load.php', to see how it handles the WordPress bootstrapping - 0 results. Puzzled, she starts going through the first file that gets executed and eventually reaches one called `wp-setting-cli.php`. This strikes Shelly as peculiar, since she encountered a similar file in WordPress Core. She signs into the project's IRC channel. + +shelly: "Why does WP-CLI use a modified copy of the wp-settings.php file?" + +After a while, someone responds: + +scribu: "Because WordPress does several things that don't make sense in a CLI context. For example, if the database tables are not installed, it prints out an HTML page with a link to the setup screen." + +shelly: "Ok, but won't that break when WordPress adds or removes files?" + +scribu: "Yes, it would, but keeping our copy up-to-date hasn't been too difficult so far and the control it gives us is worth it. In particular, it would be tricky to avoid loading the `advanced-cache.php` drop-in otherwise." + +shelly: "Wouldn't the caching problem be solved by setting `WP_ADMIN` to true?" + +scribu: "We tried that, but it turns out there are a lot of plugins that attempt to block wp-admin access, by calling `wp_redirect()` and then `exit()`. So now we load the admin-specific code explicitly." + +shelly: "Fair enough." From ca711af748ebefc5366d15b25fe4fc99d523b433 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Mon, 25 Nov 2013 09:29:01 +0200 Subject: [PATCH 220/839] moved plugin unit tests instructions to the wiki page --- _posts/2013-02-19-plugin-unit-tests.md | 30 ++------------------------ 1 file changed, 2 insertions(+), 28 deletions(-) diff --git a/_posts/2013-02-19-plugin-unit-tests.md b/_posts/2013-02-19-plugin-unit-tests.md index cce3ab92..ebca88d9 100644 --- a/_posts/2013-02-19-plugin-unit-tests.md +++ b/_posts/2013-02-19-plugin-unit-tests.md @@ -5,38 +5,12 @@ author: scribu --- One of the reasons so few people take the time to write [unit tests for plugins][3] they author is that it's a chore to set everything up. Besides installing [PHPUnit][4], you also have to set up the [WordPress testing library][5], as well as the actual plugin tests configuration files. -If you're running WP-CLI 0.9.0-alpha2 or later, there are commands that make the last two steps significantly easier: +If you're running WP-CLI 0.9.0-alpha2 or later, there are commands that make the last two steps significantly easier. See the [Plugin Unit Tests](https://github.com/wp-cli/wp-cli/wiki/Plugin-Unit-Tests) wiki page for up-to-date usage info. - wp core init-tests - -Given some database credentials, the above command will download and configure the WordPress testing library, using the current WordPress install as the base. - - wp scaffold plugin-tests <your-plugin> - -This command will generate all the necessary files for running the plugin tests locally. - -Additionally, if you choose to host your plugin on Github, you can make the tests run automatically after every commit, via [Travis CI][1]. - -So, here's a complete example: - - # Initialize the testing library - wp core init-tests ~/svn/wp-tests --dbname=wp_test --dbuser=root --dbpass=asd - mysql -u'root' -p'asd' -e 'CREATE DATABASE IF NOT EXISTS wp_test' - - # Generate the plugin files - wp scaffold plugin sample-plugin - - # Run the tests - cd wp-content/plugins/sample-plugin - WP_TESTS_DIR=~/svn/wp-tests phpunit - -You can check out the [sample-plugin][2] repo to see what the generated plugin looks like. - -Run `wp help scaffold plugin-tests` for more info. +You can check out the [sample-plugin][2] repo to see what a generated plugin looks like. A shout-out to the people that contributed to [benbalter/wordpress-plugin-tests][6] is in order. -[1]: http://about.travis-ci.org [2]: https://github.com/wp-cli/sample-plugin [3]: http://wordpress.tv/2011/08/20/nikolay-bachiyski-unit-testing-will-change-your-life/ [4]: http://www.phpunit.de/manual/current/en/automating-tests.html From 9bb605e534b3ace15366a5737f8a24b04e5cedeb Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Sat, 30 Nov 2013 13:57:07 +0200 Subject: [PATCH 221/839] mention the global config file and per-command config values --- config/index.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/config/index.md b/config/index.md index eead1574..2acf892a 100644 --- a/config/index.md +++ b/config/index.md @@ -11,6 +11,7 @@ The order of precedence is: 1. Command-line flags 1. `wp-cli.local.yml` file 1. `wp-cli.yml` file +1. `~/.wp-cli/config.yml` file 1. Defaults <table> @@ -36,3 +37,7 @@ Example `wp-cli.yml` file: disabled_commands: - db drop - plugin install + + core install: + admin_user: billy + admin_email: billy@example.com From 7fcf14c0e47d7e9a63a0d2d87524fdb767db8cef Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Sat, 30 Nov 2013 14:59:39 +0200 Subject: [PATCH 222/839] update command docs for WP 0.13 --- _includes/cmd-list.html | 4 +++ _includes/param-list.html | 6 ---- commands/cap/list/index.md | 3 ++ commands/cli/info/index.md | 3 ++ commands/comment-meta/add/index.md | 9 ++++++ commands/comment-meta/delete/index.md | 9 ++++++ commands/comment-meta/get/index.md | 9 ++++++ commands/comment-meta/index.md | 44 +++++++++++++++++++++++++++ commands/comment-meta/update/index.md | 9 ++++++ commands/comment/get/index.md | 5 +-- commands/comment/list/index.md | 2 +- commands/core/download/index.md | 3 ++ commands/core/index.md | 4 --- commands/core/init-tests/index.md | 9 ------ commands/export/index.md | 2 +- commands/import/index.md | 2 +- commands/plugin/deactivate/index.md | 5 ++- commands/plugin/list/index.md | 7 +++-- commands/plugin/search/index.md | 7 +++-- commands/post/generate/index.md | 4 +++ commands/post/get/index.md | 7 +---- commands/post/list/index.md | 2 +- commands/rewrite/list/index.md | 8 ++++- commands/role/list/index.md | 2 +- commands/scaffold/plugin/index.md | 9 ++++-- commands/site/list/index.md | 2 +- commands/term/get/index.md | 5 +-- commands/term/list/index.md | 2 +- commands/theme/get/index.md | 2 +- commands/theme/list/index.md | 7 +++-- commands/theme/search/index.md | 6 ++++ commands/user/get/index.md | 6 +--- commands/user/list/index.md | 2 +- 33 files changed, 148 insertions(+), 58 deletions(-) create mode 100644 commands/comment-meta/add/index.md create mode 100644 commands/comment-meta/delete/index.md create mode 100644 commands/comment-meta/get/index.md create mode 100644 commands/comment-meta/index.md create mode 100644 commands/comment-meta/update/index.md delete mode 100644 commands/core/init-tests/index.md diff --git a/_includes/cmd-list.html b/_includes/cmd-list.html index 4c35fa41..16915a61 100644 --- a/_includes/cmd-list.html +++ b/_includes/cmd-list.html @@ -14,6 +14,10 @@ <td><a href="/commands/comment/">comment</a></td> <td>Manage comments.</td> </tr> + <tr> + <td><a href="/commands/comment-meta/">comment-meta</a></td> + <td>Manage comment custom fields.</td> + </tr> <tr> <td><a href="/commands/core/">core</a></td> <td>Download, install, update and otherwise manage WordPress proper.</td> diff --git a/_includes/param-list.html b/_includes/param-list.html index 93842bc0..02060db6 100644 --- a/_includes/param-list.html +++ b/_includes/param-list.html @@ -1,9 +1,3 @@ - <tr> - <td><code></code></td> - <td><code>--config=<path></code></td> - <td><code>null</code></td> - <td>Path to the wp-cli config file</td> - </tr> <tr> <td><code>path: <path></code></td> <td><code>--path=<path></code></td> diff --git a/commands/cap/list/index.md b/commands/cap/list/index.md index 89097639..173a30b5 100644 --- a/commands/cap/list/index.md +++ b/commands/cap/list/index.md @@ -5,5 +5,8 @@ title: 'wp cap list' `wp cap list` - List capabilities for a given role. +### EXAMPLES + # Display alphabetical list of bbPress moderator capabilities + wp cap list 'bbp_moderator' | sort diff --git a/commands/cli/info/index.md b/commands/cli/info/index.md index dad4889b..6ee59af4 100644 --- a/commands/cli/info/index.md +++ b/commands/cli/info/index.md @@ -5,5 +5,8 @@ title: 'wp cli info' `wp cli info` - Print various data about the CLI environment. +### OPTIONS +[\--format=<format>] +: Accepted values: json diff --git a/commands/comment-meta/add/index.md b/commands/comment-meta/add/index.md new file mode 100644 index 00000000..86f1bfb2 --- /dev/null +++ b/commands/comment-meta/add/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp comment-meta add' +--- + +`wp comment-meta add` - Add a meta field. + + + diff --git a/commands/comment-meta/delete/index.md b/commands/comment-meta/delete/index.md new file mode 100644 index 00000000..045b17e1 --- /dev/null +++ b/commands/comment-meta/delete/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp comment-meta delete' +--- + +`wp comment-meta delete` - Delete a meta field. + + + diff --git a/commands/comment-meta/get/index.md b/commands/comment-meta/get/index.md new file mode 100644 index 00000000..69b7eb85 --- /dev/null +++ b/commands/comment-meta/get/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp comment-meta get' +--- + +`wp comment-meta get` - Get meta field value. + + + diff --git a/commands/comment-meta/index.md b/commands/comment-meta/index.md new file mode 100644 index 00000000..dc1ec6df --- /dev/null +++ b/commands/comment-meta/index.md @@ -0,0 +1,44 @@ +--- +layout: default +title: 'wp comment-meta' +--- + +`wp comment-meta` - Manage comment custom fields. + +### OPTIONS + +\--format=json +: Encode/decode values as JSON. + +### EXAMPLES + + wp comment-meta set 123 description "Mary is a WordPress developer." + +### SUBCOMMANDS + +<table> + <thead> + <tr> + <th>Name</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="/commands/comment-meta/add/">add</a></td> + <td>Add a meta field.</td> + </tr> + <tr> + <td><a href="/commands/comment-meta/delete/">delete</a></td> + <td>Delete a meta field.</td> + </tr> + <tr> + <td><a href="/commands/comment-meta/get/">get</a></td> + <td>Get meta field value.</td> + </tr> + <tr> + <td><a href="/commands/comment-meta/update/">update</a></td> + <td>Update a meta field.</td> + </tr> + </tbody> +</table> diff --git a/commands/comment-meta/update/index.md b/commands/comment-meta/update/index.md new file mode 100644 index 00000000..d71eac70 --- /dev/null +++ b/commands/comment-meta/update/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp comment-meta update' +--- + +`wp comment-meta update` - Update a meta field. + + + diff --git a/commands/comment/get/index.md b/commands/comment/get/index.md index c05aeddb..5981f434 100644 --- a/commands/comment/get/index.md +++ b/commands/comment/get/index.md @@ -14,10 +14,7 @@ title: 'wp comment get' : Instead of returning the whole comment, returns the value of a single field. [\--format=<format>] -: The format to use when printing the comment, acceptable values: - - - **table**: Outputs all fields of the comment as a table. - - **json**: Outputs all fields in JSON format. +: Accepted values: table, json. Default: table ### EXAMPLES diff --git a/commands/comment/list/index.md b/commands/comment/list/index.md index 509b19ae..66561710 100644 --- a/commands/comment/list/index.md +++ b/commands/comment/list/index.md @@ -17,7 +17,7 @@ title: 'wp comment list' : Limit the output to specific object fields. Defaults to comment_ID,comment_post_ID,comment_date,comment_approved,comment_author,comment_author_email [\--format=<format>] -: Output list as table, CSV, JSON, or simply IDs. Defaults to table. +: Accepted values: table, csv, json, count. Default: table ### EXAMPLES diff --git a/commands/core/download/index.md b/commands/core/download/index.md index 700eb6d3..261de7b4 100644 --- a/commands/core/download/index.md +++ b/commands/core/download/index.md @@ -7,6 +7,9 @@ title: 'wp core download' ### OPTIONS +[\--path=<path>] +: Specify the path in which to install WordPress. + [\--locale=<locale>] : Select which language you want to download. diff --git a/commands/core/index.md b/commands/core/index.md index 9a9b6e64..421c2e25 100644 --- a/commands/core/index.md +++ b/commands/core/index.md @@ -25,10 +25,6 @@ title: 'wp core' <td><a href="/commands/core/download/">download</a></td> <td>Download core WordPress files.</td> </tr> - <tr> - <td><a href="/commands/core/init-tests/">init-tests</a></td> - <td>Set up the official test suite using the current WordPress instance.</td> - </tr> <tr> <td><a href="/commands/core/install/">install</a></td> <td>Create the WordPress tables in the database.</td> diff --git a/commands/core/init-tests/index.md b/commands/core/init-tests/index.md deleted file mode 100644 index 24699a7a..00000000 --- a/commands/core/init-tests/index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -layout: default -title: 'wp core init-tests' ---- - -`wp core init-tests` - Set up the official test suite using the current WordPress instance. - - - diff --git a/commands/export/index.md b/commands/export/index.md index 0cf4d274..3bdaa6b1 100644 --- a/commands/export/index.md +++ b/commands/export/index.md @@ -37,7 +37,7 @@ to current working directory. [\--author=<login/id>] : Export only posts by this author. -[\--category=<category-id>] +[\--category=<name>] : Export only posts in this category. [\--post_status=<status>] diff --git a/commands/import/index.md b/commands/import/index.md index 7f850597..a4911ca1 100644 --- a/commands/import/index.md +++ b/commands/import/index.md @@ -14,5 +14,5 @@ title: 'wp import' : How the author mapping should be handled. Options are 'create', 'mapping.csv', or 'skip'. The first will create any non-existent users from the WXR file. The second will read author mapping associations from a CSV, or create a CSV for editing if the file path doesn't exist. The last option will skip any author mapping. [\--skip=<data-type>] -: Skip importing specific data. Supported option is 'attachment'. +: Skip importing specific data. Supported options are: 'attachment' and 'image_resize' (skip time-consuming thumbnail generation). diff --git a/commands/plugin/deactivate/index.md b/commands/plugin/deactivate/index.md index 761668cf..97aa529e 100644 --- a/commands/plugin/deactivate/index.md +++ b/commands/plugin/deactivate/index.md @@ -7,9 +7,12 @@ title: 'wp plugin deactivate' ### OPTIONS -<plugin>... +[<plugin>...] : One or more plugins to deactivate. +[\--all] +: If set, all plugins will be deactivated. + [\--network] : If set, the plugin will be deactivated for the entire multisite network. diff --git a/commands/plugin/list/index.md b/commands/plugin/list/index.md index 793f9dcb..9e0cc445 100644 --- a/commands/plugin/list/index.md +++ b/commands/plugin/list/index.md @@ -7,6 +7,9 @@ title: 'wp plugin list' ### OPTIONS +[\--<field>=<value>] +: Filter results based on the value of a field. + [\--field=<field>] : Prints the value of a single field for each plugin. @@ -14,9 +17,9 @@ title: 'wp plugin list' : Limit the output to specific object fields. Defaults to name,status,update,version. [\--format=<format>] -: Output list as table, CSV or JSON. Defaults to table. +: Accepted values: table, csv, json, count. Default: table ### EXAMPLES - wp plugin list --format=json + wp plugin list --status=active --format=json diff --git a/commands/plugin/search/index.md b/commands/plugin/search/index.md index eb29e05d..2dc2c1da 100644 --- a/commands/plugin/search/index.md +++ b/commands/plugin/search/index.md @@ -13,8 +13,8 @@ title: 'wp plugin search' [\--per-page=<per-page>] : Optional number of results to display. Defaults to 10. -[\--format=<format>] -: Output list as table, CSV or JSON. Defaults to table. +[\--field=<field>] +: Prints the value of a single field for each plugin. [\--fields=<fields>] : Ask for specific fields from the API. Defaults to name,slug,author_profile,rating. Acceptable values: @@ -34,6 +34,9 @@ title: 'wp plugin search' **description**: Plugin's Description **short_description**: Plugin's Short Description +[\--format=<format>] +: Accepted values: table, csv, json, count. Default: table + ### EXAMPLES wp plugin search dsgnwrks --per-page=20 --format=json diff --git a/commands/post/generate/index.md b/commands/post/generate/index.md index 8632264a..220fb96e 100644 --- a/commands/post/generate/index.md +++ b/commands/post/generate/index.md @@ -22,10 +22,14 @@ title: 'wp post generate' [\--post_date=<yyyy-mm-dd>] : The date of the generated posts. Default: current date +[\--post_content] +: If set, the command reads the post_content from STDIN. + [\--max_depth=<number>] : For hierarchical post types, generate child posts down to a certain depth. Default: 1 ### EXAMPLES wp post generate --count=10 --post_type=page --post_date=1999-01-04 + curl http://loripsum.net/api/5 | wp post generate --post_content --count=10 diff --git a/commands/post/get/index.md b/commands/post/get/index.md index 562ab515..b5331936 100644 --- a/commands/post/get/index.md +++ b/commands/post/get/index.md @@ -14,12 +14,7 @@ title: 'wp post get' : Instead of returning the whole post, returns the value of a single field. [\--format=<format>] -: The format to use when printing the post, acceptable values: - - - **table**: Outputs all fields of the post as a table. Note that the - post_content field is omitted so that the table is readable. - - - **json**: Outputs all fields in JSON format. +: Accepted values: table, json. Default: table ### EXAMPLES diff --git a/commands/post/list/index.md b/commands/post/list/index.md index 27f46150..915527a6 100644 --- a/commands/post/list/index.md +++ b/commands/post/list/index.md @@ -17,7 +17,7 @@ title: 'wp post list' : Limit the output to specific object fields. Defaults to ID,post_title,post_name,post_date,post_status. [\--format=<format>] -: Output list as table, CSV, JSON, or simply IDs. Defaults to table. +: Accepted values: table, csv, json, count. Default: table ### EXAMPLES diff --git a/commands/rewrite/list/index.md b/commands/rewrite/list/index.md index c4eb72c2..a5a7a191 100644 --- a/commands/rewrite/list/index.md +++ b/commands/rewrite/list/index.md @@ -7,8 +7,14 @@ title: 'wp rewrite list' ### OPTIONS +[\--match=<url>] +: Show rewrite rules matching a particular URL. + +[\--source=<source>] +: Show rewrite rules from a particular source. + [\--format=<format>] -: Output list as table, JSON or CSV. Defaults to table. +: Accepted values: table, csv, json, count. Default: table ### EXAMPLES diff --git a/commands/role/list/index.md b/commands/role/list/index.md index cf1f38e7..aeb1a51e 100644 --- a/commands/role/list/index.md +++ b/commands/role/list/index.md @@ -11,7 +11,7 @@ title: 'wp role list' : Limit the output to specific object fields. Defaults to name,role. [\--format=<format>] -: Output list as table, CSV or JSON. Defaults to table. +: Accepted values: table, csv, json, count. Default: table ### EXAMPLES diff --git a/commands/scaffold/plugin/index.md b/commands/scaffold/plugin/index.md index e6322674..8875869e 100644 --- a/commands/scaffold/plugin/index.md +++ b/commands/scaffold/plugin/index.md @@ -10,9 +10,12 @@ title: 'wp scaffold plugin' <slug> : The internal name of the plugin. -[\--activate] -: Activate the newly generated plugin. - [\--plugin_name=<title>] : What to put in the 'Plugin Name:' header +[\--skip-tests] +: Don't generate files for unit testing. + +[\--activate] +: Activate the newly generated plugin. + diff --git a/commands/site/list/index.md b/commands/site/list/index.md index ff3a842a..3622373a 100644 --- a/commands/site/list/index.md +++ b/commands/site/list/index.md @@ -17,7 +17,7 @@ title: 'wp site list' : Comma-separated list of fields to show. [\--format=<format>] -: Output list as table, csv, json or url. Defaults to table. +: Accepted values: table, csv, json, count. Default: table ### EXAMPLES diff --git a/commands/term/get/index.md b/commands/term/get/index.md index 80ecaeb2..17fa8ca9 100644 --- a/commands/term/get/index.md +++ b/commands/term/get/index.md @@ -17,10 +17,7 @@ title: 'wp term get' : Instead of returning the whole term, returns the value of a single field. [\--format=<format>] -: The format to use when printing the term, acceptable values: - - - **table**: Outputs all fields of the term as a table. - - **json**: Outputs all fields in JSON format. +: Accepted values: table, json. Default: table ### EXAMPLES diff --git a/commands/term/list/index.md b/commands/term/list/index.md index 5c775cab..727a4481 100644 --- a/commands/term/list/index.md +++ b/commands/term/list/index.md @@ -20,7 +20,7 @@ title: 'wp term list' : Limit the output to specific object fields. Defaults to all of the term object fields. [\--format=<format>] -: Output list as table, CSV, JSON, or simply IDs. Defaults to table. +: Accepted values: table, csv, json, count. Default: table ### EXAMPLES diff --git a/commands/theme/get/index.md b/commands/theme/get/index.md index b3374016..0d2084ad 100644 --- a/commands/theme/get/index.md +++ b/commands/theme/get/index.md @@ -14,7 +14,7 @@ title: 'wp theme get' : Instead of returning the whole theme, returns the value of a single field. [\--format=<format>] -: Output list as table or JSON. Defaults to table. +: Accepted values: table, json. Default: table ### EXAMPLES diff --git a/commands/theme/list/index.md b/commands/theme/list/index.md index 2b81bb82..0a03227f 100644 --- a/commands/theme/list/index.md +++ b/commands/theme/list/index.md @@ -7,6 +7,9 @@ title: 'wp theme list' ### OPTIONS +[\--<field>=<value>] +: Filter results based on the value of a field. + [\--field=<field>] : Prints the value of a single field for each theme. @@ -14,9 +17,9 @@ title: 'wp theme list' : Limit the output to specific object fields. Defaults to name,status,update,version. [\--format=<format>] -: Output list as table, CSV or JSON. Defaults to table. +: Accepted values: table, json. Default: table ### EXAMPLES - wp theme list --format=csv + wp theme list --status=inactive --format=csv diff --git a/commands/theme/search/index.md b/commands/theme/search/index.md index 1ee2fc11..182336a1 100644 --- a/commands/theme/search/index.md +++ b/commands/theme/search/index.md @@ -13,6 +13,9 @@ title: 'wp theme search' [\--per-page=<per-page>] : Optional number of results to display. Defaults to 10. +[\--field=<field>] +: Prints the value of a single field for each plugin. + [\--fields=<fields>] : Ask for specific fields from the API. Defaults to name,slug,author,rating. Acceptable values: @@ -27,6 +30,9 @@ title: 'wp theme search' **homepage**: Theme Author's Homepage **description**: Theme Description +[\--format=<format>] +: Accepted values: table, csv, json, count. Default: table + ### EXAMPLES wp theme search automattic --per-page=20 diff --git a/commands/user/get/index.md b/commands/user/get/index.md index ac3c6ff2..469b9f25 100644 --- a/commands/user/get/index.md +++ b/commands/user/get/index.md @@ -14,11 +14,7 @@ title: 'wp user get' : Instead of returning the whole user, returns the value of a single field. [\--format=<format>] -: The format to use when printing the user; acceptable values: - - **table**: Outputs all fields of the user as a table. - - **json**: Outputs all fields in JSON format. +: Accepted values: table, json. Default: table ### EXAMPLES diff --git a/commands/user/list/index.md b/commands/user/list/index.md index 2c2f7efd..ffca9e12 100644 --- a/commands/user/list/index.md +++ b/commands/user/list/index.md @@ -20,7 +20,7 @@ title: 'wp user list' : Limit the output to specific object fields. Defaults to ID,user_login,display_name,user_email,user_registered,roles [\--format=<format>] -: Output list as table, CSV, JSON, or simply IDs. Defaults to table. +: Accepted values: table, csv, json, count. Default: table ### EXAMPLES From 3068507c11449c8ebfed5ea6c2e68cfb39fc243a Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Sat, 30 Nov 2013 14:47:30 +0200 Subject: [PATCH 223/839] add release post for 0.13 --- _posts/2013-11-30-version-0.13.md | 77 +++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 _posts/2013-11-30-version-0.13.md diff --git a/_posts/2013-11-30-version-0.13.md b/_posts/2013-11-30-version-0.13.md new file mode 100644 index 00000000..332f2390 --- /dev/null +++ b/_posts/2013-11-30-version-0.13.md @@ -0,0 +1,77 @@ +--- +layout: post +author: scribu +title: Version 0.13 released +--- + +It's been less than two months since the last major release of WP-CLI, and already we have a lot of goodies to show you. + +### Global config files + +If you create a `~/.wp-cli/config.yml` file, WP-CLI will read config values from that file, regardless of where you're running it from. + +You can change the path to the global config file by setting the `WP_CLI_CONFIG_PATH` environment variable. That means that you can also disable the global config, like so: + + WP_CLI_CONFIG_PATH=/dev/null wp core install ... + +The old `--config` global parameter is now deprecated. + +### Setting command parameter values in config files + +What's more, you can now define per-command config values. For example, if my config file looks like this: + + core install: + admin_user: billy + admin_email: billy@example.com + +... when I run `wp core install`, I don't have to pass the `--admin_user` and `--admin_email` parameters again; they are read from the config file. + +### Improved plugin test templates + +We have simplified the process of [setting up and running plugin tests](https://github.com/wp-cli/wp-cli/wiki/Plugin-Unit-Tests) locally. + +It fetches the test library from the new `develop.svn.wordpress.org` repository. + +Also, the Travis build no longer depends on the Github mirror of WordPress. + +### Improved downloads + +Firstly, all HTTPS requests now use the more up-to-date SSL CA bundle from the Requests library, which should fix most certificate warnings. + +Secondly, the timeout for `wp core download` has been increased to 10 minutes. + +Thirdly, to extract the tarball, `wp core download` now uses the [PharData](http://us3.php.net/manual/en/class.phardata.php) class, instead of the `tar` binary. This should make it work in more environments, such as MinGW. + +Finally, plugin and theme downloads are now cached. So, the first time you run `wp plugin install bbpress`, it will save the zip locally. The second time you run it, it won't download the zip again. + +### Other improvements + +Additions: + +* added `--all` flag to `wp plugin deactivate` +* added `wp comment-meta` command +* added filtering to `wp plugin list` and `wp theme list` +* added `--match` and `--source` parameters to `wp rewrite list` +* added `--post_content` flag to `wp post generate` +* added `--skip-tests` flag to `wp scaffold plugin` +* added `--skip=image_resize` to `wp import` + +Bug fixes: + +* `wp core config` no longer escapes HTML characters in passwords +* `wp user create` no longer ignores the `--role` parameter +* `wp rewrite structure` correctly flushes rewrite rules +* `wp theme delete` now refuses to delete the active theme +* `wp scaffold post-type` now generates correct capitalization +* `wp plugin activate` now works correctly for network-only plugins +* `wp shell` now works correctly even if a plugin starts output buffering +* `wp core install --prompt` now correctly handles the `--url` parameter + +Misc: + +* removed `wp core init-tests` command ([context](https://github.com/wp-cli/wp-cli/pull/885)) +* renamed `WP_CLI::add_action()` to `WP_CLI::add_hook()` ([context](https://github.com/wp-cli/wp-cli/pull/845)) + +You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?milestone=19&page=1&state=closed) on Github. + +Contributors to this release: [BoiteAWeb](https://github.com/BoiteAWeb), [ctayloroomphinc](https://github.com/ctayloroomphinc), [danielbachhuber](https://github.com/danielbachhuber), [dd32](https://github.com/dd32), [francescolaffi](https://github.com/francescolaffi), [jonathanbardo](https://github.com/jonathanbardo), [Kevinlearynet](https://github.com/Kevinlearynet), [leewillis77](https://github.com/leewillis77), [nickdaugherty](https://github.com/nickdaugherty), [QWp6t](https://github.com/QWp6t), [rodrigoprimo](https://github.com/rodrigoprimo), [ryanduff](https://github.com/ryanduff), [scribu](https://github.com/scribu), [simonwheatley](https://github.com/simonwheatley), [tiagohillebrandt](https://github.com/tiagohillebrandt), [tlovett1](https://github.com/tlovett1), [wojsmol](https://github.com/wojsmol). From e76c632a3ecf7dda95e40ef4ebde5cb8a881359b Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Fri, 6 Dec 2013 23:15:20 +0200 Subject: [PATCH 224/839] ignore global config when invoking WP-CLI --- Phakefile.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Phakefile.php b/Phakefile.php index 4cdaf544..f83805c6 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -3,7 +3,7 @@ function invoke_wp_cli( $cmd, $app ) { ob_start(); - system( $cmd, $return_code ); + system( "WP_CLI_CONFIG_PATH=/dev/null $cmd", $return_code ); $json = ob_get_clean(); if ( $return_code ) { From d9ecddd617420947374dc06142583c79c9adfb99 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Fri, 6 Dec 2013 23:17:10 +0200 Subject: [PATCH 225/839] fix examples with IO redirection; closes #27 --- Phakefile.php | 10 ++++++++++ _templates/subcmd-list.mustache | 2 +- commands/core/update/index.md | 2 +- commands/db/index.md | 2 +- commands/post/get/index.md | 2 +- commands/user/get/index.md | 2 +- 6 files changed, 15 insertions(+), 5 deletions(-) diff --git a/Phakefile.php b/Phakefile.php index f83805c6..87de9a1d 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -47,8 +47,18 @@ function gen_cmd_pages( $cmd, $parent = array() ) { if ( $cmd['longdesc'] ) { $docs = $cmd['longdesc']; + $docs = htmlspecialchars( $docs, ENT_COMPAT, 'UTF-8' ); + + // decrease header level $docs = preg_replace( '/^## /m', '### ', $docs ); + + // escape `--` so that it doesn't get converted into `—` $docs = preg_replace( '/^(\[?)--/m', '\1\--', $docs ); + + // hack to prevent double encoding in code blocks + $docs = preg_replace( '/ < /', ' < ', $docs ); + $docs = preg_replace( '/ > /', ' > ', $docs ); + $binding['docs'] = $docs; } diff --git a/_templates/subcmd-list.mustache b/_templates/subcmd-list.mustache index 487fe782..92a1d969 100644 --- a/_templates/subcmd-list.mustache +++ b/_templates/subcmd-list.mustache @@ -5,7 +5,7 @@ title: 'wp {{synopsis}}' `wp {{synopsis}}` - {{description}} -{{docs}} +{{{docs}}} {{#has-subcommands}} ### SUBCOMMANDS diff --git a/commands/core/update/index.md b/commands/core/update/index.md index ed84e230..732725f0 100644 --- a/commands/core/update/index.md +++ b/commands/core/update/index.md @@ -14,7 +14,7 @@ title: 'wp core update' : Update to this version, instead of to the latest version. [\--force] -: Will update even when current WP version < passed version. Use with +: Will update even when current WP version < passed version. Use with caution. ### EXAMPLES diff --git a/commands/db/index.md b/commands/db/index.md index f74463d9..f720b898 100644 --- a/commands/db/index.md +++ b/commands/db/index.md @@ -19,7 +19,7 @@ title: 'wp db' ### EXAMPLES # execute a query stored in a file - wp db query < debug.sql + wp db query < debug.sql ### SUBCOMMANDS diff --git a/commands/post/get/index.md b/commands/post/get/index.md index b5331936..889668ae 100644 --- a/commands/post/get/index.md +++ b/commands/post/get/index.md @@ -19,5 +19,5 @@ title: 'wp post get' ### EXAMPLES # save the post content to a file - wp post get 12 --field=content > file.txt + wp post get 12 --field=content > file.txt diff --git a/commands/user/get/index.md b/commands/user/get/index.md index 469b9f25..f73fc878 100644 --- a/commands/user/get/index.md +++ b/commands/user/get/index.md @@ -20,5 +20,5 @@ title: 'wp user get' wp user get 12 --field=login - wp user get bob --format=json > bob.json + wp user get bob --format=json > bob.json From 121f7a033ad8c8b556968da91ab2befecf483d7c Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Thu, 19 Dec 2013 17:31:27 +0200 Subject: [PATCH 226/839] update 'wp core config' page --- commands/core/config/index.md | 4 ++-- commands/core/index.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/commands/core/config/index.md b/commands/core/config/index.md index 45058660..272cca13 100644 --- a/commands/core/config/index.md +++ b/commands/core/config/index.md @@ -3,7 +3,7 @@ layout: default title: 'wp core config' --- -`wp core config` - Set up a wp-config.php file. +`wp core config` - Generate a wp-config.php file. ### OPTIONS @@ -35,7 +35,7 @@ title: 'wp core config' : If set, the command reads additional PHP code from STDIN. [\--skip-salts] -: If set, keys and salts won't be generated, but, instead, should be passed via --extra-php. +: If set, keys and salts won't be generated, but should instead be passed via `--extra-php`. ### EXAMPLES diff --git a/commands/core/index.md b/commands/core/index.md index 421c2e25..aa302179 100644 --- a/commands/core/index.md +++ b/commands/core/index.md @@ -19,7 +19,7 @@ title: 'wp core' <tbody> <tr> <td><a href="/commands/core/config/">config</a></td> - <td>Set up a wp-config.php file.</td> + <td>Generate a wp-config.php file.</td> </tr> <tr> <td><a href="/commands/core/download/">download</a></td> From 65fc186a9e1704d0cdc82d2b4d99528f60a894ac Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Thu, 19 Dec 2013 17:35:39 +0200 Subject: [PATCH 227/839] fix double-encoded heredocs; see #27 --- Phakefile.php | 1 + commands/core/config/index.md | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Phakefile.php b/Phakefile.php index 87de9a1d..107803d0 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -58,6 +58,7 @@ function gen_cmd_pages( $cmd, $parent = array() ) { // hack to prevent double encoding in code blocks $docs = preg_replace( '/ < /', ' < ', $docs ); $docs = preg_replace( '/ > /', ' > ', $docs ); + $docs = preg_replace( '/ <</', ' <<', $docs ); $binding['docs'] = $docs; } diff --git a/commands/core/config/index.md b/commands/core/config/index.md index 272cca13..67b66205 100644 --- a/commands/core/config/index.md +++ b/commands/core/config/index.md @@ -43,7 +43,7 @@ title: 'wp core config' wp core config --dbname=testing --dbuser=wp --dbpass=securepswd --locale=ro_RO # Enable WP_DEBUG and WP_DEBUG_LOG - wp core config --dbname=testing --dbuser=wp --dbpass=securepswd --extra-php <<PHP + wp core config --dbname=testing --dbuser=wp --dbpass=securepswd --extra-php <<PHP define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); PHP From ebf0a9a787536b6bd048358a88315dbc5419d63f Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Mon, 16 Dec 2013 23:20:38 +0200 Subject: [PATCH 228/839] explain how to use wp-cli.phar instead of installer.sh --- index.md | 47 +++++++++++++---------------------------------- 1 file changed, 13 insertions(+), 34 deletions(-) diff --git a/index.md b/index.md index 0a4e4afd..901dbc59 100644 --- a/index.md +++ b/index.md @@ -12,57 +12,36 @@ title: Command line interface for WordPress <h2 id="install">Installing</h2> -Just execute the following command in your terminal: +Just download [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar) and then run: ~~~ -curl https://raw.github.com/wp-cli/wp-cli.github.com/master/installer.sh | bash +php wp-cli.phar --info ~~~ -Make sure to read the instructions. - -<h3 id="complete">Tab completions</h3> - -WP-CLI comes with a tab completion script for command, subcommand and flag names. - -If you're using **Bash**, add the following lines to `~/.bash_profile`: +If that works, you can make the file executable and move it to somewhere in your PATH: ~~~ -# WP-CLI Bash completions -source $HOME/.wp-cli/vendor/wp-cli/wp-cli/utils/wp-completion.bash +chmod +x wp-cli.phar +mv wp-cli.phar /usr/bin/wp ~~~ -And re-load the file: +Now, you can just type `wp --info`. -~~~ -source ~/.bash_profile -~~~ +<h3 id="mamp">MAMP</h3> -If you're using **Zsh**, add the following lines to `~/.zprofile`: +If you're using MAMP, you will get a MySQL error. Here is one way to [fix it](http://stackoverflow.com/a/10653443/97998). -~~~ -# WP-CLI Bash completions -autoload bashcompinit -bashcompinit -source $HOME/.wp-cli/vendor/wp-cli/wp-cli/utils/wp-completion.bash -~~~ - -And re-load the file: - -~~~ -source ~/.zprofile -~~~ +Also see [Alternative Install Methods](https://github.com/wp-cli/wp-cli/wiki/Alternative-Install-Methods). -<h3 id="update">Updating</h3> +<h3 id="complete">Tab completions</h3> -If you installed WP-CLI using the method above, you can also easily update it: +WP-CLI also comes with a tab completion script for Bash. Just download [wp-completion.bash](https://github.com/wp-cli/wp-cli/raw/master/utils/wp-completion.bash) and load it from `~/.bash_profile`: ~~~ -cd ~/.wp-cli -php composer.phar self-update -php composer.phar require 'wp-cli/wp-cli=@stable' +source /FULL/PATH/TO/wp-completion.bash ~~~ -Also see [Alternative Install Methods](https://github.com/wp-cli/wp-cli/wiki/Alternative-Install-Methods). +(Don't forget to run `source ~/.bash_profile` afterwards) <h2 id="usage">Using</h2> From 30afcf8bcd5acd638df89b17c85fa11259e6cc4f Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Tue, 24 Dec 2013 02:01:33 +0200 Subject: [PATCH 229/839] add example download command and explain the MAMP issue --- index.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/index.md b/index.md index 901dbc59..309b4c5c 100644 --- a/index.md +++ b/index.md @@ -12,24 +12,30 @@ title: Command line interface for WordPress <h2 id="install">Installing</h2> -Just download [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar) and then run: +First, download [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar) using `wget` or `curl`: + +~~~ +wget https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar +~~~ + +Then, check if it works: ~~~ php wp-cli.phar --info ~~~ -If that works, you can make the file executable and move it to somewhere in your PATH: +To be able to type just `wp`, instead of `php wp-cli.phar`, you need to make the file executable and move it to somewhere in your PATH. For example: ~~~ chmod +x wp-cli.phar mv wp-cli.phar /usr/bin/wp ~~~ -Now, you can just type `wp --info`. +Now try running `wp --info`. <h3 id="mamp">MAMP</h3> -If you're using MAMP, you will get a MySQL error. Here is one way to [fix it](http://stackoverflow.com/a/10653443/97998). +If you're using MAMP, you will probably get a MySQL error, because the `php` found in your PATH is not the same as the PHP used by MAMP. Here is one way to [fix it](http://stackoverflow.com/a/10653443/97998). Also see [Alternative Install Methods](https://github.com/wp-cli/wp-cli/wiki/Alternative-Install-Methods). From 46f47dcfb2ee74ecb1852746a82365981bd7791c Mon Sep 17 00:00:00 2001 From: Adam Lynch <contact@adamlynch.ie> Date: Mon, 6 Jan 2014 10:09:00 +0000 Subject: [PATCH 230/839] HTML entity typo fix --- commands/site/create/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/commands/site/create/index.md b/commands/site/create/index.md index 5cfc4083..578bcd92 100644 --- a/commands/site/create/index.md +++ b/commands/site/create/index.md @@ -10,7 +10,7 @@ title: 'wp site create' \--slug=<slug> : Path for the new site. Subdomain on subdomain installs, directory on subdirectory installs. -\--title=<title&gt; +\--title=<title> : Title of the new site. Default: prettified slug. \--email=<email> From eab6fea4f08a898c544fa8f803301d67dcb29cc7 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Thu, 9 Jan 2014 09:27:45 +0200 Subject: [PATCH 231/839] download phar from releases page; see wp-cli/wp-cli#942 --- index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.md b/index.md index 309b4c5c..5073b4ce 100644 --- a/index.md +++ b/index.md @@ -12,10 +12,10 @@ title: Command line interface for WordPress <h2 id="install">Installing</h2> -First, download [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar) using `wget` or `curl`: +First, download wp-cli.phar using `wget` or `curl`: ~~~ -wget https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar +wget https://github.com/wp-cli/wp-cli/releases/download/v0.13.0/wp-cli.phar ~~~ Then, check if it works: From 4f5df66340ce27e85633cc3ce62781943773d79a Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Thu, 9 Jan 2014 10:00:19 +0200 Subject: [PATCH 232/839] just point to the releases page, since the exact URL will change with each release --- index.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/index.md b/index.md index 5073b4ce..f00e0fcf 100644 --- a/index.md +++ b/index.md @@ -12,11 +12,7 @@ title: Command line interface for WordPress <h2 id="install">Installing</h2> -First, download wp-cli.phar using `wget` or `curl`: - -~~~ -wget https://github.com/wp-cli/wp-cli/releases/download/v0.13.0/wp-cli.phar -~~~ +First, [download wp-cli.phar](https://github.com/wp-cli/wp-cli/releases) using `wget` or `curl`. Then, check if it works: From ec20a66f5f6e4c31b6e360af8fd69da6b8d38bce Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Fri, 10 Jan 2014 02:27:51 +0200 Subject: [PATCH 233/839] add note about cURL usage; fixes wp-cli/wp-cli#954 --- index.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/index.md b/index.md index f00e0fcf..6a1103de 100644 --- a/index.md +++ b/index.md @@ -12,7 +12,11 @@ title: Command line interface for WordPress <h2 id="install">Installing</h2> -First, [download wp-cli.phar](https://github.com/wp-cli/wp-cli/releases) using `wget` or `curl`. +First, [download wp-cli.phar](https://github.com/wp-cli/wp-cli/releases) using `wget` or `curl`. For example: + +``` +curl -L https://insert-download-url-here > wp-cli.phar +``` Then, check if it works: From 5598b8a29341d1f18c1798d3fa785be0733b4b7a Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Fri, 10 Jan 2014 16:17:44 +0200 Subject: [PATCH 234/839] fix code block --- index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/index.md b/index.md index 6a1103de..dda44f8e 100644 --- a/index.md +++ b/index.md @@ -14,9 +14,9 @@ title: Command line interface for WordPress First, [download wp-cli.phar](https://github.com/wp-cli/wp-cli/releases) using `wget` or `curl`. For example: -``` -curl -L https://insert-download-url-here > wp-cli.phar -``` +~~~ +curl -L https://download-url-here > wp-cli.phar +~~~ Then, check if it works: From d2aacc319222738a15218fd65007d14608fe5bd4 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Mon, 13 Jan 2014 14:20:51 +0200 Subject: [PATCH 235/839] quote $INSTALL_DIR in user instructions too prevents errors when it contains spaces --- installer.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/installer.sh b/installer.sh index 01512ba2..ff6ecc5a 100755 --- a/installer.sh +++ b/installer.sh @@ -86,12 +86,12 @@ cat <<EOB To test WP-CLI, run: - $INSTALL_DIR/bin/wp --info + "$INSTALL_DIR"/bin/wp --info Make sure you have the following line in your .bash_profile file: # WP-CLI directory - export PATH=$INSTALL_DIR/bin:\$PATH + export PATH="$INSTALL_DIR/bin:\$PATH" EOB if [ "$WP_CLI_PHP" != "$(which php)" ]; then From 753a733f1f335fee091c9f16080913043f5b251c Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Thu, 30 Jan 2014 07:28:02 +0200 Subject: [PATCH 236/839] mention WP_CLI_CONFIG_PATH in /config/ --- config/index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/index.md b/config/index.md index 2acf892a..1326414b 100644 --- a/config/index.md +++ b/config/index.md @@ -41,3 +41,5 @@ Example `wp-cli.yml` file: core install: admin_user: billy admin_email: billy@example.com + +The path to the global config file (which defaults to `~/.wp-cli/config.yml`) can be changed by setting the `WP_CLI_CONFIG_PATH` environment variable. From b11c8d5af783cd1d8b8d097261a1a95d0ee791e0 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Tue, 4 Feb 2014 13:13:59 +0200 Subject: [PATCH 237/839] switch back to wp-cli/builds/ URL, to avoid confusion see wp-cli/wp-cli#991 --- index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.md b/index.md index dda44f8e..2fb64ad7 100644 --- a/index.md +++ b/index.md @@ -12,10 +12,10 @@ title: Command line interface for WordPress <h2 id="install">Installing</h2> -First, [download wp-cli.phar](https://github.com/wp-cli/wp-cli/releases) using `wget` or `curl`. For example: +First, download [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar) using `wget` or `curl`. For example: ~~~ -curl -L https://download-url-here > wp-cli.phar +curl -L https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar > wp-cli.phar ~~~ Then, check if it works: From 362919f5abcbd706a95a26e6dd7da09b8e2b2d3f Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Thu, 6 Feb 2014 02:22:17 +0200 Subject: [PATCH 238/839] don't render hidden global flags --- Phakefile.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Phakefile.php b/Phakefile.php index 107803d0..fa49871e 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -96,7 +96,7 @@ function gen_cmd_pages( $cmd, $parent = array() ) { $out = ''; foreach ( $config_spec as $key => $details ) { - if ( isset( $details['deprecated'] ) ) + if ( isset( $details['hidden'] ) || isset( $details['deprecated'] ) ) continue; if ( false !== $details['file'] ) { From 8d064a7e6c84568da5b3e440765684c38ae3d8b2 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Thu, 6 Feb 2014 02:24:58 +0200 Subject: [PATCH 239/839] update docs for 0.14 --- _includes/param-list.html | 6 ++++++ commands/comment-meta/add/index.md | 12 ++++++++++++ commands/comment-meta/update/index.md | 12 ++++++++++++ commands/comment/delete/index.md | 6 ++++-- commands/comment/index.md | 4 ++++ commands/comment/list/index.md | 2 +- commands/comment/url/index.md | 16 ++++++++++++++++ commands/core/update/index.md | 3 +++ commands/db/drop/index.md | 3 +++ commands/db/export/index.md | 12 +++++++++++- commands/db/import/index.md | 5 +++-- commands/db/index.md | 18 ++---------------- commands/db/query/index.md | 8 ++++++++ commands/db/reset/index.md | 3 +++ commands/export/index.md | 13 +++++-------- commands/import/index.md | 6 +++--- commands/media/regenerate/index.md | 6 ++++-- commands/network-meta/add/index.md | 12 ++++++++++++ commands/network-meta/update/index.md | 12 ++++++++++++ commands/option/add/index.md | 14 ++++++++++++++ commands/option/update/index.md | 14 ++++++++++++++ commands/post-meta/add/index.md | 12 ++++++++++++ commands/post-meta/update/index.md | 12 ++++++++++++ commands/post/index.md | 4 ++++ commands/post/list/index.md | 4 +++- commands/post/url/index.md | 18 ++++++++++++++++++ commands/search-replace/index.md | 6 +++++- commands/site/index.md | 4 ++++ commands/site/url/index.md | 16 ++++++++++++++++ commands/term/create/index.md | 8 ++++---- commands/term/delete/index.md | 9 +++++---- commands/term/generate/index.md | 22 ++++++++++++++++++++++ commands/term/get/index.md | 8 ++++---- commands/term/index.md | 4 ++++ commands/term/update/index.md | 8 ++++---- commands/theme/disable/index.md | 23 +++++++++++++++++++++++ commands/theme/enable/index.md | 27 +++++++++++++++++++++++++++ commands/theme/index.md | 8 ++++++++ commands/transient/index.md | 2 +- commands/transient/type/index.md | 2 +- commands/user-meta/add/index.md | 7 +++++++ commands/user-meta/delete/index.md | 4 ++++ commands/user-meta/get/index.md | 9 +++++++++ commands/user-meta/index.md | 2 ++ commands/user-meta/update/index.md | 7 +++++++ commands/user/add-cap/index.md | 2 +- commands/user/add-role/index.md | 2 +- commands/user/delete/index.md | 2 +- commands/user/get/index.md | 2 +- commands/user/list-caps/index.md | 2 +- commands/user/remove-cap/index.md | 2 +- commands/user/remove-role/index.md | 2 +- commands/user/set-role/index.md | 2 +- commands/user/update/index.md | 6 ++---- 54 files changed, 368 insertions(+), 67 deletions(-) create mode 100644 commands/comment/url/index.md create mode 100644 commands/post/url/index.md create mode 100644 commands/site/url/index.md create mode 100644 commands/term/generate/index.md create mode 100644 commands/theme/disable/index.md create mode 100644 commands/theme/enable/index.md diff --git a/_includes/param-list.html b/_includes/param-list.html index 02060db6..ab0a577b 100644 --- a/_includes/param-list.html +++ b/_includes/param-list.html @@ -16,6 +16,12 @@ <td><code>null</code></td> <td>Set the WordPress user</td> </tr> + <tr> + <td><code></code></td> + <td><code>--skip-plugins[=<plugin>]</code></td> + <td><code>""</code></td> + <td>Skip loading all or some plugins</td> + </tr> <tr> <td><code>require: <path></code></td> <td><code>--require=<path></code></td> diff --git a/commands/comment-meta/add/index.md b/commands/comment-meta/add/index.md index 86f1bfb2..016e79ec 100644 --- a/commands/comment-meta/add/index.md +++ b/commands/comment-meta/add/index.md @@ -5,5 +5,17 @@ title: 'wp comment-meta add' `wp comment-meta add` - Add a meta field. +### OPTIONS +<id> +: The ID of the object. + +<key> +: The name of the meta field to create. + +[<value>] +: The value of the meta field. If ommited, the value is read from STDIN. + +[\--format=<format>] +: The serialization format for the value. Default is plaintext. diff --git a/commands/comment-meta/update/index.md b/commands/comment-meta/update/index.md index d71eac70..135df70c 100644 --- a/commands/comment-meta/update/index.md +++ b/commands/comment-meta/update/index.md @@ -5,5 +5,17 @@ title: 'wp comment-meta update' `wp comment-meta update` - Update a meta field. +### OPTIONS +<id> +: The ID of the object. + +<key> +: The name of the meta field to update. + +[<value>] +: The new value. If ommited, the value is read from STDIN. + +[\--format=<format>] +: The serialization format for the value. Default is plaintext. diff --git a/commands/comment/delete/index.md b/commands/comment/delete/index.md index 685d8cb0..bf1fa2dd 100644 --- a/commands/comment/delete/index.md +++ b/commands/comment/delete/index.md @@ -7,8 +7,8 @@ title: 'wp comment delete' ### OPTIONS -<id> -: The ID of the comment to delete. +<id>... +: One or more IDs of comments to delete. [\--force] : Skip the trash bin. @@ -17,3 +17,5 @@ title: 'wp comment delete' wp comment delete 1337 --force + wp comment delete 1337 2341 --force + diff --git a/commands/comment/index.md b/commands/comment/index.md index 4875d44e..4ccd50e0 100644 --- a/commands/comment/index.md +++ b/commands/comment/index.md @@ -73,5 +73,9 @@ title: 'wp comment' <td><a href="/commands/comment/update/">update</a></td> <td>Update one or more comments.</td> </tr> + <tr> + <td><a href="/commands/comment/url/">url</a></td> + <td>Get comment url</td> + </tr> </tbody> </table> diff --git a/commands/comment/list/index.md b/commands/comment/list/index.md index 66561710..8d029bd4 100644 --- a/commands/comment/list/index.md +++ b/commands/comment/list/index.md @@ -25,5 +25,5 @@ title: 'wp comment list' wp comment list --post_id=2 - wp comment list --number=20 --comment_approved=1 + wp comment list --number=20 --status=approve diff --git a/commands/comment/url/index.md b/commands/comment/url/index.md new file mode 100644 index 00000000..b96c4836 --- /dev/null +++ b/commands/comment/url/index.md @@ -0,0 +1,16 @@ +--- +layout: default +title: 'wp comment url' +--- + +`wp comment url` - Get comment url + +### OPTIONS + +<id>... +: One or more IDs of comments to get the URL. + +### EXAMPLES + + wp comment url 123 + diff --git a/commands/core/update/index.md b/commands/core/update/index.md index 732725f0..d4c59548 100644 --- a/commands/core/update/index.md +++ b/commands/core/update/index.md @@ -17,6 +17,9 @@ title: 'wp core update' : Will update even when current WP version < passed version. Use with caution. +[\--locale=<locale>] +: Select which language you want to download. + ### EXAMPLES wp core update diff --git a/commands/db/drop/index.md b/commands/db/drop/index.md index 51f53275..ff04958e 100644 --- a/commands/db/drop/index.md +++ b/commands/db/drop/index.md @@ -5,5 +5,8 @@ title: 'wp db drop' `wp db drop` - Delete the database. +### OPTIONS +[\--yes] +: Answer yes to the confirmation message. diff --git a/commands/db/export/index.md b/commands/db/export/index.md index 252bfce0..2cb83488 100644 --- a/commands/db/export/index.md +++ b/commands/db/export/index.md @@ -3,7 +3,17 @@ layout: default title: 'wp db export' --- -`wp db export` - Exports the database using mysqldump. +`wp db export` - Exports the database to a file or to STDOUT. +### OPTIONS +[<file>] +: The name of the SQL file to export. If '-', then outputs to STDOUT. If omitted, it will be '{dbname}.sql'. + +[\--<field>=<value>] +: Extra arguments to pass to mysqldump + +### EXAMPLES + + wp db dump --add-drop-table diff --git a/commands/db/import/index.md b/commands/db/import/index.md index 2ae01325..07228250 100644 --- a/commands/db/import/index.md +++ b/commands/db/import/index.md @@ -3,7 +3,8 @@ layout: default title: 'wp db import' --- -`wp db import` - Import database from a file. - +`wp db import` - Import database from a file or from STDIN. +[<file>] +: The name of the SQL file to import. If '-', then reads from STDIN. If omitted, it will look for '{dbname}.sql'. diff --git a/commands/db/index.md b/commands/db/index.md index f720b898..2791d95e 100644 --- a/commands/db/index.md +++ b/commands/db/index.md @@ -5,21 +5,7 @@ title: 'wp db' `wp db` - Perform basic database operations. -### OPTIONS -\--yes -: Answer yes to the confirmation message. - -<file> -: The name of the export file. If omitted, it will be '{dbname}.sql' - -<SQL> -: A SQL query. - -### EXAMPLES - - # execute a query stored in a file - wp db query < debug.sql ### SUBCOMMANDS @@ -45,11 +31,11 @@ title: 'wp db' </tr> <tr> <td><a href="/commands/db/export/">export</a></td> - <td>Exports the database using mysqldump.</td> + <td>Exports the database to a file or to STDOUT.</td> </tr> <tr> <td><a href="/commands/db/import/">import</a></td> - <td>Import database from a file.</td> + <td>Import database from a file or from STDIN.</td> </tr> <tr> <td><a href="/commands/db/optimize/">optimize</a></td> diff --git a/commands/db/query/index.md b/commands/db/query/index.md index 3123e337..5d071e1a 100644 --- a/commands/db/query/index.md +++ b/commands/db/query/index.md @@ -5,5 +5,13 @@ title: 'wp db query' `wp db query` - Execute a query against the database. +### OPTIONS +[<sql>] +: A SQL query. If not passed, will try to read from STDIN. + +### EXAMPLES + + # execute a query stored in a file + wp db query < debug.sql diff --git a/commands/db/reset/index.md b/commands/db/reset/index.md index ae912f32..2477d2c4 100644 --- a/commands/db/reset/index.md +++ b/commands/db/reset/index.md @@ -5,5 +5,8 @@ title: 'wp db reset' `wp db reset` - Remove all tables from the database. +### OPTIONS +[\--yes] +: Answer yes to the confirmation message. diff --git a/commands/export/index.md b/commands/export/index.md index 3bdaa6b1..26a9a221 100644 --- a/commands/export/index.md +++ b/commands/export/index.md @@ -14,11 +14,8 @@ to current working directory. [\--skip_comments] : Don't export comments. -[\--file_item_count=<count>] -: Break export into files with N posts. - -[\--verbose] -: Show more information about the process on STDOUT. +[\--max_file_size=<MB>] +: A single export file should have this many megabytes. ### FILTERS @@ -28,14 +25,14 @@ to current working directory. [\--end_date=<date>] : Export only posts older than this date, in format YYYY-MM-DD. -[\--post_type=<post_type>] +[\--post_type=<post-type>] : Export only posts with this post_type. [\--post__in=<pid>] : Export all posts specified as a comma-separated list of IDs. -[\--author=<login/id>] -: Export only posts by this author. +[\--author=<author>] +: Export only posts by this author. Can be either user login or user ID. [\--category=<name>] : Export only posts in this category. diff --git a/commands/import/index.md b/commands/import/index.md index a4911ca1..c8a90041 100644 --- a/commands/import/index.md +++ b/commands/import/index.md @@ -7,11 +7,11 @@ title: 'wp import' ### OPTIONS -<file> -: Path to a valid WXR file for importing. +<file>... +: Path to one or more valid WXR files for importing. \--authors=<authors> -: How the author mapping should be handled. Options are 'create', 'mapping.csv', or 'skip'. The first will create any non-existent users from the WXR file. The second will read author mapping associations from a CSV, or create a CSV for editing if the file path doesn't exist. The last option will skip any author mapping. +: How the author mapping should be handled. Options are 'create', 'mapping.csv', or 'skip'. The first will create any non-existent users from the WXR file. The second will read author mapping associations from a CSV, or create a CSV for editing if the file path doesn't exist. The CSV requires two columns, and a header row like "old_user_login,new_user_login". The last option will skip any author mapping. [\--skip=<data-type>] : Skip importing specific data. Supported options are: 'attachment' and 'image_resize' (skip time-consuming thumbnail generation). diff --git a/commands/media/regenerate/index.md b/commands/media/regenerate/index.md index 818222b4..dbd2e01f 100644 --- a/commands/media/regenerate/index.md +++ b/commands/media/regenerate/index.md @@ -15,7 +15,9 @@ title: 'wp media regenerate' ### EXAMPLES - wp media regenerate 123 1337 - + # re-generate all thumbnails, without confirmation wp media regenerate --yes + # re-generate all thumbnails that have IDs between 1000 and 2000 + seq 1000 2000 | xargs wp media regenerate + diff --git a/commands/network-meta/add/index.md b/commands/network-meta/add/index.md index a0225964..f4c2da66 100644 --- a/commands/network-meta/add/index.md +++ b/commands/network-meta/add/index.md @@ -5,5 +5,17 @@ title: 'wp network-meta add' `wp network-meta add` - Add a meta field. +### OPTIONS +<id> +: The ID of the object. + +<key> +: The name of the meta field to create. + +[<value>] +: The value of the meta field. If ommited, the value is read from STDIN. + +[\--format=<format>] +: The serialization format for the value. Default is plaintext. diff --git a/commands/network-meta/update/index.md b/commands/network-meta/update/index.md index 83cacc61..0b1479e7 100644 --- a/commands/network-meta/update/index.md +++ b/commands/network-meta/update/index.md @@ -5,5 +5,17 @@ title: 'wp network-meta update' `wp network-meta update` - Update a meta field. +### OPTIONS +<id> +: The ID of the object. + +<key> +: The name of the meta field to update. + +[<value>] +: The new value. If ommited, the value is read from STDIN. + +[\--format=<format>] +: The serialization format for the value. Default is plaintext. diff --git a/commands/option/add/index.md b/commands/option/add/index.md index 515e6b5d..1054adf5 100644 --- a/commands/option/add/index.md +++ b/commands/option/add/index.md @@ -5,5 +5,19 @@ title: 'wp option add' `wp option add` - Add an option. +### OPTIONS +<key> +: The name of the option to add. + +[<value>] +: The value of the option to add. If ommited, the value is read from STDIN. + +[\--format=<format>] +: The serialization format for the value. Default is plaintext. + +### EXAMPLES + + # Create an option by reading a JSON file + wp option add my_option --format=json < config.json diff --git a/commands/option/update/index.md b/commands/option/update/index.md index dcbea6d2..82cc985b 100644 --- a/commands/option/update/index.md +++ b/commands/option/update/index.md @@ -5,5 +5,19 @@ title: 'wp option update' `wp option update` - Update an option. +### OPTIONS +<key> +: The name of the option to add. + +[<value>] +: The new value. If ommited, the value is read from STDIN. + +[\--format=<format>] +: The serialization format for the value. Default is plaintext. + +### EXAMPLES + + # Update an option by reading from a file + wp option update my_option < value.txt diff --git a/commands/post-meta/add/index.md b/commands/post-meta/add/index.md index 23b5af47..cf91cccf 100644 --- a/commands/post-meta/add/index.md +++ b/commands/post-meta/add/index.md @@ -5,5 +5,17 @@ title: 'wp post-meta add' `wp post-meta add` - Add a meta field. +### OPTIONS +<id> +: The ID of the object. + +<key> +: The name of the meta field to create. + +[<value>] +: The value of the meta field. If ommited, the value is read from STDIN. + +[\--format=<format>] +: The serialization format for the value. Default is plaintext. diff --git a/commands/post-meta/update/index.md b/commands/post-meta/update/index.md index 03e26c17..53583553 100644 --- a/commands/post-meta/update/index.md +++ b/commands/post-meta/update/index.md @@ -5,5 +5,17 @@ title: 'wp post-meta update' `wp post-meta update` - Update a meta field. +### OPTIONS +<id> +: The ID of the object. + +<key> +: The name of the meta field to update. + +[<value>] +: The new value. If ommited, the value is read from STDIN. + +[\--format=<format>] +: The serialization format for the value. Default is plaintext. diff --git a/commands/post/index.md b/commands/post/index.md index 311f7128..a743868e 100644 --- a/commands/post/index.md +++ b/commands/post/index.md @@ -45,5 +45,9 @@ title: 'wp post' <td><a href="/commands/post/update/">update</a></td> <td>Update one or more posts.</td> </tr> + <tr> + <td><a href="/commands/post/url/">url</a></td> + <td>Get post url</td> + </tr> </tbody> </table> diff --git a/commands/post/list/index.md b/commands/post/list/index.md index 915527a6..838bb10e 100644 --- a/commands/post/list/index.md +++ b/commands/post/list/index.md @@ -17,7 +17,7 @@ title: 'wp post list' : Limit the output to specific object fields. Defaults to ID,post_title,post_name,post_date,post_status. [\--format=<format>] -: Accepted values: table, csv, json, count. Default: table +: Accepted values: table, csv, json, count, ids. Default: table ### EXAMPLES @@ -27,3 +27,5 @@ title: 'wp post list' wp post list --post_type=page --fields=post_title,post_status + wp post list --post_type=page,post --format=ids + diff --git a/commands/post/url/index.md b/commands/post/url/index.md new file mode 100644 index 00000000..34cc9df5 --- /dev/null +++ b/commands/post/url/index.md @@ -0,0 +1,18 @@ +--- +layout: default +title: 'wp post url' +--- + +`wp post url` - Get post url + +### OPTIONS + +<id>... +: One or more IDs of posts get the URL. + +### EXAMPLES + + wp post url 123 + + wp post url 123 324 + diff --git a/commands/search-replace/index.md b/commands/search-replace/index.md index bc4caac3..a24c5394 100644 --- a/commands/search-replace/index.md +++ b/commands/search-replace/index.md @@ -7,7 +7,8 @@ title: 'wp search-replace' ### DESCRIPTION -This command will go through all rows in all tables and will replace all appearances of the old string with the new one. +This command will go through all rows in all tables and will replace all +appearances of the old string with the new one. It will correctly handle serialized values, and will not change primary key values. @@ -31,6 +32,9 @@ It will correctly handle serialized values, and will not change primary key valu [\--dry-run] : Show report, but don't perform the changes. +[\--recurse-objects] +: Enable recursing into objects to replace strings + ### EXAMPLES wp search-replace 'http://example.dev' 'http://example.com' --skip-columns=guid diff --git a/commands/site/index.md b/commands/site/index.md index 1664710f..9bc2e970 100644 --- a/commands/site/index.md +++ b/commands/site/index.md @@ -33,5 +33,9 @@ title: 'wp site' <td><a href="/commands/site/list/">list</a></td> <td>List all sites in a multisite install.</td> </tr> + <tr> + <td><a href="/commands/site/url/">url</a></td> + <td>Get site url</td> + </tr> </tbody> </table> diff --git a/commands/site/url/index.md b/commands/site/url/index.md new file mode 100644 index 00000000..4486c501 --- /dev/null +++ b/commands/site/url/index.md @@ -0,0 +1,16 @@ +--- +layout: default +title: 'wp site url' +--- + +`wp site url` - Get site url + +### OPTIONS + +<id>... +: One or more IDs of sites to get the URL. + +### EXAMPLES + + wp site url 123 + diff --git a/commands/term/create/index.md b/commands/term/create/index.md index 711a1490..5d481e78 100644 --- a/commands/term/create/index.md +++ b/commands/term/create/index.md @@ -7,12 +7,12 @@ title: 'wp term create' ### OPTIONS -<term> -: A name for the new term. - <taxonomy> : Taxonomy for the new term. +<term> +: A name for the new term. + [\--slug=<slug>] : A unique slug for the new term. Defaults to sanitized version of name. @@ -27,5 +27,5 @@ title: 'wp term create' ### EXAMPLES - wp term create Apple category --description="A type of fruit" + wp term create category Apple --description="A type of fruit" diff --git a/commands/term/delete/index.md b/commands/term/delete/index.md index 2b2a7fea..83d2caa9 100644 --- a/commands/term/delete/index.md +++ b/commands/term/delete/index.md @@ -7,13 +7,14 @@ title: 'wp term delete' ### OPTIONS -<term-id> -: ID for the term to delete. - <taxonomy> : Taxonomy of the term to delete. +<term-id>... +: One or more IDs of terms to delete. + ### EXAMPLES - wp term delete 15 category + # delete all post tags + wp term list post_tag --field=ID | xargs wp term delete post_tag diff --git a/commands/term/generate/index.md b/commands/term/generate/index.md new file mode 100644 index 00000000..59345d5d --- /dev/null +++ b/commands/term/generate/index.md @@ -0,0 +1,22 @@ +--- +layout: default +title: 'wp term generate' +--- + +`wp term generate` - Generate some terms. + +### OPTIONS + +<taxonomy> +: The taxonomy for the generated terms. + +[\--count=<number>] +: How many terms to generate. Default: 100 + +[\--max_depth=<number>] +: Generate child terms down to a certain depth. Default: 1 + +### EXAMPLES + + wp term generate --count=10 + diff --git a/commands/term/get/index.md b/commands/term/get/index.md index 17fa8ca9..1788a68d 100644 --- a/commands/term/get/index.md +++ b/commands/term/get/index.md @@ -7,12 +7,12 @@ title: 'wp term get' ### OPTIONS -<term-id> -: ID of the term to get - <taxonomy> : Taxonomy of the term to get +<term-id> +: ID of the term to get + [\--field=<field>] : Instead of returning the whole term, returns the value of a single field. @@ -21,5 +21,5 @@ title: 'wp term get' ### EXAMPLES - wp term get 1 category --format=json + wp term get category 1 --format=json diff --git a/commands/term/index.md b/commands/term/index.md index 14f45004..f033e517 100644 --- a/commands/term/index.md +++ b/commands/term/index.md @@ -25,6 +25,10 @@ title: 'wp term' <td><a href="/commands/term/delete/">delete</a></td> <td>Delete a term.</td> </tr> + <tr> + <td><a href="/commands/term/generate/">generate</a></td> + <td>Generate some terms.</td> + </tr> <tr> <td><a href="/commands/term/get/">get</a></td> <td>Get a taxonomy term</td> diff --git a/commands/term/update/index.md b/commands/term/update/index.md index fd181a5d..5d99e134 100644 --- a/commands/term/update/index.md +++ b/commands/term/update/index.md @@ -7,12 +7,12 @@ title: 'wp term update' ### OPTIONS -<term-id> -: ID for the term to update. - <taxonomy> : Taxonomy of the term to update. +<term-id> +: ID for the term to update. + [\--name=<name>] : A new name for the term. @@ -27,5 +27,5 @@ title: 'wp term update' ### EXAMPLES - wp term update 15 category --name=Apple + wp term update category 15 --name=Apple diff --git a/commands/theme/disable/index.md b/commands/theme/disable/index.md new file mode 100644 index 00000000..8798a8c3 --- /dev/null +++ b/commands/theme/disable/index.md @@ -0,0 +1,23 @@ +--- +layout: default +title: 'wp theme disable' +--- + +`wp theme disable` - Disable a theme in a multisite install. + +### OPTIONS + +<theme> +: The theme to disable. + +[\--network] +: If set, the theme is disabled on the network level. Note that +individual sites may still have this theme enabled if it was +enabled for them independently. + +### EXAMPLES + + wp theme disable twentythirteen + + wp theme disable twentythirteen --network + diff --git a/commands/theme/enable/index.md b/commands/theme/enable/index.md new file mode 100644 index 00000000..881e34c4 --- /dev/null +++ b/commands/theme/enable/index.md @@ -0,0 +1,27 @@ +--- +layout: default +title: 'wp theme enable' +--- + +`wp theme enable` - Enable a theme in a multisite install. + +### OPTIONS + +<theme> +: The theme to enable. + +[\--network] +: If set, the theme is enabled for the entire network + +[\--activate] +: If set, the theme is activated for the current site. Note that +the "network" flag has no influence on this. + +### EXAMPLES + + wp theme enable twentythirteen + + wp theme enable twentythirteen --network + + wp theme enable twentythirteen --activate + diff --git a/commands/theme/index.md b/commands/theme/index.md index 80bd0516..9f3adb06 100644 --- a/commands/theme/index.md +++ b/commands/theme/index.md @@ -25,6 +25,14 @@ title: 'wp theme' <td><a href="/commands/theme/delete/">delete</a></td> <td>Delete a theme.</td> </tr> + <tr> + <td><a href="/commands/theme/disable/">disable</a></td> + <td>Disable a theme in a multisite install.</td> + </tr> + <tr> + <td><a href="/commands/theme/enable/">enable</a></td> + <td>Enable a theme in a multisite install.</td> + </tr> <tr> <td><a href="/commands/theme/get/">get</a></td> <td>Get a theme</td> diff --git a/commands/transient/index.md b/commands/transient/index.md index e2cd2947..4539c218 100644 --- a/commands/transient/index.md +++ b/commands/transient/index.md @@ -33,7 +33,7 @@ title: 'wp transient' </tr> <tr> <td><a href="/commands/transient/type/">type</a></td> - <td>See wether the transients API is using an object cache or the options table.</td> + <td>See whether the transients API is using an object cache or the options table.</td> </tr> </tbody> </table> diff --git a/commands/transient/type/index.md b/commands/transient/type/index.md index 08faf848..ea8a83a6 100644 --- a/commands/transient/type/index.md +++ b/commands/transient/type/index.md @@ -3,7 +3,7 @@ layout: default title: 'wp transient type' --- -`wp transient type` - See wether the transients API is using an object cache or the options table. +`wp transient type` - See whether the transients API is using an object cache or the options table. diff --git a/commands/user-meta/add/index.md b/commands/user-meta/add/index.md index 01e80205..a0b0ae3a 100644 --- a/commands/user-meta/add/index.md +++ b/commands/user-meta/add/index.md @@ -5,5 +5,12 @@ title: 'wp user-meta add' `wp user-meta add` - Add a meta field. +<user> +: The user login, user email, or user ID of the user to add metadata for. +<key> +: The metadata key. + +<value> +: The new metadata value. diff --git a/commands/user-meta/delete/index.md b/commands/user-meta/delete/index.md index 0f5f2ee1..cce82bd3 100644 --- a/commands/user-meta/delete/index.md +++ b/commands/user-meta/delete/index.md @@ -5,5 +5,9 @@ title: 'wp user-meta delete' `wp user-meta delete` - Delete a meta field. +<user> +: The user login, user email, or user ID of the user to delete metadata from. +<key> +: The metadata key. diff --git a/commands/user-meta/get/index.md b/commands/user-meta/get/index.md index 67163631..7cf053b7 100644 --- a/commands/user-meta/get/index.md +++ b/commands/user-meta/get/index.md @@ -5,5 +5,14 @@ title: 'wp user-meta get' `wp user-meta get` - Get meta field value. +### OPTIONS +<user> +: The user login, user email, or user ID of the user to get metadata for. + +<key> +: The metadata key. + +[\--format=<format>] +: Accepted values: table, json. Default: table diff --git a/commands/user-meta/index.md b/commands/user-meta/index.md index 8438f00a..830b095c 100644 --- a/commands/user-meta/index.md +++ b/commands/user-meta/index.md @@ -14,6 +14,8 @@ title: 'wp user-meta' wp user-meta set 123 description "Mary is a WordPress developer." + wp user-meta update admin first_name "George" + ### SUBCOMMANDS <table> diff --git a/commands/user-meta/update/index.md b/commands/user-meta/update/index.md index f51dc10c..a0743441 100644 --- a/commands/user-meta/update/index.md +++ b/commands/user-meta/update/index.md @@ -5,5 +5,12 @@ title: 'wp user-meta update' `wp user-meta update` - Update a meta field. +<user> +: The user login, user email, or user ID of the user to update metadata for. +<key> +: The metadata key. + +<value> +: The new metadata value. diff --git a/commands/user/add-cap/index.md b/commands/user/add-cap/index.md index 52b189c5..e7a118fd 100644 --- a/commands/user/add-cap/index.md +++ b/commands/user/add-cap/index.md @@ -8,7 +8,7 @@ title: 'wp user add-cap' ### OPTIONS <user> -: User ID or user login. +: User ID, user email, or user login. <cap> : The capability to add. diff --git a/commands/user/add-role/index.md b/commands/user/add-role/index.md index 174c4126..11996b6d 100644 --- a/commands/user/add-role/index.md +++ b/commands/user/add-role/index.md @@ -8,7 +8,7 @@ title: 'wp user add-role' ### OPTIONS <user> -: User ID or user login. +: User ID, user email, or user login. <role> : Add the specified role to the user. diff --git a/commands/user/delete/index.md b/commands/user/delete/index.md index be82e4ac..d63163cb 100644 --- a/commands/user/delete/index.md +++ b/commands/user/delete/index.md @@ -8,7 +8,7 @@ title: 'wp user delete' ### OPTIONS <user>... -: The user login or ID of the user(s) to update. +: The user login, user email, or user ID of the user(s) to update. [\--reassign=<user-id>] : User ID to reassign the posts to. diff --git a/commands/user/get/index.md b/commands/user/get/index.md index f73fc878..92c60af2 100644 --- a/commands/user/get/index.md +++ b/commands/user/get/index.md @@ -8,7 +8,7 @@ title: 'wp user get' ### OPTIONS <user> -: User ID or user login. +: User ID, user email, or user login. [\--field=<field>] : Instead of returning the whole user, returns the value of a single field. diff --git a/commands/user/list-caps/index.md b/commands/user/list-caps/index.md index ab0a633e..524c060f 100644 --- a/commands/user/list-caps/index.md +++ b/commands/user/list-caps/index.md @@ -8,7 +8,7 @@ title: 'wp user list-caps' ### OPTIONS <user> -: User ID or login. +: User ID, user email, or login. ### EXAMPLES diff --git a/commands/user/remove-cap/index.md b/commands/user/remove-cap/index.md index 0b58eabb..3b9d051b 100644 --- a/commands/user/remove-cap/index.md +++ b/commands/user/remove-cap/index.md @@ -8,7 +8,7 @@ title: 'wp user remove-cap' ### OPTIONS <user> -: User ID or user login. +: User ID, user email, or user login. <cap> : The capability to be removed. diff --git a/commands/user/remove-role/index.md b/commands/user/remove-role/index.md index 8ff9488e..938a74f0 100644 --- a/commands/user/remove-role/index.md +++ b/commands/user/remove-role/index.md @@ -8,7 +8,7 @@ title: 'wp user remove-role' ### OPTIONS <user> -: User ID or user login. +: User ID, user email, or user login. [<role>] : A specific role to remove. diff --git a/commands/user/set-role/index.md b/commands/user/set-role/index.md index f1447ed9..4b513bfa 100644 --- a/commands/user/set-role/index.md +++ b/commands/user/set-role/index.md @@ -8,7 +8,7 @@ title: 'wp user set-role' ### OPTIONS <user> -: User ID or user login. +: User ID, user email, or user login. [<role>] : Make the user have the specified role. If not passed, the default role is diff --git a/commands/user/update/index.md b/commands/user/update/index.md index bd1e0189..5c9cc617 100644 --- a/commands/user/update/index.md +++ b/commands/user/update/index.md @@ -8,14 +8,12 @@ title: 'wp user update' ### OPTIONS <user>... -: The user login or ID of the user(s) to update. +: The user login, user email or user ID of the user(s) to update. \--<field>=<value> : One or more fields to update. For accepted fields, see wp_update_user(). ### EXAMPLES - wp user update 123 --user_login=mary --display_name=Mary - - wp user update mary --user_pass=marypass + wp user update 123 --display_name=Mary --user_pass=marypass From 4ee2da77de354c94d948e243075a1957aa94e6fa Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Thu, 6 Feb 2014 02:20:12 +0200 Subject: [PATCH 240/839] add bin/publish-post utility --- _config.yml | 1 + bin/publish-post | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100755 bin/publish-post diff --git a/_config.yml b/_config.yml index 3c083aa9..986e3f03 100644 --- a/_config.yml +++ b/_config.yml @@ -9,5 +9,6 @@ paginate_path: /blog/page:num include: - _s exclude: + - bin - Phakefile.php - README.md diff --git a/bin/publish-post b/bin/publish-post new file mode 100755 index 00000000..28c7d6bf --- /dev/null +++ b/bin/publish-post @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + +if [ $# -lt 1 ]; then + echo "usage: $0 _drafts/<path-to-file> [<new-slug>]" + exit 1 +fi + +if [ ! -f $1 ]; then + echo "draft not found: $1" + exit 1 +fi + +if [ $# -gt 1 ]; then + fname="$2".md +else + fname=${1/_drafts\//} +fi + +mv $1 _posts/$(date +'%F')-$fname From f7309b5ddb1967af825b11c34de4443b24265a02 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Thu, 6 Feb 2014 02:20:37 +0200 Subject: [PATCH 241/839] add release post for 0.14 --- _posts/2014-02-06-version-0.14.md | 62 +++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 _posts/2014-02-06-version-0.14.md diff --git a/_posts/2014-02-06-version-0.14.md b/_posts/2014-02-06-version-0.14.md new file mode 100644 index 00000000..0e01756f --- /dev/null +++ b/_posts/2014-02-06-version-0.14.md @@ -0,0 +1,62 @@ +--- +layout: post +author: scribu +title: Version 0.14 released +--- + +I'm pleased to present the first release of WP-CLI in 2014, coincidentally called 0.14.0. Let's get right into it. + +### Automatically detect WordPress in a subdirectory + +Having [WordPress in a subdirectory][subdir] is a great way keep your code repository clean. + +Until now, you had to explicitly tell WP-CLI how to find it, either by using the `--path=` parameter, or by creating a `wp-cli.yml` file in the root directory. With version 0.14, it will find it automatically. + +To make this not-common-enough scenario work, we had to once again call upon the [dark powers of `eval()`][eval]. + +### Protection against running as root + +If you try to run a WP-CLI command as the superuser, WP-CLI will refuse to run. In production environemnts, most of the commands should actually be run under the same user as the web server. But, in general, running commands as root is a bad idea. + +For example, if you run `wp media regenerate` as `root`, then the newly created thumbnail files will naturally be owned by `root`. If the web server is running under the `www-data` user, it won't be able to change these files (unless they're globally writable, which is less secure). So, the correct command would be `sudo -u www-data wp media regenerate`. + +If you trigger this protection, you will also receive instructions about how to disable it. + +### `--skip-plugins` global flag + +Ever used WP-CLI to install a plugin that broke WP-CLI? Well, now there's a 100% sure way to deactivate it: `wp --skip-plugins plugin disable naughty-plugin`. + +You can also skip only particular plugins: `wp --skip-plugins=admin-blocker,complex-beast`. + +### Breaking changes + +* `wp term create`, `wp term update`, `wp term get` and `wp term delete` now accept the taxonomy as the first parameter, just like all the other term subcommands + +### Other changes + +* added `wp post url`, `wp comment url` and `wp site url` subcommands +* added `wp theme enable` and `wp theme disable` subcommands for multisite installs +* added `wp term generate` subcommand +* added `--recurse-objects` flag to `wp search-replace` +* added `--locale` flag to `wp core update` +* `wp core download` now caches WordPress archives +* all `wp user` subcommands now accept user emails as parameters (besides IDs and usernames) +* `wp option` and `wp *-meta` subcommands can now read values from STDIN +* `wp import` now accepts multiple files +* `wp db export` now accepts all parameters that `mysqldump` accepts +* `wp export` now uses a better backend developed by [Nikolay Bachiyski](https://github.com/nb/) (see [#525](https://github.com/wp-cli/wp-cli/pull/525)) +* plugin slugs passed to `wp plugin` subcommands are now always case-sensitive +* fixed JetPack activation +* fixed `wp core is-installed` for multisite +* fixed `--max_depth` parameter for `wp post generate` +* fixed `--role` parameter for `wp user generate` +* fixed issue where `wp user import-csv` would pick up previous user IDs +* fixed issue with progress bar calling `tput` too often +* execution is now aborted if too many positional parameters are passed or if an unknown associative parameter is passed + +You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?milestone=20&state=closed) on Github. + +Contributors to this release: [bartaakos](https://github.com/bartaakos), [boonebgorges](https://github.com/boonebgorges), [danielbachhuber](https://github.com/danielbachhuber), [eliorivero](https://github.com/eliorivero), [francescolaffi](https://github.com/francescolaffi), [itsananderson](https://github.com/itsananderson), [Japh](https://github.com/Japh), [jmslbam](https://github.com/jmslbam), [johnbillion](https://github.com/johnbillion), [mboynes](https://github.com/mboynes), [mgburns](https://github.com/mgburns), [nb](https://github.com/nb), [rodrigoprimo](https://github.com/rodrigoprimo), [scribu](https://github.com/scribu), [sibprogrammer](https://github.com/sibprogrammer), [simonwheatley](https://github.com/simonwheatley), [SpikesDivZero](https://github.com/SpikesDivZero), [westonruter](https://github.com/westonruter), [ziz](https://github.com/ziz) + +[subdir]: http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory +[eval]: https://github.com/wp-cli/wp-cli/blob/v0.14.0/php/WP_CLI/Runner.php#L76-95 From c29ac6bfcbdbd3fd4d04fa0a88d29b28380173db Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Sat, 15 Feb 2014 22:28:53 +0000 Subject: [PATCH 242/839] plugin {disable,deactivate} --- _posts/2014-02-06-version-0.14.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2014-02-06-version-0.14.md b/_posts/2014-02-06-version-0.14.md index 0e01756f..d3334306 100644 --- a/_posts/2014-02-06-version-0.14.md +++ b/_posts/2014-02-06-version-0.14.md @@ -24,7 +24,7 @@ If you trigger this protection, you will also receive instructions about how to ### `--skip-plugins` global flag -Ever used WP-CLI to install a plugin that broke WP-CLI? Well, now there's a 100% sure way to deactivate it: `wp --skip-plugins plugin disable naughty-plugin`. +Ever used WP-CLI to install a plugin that broke WP-CLI? Well, now there's a 100% sure way to deactivate it: `wp --skip-plugins plugin deactivate naughty-plugin`. You can also skip only particular plugins: `wp --skip-plugins=admin-blocker,complex-beast`. From 07152372414697042828a9d81de658233a02784c Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber <daniel@handbuilt.co> Date: Wed, 19 Feb 2014 08:44:18 -0800 Subject: [PATCH 243/839] Update minimum required version https://github.com/wp-cli/wp-cli/pull/1004 --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index 2fb64ad7..1655bab5 100644 --- a/index.md +++ b/index.md @@ -8,7 +8,7 @@ title: Command line interface for WordPress * UNIX-like environment (OS X, Linux, FreeBSD, Cygwin) * PHP 5.3.2 or later -* WordPress 3.4 or later +* WordPress 3.5.2 or later <h2 id="install">Installing</h2> From b92061a560b24534404850e2fc969daeb75e6232 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Wed, 19 Feb 2014 22:30:50 +0000 Subject: [PATCH 244/839] make the config table easier to scan --- _includes/param-list.html | 165 +++++++++++++++++++++++++++---------- _templates/config.mustache | 15 +++- assets/css/stylesheet.css | 9 +- config/index.md | 23 +++--- 4 files changed, 151 insertions(+), 61 deletions(-) diff --git a/_includes/param-list.html b/_includes/param-list.html index ab0a577b..0952baae 100644 --- a/_includes/param-list.html +++ b/_includes/param-list.html @@ -1,66 +1,143 @@ <tr> - <td><code>path: <path></code></td> - <td><code>--path=<path></code></td> - <td><code>null</code></td> - <td>Path to the WordPress files</td> + <td> + Path to the WordPress files + <br /> + Default value: <code>null</code> + </td> + <td> + <span class="option"><code>path: <path></code></span> + </td> + <td> + <span class="flag"><code>--path=<path></code></span> + </td> </tr> <tr> - <td><code>url: <url></code></td> - <td><code>--url=<url></code></td> - <td><code>null</code></td> - <td>Pretend request came from given URL</td> + <td> + Pretend request came from given URL + <br /> + Default value: <code>null</code> + </td> + <td> + <span class="option"><code>url: <url></code></span> + </td> + <td> + <span class="flag"><code>--url=<url></code></span> + </td> </tr> <tr> - <td><code>user: <id|login></code></td> - <td><code>--user=<id|login></code></td> - <td><code>null</code></td> - <td>Set the WordPress user</td> + <td> + Set the WordPress user + <br /> + Default value: <code>null</code> + </td> + <td> + <span class="option"><code>user: <id|login></code></span> + </td> + <td> + <span class="flag"><code>--user=<id|login></code></span> + </td> </tr> <tr> - <td><code></code></td> - <td><code>--skip-plugins[=<plugin>]</code></td> - <td><code>""</code></td> - <td>Skip loading all or some plugins</td> + <td> + Skip loading all or some plugins + <br /> + Default value: <code>""</code> + </td> + <td> + <span class="option"><code></code></span> + </td> + <td> + <span class="flag"><code>--skip-plugins[=<plugin>]</code></span> + </td> </tr> <tr> - <td><code>require: <path></code></td> - <td><code>--require=<path></code></td> - <td><code>[]</code></td> - <td>Load PHP file before running the command (may be used more than once)</td> + <td> + Load PHP file before running the command (may be used more than once) + <br /> + Default value: <code>[]</code> + </td> + <td> + <span class="option"><code>require: <path></code></span> + </td> + <td> + <span class="flag"><code>--require=<path></code></span> + </td> </tr> <tr> - <td><code>disabled_commands: <list></code></td> - <td><code></code></td> - <td><code>[]</code></td> - <td>(Sub)commands to disable</td> + <td> + (Sub)commands to disable + <br /> + Default value: <code>[]</code> + </td> + <td> + <span class="option"><code>disabled_commands: <list></code></span> + </td> + <td> + <span class="flag"><code></code></span> + </td> </tr> <tr> - <td><code>color: <bool></code></td> - <td><code>--[no-]color</code></td> - <td><code>"auto"</code></td> - <td>Whether to colorize the output</td> + <td> + Whether to colorize the output + <br /> + Default value: <code>"auto"</code> + </td> + <td> + <span class="option"><code>color: <bool></code></span> + </td> + <td> + <span class="flag"><code>--[no-]color</code></span> + </td> </tr> <tr> - <td><code>debug: <bool></code></td> - <td><code>--debug</code></td> - <td><code>false</code></td> - <td>Show all PHP errors</td> + <td> + Show all PHP errors + <br /> + Default value: <code>false</code> + </td> + <td> + <span class="option"><code>debug: <bool></code></span> + </td> + <td> + <span class="flag"><code>--debug</code></span> + </td> </tr> <tr> - <td><code></code></td> - <td><code>--prompt</code></td> - <td><code>false</code></td> - <td>Prompt the user to enter values for all command arguments</td> + <td> + Prompt the user to enter values for all command arguments + <br /> + Default value: <code>false</code> + </td> + <td> + <span class="option"><code></code></span> + </td> + <td> + <span class="flag"><code>--prompt</code></span> + </td> </tr> <tr> - <td><code>quiet: <bool></code></td> - <td><code>--quiet</code></td> - <td><code>false</code></td> - <td>Suppress informational messages</td> + <td> + Suppress informational messages + <br /> + Default value: <code>false</code> + </td> + <td> + <span class="option"><code>quiet: <bool></code></span> + </td> + <td> + <span class="flag"><code>--quiet</code></span> + </td> </tr> <tr> - <td><code>apache_modules: <list></code></td> - <td><code></code></td> - <td><code>[]</code></td> - <td>List of Apache Modules that are to be reported as loaded</td> + <td> + List of Apache Modules that are to be reported as loaded + <br /> + Default value: <code>[]</code> + </td> + <td> + <span class="option"><code>apache_modules: <list></code></span> + </td> + <td> + <span class="flag"><code></code></span> + </td> </tr> diff --git a/_templates/config.mustache b/_templates/config.mustache index f5d84f89..fbc24a9d 100644 --- a/_templates/config.mustache +++ b/_templates/config.mustache @@ -1,6 +1,13 @@ <tr> - <td><code>{{config}}</code></td> - <td><code>{{flag}}</code></td> - <td><code>{{default}}</code></td> - <td>{{description}}</td> + <td> + {{description}} + <br /> + Default value: <code>{{default}}</code> + </td> + <td> + <span class="option"><code>{{config}}</code></span> + </td> + <td> + <span class="flag"><code>{{flag}}</code></span> + </td> </tr> diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 15358a9d..3a184817 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -202,7 +202,7 @@ th, td { padding: 5px 20px 5px 0; } -th { +th, td { text-align: left; border-bottom: 1px dashed #b5e853; } @@ -214,6 +214,13 @@ hr { color: #b5e853; } +.option { + color: #049DCE; +} +.flag { + color: #50B600; +} + /* Buttons */ .btn { diff --git a/config/index.md b/config/index.md index 1326414b..112a0747 100644 --- a/config/index.md +++ b/config/index.md @@ -2,25 +2,24 @@ layout: default title: Configuration --- -The following is a list of the currently supported configuration options. They can be specified by creating a `wp-cli.yml` file in your site's root directory. +WP-CLI has a series of global parameters which work with all commands. They can be specified either as flags for the `wp` executable in the terminal, or defined in a YAML config file. -Most can also be passed directly to the `wp` executable. - -The order of precedence is: +The order of precedence, from highest priority to lowest, is: 1. Command-line flags -1. `wp-cli.local.yml` file -1. `wp-cli.yml` file -1. `~/.wp-cli/config.yml` file +1. `wp-cli.local.yml` file inside a WordPress install +1. `wp-cli.yml` file inside a WordPress install +1. `~/.wp-cli/config.yml` file (path can be changed by setting the `WP_CLI_CONFIG_PATH` environment variable) 1. Defaults +The table below lists the available <span class="option">options</span> (specified in the configuration file) and <span class="flag">flags</span> (specified on the command-line). + <table> <thead> <tr> - <th>Config</th> - <th>Flag</th> - <th>Default</th> <th>Description</th> + <th><span class="option">Option</span></th> + <th><span class="flag">Flag</span></th> </tr> </thead> <tbody> @@ -28,6 +27,8 @@ The order of precedence is: </tbody> </table> +Besides the global parameters described above, config files can also contain defaults for any subcommand. + Example `wp-cli.yml` file: path: wp-core @@ -41,5 +42,3 @@ Example `wp-cli.yml` file: core install: admin_user: billy admin_email: billy@example.com - -The path to the global config file (which defaults to `~/.wp-cli/config.yml`) can be changed by setting the `WP_CLI_CONFIG_PATH` environment variable. From 11b75c0c53966f89a5cbd6c22170fbf1e5cc7896 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Wed, 19 Feb 2014 22:37:34 +0000 Subject: [PATCH 245/839] remove extra <span> tags --- _includes/param-list.html | 44 +++++++++++++++++++------------------- _templates/config.mustache | 4 ++-- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/_includes/param-list.html b/_includes/param-list.html index 0952baae..7cb503fb 100644 --- a/_includes/param-list.html +++ b/_includes/param-list.html @@ -5,10 +5,10 @@ Default value: <code>null</code> </td> <td> - <span class="option"><code>path: <path></code></span> + <code class="option">path: <path></code> </td> <td> - <span class="flag"><code>--path=<path></code></span> + <code class="flag">--path=<path></code> </td> </tr> <tr> @@ -18,10 +18,10 @@ Default value: <code>null</code> </td> <td> - <span class="option"><code>url: <url></code></span> + <code class="option">url: <url></code> </td> <td> - <span class="flag"><code>--url=<url></code></span> + <code class="flag">--url=<url></code> </td> </tr> <tr> @@ -31,10 +31,10 @@ Default value: <code>null</code> </td> <td> - <span class="option"><code>user: <id|login></code></span> + <code class="option">user: <id|login></code> </td> <td> - <span class="flag"><code>--user=<id|login></code></span> + <code class="flag">--user=<id|login></code> </td> </tr> <tr> @@ -44,10 +44,10 @@ Default value: <code>""</code> </td> <td> - <span class="option"><code></code></span> + <code class="option"></code> </td> <td> - <span class="flag"><code>--skip-plugins[=<plugin>]</code></span> + <code class="flag">--skip-plugins[=<plugin>]</code> </td> </tr> <tr> @@ -57,10 +57,10 @@ Default value: <code>[]</code> </td> <td> - <span class="option"><code>require: <path></code></span> + <code class="option">require: <path></code> </td> <td> - <span class="flag"><code>--require=<path></code></span> + <code class="flag">--require=<path></code> </td> </tr> <tr> @@ -70,10 +70,10 @@ Default value: <code>[]</code> </td> <td> - <span class="option"><code>disabled_commands: <list></code></span> + <code class="option">disabled_commands: <list></code> </td> <td> - <span class="flag"><code></code></span> + <code class="flag"></code> </td> </tr> <tr> @@ -83,10 +83,10 @@ Default value: <code>"auto"</code> </td> <td> - <span class="option"><code>color: <bool></code></span> + <code class="option">color: <bool></code> </td> <td> - <span class="flag"><code>--[no-]color</code></span> + <code class="flag">--[no-]color</code> </td> </tr> <tr> @@ -96,10 +96,10 @@ Default value: <code>false</code> </td> <td> - <span class="option"><code>debug: <bool></code></span> + <code class="option">debug: <bool></code> </td> <td> - <span class="flag"><code>--debug</code></span> + <code class="flag">--debug</code> </td> </tr> <tr> @@ -109,10 +109,10 @@ Default value: <code>false</code> </td> <td> - <span class="option"><code></code></span> + <code class="option"></code> </td> <td> - <span class="flag"><code>--prompt</code></span> + <code class="flag">--prompt</code> </td> </tr> <tr> @@ -122,10 +122,10 @@ Default value: <code>false</code> </td> <td> - <span class="option"><code>quiet: <bool></code></span> + <code class="option">quiet: <bool></code> </td> <td> - <span class="flag"><code>--quiet</code></span> + <code class="flag">--quiet</code> </td> </tr> <tr> @@ -135,9 +135,9 @@ Default value: <code>[]</code> </td> <td> - <span class="option"><code>apache_modules: <list></code></span> + <code class="option">apache_modules: <list></code> </td> <td> - <span class="flag"><code></code></span> + <code class="flag"></code> </td> </tr> diff --git a/_templates/config.mustache b/_templates/config.mustache index fbc24a9d..68246907 100644 --- a/_templates/config.mustache +++ b/_templates/config.mustache @@ -5,9 +5,9 @@ Default value: <code>{{default}}</code> </td> <td> - <span class="option"><code>{{config}}</code></span> + <code class="option">{{config}}</code> </td> <td> - <span class="flag"><code>{{flag}}</code></span> + <code class="flag">{{flag}}</code> </td> </tr> From 5965b095ef1cfa1e9cf925365485fe373a6ce7cb Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Thu, 27 Mar 2014 14:50:05 +0200 Subject: [PATCH 246/839] link to trepmal's tutorial --- index.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/index.md b/index.md index 1655bab5..a897c6dd 100644 --- a/index.md +++ b/index.md @@ -37,7 +37,10 @@ Now try running `wp --info`. If you're using MAMP, you will probably get a MySQL error, because the `php` found in your PATH is not the same as the PHP used by MAMP. Here is one way to [fix it](http://stackoverflow.com/a/10653443/97998). -Also see [Alternative Install Methods](https://github.com/wp-cli/wp-cli/wiki/Alternative-Install-Methods). +More resources: + +* [Getting Started with WP-CLI](https://trepmal.com/2014/02/22/getting-started-with-wp-cli/) (includes video) +* [Alternative Install Methods](https://github.com/wp-cli/wp-cli/wiki/Alternative-Install-Methods) <h3 id="complete">Tab completions</h3> From 1be66b304ba19cc223840c5f2e168fff71a64b78 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Thu, 27 Mar 2014 14:50:58 +0200 Subject: [PATCH 247/839] use sudo when moving wp-cli.phar from the start --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index a897c6dd..7f1995f1 100644 --- a/index.md +++ b/index.md @@ -28,7 +28,7 @@ To be able to type just `wp`, instead of `php wp-cli.phar`, you need to make the ~~~ chmod +x wp-cli.phar -mv wp-cli.phar /usr/bin/wp +sudo mv wp-cli.phar /usr/bin/wp ~~~ Now try running `wp --info`. From 698d8a206554dcc0711fd9194747ae62c2a24185 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Thu, 10 Apr 2014 14:22:04 +0300 Subject: [PATCH 248/839] fix URL to wp-completion.bash file see https://github.com/wp-cli/wp-cli/issues/1111 --- index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.md b/index.md index 7f1995f1..53fbadc4 100644 --- a/index.md +++ b/index.md @@ -33,7 +33,7 @@ sudo mv wp-cli.phar /usr/bin/wp Now try running `wp --info`. -<h3 id="mamp">MAMP</h3> +<h3 id="mamp">MAMP and XAMPP</h3> If you're using MAMP, you will probably get a MySQL error, because the `php` found in your PATH is not the same as the PHP used by MAMP. Here is one way to [fix it](http://stackoverflow.com/a/10653443/97998). @@ -44,7 +44,7 @@ More resources: <h3 id="complete">Tab completions</h3> -WP-CLI also comes with a tab completion script for Bash. Just download [wp-completion.bash](https://github.com/wp-cli/wp-cli/raw/master/utils/wp-completion.bash) and load it from `~/.bash_profile`: +WP-CLI also comes with a tab completion script for Bash. Just download [wp-completion.bash](https://github.com/wp-cli/wp-cli/blob/v0.14.1/utils/wp-completion.bash) and load it from `~/.bash_profile`: ~~~ source /FULL/PATH/TO/wp-completion.bash From 84aaf62f9d3271ceb7e9109525deb2e874e065d4 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Tue, 15 Apr 2014 19:24:00 +0300 Subject: [PATCH 249/839] update commands for WP-CLI 0.15 --- _includes/cmd-list.html | 28 +++++---- _includes/param-list.html | 2 +- commands/cli/completions/index.md | 6 ++ commands/comment-meta/delete/index.md | 9 --- commands/comment-meta/get/index.md | 9 --- commands/comment/count/index.md | 2 +- commands/comment/index.md | 4 ++ .../meta}/add/index.md | 4 +- commands/comment/meta/delete/index.md | 9 +++ commands/comment/meta/get/index.md | 9 +++ .../{comment-meta => comment/meta}/index.md | 14 ++--- .../meta}/update/index.md | 4 +- commands/core/config/index.md | 3 + commands/core/download/index.md | 2 +- commands/core/is-installed/index.md | 3 + commands/core/update/index.md | 5 +- commands/db/export/index.md | 6 +- commands/db/import/index.md | 2 + commands/db/index.md | 4 ++ commands/db/tables/index.md | 17 ++++++ commands/eval-file/index.md | 10 +++- commands/menu/create/index.md | 17 ++++++ commands/menu/delete/index.md | 14 +++++ commands/menu/index.md | 53 +++++++++++++++++ commands/menu/item/add-custom/index.md | 41 +++++++++++++ commands/menu/item/add-post/index.md | 44 ++++++++++++++ commands/menu/item/add-term/index.md | 47 +++++++++++++++ commands/menu/item/delete/index.md | 14 +++++ commands/menu/item/index.md | 51 +++++++++++++++++ commands/menu/item/list/index.md | 22 +++++++ commands/menu/item/update/index.md | 38 +++++++++++++ commands/menu/list/index.md | 19 +++++++ commands/menu/location/assign/index.md | 17 ++++++ commands/menu/location/index.md | 42 ++++++++++++++ commands/menu/location/list/index.md | 14 +++++ commands/menu/location/remove/index.md | 17 ++++++ commands/network-meta/delete/index.md | 9 --- commands/network-meta/get/index.md | 9 --- commands/network/index.md | 25 ++++++++ .../meta}/add/index.md | 4 +- commands/network/meta/delete/index.md | 9 +++ commands/network/meta/get/index.md | 9 +++ .../{network-meta => network/meta}/index.md | 14 ++--- .../meta}/update/index.md | 4 +- commands/option/add/index.md | 3 + commands/plugin/install/index.md | 3 + commands/post-meta/delete/index.md | 9 --- commands/post-meta/get/index.md | 9 --- commands/post/create/index.md | 6 +- commands/post/index.md | 4 ++ .../{post-meta => post/meta}/add/index.md | 4 +- commands/post/meta/delete/index.md | 9 +++ commands/post/meta/get/index.md | 9 +++ commands/{post-meta => post/meta}/index.md | 14 ++--- .../{post-meta => post/meta}/update/index.md | 4 +- commands/role/index.md | 4 ++ commands/role/reset/index.md | 21 +++++++ commands/sidebar/index.md | 25 ++++++++ commands/sidebar/list/index.md | 19 +++++++ commands/super-admin/add/index.md | 10 ++++ commands/super-admin/index.md | 33 +++++++++++ commands/super-admin/list/index.md | 9 +++ commands/super-admin/remove/index.md | 10 ++++ commands/term/index.md | 4 ++ commands/term/url/index.md | 21 +++++++ commands/theme/index.md | 4 ++ commands/theme/mod/get/index.md | 24 ++++++++ commands/theme/mod/index.md | 33 +++++++++++ commands/theme/mod/remove/index.md | 21 +++++++ commands/theme/mod/set/index.md | 19 +++++++ commands/transient/delete-all/index.md | 9 +++ commands/transient/delete-expired/index.md | 9 +++ commands/transient/index.md | 8 +++ commands/user/create/index.md | 3 + commands/user/delete/index.md | 9 ++- commands/user/import-csv/index.md | 3 + commands/user/index.md | 6 +- .../{user-meta => user/meta}/add/index.md | 4 +- .../{user-meta => user/meta}/delete/index.md | 4 +- .../{user-meta => user/meta}/get/index.md | 4 +- commands/{user-meta => user/meta}/index.md | 16 +++--- .../{user-meta => user/meta}/update/index.md | 4 +- commands/widget/add/index.md | 23 ++++++++ commands/widget/deactivate/index.md | 14 +++++ commands/widget/delete/index.md | 14 +++++ commands/widget/index.md | 57 +++++++++++++++++++ commands/widget/list/index.md | 20 +++++++ commands/widget/move/index.md | 22 +++++++ commands/widget/update/index.md | 17 ++++++ 89 files changed, 1134 insertions(+), 128 deletions(-) delete mode 100644 commands/comment-meta/delete/index.md delete mode 100644 commands/comment-meta/get/index.md rename commands/{comment-meta => comment/meta}/add/index.md (81%) create mode 100644 commands/comment/meta/delete/index.md create mode 100644 commands/comment/meta/get/index.md rename commands/{comment-meta => comment/meta}/index.md (53%) rename commands/{comment-meta => comment/meta}/update/index.md (78%) create mode 100644 commands/db/tables/index.md create mode 100644 commands/menu/create/index.md create mode 100644 commands/menu/delete/index.md create mode 100644 commands/menu/index.md create mode 100644 commands/menu/item/add-custom/index.md create mode 100644 commands/menu/item/add-post/index.md create mode 100644 commands/menu/item/add-term/index.md create mode 100644 commands/menu/item/delete/index.md create mode 100644 commands/menu/item/index.md create mode 100644 commands/menu/item/list/index.md create mode 100644 commands/menu/item/update/index.md create mode 100644 commands/menu/list/index.md create mode 100644 commands/menu/location/assign/index.md create mode 100644 commands/menu/location/index.md create mode 100644 commands/menu/location/list/index.md create mode 100644 commands/menu/location/remove/index.md delete mode 100644 commands/network-meta/delete/index.md delete mode 100644 commands/network-meta/get/index.md create mode 100644 commands/network/index.md rename commands/{network-meta => network/meta}/add/index.md (81%) create mode 100644 commands/network/meta/delete/index.md create mode 100644 commands/network/meta/get/index.md rename commands/{network-meta => network/meta}/index.md (57%) rename commands/{network-meta => network/meta}/update/index.md (78%) delete mode 100644 commands/post-meta/delete/index.md delete mode 100644 commands/post-meta/get/index.md rename commands/{post-meta => post/meta}/add/index.md (82%) create mode 100644 commands/post/meta/delete/index.md create mode 100644 commands/post/meta/get/index.md rename commands/{post-meta => post/meta}/index.md (54%) rename commands/{post-meta => post/meta}/update/index.md (80%) create mode 100644 commands/role/reset/index.md create mode 100644 commands/sidebar/index.md create mode 100644 commands/sidebar/list/index.md create mode 100644 commands/super-admin/add/index.md create mode 100644 commands/super-admin/index.md create mode 100644 commands/super-admin/list/index.md create mode 100644 commands/super-admin/remove/index.md create mode 100644 commands/term/url/index.md create mode 100644 commands/theme/mod/get/index.md create mode 100644 commands/theme/mod/index.md create mode 100644 commands/theme/mod/remove/index.md create mode 100644 commands/theme/mod/set/index.md create mode 100644 commands/transient/delete-all/index.md create mode 100644 commands/transient/delete-expired/index.md rename commands/{user-meta => user/meta}/add/index.md (74%) rename commands/{user-meta => user/meta}/delete/index.md (67%) rename commands/{user-meta => user/meta}/get/index.md (77%) rename commands/{user-meta => user/meta}/index.md (50%) rename commands/{user-meta => user/meta}/update/index.md (72%) create mode 100644 commands/widget/add/index.md create mode 100644 commands/widget/deactivate/index.md create mode 100644 commands/widget/delete/index.md create mode 100644 commands/widget/index.md create mode 100644 commands/widget/list/index.md create mode 100644 commands/widget/move/index.md create mode 100644 commands/widget/update/index.md diff --git a/_includes/cmd-list.html b/_includes/cmd-list.html index 16915a61..0673db32 100644 --- a/_includes/cmd-list.html +++ b/_includes/cmd-list.html @@ -14,10 +14,6 @@ <td><a href="/commands/comment/">comment</a></td> <td>Manage comments.</td> </tr> - <tr> - <td><a href="/commands/comment-meta/">comment-meta</a></td> - <td>Manage comment custom fields.</td> - </tr> <tr> <td><a href="/commands/core/">core</a></td> <td>Download, install, update and otherwise manage WordPress proper.</td> @@ -51,8 +47,12 @@ <td>Manage attachments.</td> </tr> <tr> - <td><a href="/commands/network-meta/">network-meta</a></td> - <td>Manage network custom fields.</td> + <td><a href="/commands/menu/">menu</a></td> + <td>List, create, assign, and delete menus</td> + </tr> + <tr> + <td><a href="/commands/network/">network</a></td> + <td></td> </tr> <tr> <td><a href="/commands/option/">option</a></td> @@ -66,10 +66,6 @@ <td><a href="/commands/post/">post</a></td> <td>Manage posts.</td> </tr> - <tr> - <td><a href="/commands/post-meta/">post-meta</a></td> - <td>Manage post custom fields.</td> - </tr> <tr> <td><a href="/commands/rewrite/">rewrite</a></td> <td>Manage rewrite rules.</td> @@ -90,10 +86,18 @@ <td><a href="/commands/shell/">shell</a></td> <td>Interactive PHP console.</td> </tr> + <tr> + <td><a href="/commands/sidebar/">sidebar</a></td> + <td>Manage sidebars.</td> + </tr> <tr> <td><a href="/commands/site/">site</a></td> <td>Perform site-wide operations.</td> </tr> + <tr> + <td><a href="/commands/super-admin/">super-admin</a></td> + <td>List, add, and remove super admins from a network.</td> + </tr> <tr> <td><a href="/commands/term/">term</a></td> <td>Manage terms.</td> @@ -111,6 +115,6 @@ <td>Manage users.</td> </tr> <tr> - <td><a href="/commands/user-meta/">user-meta</a></td> - <td>Manage user custom fields.</td> + <td><a href="/commands/widget/">widget</a></td> + <td>Manage sidebar widgets.</td> </tr> diff --git a/_includes/param-list.html b/_includes/param-list.html index 7cb503fb..703ce026 100644 --- a/_includes/param-list.html +++ b/_includes/param-list.html @@ -44,7 +44,7 @@ Default value: <code>""</code> </td> <td> - <code class="option"></code> + <code class="option">skip-plugins: <list></code> </td> <td> <code class="flag">--skip-plugins[=<plugin>]</code> diff --git a/commands/cli/completions/index.md b/commands/cli/completions/index.md index 19dadd80..16ec4852 100644 --- a/commands/cli/completions/index.md +++ b/commands/cli/completions/index.md @@ -5,5 +5,11 @@ title: 'wp cli completions' `wp cli completions` - Generate tab completion strings. +### OPTIONS +\--line=<line> +: The current command line to be executed + +\--point=<point> +: The index to the current cursor position relative to the beginning of the command diff --git a/commands/comment-meta/delete/index.md b/commands/comment-meta/delete/index.md deleted file mode 100644 index 045b17e1..00000000 --- a/commands/comment-meta/delete/index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -layout: default -title: 'wp comment-meta delete' ---- - -`wp comment-meta delete` - Delete a meta field. - - - diff --git a/commands/comment-meta/get/index.md b/commands/comment-meta/get/index.md deleted file mode 100644 index 69b7eb85..00000000 --- a/commands/comment-meta/get/index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -layout: default -title: 'wp comment-meta get' ---- - -`wp comment-meta get` - Get meta field value. - - - diff --git a/commands/comment/count/index.md b/commands/comment/count/index.md index fc858d38..cf7017ed 100644 --- a/commands/comment/count/index.md +++ b/commands/comment/count/index.md @@ -7,7 +7,7 @@ title: 'wp comment count' ### OPTIONS -<post-id> +[<post-id>] : The ID of the post to count comments in. ### EXAMPLES diff --git a/commands/comment/index.md b/commands/comment/index.md index 4ccd50e0..758fa8a8 100644 --- a/commands/comment/index.md +++ b/commands/comment/index.md @@ -45,6 +45,10 @@ title: 'wp comment' <td><a href="/commands/comment/list/">list</a></td> <td>Get a list of comments.</td> </tr> + <tr> + <td><a href="/commands/comment/meta/">meta</a></td> + <td>Manage comment custom fields.</td> + </tr> <tr> <td><a href="/commands/comment/spam/">spam</a></td> <td>Spam a comment.</td> diff --git a/commands/comment-meta/add/index.md b/commands/comment/meta/add/index.md similarity index 81% rename from commands/comment-meta/add/index.md rename to commands/comment/meta/add/index.md index 016e79ec..34da8dd7 100644 --- a/commands/comment-meta/add/index.md +++ b/commands/comment/meta/add/index.md @@ -1,9 +1,9 @@ --- layout: default -title: 'wp comment-meta add' +title: 'wp comment meta add' --- -`wp comment-meta add` - Add a meta field. +`wp comment meta add` - Add a meta field. ### OPTIONS diff --git a/commands/comment/meta/delete/index.md b/commands/comment/meta/delete/index.md new file mode 100644 index 00000000..cb4aeef5 --- /dev/null +++ b/commands/comment/meta/delete/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp comment meta delete' +--- + +`wp comment meta delete` - Delete a meta field. + + + diff --git a/commands/comment/meta/get/index.md b/commands/comment/meta/get/index.md new file mode 100644 index 00000000..87255364 --- /dev/null +++ b/commands/comment/meta/get/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp comment meta get' +--- + +`wp comment meta get` - Get meta field value. + + + diff --git a/commands/comment-meta/index.md b/commands/comment/meta/index.md similarity index 53% rename from commands/comment-meta/index.md rename to commands/comment/meta/index.md index dc1ec6df..008c2bca 100644 --- a/commands/comment-meta/index.md +++ b/commands/comment/meta/index.md @@ -1,9 +1,9 @@ --- layout: default -title: 'wp comment-meta' +title: 'wp comment meta' --- -`wp comment-meta` - Manage comment custom fields. +`wp comment meta` - Manage comment custom fields. ### OPTIONS @@ -12,7 +12,7 @@ title: 'wp comment-meta' ### EXAMPLES - wp comment-meta set 123 description "Mary is a WordPress developer." + wp comment meta set 123 description "Mary is a WordPress developer." ### SUBCOMMANDS @@ -25,19 +25,19 @@ title: 'wp comment-meta' </thead> <tbody> <tr> - <td><a href="/commands/comment-meta/add/">add</a></td> + <td><a href="/commands/comment/meta/add/">add</a></td> <td>Add a meta field.</td> </tr> <tr> - <td><a href="/commands/comment-meta/delete/">delete</a></td> + <td><a href="/commands/comment/meta/delete/">delete</a></td> <td>Delete a meta field.</td> </tr> <tr> - <td><a href="/commands/comment-meta/get/">get</a></td> + <td><a href="/commands/comment/meta/get/">get</a></td> <td>Get meta field value.</td> </tr> <tr> - <td><a href="/commands/comment-meta/update/">update</a></td> + <td><a href="/commands/comment/meta/update/">update</a></td> <td>Update a meta field.</td> </tr> </tbody> diff --git a/commands/comment-meta/update/index.md b/commands/comment/meta/update/index.md similarity index 78% rename from commands/comment-meta/update/index.md rename to commands/comment/meta/update/index.md index 135df70c..cc466fca 100644 --- a/commands/comment-meta/update/index.md +++ b/commands/comment/meta/update/index.md @@ -1,9 +1,9 @@ --- layout: default -title: 'wp comment-meta update' +title: 'wp comment meta update' --- -`wp comment-meta update` - Update a meta field. +`wp comment meta update` - Update a meta field. ### OPTIONS diff --git a/commands/core/config/index.md b/commands/core/config/index.md index 67b66205..a6271bbf 100644 --- a/commands/core/config/index.md +++ b/commands/core/config/index.md @@ -37,6 +37,9 @@ title: 'wp core config' [\--skip-salts] : If set, keys and salts won't be generated, but should instead be passed via `--extra-php`. +[\--skip-check] +: If set, the database connection is not checked. + ### EXAMPLES # Standard wp-config.php file diff --git a/commands/core/download/index.md b/commands/core/download/index.md index 261de7b4..eab986a0 100644 --- a/commands/core/download/index.md +++ b/commands/core/download/index.md @@ -21,5 +21,5 @@ title: 'wp core download' ### EXAMPLES - wp core download --version=3.3 + wp core download --locale=nl_NL diff --git a/commands/core/is-installed/index.md b/commands/core/is-installed/index.md index b1343c65..86f9b4be 100644 --- a/commands/core/is-installed/index.md +++ b/commands/core/is-installed/index.md @@ -5,6 +5,9 @@ title: 'wp core is-installed' `wp core is-installed` - Determine if the WordPress tables are installed. +[\--network] +: Check if this is a multisite install + ### EXAMPLES if ! $(wp core is-installed); then diff --git a/commands/core/update/index.md b/commands/core/update/index.md index d4c59548..5d4cf7e7 100644 --- a/commands/core/update/index.md +++ b/commands/core/update/index.md @@ -14,8 +14,7 @@ title: 'wp core update' : Update to this version, instead of to the latest version. [\--force] -: Will update even when current WP version < passed version. Use with -caution. +: Update even when installed WP version is greater than the requested version. [\--locale=<locale>] : Select which language you want to download. @@ -24,7 +23,7 @@ caution. wp core update - wp core update --version=3.4 ../latest.zip + wp core update --version=3.8 ../latest.zip wp core update --version=3.1 --force diff --git a/commands/db/export/index.md b/commands/db/export/index.md index 2cb83488..cd986abd 100644 --- a/commands/db/export/index.md +++ b/commands/db/export/index.md @@ -13,7 +13,11 @@ title: 'wp db export' [\--<field>=<value>] : Extra arguments to pass to mysqldump +[\--tables=<tables>] +: The comma separated list of specific tables to export. Excluding this parameter will export all tables + ### EXAMPLES - wp db dump --add-drop-table + wp db export --add-drop-table + wp db export --tables=wp_options,wp_users diff --git a/commands/db/import/index.md b/commands/db/import/index.md index 07228250..2da8ecde 100644 --- a/commands/db/import/index.md +++ b/commands/db/import/index.md @@ -5,6 +5,8 @@ title: 'wp db import' `wp db import` - Import database from a file or from STDIN. +### OPTIONS + [<file>] : The name of the SQL file to import. If '-', then reads from STDIN. If omitted, it will look for '{dbname}.sql'. diff --git a/commands/db/index.md b/commands/db/index.md index 2791d95e..45cf52ef 100644 --- a/commands/db/index.md +++ b/commands/db/index.md @@ -53,5 +53,9 @@ title: 'wp db' <td><a href="/commands/db/reset/">reset</a></td> <td>Remove all tables from the database.</td> </tr> + <tr> + <td><a href="/commands/db/tables/">tables</a></td> + <td>List the database tables.</td> + </tr> </tbody> </table> diff --git a/commands/db/tables/index.md b/commands/db/tables/index.md new file mode 100644 index 00000000..dc8c9874 --- /dev/null +++ b/commands/db/tables/index.md @@ -0,0 +1,17 @@ +--- +layout: default +title: 'wp db tables' +--- + +`wp db tables` - List the database tables. + +### OPTIONS + +[\--scope=<scope>] +: Can be all, global, ms_global, blog, or old tables. Defaults to all. + +### EXAMPLES + +# Export only tables for a single site +wp db export --tables=$(wp db tables --url=sub.example.com | tr '\n' ',') + diff --git a/commands/eval-file/index.md b/commands/eval-file/index.md index 6f337bde..142d6410 100644 --- a/commands/eval-file/index.md +++ b/commands/eval-file/index.md @@ -5,7 +5,15 @@ title: 'wp eval-file' `wp eval-file` - Load and execute a PHP file after loading WordPress. +### OPTIONS + +<file> +: The path to the PHP file to execute. + +[<arg>...] +: One or more arguments to pass to the file. They are placed in the $args variable. + ### EXAMPLES - wp eval-file my-code.php + wp eval-file my-code.php value1 value2 diff --git a/commands/menu/create/index.md b/commands/menu/create/index.md new file mode 100644 index 00000000..86b64607 --- /dev/null +++ b/commands/menu/create/index.md @@ -0,0 +1,17 @@ +--- +layout: default +title: 'wp menu create' +--- + +`wp menu create` - Create a new menu + +<menu-name> +: A descriptive name for the menu + +[\--porcelain] +: Output just the new menu id. + +### EXAMPLES + + wp menu create "My Menu" + diff --git a/commands/menu/delete/index.md b/commands/menu/delete/index.md new file mode 100644 index 00000000..3260dc73 --- /dev/null +++ b/commands/menu/delete/index.md @@ -0,0 +1,14 @@ +--- +layout: default +title: 'wp menu delete' +--- + +`wp menu delete` - Delete one or more menus + +<menu>... +: The name, slug, or term ID for the menu(s) + +### EXAMPLES + + wp menu delete "My Menu" + diff --git a/commands/menu/index.md b/commands/menu/index.md new file mode 100644 index 00000000..dc5f9b9b --- /dev/null +++ b/commands/menu/index.md @@ -0,0 +1,53 @@ +--- +layout: default +title: 'wp menu' +--- + +`wp menu` - List, create, assign, and delete menus + +### EXAMPLES + + # Create a new menu + wp menu create "My Menu" + + # List existing menus + wp menu list + + # Create a new menu link item + wp menu item add-custom sidebar-menu Apple http://apple.com --porcelain + + # Assign the 'primary-menu' menu to the 'primary' location + wp menu location assign primary-menu primary + +### SUBCOMMANDS + +<table> + <thead> + <tr> + <th>Name</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="/commands/menu/create/">create</a></td> + <td>Create a new menu</td> + </tr> + <tr> + <td><a href="/commands/menu/delete/">delete</a></td> + <td>Delete one or more menus</td> + </tr> + <tr> + <td><a href="/commands/menu/item/">item</a></td> + <td>List, add, and delete items associated with a menu</td> + </tr> + <tr> + <td><a href="/commands/menu/list/">list</a></td> + <td>Get a list of menus.</td> + </tr> + <tr> + <td><a href="/commands/menu/location/">location</a></td> + <td>Manage a menu's assignment to locations.</td> + </tr> + </tbody> +</table> diff --git a/commands/menu/item/add-custom/index.md b/commands/menu/item/add-custom/index.md new file mode 100644 index 00000000..fd038e1d --- /dev/null +++ b/commands/menu/item/add-custom/index.md @@ -0,0 +1,41 @@ +--- +layout: default +title: 'wp menu item add-custom' +--- + +`wp menu item add-custom` - Add a custom menu item + +<menu> +: The name, slug, or term ID for the menu + +<title> +: Title for the link + +<link> +: Target URL for the link + +[\--description=<description>] +: Set a custom description for the menu item + +[\--attr-title=<attr-title>] +: Set a custom title attribute for the menu item + +[\--target=<target>] +: Set a custom link target for the menu item + +[\--classes=<classes>] +: Set a custom link classes for the menu item + +[\--position=<position>] +: Specify the position of this menu item. + +[\--parent-id=<parent-id>] +: Make this menu item a child of another menu item + +[\--porcelain] +: Output just the new menu item id. + +### EXAMPLES + + wp menu item add-custom sidebar-menu Apple http://apple.com --porcelain + diff --git a/commands/menu/item/add-post/index.md b/commands/menu/item/add-post/index.md new file mode 100644 index 00000000..b1c46f58 --- /dev/null +++ b/commands/menu/item/add-post/index.md @@ -0,0 +1,44 @@ +--- +layout: default +title: 'wp menu item add-post' +--- + +`wp menu item add-post` - Add a post as a menu item + +<menu> +: The name, slug, or term ID for the menu + +<post-id> +: Post ID to add to the menu + +[\--title=<title>] +: Set a custom title for the menu item + +[\--link=<link>] +: Set a custom url for the menu item + +[\--description=<description>] +: Set a custom description for the menu item + +[\--attr-title=<attr-title>] +: Set a custom title attribute for the menu item + +[\--target=<target>] +: Set a custom link target for the menu item + +[\--classes=<classes>] +: Set a custom link classes for the menu item + +[\--position=<position>] +: Specify the position of this menu item. + +[\--parent-id=<parent-id>] +: Make this menu item a child of another menu item + +[\--porcelain] +: Output just the new menu item id. + +### EXAMPLES + + wp menu item add-post sidebar-menu 33 --title="Custom Test Post" + diff --git a/commands/menu/item/add-term/index.md b/commands/menu/item/add-term/index.md new file mode 100644 index 00000000..f35eb9ce --- /dev/null +++ b/commands/menu/item/add-term/index.md @@ -0,0 +1,47 @@ +--- +layout: default +title: 'wp menu item add-term' +--- + +`wp menu item add-term` - Add a taxonomy term as a menu item + +<menu> +: The name, slug, or term ID for the menu + +<taxonomy> +: Taxonomy of the term to be added + +<term-id> +: Term ID of the term to be added + +[\--title=<title>] +: Set a custom title for the menu item + +[\--link=<link>] +: Set a custom url for the menu item + +[\--description=<description>] +: Set a custom description for the menu item + +[\--attr-title=<attr-title>] +: Set a custom title attribute for the menu item + +[\--target=<target>] +: Set a custom link target for the menu item + +[\--classes=<classes>] +: Set a custom link classes for the menu item + +[\--position=<position>] +: Specify the position of this menu item. + +[\--parent-id=<parent-id>] +: Make this menu item a child of another menu item + +[\--porcelain] +: Output just the new menu item id. + +### EXAMPLES + + wp menu item add-term sidebar-menu post_tag 24 + diff --git a/commands/menu/item/delete/index.md b/commands/menu/item/delete/index.md new file mode 100644 index 00000000..b2f0f872 --- /dev/null +++ b/commands/menu/item/delete/index.md @@ -0,0 +1,14 @@ +--- +layout: default +title: 'wp menu item delete' +--- + +`wp menu item delete` - Delete one or more items from a menu + +<db-id>... +: Database ID for the menu item(s). + +### EXAMPLES + + wp menu item remove 45 + diff --git a/commands/menu/item/index.md b/commands/menu/item/index.md new file mode 100644 index 00000000..4138d9cf --- /dev/null +++ b/commands/menu/item/index.md @@ -0,0 +1,51 @@ +--- +layout: default +title: 'wp menu item' +--- + +`wp menu item` - List, add, and delete items associated with a menu + +### EXAMPLES + + # Add an existing post to an existing menu + wp menu item add-post sidebar-menu 33 --title="Custom Test Post" + + # Create a new menu link item + wp menu item add-custom sidebar-menu Apple http://apple.com --porcelain + +### SUBCOMMANDS + +<table> + <thead> + <tr> + <th>Name</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="/commands/menu/item/add-custom/">add-custom</a></td> + <td>Add a custom menu item</td> + </tr> + <tr> + <td><a href="/commands/menu/item/add-post/">add-post</a></td> + <td>Add a post as a menu item</td> + </tr> + <tr> + <td><a href="/commands/menu/item/add-term/">add-term</a></td> + <td>Add a taxonomy term as a menu item</td> + </tr> + <tr> + <td><a href="/commands/menu/item/delete/">delete</a></td> + <td>Delete one or more items from a menu</td> + </tr> + <tr> + <td><a href="/commands/menu/item/list/">list</a></td> + <td>Get a list of items associated with a menu</td> + </tr> + <tr> + <td><a href="/commands/menu/item/update/">update</a></td> + <td>Update a menu item</td> + </tr> + </tbody> +</table> diff --git a/commands/menu/item/list/index.md b/commands/menu/item/list/index.md new file mode 100644 index 00000000..f7c207ad --- /dev/null +++ b/commands/menu/item/list/index.md @@ -0,0 +1,22 @@ +--- +layout: default +title: 'wp menu item list' +--- + +`wp menu item list` - Get a list of items associated with a menu + +### OPTIONS + +<menu> +: The name, slug, or term ID for the menu + +[\--fields=<fields>] +: Limit the output to specific object fields. Defaults to db_id,type,title,link + +[\--format=<format>] +: Accepted values: table, csv, json, count, ids. Default: table + +### EXAMPLES + + wp menu item list <menu> + diff --git a/commands/menu/item/update/index.md b/commands/menu/item/update/index.md new file mode 100644 index 00000000..1b0fff33 --- /dev/null +++ b/commands/menu/item/update/index.md @@ -0,0 +1,38 @@ +--- +layout: default +title: 'wp menu item update' +--- + +`wp menu item update` - Update a menu item + +<db-id> +: Database ID for the menu item. + +[\--title=<title>] +: Set a custom title for the menu item + +[\--link=<link>] +: Set a custom url for the menu item + +[\--description=<description>] +: Set a custom description for the menu item + +[\--attr-title=<attr-title>] +: Set a custom title attribute for the menu item + +[\--target=<target>] +: Set a custom link target for the menu item + +[\--classes=<classes>] +: Set a custom link classes for the menu item + +[\--position=<position>] +: Specify the position of this menu item. + +[\--parent-id=<parent-id>] +: Make this menu item a child of another menu item + +### EXAMPLES + + wp menu item update 45 --title=WordPress --link='http://wordpress.org' --target=_blank --position=2 + diff --git a/commands/menu/list/index.md b/commands/menu/list/index.md new file mode 100644 index 00000000..f53da12e --- /dev/null +++ b/commands/menu/list/index.md @@ -0,0 +1,19 @@ +--- +layout: default +title: 'wp menu list' +--- + +`wp menu list` - Get a list of menus. + +### OPTIONS + +[\--fields=<fields>] +: Limit the output to specific object fields. Defaults to term_id,name,slug,count + +[\--format=<format>] +: Accepted values: table, csv, json, count, ids. Default: table + +### EXAMPLES + + wp menu list + diff --git a/commands/menu/location/assign/index.md b/commands/menu/location/assign/index.md new file mode 100644 index 00000000..db140ab4 --- /dev/null +++ b/commands/menu/location/assign/index.md @@ -0,0 +1,17 @@ +--- +layout: default +title: 'wp menu location assign' +--- + +`wp menu location assign` - Assign a location to a menu + +<menu> +: The name, slug, or term ID for the menu + +<location> +: Location's slug + +### EXAMPLES + + wp menu location assign primary-menu primary + diff --git a/commands/menu/location/index.md b/commands/menu/location/index.md new file mode 100644 index 00000000..a64862a5 --- /dev/null +++ b/commands/menu/location/index.md @@ -0,0 +1,42 @@ +--- +layout: default +title: 'wp menu location' +--- + +`wp menu location` - Manage a menu's assignment to locations. + +### EXAMPLES + + # List available menu locations + wp menu location list + + # Assign the 'primary-menu' menu to the 'primary' location + wp menu location assign primary-menu primary + + # Remove the 'primary-menu' menu from the 'primary' location + wp menu location remove primary-menu primary + +### SUBCOMMANDS + +<table> + <thead> + <tr> + <th>Name</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="/commands/menu/location/assign/">assign</a></td> + <td>Assign a location to a menu</td> + </tr> + <tr> + <td><a href="/commands/menu/location/list/">list</a></td> + <td>List locations for the current theme.</td> + </tr> + <tr> + <td><a href="/commands/menu/location/remove/">remove</a></td> + <td>Remove a location from a menu</td> + </tr> + </tbody> +</table> diff --git a/commands/menu/location/list/index.md b/commands/menu/location/list/index.md new file mode 100644 index 00000000..af62ed2e --- /dev/null +++ b/commands/menu/location/list/index.md @@ -0,0 +1,14 @@ +--- +layout: default +title: 'wp menu location list' +--- + +`wp menu location list` - List locations for the current theme. + +[\--format=<format>] +: Accepted values: table, csv, json, count, ids. Default: table + +### EXAMPLES + + wp menu location list + diff --git a/commands/menu/location/remove/index.md b/commands/menu/location/remove/index.md new file mode 100644 index 00000000..44813bfb --- /dev/null +++ b/commands/menu/location/remove/index.md @@ -0,0 +1,17 @@ +--- +layout: default +title: 'wp menu location remove' +--- + +`wp menu location remove` - Remove a location from a menu + +<menu> +: The name, slug, or term ID for the menu + +<location> +: Location's slug + +### EXAMPLES + + wp menu location remove primary-menu primary + diff --git a/commands/network-meta/delete/index.md b/commands/network-meta/delete/index.md deleted file mode 100644 index 10002022..00000000 --- a/commands/network-meta/delete/index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -layout: default -title: 'wp network-meta delete' ---- - -`wp network-meta delete` - Delete a meta field. - - - diff --git a/commands/network-meta/get/index.md b/commands/network-meta/get/index.md deleted file mode 100644 index e75e9f04..00000000 --- a/commands/network-meta/get/index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -layout: default -title: 'wp network-meta get' ---- - -`wp network-meta get` - Get meta field value. - - - diff --git a/commands/network/index.md b/commands/network/index.md new file mode 100644 index 00000000..595e0e17 --- /dev/null +++ b/commands/network/index.md @@ -0,0 +1,25 @@ +--- +layout: default +title: 'wp network' +--- + +`wp network` - + + + +### SUBCOMMANDS + +<table> + <thead> + <tr> + <th>Name</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="/commands/network/meta/">meta</a></td> + <td>Manage network custom fields.</td> + </tr> + </tbody> +</table> diff --git a/commands/network-meta/add/index.md b/commands/network/meta/add/index.md similarity index 81% rename from commands/network-meta/add/index.md rename to commands/network/meta/add/index.md index f4c2da66..f92f91dd 100644 --- a/commands/network-meta/add/index.md +++ b/commands/network/meta/add/index.md @@ -1,9 +1,9 @@ --- layout: default -title: 'wp network-meta add' +title: 'wp network meta add' --- -`wp network-meta add` - Add a meta field. +`wp network meta add` - Add a meta field. ### OPTIONS diff --git a/commands/network/meta/delete/index.md b/commands/network/meta/delete/index.md new file mode 100644 index 00000000..d0c8543d --- /dev/null +++ b/commands/network/meta/delete/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp network meta delete' +--- + +`wp network meta delete` - Delete a meta field. + + + diff --git a/commands/network/meta/get/index.md b/commands/network/meta/get/index.md new file mode 100644 index 00000000..465f7cc7 --- /dev/null +++ b/commands/network/meta/get/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp network meta get' +--- + +`wp network meta get` - Get meta field value. + + + diff --git a/commands/network-meta/index.md b/commands/network/meta/index.md similarity index 57% rename from commands/network-meta/index.md rename to commands/network/meta/index.md index 83911ed2..24a1d8f7 100644 --- a/commands/network-meta/index.md +++ b/commands/network/meta/index.md @@ -1,9 +1,9 @@ --- layout: default -title: 'wp network-meta' +title: 'wp network meta' --- -`wp network-meta` - Manage network custom fields. +`wp network meta` - Manage network custom fields. ### OPTIONS @@ -16,7 +16,7 @@ title: 'wp network-meta' ### EXAMPLES # get a list of super-admins - wp network-meta get 1 site_admins + wp network meta get 1 site_admins ### SUBCOMMANDS @@ -29,19 +29,19 @@ title: 'wp network-meta' </thead> <tbody> <tr> - <td><a href="/commands/network-meta/add/">add</a></td> + <td><a href="/commands/network/meta/add/">add</a></td> <td>Add a meta field.</td> </tr> <tr> - <td><a href="/commands/network-meta/delete/">delete</a></td> + <td><a href="/commands/network/meta/delete/">delete</a></td> <td>Delete a meta field.</td> </tr> <tr> - <td><a href="/commands/network-meta/get/">get</a></td> + <td><a href="/commands/network/meta/get/">get</a></td> <td>Get meta field value.</td> </tr> <tr> - <td><a href="/commands/network-meta/update/">update</a></td> + <td><a href="/commands/network/meta/update/">update</a></td> <td>Update a meta field.</td> </tr> </tbody> diff --git a/commands/network-meta/update/index.md b/commands/network/meta/update/index.md similarity index 78% rename from commands/network-meta/update/index.md rename to commands/network/meta/update/index.md index 0b1479e7..228cfda5 100644 --- a/commands/network-meta/update/index.md +++ b/commands/network/meta/update/index.md @@ -1,9 +1,9 @@ --- layout: default -title: 'wp network-meta update' +title: 'wp network meta update' --- -`wp network-meta update` - Update a meta field. +`wp network meta update` - Update a meta field. ### OPTIONS diff --git a/commands/option/add/index.md b/commands/option/add/index.md index 1054adf5..24fb20f5 100644 --- a/commands/option/add/index.md +++ b/commands/option/add/index.md @@ -16,6 +16,9 @@ title: 'wp option add' [\--format=<format>] : The serialization format for the value. Default is plaintext. +[\--autoload=<autoload>] +: Should this option be automatically loaded. Accepted values: yes, no. Default: yes + ### EXAMPLES # Create an option by reading a JSON file diff --git a/commands/plugin/install/index.md b/commands/plugin/install/index.md index 3479d124..d1d3eb88 100644 --- a/commands/plugin/install/index.md +++ b/commands/plugin/install/index.md @@ -21,6 +21,9 @@ for confirmation. [\--activate] : If set, the plugin will be activated immediately after install. +[\--activate-network] +: If set, the plugin will be network activated immediately after install + ### EXAMPLES # Install the latest version from wordpress.org and activate diff --git a/commands/post-meta/delete/index.md b/commands/post-meta/delete/index.md deleted file mode 100644 index 04ca97df..00000000 --- a/commands/post-meta/delete/index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -layout: default -title: 'wp post-meta delete' ---- - -`wp post-meta delete` - Delete a meta field. - - - diff --git a/commands/post-meta/get/index.md b/commands/post-meta/get/index.md deleted file mode 100644 index a35a6072..00000000 --- a/commands/post-meta/get/index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -layout: default -title: 'wp post-meta get' ---- - -`wp post-meta get` - Get meta field value. - - - diff --git a/commands/post/create/index.md b/commands/post/create/index.md index 071837e7..0c423337 100644 --- a/commands/post/create/index.md +++ b/commands/post/create/index.md @@ -7,8 +7,8 @@ title: 'wp post create' ### OPTIONS -[<filename>] -: Read post content from <filename>. If this value is present, the +[<file>] +: Read post content from <file>. If this value is present, the `--post_content` argument will be ignored. Passing `-` as the filename will cause post content to @@ -30,5 +30,5 @@ title: 'wp post create' wp post create --post_type=page --post_status=publish --post_title='A future post' --post-status=future --post_date='2020-12-01 07:00:00' - wp post create page.txt --post_type=page --post_title='Page from file' + wp post create ./post-content.txt --post_category=201,345 --post_title='Post from file' diff --git a/commands/post/index.md b/commands/post/index.md index a743868e..72865bfa 100644 --- a/commands/post/index.md +++ b/commands/post/index.md @@ -41,6 +41,10 @@ title: 'wp post' <td><a href="/commands/post/list/">list</a></td> <td>Get a list of posts.</td> </tr> + <tr> + <td><a href="/commands/post/meta/">meta</a></td> + <td>Manage post custom fields.</td> + </tr> <tr> <td><a href="/commands/post/update/">update</a></td> <td>Update one or more posts.</td> diff --git a/commands/post-meta/add/index.md b/commands/post/meta/add/index.md similarity index 82% rename from commands/post-meta/add/index.md rename to commands/post/meta/add/index.md index cf91cccf..8f512f10 100644 --- a/commands/post-meta/add/index.md +++ b/commands/post/meta/add/index.md @@ -1,9 +1,9 @@ --- layout: default -title: 'wp post-meta add' +title: 'wp post meta add' --- -`wp post-meta add` - Add a meta field. +`wp post meta add` - Add a meta field. ### OPTIONS diff --git a/commands/post/meta/delete/index.md b/commands/post/meta/delete/index.md new file mode 100644 index 00000000..87ed37c2 --- /dev/null +++ b/commands/post/meta/delete/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp post meta delete' +--- + +`wp post meta delete` - Delete a meta field. + + + diff --git a/commands/post/meta/get/index.md b/commands/post/meta/get/index.md new file mode 100644 index 00000000..7388c5e4 --- /dev/null +++ b/commands/post/meta/get/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp post meta get' +--- + +`wp post meta get` - Get meta field value. + + + diff --git a/commands/post-meta/index.md b/commands/post/meta/index.md similarity index 54% rename from commands/post-meta/index.md rename to commands/post/meta/index.md index 6823bf27..bd457ecf 100644 --- a/commands/post-meta/index.md +++ b/commands/post/meta/index.md @@ -1,9 +1,9 @@ --- layout: default -title: 'wp post-meta' +title: 'wp post meta' --- -`wp post-meta` - Manage post custom fields. +`wp post meta` - Manage post custom fields. ### OPTIONS @@ -12,7 +12,7 @@ title: 'wp post-meta' ### EXAMPLES - wp post-meta set 123 _wp_page_template about.php + wp post meta set 123 _wp_page_template about.php ### SUBCOMMANDS @@ -25,19 +25,19 @@ title: 'wp post-meta' </thead> <tbody> <tr> - <td><a href="/commands/post-meta/add/">add</a></td> + <td><a href="/commands/post/meta/add/">add</a></td> <td>Add a meta field.</td> </tr> <tr> - <td><a href="/commands/post-meta/delete/">delete</a></td> + <td><a href="/commands/post/meta/delete/">delete</a></td> <td>Delete a meta field.</td> </tr> <tr> - <td><a href="/commands/post-meta/get/">get</a></td> + <td><a href="/commands/post/meta/get/">get</a></td> <td>Get meta field value.</td> </tr> <tr> - <td><a href="/commands/post-meta/update/">update</a></td> + <td><a href="/commands/post/meta/update/">update</a></td> <td>Update a meta field.</td> </tr> </tbody> diff --git a/commands/post-meta/update/index.md b/commands/post/meta/update/index.md similarity index 80% rename from commands/post-meta/update/index.md rename to commands/post/meta/update/index.md index 53583553..e0fff32b 100644 --- a/commands/post-meta/update/index.md +++ b/commands/post/meta/update/index.md @@ -1,9 +1,9 @@ --- layout: default -title: 'wp post-meta update' +title: 'wp post meta update' --- -`wp post-meta update` - Update a meta field. +`wp post meta update` - Update a meta field. ### OPTIONS diff --git a/commands/role/index.md b/commands/role/index.md index a4ddb5b2..f3e8bae4 100644 --- a/commands/role/index.md +++ b/commands/role/index.md @@ -33,5 +33,9 @@ title: 'wp role' <td><a href="/commands/role/list/">list</a></td> <td>List all roles.</td> </tr> + <tr> + <td><a href="/commands/role/reset/">reset</a></td> + <td>Reset any default role to default capabilities.</td> + </tr> </tbody> </table> diff --git a/commands/role/reset/index.md b/commands/role/reset/index.md new file mode 100644 index 00000000..8b0590cf --- /dev/null +++ b/commands/role/reset/index.md @@ -0,0 +1,21 @@ +--- +layout: default +title: 'wp role reset' +--- + +`wp role reset` - Reset any default role to default capabilities. + +### OPTIONS + +[<role-key>...] +: The internal name of one or more roles to reset. + +[\--all] +: If set, all default roles will be reset. + +### EXAMPLES + + wp role reset administrator author contributor + + wp role reset --all + diff --git a/commands/sidebar/index.md b/commands/sidebar/index.md new file mode 100644 index 00000000..d11cd5b1 --- /dev/null +++ b/commands/sidebar/index.md @@ -0,0 +1,25 @@ +--- +layout: default +title: 'wp sidebar' +--- + +`wp sidebar` - Manage sidebars. + + + +### SUBCOMMANDS + +<table> + <thead> + <tr> + <th>Name</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="/commands/sidebar/list/">list</a></td> + <td>List registered sidebars.</td> + </tr> + </tbody> +</table> diff --git a/commands/sidebar/list/index.md b/commands/sidebar/list/index.md new file mode 100644 index 00000000..5f174da3 --- /dev/null +++ b/commands/sidebar/list/index.md @@ -0,0 +1,19 @@ +--- +layout: default +title: 'wp sidebar list' +--- + +`wp sidebar list` - List registered sidebars. + +### OPTIONS + +[\--fields=<fields>] +: Limit the output to specific object fields. Defaults to name, id, description + +[\--format=<format>] +: Accepted values: table, csv, json, count. Default: table + +### EXAMPLES + + wp sidebar list --fields=name,id --format=csv + diff --git a/commands/super-admin/add/index.md b/commands/super-admin/add/index.md new file mode 100644 index 00000000..cab1fda4 --- /dev/null +++ b/commands/super-admin/add/index.md @@ -0,0 +1,10 @@ +--- +layout: default +title: 'wp super-admin add' +--- + +`wp super-admin add` - Grant super-admin privileges to one or more users. + +<user>... +: One or more user IDs, user emails, or user logins. + diff --git a/commands/super-admin/index.md b/commands/super-admin/index.md new file mode 100644 index 00000000..d6483a19 --- /dev/null +++ b/commands/super-admin/index.md @@ -0,0 +1,33 @@ +--- +layout: default +title: 'wp super-admin' +--- + +`wp super-admin` - List, add, and remove super admins from a network. + + + +### SUBCOMMANDS + +<table> + <thead> + <tr> + <th>Name</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="/commands/super-admin/add/">add</a></td> + <td>Grant super-admin privileges to one or more users.</td> + </tr> + <tr> + <td><a href="/commands/super-admin/list/">list</a></td> + <td>Show a list of users with super-admin capabilities.</td> + </tr> + <tr> + <td><a href="/commands/super-admin/remove/">remove</a></td> + <td>Revoke super-admin privileges to one or more users.</td> + </tr> + </tbody> +</table> diff --git a/commands/super-admin/list/index.md b/commands/super-admin/list/index.md new file mode 100644 index 00000000..f0c7d22a --- /dev/null +++ b/commands/super-admin/list/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp super-admin list' +--- + +`wp super-admin list` - Show a list of users with super-admin capabilities. + + + diff --git a/commands/super-admin/remove/index.md b/commands/super-admin/remove/index.md new file mode 100644 index 00000000..481c9b7b --- /dev/null +++ b/commands/super-admin/remove/index.md @@ -0,0 +1,10 @@ +--- +layout: default +title: 'wp super-admin remove' +--- + +`wp super-admin remove` - Revoke super-admin privileges to one or more users. + +<user>... +: One or more user IDs, user emails, or user logins. + diff --git a/commands/term/index.md b/commands/term/index.md index f033e517..58776a16 100644 --- a/commands/term/index.md +++ b/commands/term/index.md @@ -41,5 +41,9 @@ title: 'wp term' <td><a href="/commands/term/update/">update</a></td> <td>Update a term.</td> </tr> + <tr> + <td><a href="/commands/term/url/">url</a></td> + <td>Get term url</td> + </tr> </tbody> </table> diff --git a/commands/term/url/index.md b/commands/term/url/index.md new file mode 100644 index 00000000..c2b37db5 --- /dev/null +++ b/commands/term/url/index.md @@ -0,0 +1,21 @@ +--- +layout: default +title: 'wp term url' +--- + +`wp term url` - Get term url + +### OPTIONS + +<taxonomy> +: Taxonomy of the term(s) to get. + +<term-id>... +: One or more IDs of terms to get the URL. + +### EXAMPLES + + wp term url post_tag 123 + + wp term url post_tag 123 324 + diff --git a/commands/theme/index.md b/commands/theme/index.md index 9f3adb06..704856e2 100644 --- a/commands/theme/index.md +++ b/commands/theme/index.md @@ -49,6 +49,10 @@ title: 'wp theme' <td><a href="/commands/theme/list/">list</a></td> <td>Get a list of themes.</td> </tr> + <tr> + <td><a href="/commands/theme/mod/">mod</a></td> + <td>Manage theme mods.</td> + </tr> <tr> <td><a href="/commands/theme/path/">path</a></td> <td>Get the path to a theme or to the theme directory.</td> diff --git a/commands/theme/mod/get/index.md b/commands/theme/mod/get/index.md new file mode 100644 index 00000000..8923ebf6 --- /dev/null +++ b/commands/theme/mod/get/index.md @@ -0,0 +1,24 @@ +--- +layout: default +title: 'wp theme mod get' +--- + +`wp theme mod get` - Get theme mod(s). + +### OPTIONS + +[<mod>...] +: One or more mods to get. + +[\--all] +: List all theme mods + +[\--format=<format>] +: Accepted values: table, json. Default: table + +### EXAMPLES + + wp theme mod get --all + wp theme mod get background_color --format=json + wp theme mod get background_color header_textcolor + diff --git a/commands/theme/mod/index.md b/commands/theme/mod/index.md new file mode 100644 index 00000000..ebcdbea1 --- /dev/null +++ b/commands/theme/mod/index.md @@ -0,0 +1,33 @@ +--- +layout: default +title: 'wp theme mod' +--- + +`wp theme mod` - Manage theme mods. + + + +### SUBCOMMANDS + +<table> + <thead> + <tr> + <th>Name</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="/commands/theme/mod/get/">get</a></td> + <td>Get theme mod(s).</td> + </tr> + <tr> + <td><a href="/commands/theme/mod/remove/">remove</a></td> + <td>Remove theme mod(s).</td> + </tr> + <tr> + <td><a href="/commands/theme/mod/set/">set</a></td> + <td>Set a theme mod.</td> + </tr> + </tbody> +</table> diff --git a/commands/theme/mod/remove/index.md b/commands/theme/mod/remove/index.md new file mode 100644 index 00000000..05692d0f --- /dev/null +++ b/commands/theme/mod/remove/index.md @@ -0,0 +1,21 @@ +--- +layout: default +title: 'wp theme mod remove' +--- + +`wp theme mod remove` - Remove theme mod(s). + +### OPTIONS + +[<mod>...] +: One or more mods to remove. + +[\--all] +: Remove all theme mods + +### EXAMPLES + + wp theme mod remove --all + wp theme mod remove background_color + wp theme mod remove background_color header_textcolor + diff --git a/commands/theme/mod/set/index.md b/commands/theme/mod/set/index.md new file mode 100644 index 00000000..5c0c58e1 --- /dev/null +++ b/commands/theme/mod/set/index.md @@ -0,0 +1,19 @@ +--- +layout: default +title: 'wp theme mod set' +--- + +`wp theme mod set` - Set a theme mod. + +### OPTIONS + +<mod> +: The name of the theme mod to set or update. + +<value> +: The new value. + +### EXAMPLES + + wp theme mod set background_color 000000 + diff --git a/commands/transient/delete-all/index.md b/commands/transient/delete-all/index.md new file mode 100644 index 00000000..a86c41fe --- /dev/null +++ b/commands/transient/delete-all/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp transient delete-all' +--- + +`wp transient delete-all` - Delete all transients. + + + diff --git a/commands/transient/delete-expired/index.md b/commands/transient/delete-expired/index.md new file mode 100644 index 00000000..7a45fc3a --- /dev/null +++ b/commands/transient/delete-expired/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp transient delete-expired' +--- + +`wp transient delete-expired` - Delete all expired transients. + + + diff --git a/commands/transient/index.md b/commands/transient/index.md index 4539c218..d141f55b 100644 --- a/commands/transient/index.md +++ b/commands/transient/index.md @@ -23,6 +23,14 @@ title: 'wp transient' <td><a href="/commands/transient/delete/">delete</a></td> <td>Delete a transient value.</td> </tr> + <tr> + <td><a href="/commands/transient/delete-all/">delete-all</a></td> + <td>Delete all transients.</td> + </tr> + <tr> + <td><a href="/commands/transient/delete-expired/">delete-expired</a></td> + <td>Delete all expired transients.</td> + </tr> <tr> <td><a href="/commands/transient/get/">get</a></td> <td>Get a transient value.</td> diff --git a/commands/user/create/index.md b/commands/user/create/index.md index f376d666..20449ca9 100644 --- a/commands/user/create/index.md +++ b/commands/user/create/index.md @@ -25,6 +25,9 @@ title: 'wp user create' [\--display_name=<name>] : The display name. +[\--send-email] +: Send an email to the user with their new account details. + [\--porcelain] : Output just the new user id. diff --git a/commands/user/delete/index.md b/commands/user/delete/index.md index d63163cb..36a4df72 100644 --- a/commands/user/delete/index.md +++ b/commands/user/delete/index.md @@ -3,17 +3,24 @@ layout: default title: 'wp user delete' --- -`wp user delete` - Delete one or more users. +`wp user delete` - Delete one or more users from the current site. ### OPTIONS <user>... : The user login, user email, or user ID of the user(s) to update. +[\--network] +: On multisite, delete the user from the entire network. + [\--reassign=<user-id>] : User ID to reassign the posts to. +[\--yes] +: Answer yes to any confirmation propmts. + ### EXAMPLES + # Delete user 123 and reassign posts to user 567 wp user delete 123 --reassign=567 diff --git a/commands/user/import-csv/index.md b/commands/user/import-csv/index.md index 37bba9fb..dd0c8e2c 100644 --- a/commands/user/import-csv/index.md +++ b/commands/user/import-csv/index.md @@ -10,6 +10,9 @@ title: 'wp user import-csv' <file> : The CSV file of users to import. +[\--send-email] +: Send an email to new users with their account details. + ### EXAMPLES wp user import-csv /path/to/users.csv diff --git a/commands/user/index.md b/commands/user/index.md index 806b0209..ff7a9874 100644 --- a/commands/user/index.md +++ b/commands/user/index.md @@ -31,7 +31,7 @@ title: 'wp user' </tr> <tr> <td><a href="/commands/user/delete/">delete</a></td> - <td>Delete one or more users.</td> + <td>Delete one or more users from the current site.</td> </tr> <tr> <td><a href="/commands/user/generate/">generate</a></td> @@ -53,6 +53,10 @@ title: 'wp user' <td><a href="/commands/user/list-caps/">list-caps</a></td> <td>List all user's capabilities.</td> </tr> + <tr> + <td><a href="/commands/user/meta/">meta</a></td> + <td>Manage user custom fields.</td> + </tr> <tr> <td><a href="/commands/user/remove-cap/">remove-cap</a></td> <td>Remove a user's capability.</td> diff --git a/commands/user-meta/add/index.md b/commands/user/meta/add/index.md similarity index 74% rename from commands/user-meta/add/index.md rename to commands/user/meta/add/index.md index a0b0ae3a..a6b72b0c 100644 --- a/commands/user-meta/add/index.md +++ b/commands/user/meta/add/index.md @@ -1,9 +1,9 @@ --- layout: default -title: 'wp user-meta add' +title: 'wp user meta add' --- -`wp user-meta add` - Add a meta field. +`wp user meta add` - Add a meta field. <user> : The user login, user email, or user ID of the user to add metadata for. diff --git a/commands/user-meta/delete/index.md b/commands/user/meta/delete/index.md similarity index 67% rename from commands/user-meta/delete/index.md rename to commands/user/meta/delete/index.md index cce82bd3..9cee0b0e 100644 --- a/commands/user-meta/delete/index.md +++ b/commands/user/meta/delete/index.md @@ -1,9 +1,9 @@ --- layout: default -title: 'wp user-meta delete' +title: 'wp user meta delete' --- -`wp user-meta delete` - Delete a meta field. +`wp user meta delete` - Delete a meta field. <user> : The user login, user email, or user ID of the user to delete metadata from. diff --git a/commands/user-meta/get/index.md b/commands/user/meta/get/index.md similarity index 77% rename from commands/user-meta/get/index.md rename to commands/user/meta/get/index.md index 7cf053b7..47dd0bc5 100644 --- a/commands/user-meta/get/index.md +++ b/commands/user/meta/get/index.md @@ -1,9 +1,9 @@ --- layout: default -title: 'wp user-meta get' +title: 'wp user meta get' --- -`wp user-meta get` - Get meta field value. +`wp user meta get` - Get meta field value. ### OPTIONS diff --git a/commands/user-meta/index.md b/commands/user/meta/index.md similarity index 50% rename from commands/user-meta/index.md rename to commands/user/meta/index.md index 830b095c..ea196b2b 100644 --- a/commands/user-meta/index.md +++ b/commands/user/meta/index.md @@ -1,9 +1,9 @@ --- layout: default -title: 'wp user-meta' +title: 'wp user meta' --- -`wp user-meta` - Manage user custom fields. +`wp user meta` - Manage user custom fields. ### OPTIONS @@ -12,9 +12,9 @@ title: 'wp user-meta' ### EXAMPLES - wp user-meta set 123 description "Mary is a WordPress developer." + wp user meta set 123 description "Mary is a WordPress developer." - wp user-meta update admin first_name "George" + wp user meta update admin first_name "George" ### SUBCOMMANDS @@ -27,19 +27,19 @@ title: 'wp user-meta' </thead> <tbody> <tr> - <td><a href="/commands/user-meta/add/">add</a></td> + <td><a href="/commands/user/meta/add/">add</a></td> <td>Add a meta field.</td> </tr> <tr> - <td><a href="/commands/user-meta/delete/">delete</a></td> + <td><a href="/commands/user/meta/delete/">delete</a></td> <td>Delete a meta field.</td> </tr> <tr> - <td><a href="/commands/user-meta/get/">get</a></td> + <td><a href="/commands/user/meta/get/">get</a></td> <td>Get meta field value.</td> </tr> <tr> - <td><a href="/commands/user-meta/update/">update</a></td> + <td><a href="/commands/user/meta/update/">update</a></td> <td>Update a meta field.</td> </tr> </tbody> diff --git a/commands/user-meta/update/index.md b/commands/user/meta/update/index.md similarity index 72% rename from commands/user-meta/update/index.md rename to commands/user/meta/update/index.md index a0743441..2aa3dca8 100644 --- a/commands/user-meta/update/index.md +++ b/commands/user/meta/update/index.md @@ -1,9 +1,9 @@ --- layout: default -title: 'wp user-meta update' +title: 'wp user meta update' --- -`wp user-meta update` - Update a meta field. +`wp user meta update` - Update a meta field. <user> : The user login, user email, or user ID of the user to update metadata for. diff --git a/commands/widget/add/index.md b/commands/widget/add/index.md new file mode 100644 index 00000000..64078c4d --- /dev/null +++ b/commands/widget/add/index.md @@ -0,0 +1,23 @@ +--- +layout: default +title: 'wp widget add' +--- + +`wp widget add` - Add a widget to a sidebar. + +<name> +: Widget name. + +<sidebar-id> +: ID for the corresponding sidebar. + +[<position>] +: Widget's current position within the sidebar. Defaults to last + +[\--<field>=<value>] +: Widget option to add, with its new value + +### EXAMPLES + + wp widget add calendar sidebar-1 2 --title="Calendar" + diff --git a/commands/widget/deactivate/index.md b/commands/widget/deactivate/index.md new file mode 100644 index 00000000..fdd58c42 --- /dev/null +++ b/commands/widget/deactivate/index.md @@ -0,0 +1,14 @@ +--- +layout: default +title: 'wp widget deactivate' +--- + +`wp widget deactivate` - Deactivate one or more widgets from an active sidebar. + +<widget-id>... +: Unique ID for the widget(s) + +### EXAMPLES + + wp widget deactivate recent-comments-2 + diff --git a/commands/widget/delete/index.md b/commands/widget/delete/index.md new file mode 100644 index 00000000..083ca9b9 --- /dev/null +++ b/commands/widget/delete/index.md @@ -0,0 +1,14 @@ +--- +layout: default +title: 'wp widget delete' +--- + +`wp widget delete` - Delete one or more widgets from a sidebar. + +<widget-id>... +: Unique ID for the widget(s) + +### EXAMPLES + + wp widget delete recent-comments-2 + diff --git a/commands/widget/index.md b/commands/widget/index.md new file mode 100644 index 00000000..ce1df192 --- /dev/null +++ b/commands/widget/index.md @@ -0,0 +1,57 @@ +--- +layout: default +title: 'wp widget' +--- + +`wp widget` - Manage sidebar widgets. + +### EXAMPLES + + # List widgets on a given sidebar + wp widget list sidebar-1 + + # Add a calendar widget to the second position on the sidebar + wp widget add calendar sidebar-1 2 + + # Update option(s) associated with a given widget + wp widget update calendar-1 --title="Calendar" + + # Delete one or more widgets entirely + wp widget delete calendar-2 archive-1 + +### SUBCOMMANDS + +<table> + <thead> + <tr> + <th>Name</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="/commands/widget/add/">add</a></td> + <td>Add a widget to a sidebar.</td> + </tr> + <tr> + <td><a href="/commands/widget/deactivate/">deactivate</a></td> + <td>Deactivate one or more widgets from an active sidebar.</td> + </tr> + <tr> + <td><a href="/commands/widget/delete/">delete</a></td> + <td>Delete one or more widgets from a sidebar.</td> + </tr> + <tr> + <td><a href="/commands/widget/list/">list</a></td> + <td>List widgets associated with a sidebar.</td> + </tr> + <tr> + <td><a href="/commands/widget/move/">move</a></td> + <td>Move a widget from one position on a sidebar to another.</td> + </tr> + <tr> + <td><a href="/commands/widget/update/">update</a></td> + <td>Update a given widget's options.</td> + </tr> + </tbody> +</table> diff --git a/commands/widget/list/index.md b/commands/widget/list/index.md new file mode 100644 index 00000000..0b7e6ddf --- /dev/null +++ b/commands/widget/list/index.md @@ -0,0 +1,20 @@ +--- +layout: default +title: 'wp widget list' +--- + +`wp widget list` - List widgets associated with a sidebar. + +<sidebar-id> +: ID for the corresponding sidebar. + +[\--fields=<fields>] +: Limit the output to specific object fields. Defaults to name, id, description + +[\--format=<format>] +: Accepted values: table, csv, json, count. Default: table + +### EXAMPLES + + wp sidebar widget list <sidebar-id> --fields=name --format=csv + diff --git a/commands/widget/move/index.md b/commands/widget/move/index.md new file mode 100644 index 00000000..a58cffbe --- /dev/null +++ b/commands/widget/move/index.md @@ -0,0 +1,22 @@ +--- +layout: default +title: 'wp widget move' +--- + +`wp widget move` - Move a widget from one position on a sidebar to another. + +<widget-id> +: Unique ID for the widget + +[\--position=<position>] +: Assign the widget to a new position. + +[\--sidebar-id=<sidebar-id>] +: Assign the widget to a new sidebar + +### EXAMPLES + + wp widget move recent-comments-2 --position=2 + + wp widget move recent-comments-2 --sidebar-id=wp_inactive_widgets + diff --git a/commands/widget/update/index.md b/commands/widget/update/index.md new file mode 100644 index 00000000..eab48058 --- /dev/null +++ b/commands/widget/update/index.md @@ -0,0 +1,17 @@ +--- +layout: default +title: 'wp widget update' +--- + +`wp widget update` - Update a given widget's options. + +<widget-id> +: Unique ID for the widget + +[\--<field>=<value>] +: Field to update, with its new value + +### EXAMPLES + + wp widget update calendar-1 --title="Calendar" + From 5805884085777ee280da8415bc36fce73f696380 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Tue, 15 Apr 2014 19:24:18 +0300 Subject: [PATCH 250/839] point wp-completion.bash file back to master This reverts commit 698d8a206554dcc0711fd9194747ae62c2a24185. --- index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.md b/index.md index 53fbadc4..7f1995f1 100644 --- a/index.md +++ b/index.md @@ -33,7 +33,7 @@ sudo mv wp-cli.phar /usr/bin/wp Now try running `wp --info`. -<h3 id="mamp">MAMP and XAMPP</h3> +<h3 id="mamp">MAMP</h3> If you're using MAMP, you will probably get a MySQL error, because the `php` found in your PATH is not the same as the PHP used by MAMP. Here is one way to [fix it](http://stackoverflow.com/a/10653443/97998). @@ -44,7 +44,7 @@ More resources: <h3 id="complete">Tab completions</h3> -WP-CLI also comes with a tab completion script for Bash. Just download [wp-completion.bash](https://github.com/wp-cli/wp-cli/blob/v0.14.1/utils/wp-completion.bash) and load it from `~/.bash_profile`: +WP-CLI also comes with a tab completion script for Bash. Just download [wp-completion.bash](https://github.com/wp-cli/wp-cli/raw/master/utils/wp-completion.bash) and load it from `~/.bash_profile`: ~~~ source /FULL/PATH/TO/wp-completion.bash From f9f6c47f16ff08d521352797ee217b081d9d848e Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Tue, 15 Apr 2014 19:34:04 +0300 Subject: [PATCH 251/839] add release post for 0.15 --- _posts/2014-04-15-version-0.15.md | 63 +++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 _posts/2014-04-15-version-0.15.md diff --git a/_posts/2014-04-15-version-0.15.md b/_posts/2014-04-15-version-0.15.md new file mode 100644 index 00000000..4fa24565 --- /dev/null +++ b/_posts/2014-04-15-version-0.15.md @@ -0,0 +1,63 @@ +--- +layout: post +author: scribu +title: Version 0.15 released +--- +A new version of WP-CLI is here. The highlights: + +### Manage more things + +There are brand new top-level commands for dealing with more types of objects in a WordPress install: + +* `wp super-admin` for managing caped admins on multisite +* `wp menu` for managing navigation menus +* `wp widget` and `wp sidebar` for managing widgets and sidebars +* `wp theme mod` for managing theme mods + +### Exporting only particular database tables + +With the new `wp db tables` subcommand, you can generate a list of database tables, which you can pass to the `wp db export` command, like so: + + wp db export --tables=$(wp db tables --url=sub.example.com | tr '\n' ',') + +Composability is beautiful. + +### Arbitrary command nesting + +Up until now, you could only have top-level commands, like `wp search-replace` and second-level subcommands, like `wp core install`. Now, you can have commands at any depth, such as `wp post meta update`. + +This capability is especially useful to third-party commands, such as [wp-cli-buddypress][bp]. + +### Revamped bash completions + +Bash completions are now a bit smarter: besides auto-completing positional parameters like `--dbname=`, it will also suggest file names, if the subcommand you're writing out expects a file name. + +Note that after updating `wp-cli.phar`, you will also have to update the [wp-completion.bash][bash] file. + +### Other changes + +* added support for WordPress 3.9 and bumped minimum required version to 3.5 +* disable KSES filtering when a user is not explicitly set +* allow defining `skip-plugins` and `wp core config --extra-php` in the `wp-cli.yml` file +* added `wp role reset` subcommand +* added `wp transient delete-all` and `wp transient delete-expired` subcommands +* `wp core config`: added `--skip-check` flag +* `wp core is-installed`: added `--network` flag +* `wp user create`: added `--send-email` flag +* `wp user delete`: added `--network` flag +* `wp option add`: added `--autoload=` parameter +* `wp search-replace`: now works with tables that have a composite primary key +* `wp post create`: fixed handling of `--post_category=` parameter +* `wp eval-file`: allow passing arbitrary arguments to the file + +You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?milestone=21&page=1&state=closed) on Github. + +Contributors to this release: [clemens-tolboom](https://github.com/clemens-tolboom), [danielbachhuber](https://github.com/danielbachhuber), [francescolaffi](https://github.com/francescolaffi), [itsananderson](https://github.com/itsananderson), [johnpbloch](https://github.com/johnpbloch), [mattheu](https://github.com/mattheu), [nyordanov](https://github.com/nyordanov), [Rarst](https://github.com/Rarst), [robertboloc](https://github.com/robertboloc), [rodrigoprimo](https://github.com/rodrigoprimo), [sboisvert](https://github.com/sboisvert), [scribu](https://github.com/scribu), [szepeviktor](https://github.com/szepeviktor), [trepmal](https://github.com/trepmal). + +### Survey + +We'd like to know how people are using WP-CLI so we set up a [quick survey][survey] (just 5 questions). We'd appreciate it if you would fill it out. The results will be posted here, in a separate blog post. + +[bash]: https://raw.githubusercontent.com/wp-cli/wp-cli/master/utils/wp-completion.bash +[bp]: https://github.com/boonebgorges/wp-cli-buddypress +[survey]: https://docs.google.com/forms/d/1oW7GHAoE4e1YMVWvbQlz3n_lziDdHQUlKeMm4x0_6XA/viewform From 5ea69badf46d523249919f3a53da6d64b2dd8d7d Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber <daniel@handbuilt.co> Date: Wed, 16 Apr 2014 07:57:47 -0700 Subject: [PATCH 252/839] config/index.md: Add `require` to example wp-cli.yml --- config/index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/index.md b/config/index.md index 112a0747..a6dc1685 100644 --- a/config/index.md +++ b/config/index.md @@ -38,6 +38,8 @@ Example `wp-cli.yml` file: disabled_commands: - db drop - plugin install + require: + - path-to/command.php core install: admin_user: billy From 882be9af001d5644665731836195a4e0625896e9 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber <d@danielbachhuber.com> Date: Thu, 17 Apr 2014 06:24:43 -0700 Subject: [PATCH 253/839] Add a `behat-data` folder and a test image To prevent dependencies on random external services, it'd be better for us to host the test data ourselves --- behat-data/large-image.jpg | Bin 0 -> 753149 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 behat-data/large-image.jpg diff --git a/behat-data/large-image.jpg b/behat-data/large-image.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a0a9bd165e9579fc8a401512d337187e2ce3a4ba GIT binary patch literal 753149 zcma%icTf{u^mZzQKrn#>As~j(LMT!~Q`7)S4Ale@q*xFELlIFyK~a;?LI9<g*uv7n z0+xskD<DV_B{UU*7f^W-%WLoD<M(|tzrVk;b7ywu%q_cn=I(i(=iI-K|IR?LzAPUW z1PX;h*h?4W?^B33L=AyJAQ5Uvq?(4>Qqx4Ksi8Er&}dCGS_`Z7e+{dpy$ridTT53L zkJr^TGBh+aBK@!Z&md5Bb#;suMjwmSClYW3;{Q7Te{cTYf#6UYMOt^@P#gq?gTisp zzjq-<5C|L!U22g3H7E>@K&q*umb_tD2ow&3FD)DihanJ9r~!1TtBC_##}h&3Zr_8{ zbrcn=dDUF#c&CmJQq7u1y+`dOIEhQlyn_L~9m?hAG{(M8US{dAzVpR73ua1LmrHb3 z?T4kIiA%5O|Jwh~3;BN&FZmpC|KowcU{E*$wqy`>2owi{>mW=VbUnF9JbAn09#bzu zP?X52xW;>L$L!w;h}P00z;JLJWIg1ojnc2h&2E(%Nvh)M4dd`=k)wuDlFlXf_}Ted zIo5_`Y8LnxGG?&#br@^lIe0qW!b$FyE{{A?yOj#LRMW;PnTPYELe&zQne5wByr5&N zNfpt9%rGDOIlBU|=8{rMnhH7pczd(6g4vQc3J&HCbcfilBqSE==raSx#=3LVT3#jV zz3QexLNG;YL=zcc{!a`K)YYZZ%m$0KUGs~*g^Mk_IT316lKHFI1Ps{HCaB@oc`6;{ ziE5JbClk6c9>S^*=mzX<CfuCq8r#2)qCzcK)^sA(Z8}X7Je*nHG9PWV6!ck&eI}F{ z8f(x5DQY;2YaI$hKHf10%<a9ybLqV##i~O|idCz+@j`>WwPyONdQSI%UqULuS^Ec7 z3QH;^8?6{%Fqdm0oXzrPBv;jBlo5|Bn(RXWf<b9YR!}eaZ&fg2;w}+_lM%~CMRdB* z$lSp2{L&iVyB%sGoJ0oIP4gpN-Or>#0}gXYQ?ZK1*;0VGy>*`jH;5u}ysRA_&`BWu zEJO(lQ!nuC=kbVKmo2`XRG(tl1a;7O(S+(nF7X)SX#6hrR*Eea&DkVgd^zSWl!7IV zW(8r0TXeOO2GV|WI>jXP3#EzMIC$rtG|5JBaz+*&55(UxA!gp)8Gx%L{e@6bm`~w* zyIcWu9;DQRJKCY!$@49?O`j=f&HWM<Z&dX5GBulEcE%j(>cYu~!q%}tn23NNgo2gY z(UX*+)z!yepzC4o&W4j*I&q432N|=R(7`m|+ILH6#2Sov15JR|r{oM-^UE-w%GpI! z$<VEUBzyw96d<$18PCf`i0*BK(^QwJ-U}Ax=jSA6+ZFow?_}U&U&!(*hM?9<U1qf) za@#a7dbQDvE0_^=uU?cNfTfJVk`cWj>X-pEl{m47pJ_f4C|S`sR|rSag+-D;od?q6 zS%234beuYI>GFDkOQOwH!$WIYl@@A44=ZASZ&H1``MM|lN9rHQA>a8o5j!vHKb)Ls zjDMp37h;_?H9P;XB;(e)OY4vRJlrINMyxs&-i6nV_SR1Mg%`}9mwN3RDd-0ZO46t3 zEv9p#D_%fVvROB*sUC1N?2@jc#?{-@Mmt!4^5)I?Mwxy5K%YD521pDb#E3rZm3nSU zn8uYK<Xm`^@DP&->OyzDrj)x2=(gPRYN4p?)(jIkgtT3mV~5zomA{1|^E;*CUM(Z= z{VAN__;hl&HrfS}{{+d|#Ne<L^=w8{DW&7(7)*Evtja&dQNub3SS6MqDcP&eizG$^ zT88<i6uEgwSY>PxA;3?tBS+zQSLc%c1uVi=!@<Hsg*r7gF<ygcJI-gce+2X@Lhiq3 z*)L~`5eKq7!R8?Ii4E@xazno6e`d6N7>GFGXX}`R=(JsXB)OKGE(<7&(?#?(BEty7 zq%rIy<`Wv4-3UPL&=}<Y{`2k*5#$rBE7|zxx)k}xG3?VhFkkCRIw8<Zrnp=Ymnfpv zT$b(QNXfY}jRZ#WA3_v!G<9r)mzja5cX=7w@D*4~*Vq+b8*240AU(f0k{%t=I7Vz3 z(c?ySon*-N`V-r1t{}!ZGbv;EH4YLk<v5SPM8Z3m9$6qbfNGY04&&H=81p7*uV;Gq z#x{Iq-We%pI6Ulg2pO043-@{MrU?^*T3nCQvTZV{?KwkCwDhVBNifgM`2hG?)Fb$u zm`6M-VXe*Ngeu-?$K9U+%DFe|9(+0dP;9we7x`S<-g4pQ%9Sl|-7=0H$bHs&bw|{j zWeF{haIn#BM;<NH+oxYZ>Thv<&6t-nk2n2=G~Vi2v+44=r$+xQe2E>%lWu8Dm#n$G z?Dz1E+pg!{-JRRb{o#f)denUgCPul2dks6YHkk8Bd^IedgXCG4(N~n;6LQfpAtkdB zDh}gTDn;}Jz~d}Jiqgr&gd&`Fyf}Kk4DIa7bGoxADPmQiNtp3r1#^h5;<^*HTza<` z#~<k@Af}OoXtfu0FR4J(3UdRWLk(P=4S65;B{hc|NVqj?E}%(}{2ySIEdPvicqrQ1 zUgLQhRk#!%-6jUuShx7RK!lfg`<5Ux*gAo9Uo+C*pd=+cy8BrGjIv+Rlx`L?3$&yd zRv|*YX&s(sYu3GyIt8LAx(!*ziafQ3T|Z5htvUToMI2%ydfL{-%e)IeAwF_7DJ{P{ z+aKsBZSN8nMruhx)oNcSKQrEx^GOn^*6UaimuhkzjFRmYm3#61N5_a?5WO=+<4MBp zaSy~B`PeJU4*auE%uq-+UQ-2oD@i%-oazv$O~%JL=z-19N-T$~>+*tP-uCDmn(TB4 zlAavmG#cT(WiN2|#UOd_JAPzeg|$^H<rh8%@d^zD>Rb4>TX!NTdYewYB2`K?jN{9- zZwZQyrG^pdt2K}GUIpMX>x8U0?YLALKVLmXgIVl(KE75kc(V@|>liLI(ZHkf-u7CD zS8-GPU0~xc(AZP=7%^tV_bNW}g0?w)O{WDe1R@HX4~f4UrPj)*n=YSI0Bh%fMties zIRBy}zOEV_K~)KKIcS3IGr=XsVfr6R%M~B}-|@~a<M|~uTi2HHL}@6n%R_FyyL_^x z6+!Jw>UWHOQ6^~IN-?#%?<Qy)U<oIF>GAq@JuHC(w1N$6Bd@6Vt{VK;RZZNrqBNw# z+UjC;aM;pBW(+nsud+-DmJUR3rq4@RQ3Ox;DkiqCco1;|g}!U0jf>`Q1f)i9I880w z5H+6tI+g^CLkz0q0XrE`1&6{|Gd+o8l*9`PY8}3T`La%F$VXPr=DNNHX%o(wWp#OP zX$pz9(iu+g>n}tViBIVuwl2~NdLnHd8gX-1kOZ&QNc<dPLCOd{&R_~BjuFc^BQR&? znj$ngOm{$R#)aq7fvUO>o{qbtB*1fCX}=^#MK~=&oqTvpI)}46h)%lUMLDY&&Nav9 z7V_M8=ZeLf%>hF6sod*ME0SbUQ3NLQnxZa3yNt&<7JnXtOl7*CcV^{v!puGE%cJLE zCTr|M#~@aXGL%_77!<cU^fyPE6)cmNO!R(W_>eTl`^BZ}7TQTujxfZAvx@B{iIR%; zj_D)5H9n;QPsw%dmw97>?Fs_SQ9F1}iMS7pvua{n62PmlM;oz{9b&5A-ct#mc-Uor zKTIwDbzP-GLWU4q`>8(r1vAoATdq~L*2*L7a<hRWM-tc#R}L)HCt-CD;y@B+1=dXq z3fcsRqpj2)ol|LThJu9_3>A+<Qq)sxGzL*p*M7MIXR2ai5H4;c;zTW{*ZuhvY~9MY zV>&sKv)R}|0dD(~H@9Mcb9vuRP#P=kztv>DJ%x|X8|>q`eEbIFjW7v;iCkjMP){$& zz_pw4#`xMMt=v-<Z87V4!3k+A2Hk43a5Sd9_3s-vUHrU+7{?1m_FWyKg2lR6Uhp6a zO<A!8OTlTTZT>{h>}>>_^oA$f+6$euQ?G6%#IXG8g1<3g5DUvs@0pOKDf%@6XSse` zis#Jli(d{bn^+lheS`A$#|zcduRmRO!C$*DIK9&OX~%TRy=})EU;OEQv-aZo>$_u~ zzKb~#*i~S}Y&jr1C?$M8ctY>@y;oaGlb&4uT^jrJ^1;_nlMMG4to$;kVO+7z@a(>q zG2;(zAhW2C6OzH!ek;ej@vSEJ@EieNLzxGy1Mo$bOwPxUBP+PA_B(6Fm}Aa^AD4SN zm!hZwr%<4I)o+l>fU9tf_p>Q#27hGye7sOu*KA%nBTXioaAFiMV&MDZ79<w@<s}&v z5qF~acnTz+B1buL-0VC|=mRFWaH=}SW0c=nNK|9JHf1<@qKx3)U|tma*hxZ6n3oXW z-VCMd9nJP?*PxY1)=tDrONPZ;4n8#JWP6!9B1#SuSm{|kHwgRuJHAs3-e5DG;NY-X zSMyo0M(0Uml_%Nk7s2xy4kSkyWfbdjHX_3iRm@ddn+9R)tQh_s`Ctyp>;pHdjp<pP z%?*PW1NwVchXw3hRzmfQymP@Z&)-q&1Uahf$}TFc664J4lE`l<<Rc2M*68tJ#a?8} z98jj!sr{M<YK^G;^++f+g}h(Q_3U;!l(TL@T#!j#P#uU}C#X7)f@I+N6(6|CcLm#F z%uQLHM8$>giV@a^x5^Rr;KnqHRm~8t9s*qiK(}!Yy9snuP*kE0PcJX2(j-KxMOkGF z4bwBMVXh8MC&6Rz`f`dCR?ghK`Mt82)y4FN{E#2?6$ST#`UtrVp1+S`GES91>q7eT zYA$e*v9vj1Dg|6?`QH1f%TMRWzo!Sa-|V_nf8AbHaPb2AYsPx@oBup{_I+z&_0QY3 zZ#D`JwI0Qe9R_Egy?8eL;ZOcD|Efn?F-_nF>2J$FXMSRyF1w&V)hIDtdFlPfOA}w+ z+^g1q)w#9t!G8zuZCkcp_9HT;GJA@Xag~DiB1dlFk*o$enQ>ILSWo&%QkL4*c!_X* zDraUv4#|WfZdqtcvi-8Xx$I7I^q|L>Hwi}}p^}NzoJIY1s;_(ui<5hjezub>as3@@ zT6eALz?pROLJL5uBiQL!o#owUEZA;9qu=>N1RHok2c#)H8@k4y(d<|a7`g>B8_egR z$MJ#_UJ{g4j_H7dEd@`<(00nSk~G^M>bsfCNiQmD*wQTCo!dwb5U;4bxIYKz9bCI; zD7WzW4piJw!A~w?oEdE6%>)Eb0aT!~dOA$|P&e_ugR?4EzHE<=D>0Q*1|Fn7ZcVGD z)s^^oZ@B$iff?_c6DL1e0M+k-ta#`#^N<wCB7ANX=#B~IyR-M|xF`pr!-uRE^0IbA zS}kDz@p`iT`{p+=u_q7IGJ{GtM;FqlvM`Os!V~_QFnLSsz<Q+4UHXcnF%256|C|cA zp^8$XoTt&WYQUaO?z&_OfW|e!I8YI0<Qs2ktLfg{GPBM|0XSYF_-Yhad{wqcP^yk& zz7QDJ1a`xw;ADPzc;K5D15-7T0hz?-Z4BT9PiX4$P0Haa%K6Tou5;bd3X{gPW2fVL z0@tR2liaw|ZCrL6jElKIBIpH~XO9i{*8>y%^8K2<zs+8q17uelXj08kp!efSKf7hV z-ch%}s?em=NK@;pT*aY|ivaD$D2Huf)~^_HgG7Dd`pQU_PAx(bt;7zeaaOHCVprX~ zAeCfl(+3b_iTQ1wj<+Oh$LO;uFGjnCh#P76w4~7M&jORY<uI1}u2VxVE5_a@6Hx3X z9>hmrT3xulB+z1WfNd%_z>-syS9P?{GqPm2V}5;w)}AqZFVFbjK_)3?4ApmPU<%S{ zBzghq<8&og`U6D+IvM3bam5^I^3D=_d7OESuX)!PU+sfvI=0^mZR}e!f5Jp@difZS zJKZjoBPc^LDgxmgXmw0sq}5wzNlRwv9axKx2_S!rjyI4gh8gdH5v%(~rgIXAMdW=l z%#0yViv5^w8hTL9F^twCeqbUNfI7I*7-Qrszg!)1AU=&kIn9w*VWSrFAbUVZBOg|_ z<9%O~Z(yP{H|-j=Ppnm(5~ssBO;th+1UaU*X<+ZE1-jmGTaM{nGTdP$f_GUv_BfAu zdCZwu%SB!*B-jtoi+iTogRF%Ve`>x%nJT94MH@A1)^`h!UOn)hukom_1D-garC{8d z&kN`=a4jc5ho@$d0-Z_Kd(YaY9nWjyu9act0)D9|7%kcFPDeHUf}WQR1aD=z_oGzS zn1`KQcE2q8C5`9reY`^papENapT-auB>-fgj~TLHG&C}eBpM`PJ~1sGByHx>Ccljg z(qC4LQQLN*vR>Mu$tPEYexu-0x&DW<1QQmUQ|S(EnL)Cu<BRaVkdPHfR?W|U4w`PT zJyS%7w_YV1B<HnD>?{^Voh9<<ARg!C=@>k`Jsr@$;R|dYk~B>z3!#2f&>mbcp{Ss0 zMkJGreDRFz;w8b%<^A=r+QovVsz|hA6m#-3mFkzed?^)wY~^u@2hFZydeYU}R+HUG zEIO!$anIk!g^-9+e9%=o01z1ep{4G;BWb@9zHC2L{ASy~?+hz<ylFTR&CH?oP*#54 zoqn$A{f!fS#$UfJd$a!E>*_1dJ4~(Fw$u3QPRqZLOL^0~f3G^wo&IOr@vlBd-hX<6 z^E;>OdErDZZFx1*pU;C#B4~Z@e(_LzxQyKKzA#PhC<QbNCzwMa2C$>;FGH}fI{97< zE(DVcN*xPvD70t0wWr>YVw60wk4YY0_OLGmZ$Yi)XcOb5(FUSu-;C~VoF>Uzj~ZXQ z;kh)1{%l4XH96$g8ZS{G;gA<tAk!nE0~s8EQ$#5mq6DG^rIrY1e&J!su#Je&E@g7W zWb3LPN!H6_Z1Wxn2A%y@eu{t%AW`$|#{d1w7-xM*YWtU4u~X`JUux`|XL2D(As$Z5 z*fay0{*&3kgMC(-BxQLL01as|pa}oSusr@w%Ic`+u@MGn<@UkxU%Uj*6x@$M2`row zcILoaJWqW!pNXB%QwN3Gl^yNqJ?GT25$Z-y+GaqS!x25MoMbRMg|D?|`OJHaF)sn# ztl5|r20|~?QM7;`>nNf<(Q<2|7zHT|`V)bM2r}5bu_B*@`4<Hy0(T&K({tkLyEV&6 z2KkGC5Ne;uZ5WKxbXHtmwk3q07+;nXE^V>|)EUT(tK>@<V8ACKj#3q+k^g}oP{<8Y z8Y`?RSNVKC>?VJ?jtw9gC8^W!1`#6+`<OEO1uvms9oslu0UHeoM8;|E$7w^cK*Os3 z{s!|Iu>AX@_akk~{zCA(Oz+x1wtshmW+0?}-X{MR?6JFW`t$s`BBTGDw=_?!E3kL@ z%5_fL;r^V^bMVN$FHRR%Jh^r6i(T&*we`!QyY`*vc$|5I^!-}Kvf}A4|IM74`xx7t zsod>nBD`V+D#WDEe0%0lmxS7cVmhjLIJyb;+-C-tjAg42YB8vH2GmQ$1zxng4|596 z5Jlp;*#t4P3{-5Y`<=!0iX7uvyJ2uT(fY>hJeY<NXZeDH^LSozdQS{zVuMU*d9cZV zsV<YRQj-Bg3%G7wb~u4U<e`}5^l1H|agL>HpQakebSqnu((MNJB1X7Pe8o!09c8vV zw@ej>^OG(p5~mxN0n*(@scar2_yOMwv;P)bY}tqHMgWpsf!X*g5!V;QY!&uH(rGr~ zDLOCm5wFH2;ZCRhS+)wcgX)-iHX7@+T>rchF>zl?&6z*5U$`J!d4S$<DQg~X)tqO3 z2Vx73;HRIgSSK|vIQ_UGKm38Q_jPnaaH(xeS$MKfX|#Qev3&-Wl<4`Jt&dVcG@O+{ z&I<hK9r_7AB4;;}8@u6kZS?DgPD>_?7S7=Ger9c?Ks*&+i<9N^Rf`If3rSLaZ4P1z zvc(f^S4Ndsw0-15Z@!jr1SzBP<lO*ODJJ8CY!NTMgHHPiyO@Vh{zrZL;brRbWj6X; zZ{<WhXx_!cyun5Dyi?m1e3+M0c3G7rpYs%2r@6)Vg8A91wcA5N#>X+8(j;9k`EjJQ zrGY%L2=)xkktS{0oy-Q?!ETTCADsw@+OVYM#IS7K@N~3qVYQ78*En2j-{!6Lupz1( zvB4Imu*{WNT}k6Ib3MnHfu;rAIGJI)bqc#Cm<}jRS^kPV+g<(gsY7w0OYsn^$RCS2 zzXe3rV<F791r2Io%^a;Nzm^#skH9FA-0iw9jJjPW1{k#x@Xp-C63(qXC}$!*d<u^a zS;Fy*TATDOIIkT5jj`H`@{B6&H{>HW61egNM$33jd#|H>-|oSXaF63WfpZN*^e9U^ zXPqzXVwGHLq1o4>2xvH;$As{U;GRW=bS4Y<O#d;)bYyUmXbBbKdf-$sA9`-Oo!WGw z&r>@AV2+I^_pC72fZ7eLPh|!~3qaIP8M(^tFfTO9gc<$OXuKxiqBH22Yp{O{KRaH1 z&6AkzqXwT@MUxMP3DGS_kk}VW$Ky1#2E%{#vxkE`j|+SP&*A+N%yqt5<kv`}_N^Wp zeyNGN&*g1gt0q;#6*X3vw_pp&^%?+si9<E5BXFKZOnF*z2;S8?sod?ozl&2X9jF(F zEt>tC&K^GMI}je3R6Pz-Eq}E-qW-y$(|KuE9;K*wUL+S)*tGSvvHJnZNVb&BhVp{9 z50+bV8V@QkBgs;&4FNb5{Df1X3J-PaBZ|X~Oz;m2%JKKtd|3cdiB;_)_tQ$D$Uafw zDVLdA1KEDbAF7>a_@hNpu+7WP0ENzTfuKuqpbW87txbuxe+8=kLImv;*vWCuQwPd& zns;0|emWAxt9xK^(ihvZo5AdgV){B~pZiLJ0BAjW_KYb>v?!01h=4*$1YqNLF_zls zlQ8A<HaoPe?+hRX(#bh;K!sc4pdh9XnRt1K4G1CiTddgKO-RpVw$%FHEpf9YD>Yt$ zvK<`l;B|hsjIOkFlARgVEU)n%U>_wsg_K&w%yIA^Ra(%q?fMsICG*nimHiq{sf=PD zzQfDg`CIQB|MO*);O&VMyI(*26+5`xM)2q2(KqKx{(FD@LG|r{+1ojPhW|p|eZBNl zZTc_dPx;*gdoEo$W^D25=Bnqnax0G~EvYe;i>qFa!fk7I<j6-?+TUW=c=OBGQRGYH zcO%ccjJwJ0gEyg!Im&so&NL9E))U9@*sy?=yO-XW(DbqaEDte)cO*%inI40geHhM~ z$uvp>LKlyAmXZSey{IvFj~xUkGUmP4(i$QK=KP7_5FLzj0HsaDp?EHX3-4PL+SbtT zcya-%j4V};CvojS{TpY|&RY2yd=3%M6#7a7PsHcZ359%k*5?^{GFf3Z6c$%@cdw^5 zp$z*99JIU4v-GZ#KHO?l9)r`><5$?-Y?QSGIgH`fnV=MIQHu>GJrup_*qJTQo6SSZ z7#j(7!Mly6Hsr5t9DGr{Wsnq>3oZet;|NCkVEz+cC`8BOU%<+-A>f<hLS)c8pj3vy zaP4QlWjuT*WnMxYr(y1E<6Idwjk!VMlaqJ$GB-&daRQp&^9d!)lrd%(4z~z&2bm5M z&Abd6UZ35ZJiGhRSkG3#As_(5Q{qM&OAm{X47xV}iD$F+D4XUAR@VUL3|k-|g` zQARkA*E<vAAz>WH<IYI6ehP_75y<7!s0L&V)1iuN7?%umYxY|Sktv+5o{fN2PFLR7 zG;(zrO6232EQR}u?$WrNN$WxShkjxIsJ0u4oFueWA>2!uTywyL7Z}`%B}?chH08gZ ze0zU+zop<%$ir{@a!j7s=eyizrD@wdPSN}?BhcpAn~$sC9-7Q(eIfMy)ZSy>z1Y5E zV*Rq;r;fH6kMG~M<9yPN9qMoFX0vl|{e}E)4gGlF)xhapNA6^-ees;}E#l6q2MJG? z*<!J;mEr_Y<g4IYT&63Fz!}nu22ku8pHbwmN!AR*LHO7uF@&KDDoPpN)q7?EY9x9K zgqYFhX=aGz6wJQ>9IN;n=S2cQJBIJ$jFP5!uEZO}>}{!=Z;k8V+20ArNGardV{FkK zV`<*NB2H)iI4#->mLAk==D6iO*kB-jD`;S!XF}eyf)W)WE)9x?y;mOs8fW;}lU*D3 z@EzPE9Koo~+UdseRk4d|dt+Kv9AZX!<il08py$|bS~27uH|&OAJr4ws5EqLy#R?Mw z?nbkPU<1Y%!L}D$%WnBz;8{+Op|<K$o~XHLSSa%r71yK+toc0v+n2kSxzpg(fOLcm z0Z5n>lYB@t_i82PMUXW89Rv0~@o2PX1v)<m?#%R)SqwLmzFi~hg&JOREyEkSWsT#a z^-mpa(yPN&RH84|wqgw+yVi19+h|aaL=g*A7!JFU9ZFuRza?x>)Z+p|BcJ7b!c<bM zvDD5y)BZWw3y}uk>5F%_K(R3#=Z4$+=~-@k25BF>4-54=LP1sWx{fU5m(*}Hz3ZNe zhjmj=99gg`uk$Jsx)6e~@pkJ#3kRDsvi1jdQBqX$DSq_CV<S~m{hcQ)QR`X`_V5Tj zFKhnVrFI20)r4?FH+)Hhs}x6B_nA7s=+lM0DjkpZGo6zcpIBwf*<5hm%OWpFjKOc= z9MA+_;xLT6?NfXvgrn|SiI3yW0p)`S5iubv@Hm~BHYw>YMaAHdE?4b3f*NJ|I<6pO z(Y50j3M~SqG6j}Ap#X{*gyQO*L4X<E9;7dv8^kxL6M}=fWG88i5ovF`rcN!V;2=5l zq|)!WtYx+`sYjs~mBQpv>e936%%ZhBRQP|HdSxN0EUkc9eD^nFRLxL4-uo&~51}w` zINwC=9i=?>ppBu$UT1e$E>fDMnROJEOMtIt9i<5ouedN?gK=HSClY-T9Vd7(v6E$S z)rcZmyTVoEG(<KIT@+drM{}le40Ls&IfrvbEX>i!p8(~>Na%^ZCQSPS!VzB3;bk&b zTx>LF8<P`~F4riH2dW^C0?{V0SBE=W%?D=)-cZQbw;VpYZ`gO_lz~svIdfgLEfW@J zNwEYzrdCWTC+N(jy$knF7CkJ<^8vg_sXqjw<tseKXd%`qnggJsx)ceQ(K!%T6_QJE z*RpQTE^|$tHuGoqKe4-lh>kU=aezAb$*ZRv%_j7Ut^iV!Af?X{?1mX>r2{AE<%o78 z(=&ZYd&BOOwY)IR>tJhCm*EmQ;Dc#7!{ivi|Kn-8UHItDdYw@eMs}n0$0M?tG;}OS zno7@C4ELGsW0ex-IUKCqXh=~s_lWryQqGj+g#{HsPb4$cXZTwBW6_9><>kI=UrP`~ z<_LFlCoPF-62;L{Ys=%Bh>$po#shwGQ2Pcy*mOWzh#zd@Ta8%oyh+e*x@hV<X^#(= zH(3kP!apkEmKd(q0Q6A_RkB_w{0r%ydCnQ0tUJ_83Bvhb``|`tFHYr5M!rMpWCoGD zwkoprW}@`ZF@o@(^vPlsQw?kLW_Dgt+Qsl91?M6?F=`ug9vFGn7;mTDdvW~k`j~%S zKe}{%_s%6Q(B#13^J|W2emya6bL(FI?WE8%U2nH#{ZVO8f3c2v@O|Q^(_e_jC3xEI zUyVnfZZx0y?y+;*m(p*CPF}HzUtTRAdX@q*yz6gC1|i8HVvF{3kQRr$F`A^ecYQR0 z#--b`0ux~Ggz!N<yVJfjx_6DP9zy`g#UoCK2{F8nEI_1Uj)*|oL13jBw*-kF4G!Nm zFFSt+l%^Y*y#mw^0g|bCaSd}V)*k8q1Q{dYGK$i`-0@y2!iURN!J8$hRx(IAP2|Ew z^WxN2)v|O|H^TU!tx1V|gA8>cn_HY$!!P;D*LjAeF*e*@k7v0369|nnDEW6IAuKkI z!H|Jw59`Z)2L}<{(9V6shFj4Mb<4?4M~~6?TGwqhb`XNoow;n+fOIe_wXH`Xyvx{E zu5%IbJtL&rRU6g|SW$8;a(Y3*+25nBy2{EnnB+=8Z55N`AEGexasJ3Jk8#cn2BmU{ z0M5h<p(D>XZsB`F&aCC}e-(449d3eVf(_>gM4KTF$MJ!n9+ov_(Dn9d{peWtLTxP0 zf6|v)L+?!{o#<3kHNBI!lrI%&Q1!R7WG?Dng;q5;V>}gbTRq+#0+J~eVeOiI6F)r% zj4uGv3)mdgm{#bn$Vtl88?8#A5XV#X%P6(BoKR0HD6FFhT~*Ab(v}=zMj3v{u<n5Z z8XQ33&@{Tl>Qy3M5NHzka!$gc_);ta1mZ2|+DC`4zS*4A_a(S(|DbHW)0AFh`wr_f zaM!Z_&ly|SUN3&}{qT?X=lWJ$yL>dFUES$k;pFDUl1&TN|NcsHeKY&vYI)_gNVQac z<)golkpr<`Pmk`pzAxwPL#5kB^|`mA`6t%hAAdY>aR2%CXyZbx>e4oY*V#JKo38<? z8->&i8(5SS?_EcsEUD2;ska;e(2jf+&!%l&WLP571htgzaui(-Uytx4t81eaPL2fc zSI+@bl?mrBWD_4T$t*|D(@=R|K~SqVZx<mN^28z<kGgf~yi#oiBumgB71OvBGFYRQ z`COu1%SSx9naF3HyoFm-R44eCd!I&SZ=-2j@rhO^LbqVsJg`m>NXCuguvSMCY<4Wx zHJt0m@T`E@SY^6+5CV`r^lO}v<hbLK`AnO-1ZD%JX3Z7Kos(A<YWL7{HCRIY^aqYN z5EnKUhrmYRnR+Usn&+GeOgrw@Z3az}?5u3bd0Ux*=iN7ISZolJGKxzu?vWkL+_Fji zEGS}BKa2B|bt4F$n++>Wol!KdHd;qT*H9#T%yVe$vJ<Oz@yQdYOZa#%wK64{xg|n? z(__T-5mwDe=$hd){xVD2cxjoxZo7o?IDbKewGn$qIP<IF+Mf=!;{|S;0Q^@WE(Uus z2$yPCQ{O-0>@R?&hK&g?iAI`6e67J))T|2eLg@Z<P!}2r4e&x7q)LTE6QYfuHsvxd zvD&I-?$Fhn<)b~RYW$camv6vA|KlPmkh7ajV`vLdp~T+#Jkk8+cCVuQ&vuOlSBT8$ z^bTD=O1pz=x$jALhSXLq#xVBYRo!*C=na*L>N=Y&0oZ(X7G+1iAb}#QHB;19NFWDh zNFxO;P5x8>lqLvbn6duU{=71+uEJUR!m3F5&O>R$Wafq&pt^Lp|B{dRHm&6({W&1L zpXF&!5VU!4QA?ug=8Q6=Sc7~?DTi<5VLEL=2z)&c>Y!qk6Bos7fRs9CqhO7G^g7E6 z(8hzbNQ7YJJF#T|KkB4+jlp_M0ArLg>QwfhX03NPz%k@8mwR%9?YV@K>e7fTAK_?h zanfxJ-`nH0oUwal2`xQ~&VYc-nBtWLqIYuUmI&*Xxt`c6Zj7sc&J{mJZ5I^jrXZol zr8SpkN7kA<q-;Q!VFrs=14XNsP=we082A*X0i-cdd|Bp(;IWY9|D|#-%Bw)B@lHQ8 zUtvV0tmQ=Xb(xLZaT&$&pS3VGZw0fI7jsR8L)MS3<)hxJuxGV?fPIltgZ7GZ7IcJs zn>i!SglAEdv59U}8@?bZ7<v&l_D$jvFLt&g%DGTZ!Si#I)T}4_@@PEa&>6ABQMkVS z4@gy>vg7*3JrpB`pPLk)yJ3^PQ%5Vi0dBf#5Wa7Ugd)}XLe4ZT$jz%~41W`XNR?a9 zC~ZAjhkulzOVQ*iM5l9(APp$>f!$J|tDZH{mBlw!9c2ay>4_OQTCH<Srnkj2Aiqh_ zRIeiEwS<~_hac{=I%%IIgJ`j2q$rD9Aoc6c%ru4B8m4!ar$s*nb6S$En@WGI;CR&I zCj^q_W1Bdvn>Gp<ZG}72QbxY`129r~I?k>YD0Yeek%`2wbWO#rp7^s8)HDNn{)q($ ze=e5eJn+FUz*a0WC+$^=zsFGYBCwb>sX*TsC@4oK<xr<Vp0u3k@o#6&nJ$@>mCCnb zGu*z#%bkKYmVo)ys{z9|tMf^Tj@Ap(LpAstTR0vkIUDgC?yooged4I#(0b*UY52~S z%A@tioZZ~czCSwrpX|%8CFmNvYV4r;%(=GK*Jl!{mCtUu*p2K?ez$9S<@cTArxQj# zxP5uC`p3^Bd50i(oq}CvZbk5uAz?u`%OR#N+!QZ^7z2lcrd&__Vt^eLD9w^_4VLfm z+=pO}a_y>6akQBIJ6fg9hCWqu%85gbv5wJ#X19R%?1iS~=T41sSf59c`!qZw1JV^L zh4?ZryznGm+j_OU<+>6m<>Ha1jNpD4RXKi3svhkPJBSGG7hdHU@Ex`{;De#C%smT2 zu*M@o3}KA-%T;)aNvE{danOtGh;61^pR-0Q#cw#CWCF{sIJF_QI(fXC$F>_hNR_b^ z1J=6hJBRgR2d%6mLg%Fo_dy-mKv7idlM>y({_O%7AO2_$2z@fIK1t@xy|DqwTG#oU zu2Xw!eVw}D3K%|k``B1e5q$+;Gp!U<2i5F^5cHV<&YIIpIS{1(y8^hjL7OerYn58L zSBPtJOnThN3W&dm!7bav-DtLHh@`e{`4rY6A`H2SPvrC`*3!{{b3+`}D(CW!831%t zA-B(7)@o{H%lm&X<mYGOyAp=`HT%u=Y;O~Y926)J%cCx3@oAJDETNqeowvkme)po) za71!0AiC5JTHCcN0Ij`r&aa}ap>zO8r$196gBDRF0w*tvQB4(Z@eo^WVNlCAwEiJS zCSJXD_si7@<4HXy#LaW5u1{|axwo4fytVSt(tovN>&oK}=Z##aW8OAxJ91+(<?dBi z@K{x7z^eT_$)C5?A07E8axU>!&zlv^k~{aej!$@Ytp9cF!EoQleJ5{ieE46|QSH;( z>sKj?$Zo4nf71UZXZ9n!<TtT4wR}$aNggkT)FTmQGdh$l)gqPF#y-x;?TEVo>Jt;6 zSEe)n!<44%&E^#1=<g3>J&ka(6@5_42vA`pR@k^NN;3JOVQA-qUa+Mq_I!?^@CUhm zP?8VU2MFHaqfh_KCO+YXY@qd0oy8H)L35lLt$K{3>_@F>pqDgLQxZ~PW?gCVIYrUi zR44_}l%1U4jAca@6zxh_5HXSpxqP}vU&S@oWea`lT~wZCepfOkh5b8a2`+f(Zs*jK zI6pQ^QXvg}$5eC7P?hYW@uV#j)p9=K)_F_N+@s(ss%Eg5YC_x!=DDlco~0ZCFK#qx zF1A0^c1xkUbSvJ*ro0ib!x>IO__}pqeoA{WrD-74bkM*>f+o)qV^}qs`gj$z9mxd* z->7$TjyW@|gt5v(Gl|Jivl|CqK#s&dBmSepyRmf{_VGCs7u4)eD=^T0aoM^i*nw{J zx`SXINw3a6KW#+Xo_l>>66k!4ido9}4H*Z?`tKC=wDK^2?Jw+Mm?G(1xd}^3dJ;^J zH#xPqfamEIW>i#lYW>j-M(x&TrTD0bZh)Q9QvD;J*M%YXUa*T5%qm#%PjgHH!gMRg z2n_$j*t;D_4o&C#UkIA}T&SA%JJHlzB-JYO#;jhD0wLjS;|&ad&Nra@o@Om0j*fNM z!#<-UHa4{8N_U~Hu4_e$lB^oAh|5j#TZ<;jMyn5H@mc}IrBo-r`rMjwD;>iX1XM_G z)gE&wW3#2}{z`sn)gq5E-=ALmT+wi!Pb5LjvAufj&_*#e`syenUfjX;Y;^WQDlE6M z2O}5;BTRU@lD5g)&*c;O#2x!QdJQY;iVru)pE`b0GLw|u@Q+NQ^$DeRj6!YbrxjOE zw}X8Xv40`X&`M{5eO_4{t;z*`kzZBDoGsBPubA2M2MbszLCDO&A`o{yy^UG#FfTk5 z_}{%jw2>Byuf^WQ6HLCr0g=Z+Qu=m>1&NXVv|@OR1Cl3?*gvb!(M=^XEu497pP4(& zr~}?CMT4u1%XSB3Sph3%oW?L7ixwA47up^a)2_%GghSymFk>33B;WJCsTgI8W##)f z?oZExSD{X$`kaNc()*l^G>y7%9ARb>s@C+Ff{=<<Vw73BVedK1O2|E%G`O{DCv%Z_ z`u!asV6iGC#$>EKEbt&dI54;Itw<lc0dP!&jPT+~X@FTAx|aTudwz2~Sw=<~SoCY) z`FO3WZ=bj+FUBcm8mE@((Q;)Jo8;C%f=ma)_6%-ni!Q(1V#U;}cU~**4i+<C0icGI zV(?DRFh(n@k11?KHQb<OhNjj<OkUz1v>bq5tCgW2MD6Zl<^F7<ss)kvsfRD2Q;#BD zM;jas{)gjE_{}z(-@`zlh<Ls2L_Z&ziqKFy4>Y*e8#tsw>DxK;>a>KwKn292p*J6E zh^Be%j@Bw%N40wHgsQTb9UQnrDJL25B0NWds(MTr&#l7&XlZKT3G{TY*Z0@xK@f-g z)gYKtiNd^^+lw6X1mtXui&}*W1+`OBERfjkmtH?z_e8nN(0JG~cH-SsX2JSPbIqG4 zTOK`sF#Wpl+>?ibFSiCW3TrQ3=-u(gq#<;6lz;f_s<x4jD;w7qe96?DSQhJ|J(lqC zjegbk>q%!G?OOSv{KJjOgP$I*Ujha)aIQfEia*{BaR;lKpmg+gP^j~0qz?u146_nv zywC`U)x6yCKVN;6c8Vc_ALF!|JY&wNV;_qL&QI*E<s`%)FJIiq<3`EPLl${(!+Sj7 z&M_%93mmRxR%B(<VG>0g({-6AgIgIC`4X+%*HiBqFpLj9>}6FXD*h#xM^YM|Z53FM zz#KbiU}i5h8@oW4KS4}-DKv_axYM`T1p$QUKA;x1w>&KR*^ju@wx%9ojm|rqwIS#l z4*P2OcJm&qeV-V%Fs*5m2bc@0I2jy5@P<$B$fKA%w6Buw3q|3o=^Zyyn2ddVZM1V% z1o`ssYh>fkpOoZxQ*TeDcvOT~04#ClAkU#I+ni}d`WDyC56iqUip=O2jr^(8n-DCW z2FRyYZ8-2;-d+}*xF|vVGlu_n%MwKn&Eh-X;Kh-Me@?+1YccPh;5+WCuY7`%uUNsA zk5_xNd6bb)*tM6%kKY08R+;1vzgpc&gy4g&5ZLvj0(-+`M(8fCe<r12nrh9ONTYxy zae(;gokucje-I6^X<D88FFGeOmE+C}ZI?Q#;0X*8q>?Cya|3NSI8bdyC?tv=NFjN= zfMTi-k&^3(AUCL0@+b_S>PF^<uJtPpH%&Mk^8TZq!+!k5er20xY`1NZsj&RZAN5@K zFB!WlUwrxR(YK71aTA);spf}L7oHVF^|)12S5Lg`*nanJlBUN-6Y$!mH!EWgxx$sd zPrp9>up`Oe_IPwxm!xpc{NCW*^6&qwj~IC}_ZO1ir(d$k(kn6Z1H->xesXk_f~%os z2bnEMpeT8<qiB;A!_;1JU+mjbCGgaC803JUzE~jTc0^mEhx_GxEZt)WT9*z$)ZYT6 z2k{_bu?=M`u(Uo}Mql4X_N?ayMZM?wF3EgHaN5uFnZ<SQmnb8gE7xA=3|}I2cg^xb zKn+|KSVdo|0A(cebw9G=a>f<9g&dz0w;&k^l8m$ICn5GKxY*QHefeH~dF&&VA=Br$ z)Ff|ASI7Mcj|1ZZv_0g`1vL@A(F}^<QObn4)nK3ZCna^qG{4Bh(F^$kb-r8qgIwY1 zc+iyE@1bJ*kN2v36b?~R{Tcrev7)<^Kx8rr@(+#TXc+#1mAO<02ijqDaH(d5Fm|t& z8(`xG+ejd8$oov-mu5z*U2^1kKfI}0&N5LD>%x<!Q03-XDqWrMSEndoi|aQoXE!Ni z8m#&1wNG=gp-MB=Wo!$MvojEtYZ*Zikhox$HDU^OH>aZ8*IdsFCpf?lx|>%Xv`RMM z^}Muk3>FPAWA;niN(1u{|J{FLARtv8i>H-FY~g9|O7kMvrLL2f)%2KSY0O{6x+Pju z2A_>^$=QTp49;AOJN-c^^*WUfsPmxR=yX#B1A&dD6j}i%M?-c4Ex{+e3T|XAH?YWL z=GHwl!<~BP2KHCY>a6;yXui!i<P7eJAr_r^CJ8YQKKZ(>UFs$9S>!k#o-$`3h3;X& zkZbC1v7$T0L=ufj)sd#=xiHo~!cpo^YYB1`IpuhT)-q>r2P_W7;Uo0zK|Sy4EjtNi zimNdM6Kvs2@M_MJ-CKC^M(q=F=zVL3R=<^gw!xZ9@RaT=TpvZ%et=T{ndy%B$fWdh z(NUcW=>R;}Y_sKVG}nZ8FO*qQG;qm<>*rXL%H6b`iug$KY8lN8e-gxB?paPSi{-g2 zptH8dYEs&RRyd@$H#H4fP(d5<s;y}KJr4otwj&bt<%SVFRFy|L#jYO5xW^3V3~rS6 z>zTziNGgg4(W3Dm@(Qt$x*<SiMF*StE93;e-5IkOS94xO8f7@~mCsCpq-K38!%}yb zmtv=_81;}xpCzEHh_0a2$lAjOD8@fm<mB<oD&F(0aFiVF2ns~2bU{&38S9~LELb|l zMgdJ6ZCi)3hBgO@S)1iR>oE_<zYr9o4>}~?yjRq;nmXv``SmPlNN?l9aV68fRvI!u z9ZGAr(lG06FeDCfYx)?rJNRK9!hnN{y8CqiWQ5Pu?+1$aG<Nd@R1;QlmFJw~ayR1< zA1^l+ah_TNg<hoId`*y2@ed!H>9c^<9@3=d5NktEbs&}q%Z4SP-3a1^U@uB<w3f1w ztWuptB7&~6P}mHBKwTeIDTC|Htp>qFS_;$N(Cj@I(&wT?Vcd`Rh3pBMd4bobtPCn# z<wWntb6vfITbK5IhX@MRkq(oBU2&@^07c|dB8lBt0n&iYhE?Q(wX?onW&$IFhx5uO zQN+xe_LdQ6no`4j7UzAuhMTHuDN~&H5If^DEbMr37KP$G?+Bky^poU^9_5i=*@+Y~ z<IHucIF+B0=frcid%;+#{};kp_n>V}<d;fB+Or)`)2{)^lLy;yOCsyt|6b`FIr`@K zjCxx@$I~x=Av@o{-+Lu-=iv+YHyp~QEr$C(8hEypr)hk<{pDxm{?w0>NJcVOad1i5 z)**P;Q5wEs{sr>r@52>ZR~jxcJ+5D&&j@Rzh+g_c%)ceHCOs}gC=$|`Sm-GZr|Aa; z%%k^~Lwl!ip3Hof^nxC5v(|vEKK<@WGmJc_oEvyRE~Sbu_HpS!kGR_8c1824q*|sr z4Yc0sYjOt(Pf{2_vUuHCMi9a47$wX9kr>!$2nt2I-8f_2`|?b49xJYVsiS+X-2oo! zw(_ag<l?@$mXK%(Un<1>CPZgzAyAjKd{O&anrRndk@7(8EZwT{6n?p;qRH|IOcBPW zkV&IpKC+Y9?@YCpDOw>jaw8I(e)nZ`^oJ8Y9}4FrpP9DLNF1vEDIUEeeRaQd&)FNC zkO(jJfCx(|_0$(G-LP$p(Lu~&dP$?MD@L`Uh2q^HWeSR=!4KPH1$)9Ipe~h~SK4kV z6?dr<h{2FEvU1)`+8uAbA+nTqA(aq?ng`0rRN+2mgeh3aJVvB6!+3ZIEMSy>jM8vt zAH^UFUH6GTz<gL@XUIVCVIqW9+BJ%%e7iyun<S+3p&%lb<5$S{WvM#I5Gj;CYOuy? zA<Y{1z4HCn*on(WcR5s_*_YVWb#Ljgj@`x+zQ5JGUj2m_Wt_f|{^HVyk!;POH?J#K zQ*e7;Z_E8HIkaiwZSU(}*B+?aW^?m<bORH;pATJp{_0W1!Jj{l^xd`DZz{<jwp}@U zWX~sZ99l!cM~MI+!ciVsMM0@A3X|JN;*D>c&2};{4YL#EMoKl$ma7wC!S}b`g4H)F zmXGL2HkE>8%r|*@#JnVTxxO)|1pVW2LH@%F1$UAynSjA<p4xc{eVfP&t(`H1w=2`+ zLE$`qKcP0Fw3igk47|*=`IzE$o?p(+Ud~~)+iJ+FJ~Gr!Vg0hG=yZU*<(H`i;vQbG zI<s{sb|^6b-J*~pd{3$vbQMN7kgcjxF`*LyZe-H8XL;e#lY7OryyyS$H10~qk4SUZ z&obl&E(|+G{eh$L7I?--c{Uf5aET{2dxCxbcnmH%t5EHspZ~?aYyWasN`voPPX|wL zuBShD<1(|WFIs?-rkX3r&^5{>*2A*fsGRU0gQ9AO{s2m=o+T{d@DUM1D^lQ*R+BU9 z^Yz3=o<Ml!7Rss{5B^6m!I@7?K^;Nrfe^m=+}<<S!f7!{No>Ww1J?vN+2N-<01Hzs zeXynb`9M8hP?%AK3yeojRbkIo#T33=&O9I6XkW0XC6ElASSBreiQ{{@dnuA_<V7eC zmB#mSvA1`vwARbmncEWkvc{EfFWEyNFt(c7IJ<J15cEjGa%y&7yIY-akO^nf0>p3c zX|E@Lw-Jh?4axO0!O|LBM+hYwH!-2F+P;uq=S8q30u<*9m7}$x=P)VUT5YpHDe(YG z4xn_8n$c&%w`05Ni2;pU<AHg`FMLokE&#_6QzV-jBsou)$Z}_TGF@WQpX);}xYku- z0try*O&FUqr7*9;o`7i&H|l&%&c-q4p!wtbr8So~mXC&B)LmW67{Z~B&%(Z{<LM&{ zk_PFNp{Ud7h@gsBoey{um<~G94UYI4t+)*wg~E0$Bu<7V9i4j4<F*ol-y;!X29g_Z zZmPa0-rb%-ZF(R}=KAM!b2_1yKbGy(GG0DPE*nGMI7YR_C_{WbcX_b0RL~IMu{AQL zg&niG4MSeQd*3?6g{t8YZ6jky&SiCQfbJTcf|JCOCq9Sg@l6MUq!AY%JnMscdq(RF zHCvl3eawB8dl-%jGBc__V-Z}w7EN-`U}vEYnDc~=X$Z22n`%&3#AjT){uHdao{P{y z<drcrdq8C?>L);D>yf!|pVJchX6)#B_{|+Z!SgRhyuWZ(X}(&JB<260nE9tR@eDS2 zr7}9!y;bPFDP9WWY#uDuE{ls~Vs6MygS~_nq{VC>gN=^O)VF<cC*E^98^Sk}=$&eB zb^U%&gJ#56f8&CNouXY=GHQKf+q^<}bEIWv!Dc@MIU?K<ut^Xob%fe;EJnKbg8hv| zF6)>C>$K7Sps6L~_dAY{E=k305V49$>ni!>Pz#U-JqMAL${0MVH02)^Q+wqs0rsn+ zs=)$J9)uN|^=wt-NGal{FewfBY8RG_q%pebADB2O!@VBoNip2QfUMh2%=N(9qb0!5 zTaFZ-11PcrzxH4qk>3<6U=Y3TE5)8_H)trp3(|f7a3_n61rmlHXhyu7UaRgU5aD3u zbjVD?Tv=$PT6ab`=&`Bo*2BcpL;Ll{9{=2s8yENX)Q>&k>l^<2S-EXx>7%*}-xDGy z_CM%+bKhw1NbcqRNkdNOhjO=HPg}{}7XG{I+|}RP&VQ-6HxZ$&9+#N=7qaZK!`1sQ zWc9Z{$yObI<i4jm=9utlON-z!S9y(|P2qdqY~^X4(w4MBNuJ7n;e>%_<fh-Zc|p4N z63dK_?G^>@wAJKXR@fsR--X9_pO!R?4`I^fH}P@4NJu-k+#idp&;Q60f#~>5_7Z}+ zLw5!^ZWfhvwYNR(awK6nAjQDYF^1vETt4Bs(Dt+>OR@)rP00!hM`5XAU$URCg0VRs zhYh$zF&}vjIwlL*?JXDfn4E7LaEMA}6gWUn`|Y9nlX=y9TgnU9&Eo7#2eIG=Cg%!! zURtRkQ}LQ$m;jh#x=hvWz!~(pC9RQ7%Kr~X=l;m#|NsBlftf=ao5QGPPP351oJzH^ zYaz6;OAZ|<G(swRrQ<fInUr%(WiF?==p?ChLMcR<Q{@#&@s<uR>7?^_pYK0#{j%q- z>-o4JZja5He-U~)>oeM!k1Yg`%}n{cqixkzPy4pa1JWWV;;!I{)t+x0z`G%Lw-xZB zHo$9mB;pT6y@e7Jlb0k#LzN^#fD=KEvG>Tt<75L~X1~SKo7uMJ>kChn=y`wWbfI2& z@)ba?BymB_Ow3kZZIlwoCEbCf1N(qgIGSB4&u;}*ssl4F#gH!Q8HCd=^b;b3T6wiN zG>Imcfdp^60&ou&Mq-khYgCsxX)<$6P7|JFYZanErhEyB{R|za#6#=fiR+bUI$ifF z_rQmV_ggA29kSl_evSMuV*QTJ{kD5tcOCA@d~)~Ix3{J@$A9d*(6jd0PvGj;$Gdjy zFP&I;cX$`-gBwRA*ZO?;qx=8NUoT#5ybyfUk+Dqibzk@0*jhvQ=lUPJ-s!jeWR0!4 zE*VJvs&o2fWdG0p>iz3E8Y>MSFYNUAb=KzAv7ygqDuYyA%-197u`8u!2<t)&T$Mg6 zDe6}%EzDA5iVj_ZGzp+wa?VzkdBFl9_JDKj&M73ZX2d*&i2a1GU&~<otb#j=`B~E= z1e0E=lv>oaips0EV3)?=#Low;mrE^c&kZ<D3J!~DU3W{za<s6nOhfh(L87$I`i6z? z0{aV%<>>`!TEMwfGgd`L4=CHaVejHbBDxD{U(=eDlc|f~A!5O3HqB~Z`aBp=pAzdb z!j*a7G($Lbd-8oK<f@<{eoS<(O80#k<Hvebmf@XDTnp3qE2wJQV7l*~6hK`e-4)=w z0NnFzuifYpR<9mKG*HjMGL|oNKJ@7a>o(jdT3Zce(R{BOc^3G%;yd?Qj2m6-)*;Nn zmgk~BPUe!Mb>2b`>#*bblKvUo&>ACa1+8b+eGa;JEO{2TJ4Fw9$!dnwcN_zFhpGU? zTf%a_m!-p?-D8c(^9^@*3b`ANT7D7qSW@2Q8F-l=MHO@q5uDy+EOFh55LKL|W4z+w z>`S-fv^48i1ke-C#abV7QU{Lu)O-~IsSfS+c0}F|Ea4`FX>hw0M5VKc&wneUj5J=8 z=;O<F(Zs!v;5x+9vo>{vD7*6wdKJm{w;rsMA3|IL;nNvg;rQ(e8o;IZ2jJ<!V%#nb zU!_Zv_0?gEHCw0wYGH{Xp6@(|WA^`?tY#vo0;QwJ2ZCVrt=o0PWXLCzWHtPe6jq<n zZ8|u(_n<=AZt$7qA!x`n%Gx`7e5(0$iRwLJyaUuHU9iATQ%_;7QWoL3$2Lr2u;pz* zc)Fjt)mU0JFTe~~b^Q5fz;~P^=OFe+d8dR1R?UF6!3Z4fnw2H$oXu;IXZcAsLft-# z-~mP>5i9qXW|E7wFPVcuL(Y5UX37mvi{LD5<66_HZqfj-@M*AgT?|m8W6kz64M!lx z^_GQKGYio;%D%EqY<7$0Ig&QP%9a?Nsb(2cwY3dey5WFA?xrMcFa5%+YSRJrW*Fb0 zphxp@uNzk&0;8seo3hkAVy8`1rJsoC#m6@s;pf}Wh6g?8`LwrL`q;}x;N}7K#gr9x zk^!z+j+4NafU^O^mRp9~4E3P!CL3rZFginqHj`mh6&(q6l0scCRg^K4KBh<O&A4=u z96DTSR=d`ry#yZ($$dgtz0g)_YH<c9Uh-!otikautl$~Yv$M2^2W-5Yty+{kWA=Kq ze{l3N%@C7JW-e86{W5ui9}+!%N9B?TsNcBej_sK|i@DuD>Di|yu1!K>cPcUK^c@lq zv``(>2WRYH?_}rMDyn%Kaup3p0$9(q!=nJuRv_*ddpSCO#N`_Eal*$-xenABp5KS* zXwAFF3Kew|SLyUKi0Lm}axkBIHDIM7wgJ&|5@1HqZH5;Qo8h%U06i@Y1_3?K7Vb{j zm04U9t)Kc!+4A%G7qBEtxO0G3Z(l;p8^oL|A>HsC#u}YCn9O#1I>+0ido!NIDOVG| zZMvF`x8`dtA=KApZl<1&VNUH3+bG#Kpw8_gSn4$|sk^tpIquOcO`1;CD=QrKwiBth z--Aji1}`_VHE$llul~#mKy19*<7K=DW^8@;i?G2pWD)ezZL&fgZ01sR>bg5F=2Gu6 zRNYH5oiEYv5Apey-X7Un-NTz-@?d3b#l=HF_P-IUkImn@`26Yf*3!klh!1Ge=i6?F zjHllp6W$&;y8BY=qmHiq35lW?WzVv14Lw>!3HMaGJe>acv+l_4I$z|03tFreCFps- zg^Q9_g?Ne6PbB%+|0W8$FUCs`ZaW33U5p@SMA!5Meubfbsi$VDc^(Jk!>cZ;X3U^T z>ah$Gb!=98sUJ`kv@5J<8|i`*djN7StO}5<2q2P{-Nbi^e3waSyW8pBeU<=E@<Wcm zix$Z8x~rMR+}VD^48%zb;t;A3+3CU#@S+rkE5sHsEJf>wLTCXg2F)Yr+07}^SsT!7 zqubJILwCPx52+tEfwBkslPx6{>FXLocG;xt0}EU4#PH2O6iQB?>@i^8njN5e+g<G< z-;a@Z&osIO2xetF+$X9aMP%UT?^Gko)mpmHSi9?yLayD)+l1x;R{2&*66~2I*oYcM zRzHWOp<)b>Zr5o`HzY~7+vBr#I{bD8R-M?K&qc-nx{YbnhGJxim)eh1RyEW55Kwxt zaw?y8d?Y>0)s+|3zjmwO83MLn(GeqGX+PS9k(?0FTt}chhHBJF#<CLQF5&F$hr^ce zb>!uaJ5(QAbFpo_%}C6q7~+7QctK79xKxDd$yYIC9$;L63sl%H^%5$PeIgcy3rp6# z;o3;`-~tCpp(+oug=XxT&l-SfTUc|I(umbxPe%RZ9aro!k^Dt`eR)&wR;Bu1#OsrW zk17{m<nMo;ka%I~)5r3(aZ}{atMBhV=$qQH>>b0GH{`S7xR%+`%KAG)-(vo3dU`zZ z+U1qM*2h_+KX$eo@BA}0y>LwN&#j&FPwxNE^>(>N|KV><P#mo$+?#9ul1-x-6Iu9h z#o;tKM@Nr~K1fO70u1&Fs9-rpk)w(e<%=UJ7V5w81Y|1LCX;8$XBy_lt4hx60i+!> z4^zV3g+&$jC*%a7Guej*2t}fEi<E#w%@Iv3_MDV{UKLER(ehGoe3*Gu&rVEKg;XJ) z>#T~BQmrfp;T1t^ahPI#kmq2vv&YyG=cc)!@_ZVC)IKef)|nPXX-GwCb#1E8AWe9Y z^)i)P_VN}<X|N(Rl^9-h>!mBlCab(KYpIo#zS)Fo4{Mow31Iy(=DA`b*{KSvR(BQj zDJT}D*r<mnI!~@rJY$@3QSzM^fDL6%GlP;cO20PcI<*S0x@OE~kA(0MBY4ERURu9S z`s->hQ48O;n3Lf8Fk%546~eW8bnry7!j!xM$2jPRW?zNT;WUjxMRbzFLK6>bsMW(Z z*PJ8r?B!w&9KAb{^%~CacaTKKIM2xuXJwQEPjj)N_0##>6}q%)?nf<zkdzrcHWXk` zkW9AjiSg~9cw`G3+ZtYCdq31+FChHnwuVZ;aj(c7FDdP3eGd0}XwM2;0TyBBcQ1m( zmvUaswWJgD%f9WBMQFte-{Q@>P;L<FW{KCRc|U*kW}YfcG`O~NAoK)f!0%GU&~?Z* zYVUrJQ+e7{lB#-APMv-3_<+rwD<@M1Co61Wj&XTOYV_t`ME=Z#F0IRRDiXJqJF+35 z;Bs75F#+4{p^CFwbSh-&@$r%?Wa}iA_16ZWcBQgy3wO?Bk@FBz-8hw4{}(Y#h(@?H zH*&Xc=G;MN;?d<ior@+2ikb>dwB6hV+{yQEBU}V1)ZjWrX0c8TN(Z*h(l+ANa!Kfu zM5!I}SH3yLPh;~{o=<Gi50&+p?}9zuavOGIU0KifE6=6(@eMa^;m57B40Vo9G*kMp zM@2Dm7HN^HhVCke^3>Gg+5DG^qjV1sEwN>(OQK>@R8_<MSN+!%kIzwO34HAI1!D9$ z?`SkSxM?pZ4=SpEr*b+#sYy6=?|A`SmGwc=tQw%Ixdd(F`YwDXk!NimeAKf9#aW=( zyBYxIxEzD;=9DnrSu+9<25Y2ps&ppBk!@M8yc#ukZP;?3V8NqWZ{byiF;9=Se6+zI zXVv;y<>sjF_SQwr^*}gkNW_dae8P_{C>w9ClH3_L@G`qf1^wL?IT7<d4GoC}IH(so z-QUq=4#bZBMYLhMw}fcf-uR1<d85MP8AJUBwqi2o)ok;djL7yOFj$Rv{xpHeXrduU zd)6wp`^U5t`#Z3gZ{+J|H=U3UOB1plXwho0XLh9mF};&X^61eWX*g%#KM1*N0kBJ> zkhl8waS1^?zOfQ>N{G4H^Wxinbb#Jy&6v2Ii5A+u?dRT)y0FNl>Lv`0kOC~0`CRmP zz2WwpoUW6~cUL2**UNCI;1u|B@G%#XOH;X*LY=|(!u$txniVE?kT*p%$&)Ae4sK4+ zq#Q3HQ({zp$~f`TYe=ChFs|5hiF<dMQJ>g9ydBoRjFZ<5)08b6rKj;`&Rp@?03v-G zqYyTXfDvlru3XH8+ouVqJt$#hy@YttD#)F3`qF29J7HPlV$r*fues0c8Y4UYBHlEi zzTYa|b5!5g?k}RD+3?uO7w2|dsQ=%Ks3Y>OcT3{G>MC_@@5WmHb4BgE{?)B(a6h(u zdf)qP@yF4IzM&;Me)f5?Ds`shEl)2LL{(iR2J2xL<&on6R^LY>4>b5>kBM%yI3aZn ze6`Gn=R$&;i1SL!l`(4X${?sxPYQWapAye?CAHS~1BRY0%r~%>&XY;0T$=_rjQUCI zwB-tp5CN4j4TO|ksovep-^J>Y=nx(ssgq{g5JJKrij)X5R0gT!PAB?hhat9oR?_z= z+<U-J^p@tl5AbU$4L@9BgqV6mzZmF1l6Kuk;F^2gYT&yXoUB}bc|q}<L;@*TZIIa$ z%6B_Xyl!G5PF_@|HV2j6N@=q(`N&#zlJ6~ov=@-pKut$6Lr5bybQh^GWBU328IEbO zU7Ri;iR<K6tH2BT`;Ms2CdN>+Fd(6X`eCCkwvNdI@ixC`%S5DzO90W}2}G|zc3RTA zV$30_Mh8ZHuG&vTybT+rEhVl6^zMFGd@jhyPWH}7;pCi~6nCRDi3^ChXkB!S3&6b@ z=H)_&toF+!Mcz;XnC?a$s5{o*ODlHAYw6(Gcm|BYcNBB+5gr0amFikotQ)1q)<y@X z=2PO>=raP5FIz7PsS=krhh&tUdAqlbQqFf(@u$pFv}rX@HC}@(eERDbd4I-k?0CBI z@*%T7=bvR(?!H&4PGIcZw6bA-?YcjY%RhPkMI62GC}OKKdCDZwaHRg^Df6@MytV9~ zoj7v}rEh4m1ci<5x|h6by;IQjZ`)dapMJ;LZymXR_l}o~`*kXpsDy#vdl$3+zmw{A zbbQydSN}8bsT9ASJvDZU-*EUWET^Ko^fb}^1n^-X4pXY5)MIKC4hH354XI+M{QtyF zXH^$Z?RJ(kz=9A|D>E)|kf!0Dq3;D-K1=^{f?n$mOG>y%kvB~6IY>7aOv?D*;u<8~ zZ@|+bp+6L(`1-ZDoWjkqo!vqoy*L^PK3)`H83NVhKJ(|I`<@Xh8lOn30=KOJW6JQa z7Qmu}?^W1wz4W_cwDmVHET9`l!S5(UsyZb0c$O2aeTu^g%|m$6PfXAT6Mxb~(_{3U z-tF`pX&!&`iZ%v&i9TMjCz`P3aDhsfmf0+CZcv3^mSwKcS%K##QdqR?ElG{OMTFfj zbzw}^!ZOzGv|38Ns$?1OvWz>8xy+R-hQt`8IcTU~%-{*S?tSJ3@n{E|@?#E|`=wq@ zk~6vcn4Dl!E}n;vmeT8tRj{S4IB6g<UZJH?7$2p*)?o7dd5bf10~s-aL{na{<W+%j zwcSppBxo`vLsxSRFEaUpCE2}3it#dcIN3%^x0jjae3<MUa>q*Z2rMfzz^5>6E=POp zD!Zyf9?(k;aEixgeN_o+_p)BtoFQ#@5t7kkx%Lt&TR`$Y@0ZJ^02dF+ISJE#GL)Vq zoEMtY?|^qykK?iVM@Hgo_ph~mDA?rwPJLJ9bvDnD$n2>5$lGYM?md~Zms7ls4YvAZ zM~HJZ?`4Y_%vd<8zKjAfU1uRto3Pv)&}L1Hpcs&(uPnvRIbi66JoeWx&o0#-6m(hf z^(WTbOQAg&b$Lz9(Yd@zXNZzQ#r?c3xa4MW7z{r8A*7O<S=)oZtD;`Tb{p*#Y1gP? z43Vvg(McwmX1F5u&Ly_Uv=OkwVF#$adYt40Sb;kO{rB-8TSrVV36dUt_uv^X@Elz( zAkzrFlnl)e*8gOW@axEX=QEgt`?MW$344#9xB0|r$Kv<cUqOmb?6&Z$TcthExk4!G zbp|6S<p<^~Ey(&v7ha17{l5791c1)g>|f)hxNNB8oJ?sgR+;ln3#^E`J4F7H4{Tkl z(RjHTvP?xls=YaaUIG$dr^Q1>d0=d@2O;>@Mn;^2cMVlv+%zQ7<A-8#u=zGi?&Wy# zp_|S(1-uFp0wk?jL(sds<$Y>MO@xrREZ#1b9qgSNri)i2&xux#@S!C#!cH4KegYH# zYE5LYht{dw_t)9Ja1Y7v3@`QUH(0SlrBZsVpX1pWnk)sQS%h!V@g_0<j?rqz=c}HG z<0J1jrSE}jRvZ^Tm=}MmcwO!5ptR)Tu5kQiDx=LPU%OM`93wALD~<Qu3^D`ECT`&! z{%Jglt@EHU2(UD}kGbksp`~ZO+llQ8225w|JF$(AHYls(!PFk(W7iaL8S0;U*$QhT z^MEzr_7QgQmMBhD$S9w$^?QUV5|Jqw|2G}{%}L!OF%Si7agSOyC2<Z)k^;}ykfIO$ zg2uskn=2Q?xRcw(-GsO{`7{x0mo;SrWpG!~<T`It0V*mQT6SbWy15{qd7%rF3w3RM zYo}&OyfqzGcQ{Dy(Fe=@A9RuY=qwI@7Pe&O&hw>D;5^IwB=2=3gr6mq!zD4sX4|Bv z8VNe(paI3xWcr#bZ(I2t((hACMej?8`^-*7{rea3@sRPKCq?DA1M_d+Nxzd6T>0|L z<BmIVOaEQ=;Bw5p?8Ghk9Mq$F&B5fJH!)M+w|d_Ab$MO(O=N&!d5Hf3SQ@T_cWqnA z&4IWPk%OM2;Zp3VC<V_Zh1Po#LhhDcrQ`MMAMoQ>Fa~~iGURIiSZWy-?+FWy7jhK# zuYMMTt_gfY9$*r>n?y={SOPeu(bHYx#qDK0|CyzDeVQ$^4yNaF%_^L5E`UD|KetN0 z7juA8ej8-feHqwjyZ{!~EHK}?L7HahYj-L1<E9I=M$N;p!@=S0%?xX?qOTp_Xj{Km zdY^|bnCDv?h8h*KZ+^N`5}jL@m5FZeU4mg%Y^B?1o{(5vA3F$(ir>I^wGKr5iaJFx zL``M8PN%fjC=HCpT{)7xRCe9d>&vIr4!(tPuDOaDYg@XgYJ^AbGUK!-NU-ojqD+U6 zrPEV}6?N(n&q%SV_Ib5kz9;mH!R1oUVqtT!bbAaY_6#A_N+B(q$<r`~a0zJQpjC*^ zfE%~kZ-h9vin8xN0WbV&JFfGtsk?kH^L0tM|F#ieYqNZ>^;wk}Ybw>)0g$#|VfrCm znC$c}wau4cdP^QRFjN)oSP>2pN6=>uPzodWfqHKoG5COZA)*r|Lv$Wn)ycXTFv4yd zsgta8{IhEN)Vn{=-oMwTyf^mQGfAc!&K|Y=i|ATTUi{X7Y-qaN^p(}y%g<o^BgM&t zUykoiE?#K;oqO3}rvHlLVxDTOoqzPtFY@*8ZD0Pk`M>c8@2oZN9s1ur-!CgZm3($6 z2>L+JNyk;mPCf&Ca9MmTCHp{Wp%|}2gvD5kj%KrB#JLdyiLV0PxPF|IP!(9_Spx2~ zoe!vnw1G6$FD6N7;y`Iu6cLZ4Zr<X<a#24p3v1sbYCc+vUj-Fp@=j~!ks`;-oFrFB z3*c$OR-d|;R@qHZU9&GUfF@q%i$D4@#J_7wkz>fW-()T|yASmml{K9Nf)R^QSzjE^ zcEiKmTJG2z29wo{Ns0bo&JL=*@=A%9fB(p*A=@%g3bqngg`C5FlQyB^Df<}BwA4)A zM%$~UFnw330+gxYrH!LRe*dmn7<DvW$Q|uA$>iJlo8B#Sx)xO_W{98nPr*jdPl~vm z0;v|Y8ycU8r`@{gC%pKPW!LX0Z+41RqX|`*8XqeHHlIe~BKB$;pLn;MYEPFQuj7%5 z?`3TE-M5wXGWs3`{RN~p-%V2tnyUSude@?QpubXItMdiq6z1KCU18Jal9fiSpAbtF z@zT<+KXb75l{0v?tHr~<2;GB}w7ofizaOP1ixa#C^mk~-BHIra`*%KG71SNS0Tn=l zgL7_qNp~KsBoU!FXi#%sCIA$0%mc1?)u?v?AqBb=Bbu=F`M|v?&eDt;THn%8a7X>> z$)I}RRPdu2?I+I56w>JO3x#4Kxgw0Iam|(C@71><K~%WYnvjCxym{4yEHd3l^430= zAXna7514q6<&mv6DNNef7Qnoo$W4NY(+Zg4B<fZt_yh`+sC_%i445*Oezea2QVuq# z-6#z>K=HPH1UDaZK_cN6-F%__1qR8dXm7Q*8SZjUCf-QN?V#M3LA@4tuMshO<<22( z3g#@X_`euJ^b)ZPp{%S)WwtHs5R;eQ2!mB76+`4iAUYNBgT5(5|B<1lsK=J%FB`7W zAE|W^$N0Pv;|3+)&3%kW^r1bI1y70eeGQir*|&yfU@k2>Zv<r#lP_Yl>h79tK#wwj z;2PRMfdSixd=dzv35j$YRj}+L;=p<(Sx>X_pN$N?Ib${a!z#l~ZnYnvy7H3f-M+A9 zVhs%U`=xL<_Un~?+-=Fz={r0EFhsr!JVnIq^#BjAku_#cPd!Mj?LxPn%ce`0;RN#h zEfsHi_%;dqK&`cz_%YhXDnNMU60bKn+y{-5VZyks-&2FtiZ_p|ZCp#s*f3cM5M!y| zHlZsG1bq3wYfITHmma}8QWoemq{jl&eYFJzVSEyevwTj_E@Beo8)BE_O65IRQ{n6r zkifN;(N_fdEU+n)$fo1xq<n!0=e`dlyC-F4`X+3C28Jbn+yYQzP3@qD;0l)n_Y_w3 z&WB%lHKVLWs>$R%YK3pJ=HZBqDt-varm<sXN0eZw$<5(-i!q#;2=N4}YAxYKl^yb* z;Ca){vz6G0%RP8^iN=(KRey3JmmK0wB8DNXJWQzhR{wC_jqA8w*+Fejl$>10vl7Ol zlI2km72_q0Clrv!@t-`%Tq2Hf9UD*6{$Wlxs4!oDLq9rLg;@k#v&ek{RT0`+hGzDE znUfr<?g#0RArZ|d9B4)qyu5?aE0fINGY`q;;QTW@JsqDZm>^j84{LUL-rD|UqhEo4 zlk}YvZ=HB4?IwLNJqCL!rsozX{I6A<JoN|v)Blj+*mG^SJN8{;m5Tv2aVzKbJUkBm z`gLgUnZJmY%C5|oRl&-`wFvEcKKGe~?b<yniBwdnY0N1GDph1pS{h|P^SA)Expcox zF&u~5xK+wPCx2pd&2wlM$6ieE!PXHdm&_DGrJMZWyrT!3S}wW#_M=y)a!wu)G*YA) zhF)okfgw6hhZT^MNm@T8I?KnJ@(}FcDY1?R+yj--s>_uG-6~Lz1*!Y^>!s0;f23<L zIDv>O{O$g!%DB?Ny_ZTo?l<~8HW6Qv^&Vk>8NKqfg&D{qW^gVOaqR>)GdK`ySz|(% znWnPr%cg(YQO-;pYs)h=iI)e6*M0_ztkzFRYKg*xD&poh!nK_Y@`@ge8kMNELbI4v zHY;?!0s?P5L&BxvJbXd4w~pHgA+b46I67bdPW*<>fYU+Z*e4mmCD=TTnRKERdnq=P zb7C5BGq~3%B&n&Xe03~u`y7=AwrR&hFjCz@erah47@iR)Kha26s5Dz#mVG+MFIV;F z4Pyn_L#Lq@U2Hwp6bozWt%?_YZkA}mutpXR6Ru0McF-qU;`1ioz?%C+$!K~yAA8m( zeMX2O`PsxQi{X1@lCp+coV75EPapMUW(|J3IXjwTJ$d!P>d?1MvR_vhFTc-P(lRk{ z=2Drr*3M@Y-xG^AtvPOe<o>CWAIncpeSWpv`o)WLC(rKKj)+Sgc{5|JQ~RhWkq7_W zt@2e@_V0fZ|Mk=B$gf8=rsw1SBFbBW{`WI{)8p@dHhz5kdj8{|ZJ&Q*){#C=44QQi ztX*4`Jd#x_KjdbyChA)Zno1J!-RoVDGB3?MRVGlZihfo(&Vy=}Y8PAx)GSa3sZ%=q zg}VU`ftIAA+l#%WP*J7_q{977JTom|a(zMl&7-#l@M^_+KB|I~w&y%3UABl{36oj> z%JZeEI%RbdXO|0@I`1viHQeHF>a$;XK`(9am9CjwNTMd2CG-hIsfM79NvD&tx%qhj zfUD9ve)}Lb+jlM}2y;LOj1Ea;FG)G;)9^BaO8dq0o%cZpeNu)J5~NfvhpXP!E5U+# z<fNc16OBUr(jlz;$yX+J^-a7JmIwr{H$=krSw7cz?7cj_b)8PhaP7G!-~dF!zRoME z`80{=wfy+5kn<1&&iX3-@xHCdWPxwz=j4JHWR)d5$xomA0(zr~>IXbG5=q`Jvm)m+ ze8#HzOxuiZe&;?0nI5UQphMInGnU8jxhgpTDn}{Rx0}+fnym|)Y#zOwk?XM4z7nd6 z2QXfY6k2Z8AR(B@S0BJzZ|aqrsekx12}fmB>2s7s#)pnJL@DDpPgd5q{!N?NwIyrm z=cJKP&+(4z`_imWrRm{StkpM1P>tvY(vq9$%+}+%tfPs3O|QJ-o8vVtc@zP%VJYR8 z!4~i3wcq8Dx(l$@{3pP*f2We!h1BrK`f`A>W2K3L&}$OM=U;E5S-JTS_tx3sfnxrB z@myKNB*ZAtgWhbx3k%ppTY`e)Nh_{j$)N0dea}n7_gn$%A!<gLg5b$m!)Ix9<%1x3 z8G52ux{tkA>Eb&)Q@|gfw(@H3xRpxpIWsEadBu|aCAn<xG)L;qLYqfC7C%_`ETCgk zgf-x%ePoV})zwHTS~A5I2TjlXb%up<5o{BybF1JCmts6c#A2DBSS{w^dv%I~b^FTN z!os(i2ax=2JK5B@Zdz>$Q+WZ+v?w+!aN$V)g*0R)+gyn23Y!L=EamzBLQ=HtuW#~4 zuwZdbjM`XyHL!{<?Jr^3BOc#{ECa*OnYDl7u|E|D*;mj-*{Zu|G=jUzWE{bCYn527 z0dbN0*ltUoalQW$4;mre7+iV<%r5OHhnfbKbQmDx_yU0>0Qs7h|Kd%1Rgizs%sp6A z?eC@x**H<g3cDN(kTA87F9hXgAoTSEEzxb;M_FdqC0{=CgU=Z4feV7rnlie2TZH*J zft<a{X138RZ*9D-$BZ=cUe^J+#ha}@TEDqgi^65KbZ>1pYd&|<bdby0PS(((%hE*V z`|D<H{+Ic#COpgK9{)Ssr`B$IRVo%g=Y&)9@hei8PZK`Dl*AEU)>F%!V3<C5)<?c6 zOt5*n^pWwYugr`Q{+gB1dTO!}eBaqjR9wP?abjrl8-TSh{qE5<2GxvVaF7m_R3J}F zQNC=44<Pf5M`NN&C08F|$~(^e7RV#l*?;x{c;<8)S79+CAqQ)sv6QgAdAKXDSKN|G zqGE806qRczDXZ!pl8WOXa`jdTDq7n+QzsRB@%b78yn|2JNwv!;=ce;$)wccId!^Ut z8ME<bSJ3yjG5q$Sb!lD?Z{7RISLX$5@S}ZB+*U~TIeh%tXL{tFZR~0-qDjnw-lOpk zbG{$l^!3KYJ-5ogRwuoyyY?6Ha*uUv*T~bPiKx#j-Y)+5DjWWJQn~f+Pp`*<H6>4P zFt^9v-?92!({jUuy{ktv55HKq?3Ux>`LF7H{(0T}Ljy310~yhbX5^eRq+r5!8Z=i~ z;UJX42&e>MN&>LRR<6#G9YHp)RlN~xJ;{KfQ=3rDu^HiZBsXVW*|Foa;<>=xR&g#r z!YUd%?@O#2;hYSVHg7kViRAKiy?HDAwg3jKw2WSLE+T~MWc8IxeL4ptR7lxLN^m<x z>_Uh3mOh6GRGSp`2v0W+Lr8xVM9K-B3e5En@hFM0Ph`W#x44GKcraC*>R_pvzw{YM z!yuEXH*Mx1D=&ql3GOLayJ;ymaPyTRF>32(5M%1&>Lsy~<m7$A=4zYWs{~EDHbOS) zT|C{CMOxiw>|aE@;+g}L{}0i?zIjk)1w)6~)7MyvFoBniP@LfoH96?_P6uqp(|5e1 zsu!kkb9t9Dk+ud?3Z=+k84s3Hv8$-(&3gcQ7^(##Rz}chm=bXEq?9fiP{8U}VOkDM zZO75aQk1~f(*^!Z$Kn-{AP`!M6U(8qp<Fa&37WvD9q}$k%Zu*O75$JI0YY2znK67F z9-k%}NOuD$km(3%Zn-qH!sn}g%Z+*iG5PsUt#4^rG4B_H{~|07+)lky_v_Tyjcv!S ztZw^@C>|gEzVg;c+U<2GpHyDeN?vTbMIQX$3SRcy%Fn-_9V`5`Zok`KMAG}fE_Leh zr7!wx4<D<1@_pz0`;T`H{@@A?A0O=b%4W_#QSyn*IZ=$G>ucd!BbB40Dy<WAS*-kB z(foX^Dn1&m=cg$#1hE?f1)0&hbgAi4n&Ky}IfQL)3S#mpIs@ul8ztXNPhBBa`6|AP zkO3dJUBt&9D>lAuCEH@`c++|d$WJ<}qNHk$Pa$b>eJ^g|Gs1iyBIbQc&8p(^Ck1LS z&7)doW1z%0$915uJ%O6$WKief?~ORrKkJwB9J*DGg3pwsX%stJ^d{PmS;_Dc!z<{F zoOR6<opbNRv)ovnycSS5<G;9i0H?jtf(h(;3AA&zyxdWbc38MHl3b|bP?NlS?bq-( z8|TLD^)hR(PW_#))>M|Ec~6a8Y-iOv`^a8Bd>pXt;+}p!tR#no620}Jaq{wHT-Dwo zK48*yO;PVj7cpf}<U`l%-s+(=A;YR+J;uvU=Sn_;ix;`OdnVJ0U&I*(5$hs0!1aEp zz0!zF<d5uCy0yrMG*V?h_t0!VshO}toTs1li?aIKC!V8~?3_BYo<tO?w|!*qlq_AX z!qN$QzSx8y1EsWwTc-6ilGR9-H{0O;>}~({1TEW2XK>}E&9x!kS^w!toV?TKq(K2@ zys{jTirfif-IT_J{%F>ohD4m=jeUM~YksVZ6z1k0`aDz-Yy^?+jo@+>!<&=<;s@nw z3in?6-o$z$KhE(h7*nmCOB;3y6c_+}eWiMInJ~Vk_i1+(oEPZ(j;uJ9Z+D-7+Tmo& zLuRBw&gjv@CDh42#lSw+N3$TOfw(SSI0lcD#2_Eua%OAiC&fcTO9M4*O*D57##+U8 z%TPYBrUoCFnJ9XlTTfQV5mFOmw-Gr$7ysW<23Vpuy7dE(?*v_rs@t@O1Loh4@kb<; zDVgcH**zdv-x);VBYFU$dMYz-qa~N|q3n`h)~dAXWOA6^@qraF_%?c-Fgb6Q>#JuO zCnLN03@9$nEwSKl3a9tvVADP3s~T@??{($(@rdee3Wdc+%yzoOIu)_LunJc=jw$vQ z+_4Bkm#C749v-FTqv=!4gG;S?p?IH3*a(NYe&`sz3gudbZ96rFyL2LJX<?HtkD21? zG7`-5`ZY#1-N@GYbs*HjufRiLE~{z_Y;6`j^wP8fz3iIMehumBy$GXPrS}B@w7OTI zn(W^Z*jk`>q<CKn4!`^qteK#{Odu@>28+&8&H3t8msl{x>JpJ}Gw`q2EJ*yLSKVKR zGpo<uv34mTxa?FI-tm7P*T6Hn*DS_;s%>Rq#D|$zRHI+X9a*^41DKsQL6_xmb@IpL zH|4*EgD$hy3WT^vlDdC4b&3Tz=-=XEl(>hP`}QY{n*n^2lGX!Z6rGbW?ve*wy}oUB z5|8#}mhHab%hc0)3t2k7-0CDO3Z50qY@A<1qA+|0l_RNVjS$##c_unUOWPqJAo!l9 z%62!yx97_dDh}`SZsUq%CL)(weNaQjsKzl$Cw##oGvXMnN*fsmYnIK4+OE80iv3Ho zek()R(-7U)xx=^?>H7rah2R*{+>wxg7ihZ5MrU^;L@CSZzYc!ga&5e#`OpRt$}rkI z=3nEk6Bd{LaL(>}_VI9K^W(<9h}}AiI`56!-zPR+bgVR4JND>jtf}LCSN6|}b(km9 zdoCZ#n2Y&~xcYA$opxa5X?d%T>Xqd*5ZN|H1Ct(DX!IlI#wlJ|wb+rmTFy)N0v|wa z=%=}rQ}!l4B1w=D(k~!4T{X~dL*`)<?!(ZSyDj{03^_OQ=64#5PJ_;06gN6U_C*^m zho`bbYl)a7=n5naLgazL(k*O$7zR5+oJD43xubBx2}v+b%mLYk6b=@|zp><dE2bFO z<DYauc9EI7Jt&(=b&kh9k19Iuifbz9XEbBa??fGfd(?3MSJcm+^z<Y^$qQb>!0<P0 z_V&P_4{>_(of?Hh>QlaFQh9*^YiTvF!X_JO>CRD~z$LVl5~4ChyJh)B6+`gpax_iX z%^Ngsqt#3%DWa;F-|_+mcu4d?g|T8rG)+wb5GL|VdU9<Aylk1IX3PZQ3<AR`13Htm z?5|vv-o$9gC-_A#U>gM!xfImZydMfU!5Djy#quuWdJZI{vs_1FYTf8k`QZ8wQY=lX z3Zt_k2j}@Ad4*7;1aN#Q;Rgf!kOHv4r(VTzMoQ_D^U>OLLNR^{E1FUC>Fq33=-d_% z_HTpCG*f$Z7%!E8)y+<gZQ~d+t#$+D^RccA@vgdEUxNkDE`>UNy*<2Ret+WGH1K~# zo9?_kaPIBamF2GscPyM(5#Dhs^U1%-GjGe<1jPLhI6WfiuLMt1tC<H~$#*+ZU)<X_ z>^V_+<w(Ul&R6Tpzbl_kt(!N}?zs1G`^Qa{ZiSov=lT0*>V=)Tr>9@5nxRq<f5AzC z))QVTCIO_fl||4X?hSyFhIB7IuM%GK*E^?p<pwO$E##+}s2IL?9sxmQmLSS6Kr~PD z&P>`_MF!IV)IX{)NK8@UKlQwp+CbP|csYZeFCt>M;7|KF2w;Q5E!a#AJ5ME)<4Mq> zjcB7qtXT!;7J=>!{GngY*r+9t2H&rt5<h~0syAwP&jt8=VyL++uXF$A9^x`ALBsYJ z-lvU%$nI<8&a|GTlZ({7oFWO{b9o5McB({R$u|ae9pT!RoZ<SQli+mw@OZ*$XVqRb zKb^@0sA4;pMziu&3IsZP7sB{AwDk{GyJDUDK_~Z&pogSMD027{fLE|{gtX&RcT-g% zzkSWlwE!Q+QDWGceBD)wY`i6r{h2A3W<)p6NfZX(ZCe5n!CUE&7AxGJJAlI&(Eo(+ zxHMSn3Fu?)a*OA4xrFB+Q=1cATkTh@9iquhn&)8`K7l?alzKP23qPSEVX30qoq27~ zrcFz1OoxM1NNYjUENrTw-2v$AN{3z|W-?I@5gp9a?Y1%TR%Xyem3|$$KfgMqegB<g z*x<8-WshFPD?Sx0RU|oiC>rF~+6KhoTfT7O*^Wxa?~y99EJ7^F|6mB3h;CL_rSr9O zcyy!o|9uXR<;agW$H5QxR8y`1zLYJ&{J|(73o0wtek`M{rBhHdF*;UPea=fEVeedZ z^k&n8=8R}=N1-ATxda`<b}_K<@swiravh$&ap4sE{8K`}Z&BlWcD^7Hc!5&YJO2wm z)RFF{mZ6X7ZQedF^{8T*KV*9yhX#dlk%>fam8=+<oN`}MA2toyVEeo9p24phn7Y`D zlj(Ho87iiek(l&GA4E@!VfB0XTuiJj(ku>OZZTu8_OfY(dF6Z5O<QC;8CxY;F&CG@ z(!B#|g4}BSbhNC>XL*{UTlPzt@*l0C3FPA_>aY|EyRzY||7D$sC!g|t(*SBq7kB_| z?W_cQ@*B0zs|k+tQ&mdIEA}d!v6I0%KEjorBTRRx0`6CH7(`FJ=%u81i8l{~x0IlS zU%>n+YKs9@uCA7XUG*tCfcaLXE~Eg`xQcPVnjK$38>DZqBr(11$U&NvqP8xT*W{Cv zcL2s-!$Iz-TBH;8E-z*CS|80??qEXKYZEl@U>8VSacXLnZN{s8P0zR@QAGs3_sCm$ z17Kr@xtk*YUCcKSOu(0;igZo|i!<5o`da>C9~WR3@z!VrRjH1%A~F-+M2gm(A_`M= zO8h;$^4>xiT|32_ew0Gs$Pc!X|4=MTb6CS?xSI&X3X|pNkmMbuQh6Eb1DtzA)SMd> zIIDkCAMg08??n$SDIxAPBp&O7@D7o0VCXsfH=jT1LAhi&LNo_TZ}AG(9relf{zW}o zrCxjodI+ExD#o<q1TiW|836Kp%~;VNo{_@(+u_^>&jVC?%>qx(buCaO*eTb?-_`>p zSAN8Ht2qXi37AW(F0OvDMs-8q9WO$<u+8stDV8Wt63$&ous0<XI^$Y+RTmg6J>^HQ zViDWRVb^(y$LdYZt$`!&e%D{#ulUgV+%3xenty<^Zsf?W6V0_JAKLGX`|0vtcYS*L z)vsHXyvI62vztaM_Z*vE-f+YDN^8>SyZ5KA>_7JB)V~*hK6fAVH#nQ&_5H}cQ+k_% zkKdTRUi>TNCxq)o0G-P+3H%fB^u02b>_FmeugUgf$R2}X0&+B|^tgX_4W;$=72dhc z<xpPyoUOcy4PsWPHa#dw3B2(2Xd)Uz)Q`mTO^0An>FI7*{};6)+ntRtf_2bdQUo^h zLJuYyOQPc);uW-=Z2T*bXT^S8sK^Z?R6GYcF%v3U5wlIvTl1?VrhIK1{Lq&5sEuAy zPFaN<q+ma>H}n~?)%W&7z}j0Ng}OTxjo9wO2|hEVJ_avG3a<m=h+AD~z-E*b{an*f zCDkw1@bp=gc7#nCVFp20=)T79a$v$sV1sCW{wBmAj$h-|h5^V-?y&YF3GML*c`86- zfte@?whjU5pvl_`r3XiVU~{*A1LNdo>7lMmv(hyG2w19ei9mKzJ2&LNN@A!&U8*|q zw+1X`<*fw0+EAAgQrNeH6ni|L$M?@vt)8n6Ac8XnJaC^G29e6+>;C5;etJMrPb1K> zYq^1uBEKr53mxi_5>RgnAMkwv)C<`7M#*<P2$k=bsypMhU~tkQu@t=#MD3|(EI)l` znd_goWBt{)_v{<%^ITJM_4z|9_XD*@(<fhlyls8z?2S(^rq-^Oyz^h*Gjh=7{fw_p z-oq5TCs+UIe+{vYKXmMwQGj4i(m-FR>qGIOC(AkZM~`044ZYKH^68R$r`Hp<`+nJW z<_P*xX(n2G47O!){dapobvHYugkUwk4I44b)xEMiT8!?M=e?PPh{G_UiVRy!YrtlH zPKBH#y3mMIM4=)DlGD9aEqSWPEsMgpSHw$093ezmv)S@Og>3p3uUH>>;0TEBo^q#9 z{Oq->rB+reHpGhvuZ8`gSPP-{$8f)*wLV!7P(9cJFF!N(wZjGY*;IpcopDD%MJ~Ye zic3!~=%`BwcSxYu5*72kC<ZCnJE%3<q4KFOdF!8|tJTe33Zh1#^X*}c<ItDMe8{SP zgBi9pHkkYGsuuvt?p&h_M?u`bg-fd(Cj{&!V%-k>MI;XBxV#qU(dAYfM~EG=S!rNv zB4bL#BJ^{0vCBds5gYg2+{O7G{ZZ9L&aS=TfO~onR9>@Q1=N+JWnZ`}3DaF%)#^SU z7jJAPkI9^YE=wO{!a`a|EW21<uvNFuFtDf?iz@U&1LkbzXc-2yIu-k)+KOyZ?4^fJ zrs1hSk^yI3ygiQ^uZnSs{{zB?`k*(g!X#0P(K$ZF;-m_Om96Vz-6q<wqR#G|0A~YO zJtt_2{qQm6>fNP|0)u5n;W2WQT@%!fh6-MO1JDJ&YyFxl{>)Vcc}x({$0cp-j@A!w z$yuw7E}<~$=3V3iuWJ8?)c>W0I0z%HRlU+FyBPC$Bo3b|@yu_GAy9NIUyMN_Z<_u4 zBG{$}O|kNGf#df4V`-pb99pQ(X6#b67Qmr*eOG|~_C}i<!k2K3GutL-U*t1RA+3>O zdLQScj0r2S(7_EPjXR0{r!IAA(5+?Dg>OEBn8zgT;56DLc2KcuMaflAPgB<$JbMQ; z<b<|WU13(Uy^AU+gVW3@1(7uat9Cv~rNLDVY|pw`r7#y!?)+L5Yxb)oz{BEGTUJG2 zC4<q>MXVR&tWNX%+|6y$=}=D`{*~z{|4eUpj%Nr&1B*G(Ke=q9b?hY@sNOP;)ULr$ z2-{xyz8+(U+rj4Nr+_kJt8ZTPj1DNzNbhyfe*ZyR!jcrJJg1Os_mkc`bv=PEAZ+|F zDbiy~RBJ6zfsOtqcRLyuxcFG#Iw8G=S|g<y=_J<`XYj?I<^cC2wWJ<{6D}bqgGJXH zS|t|#coI8SsGi9Wi3(5U)p!b35>&8N%}Ktxsek2lUce+TRQpD?6hql!yx{`1+l2G( z2bED!?DueQ!D}<ne~wUK<*b9Nx^?agZ;$=+|E+~DhxL?%Zbtc{Kr*opualyyP^yo% zD!J+V+>IAF0sR>Ws#YFVguJK!c(NcaOZac!9za~23z>AU^)+s2Vl~6^(B1VTob2zP zd1{nvez@yraSZ-hpKOFI48d$Ok`<5zp!%sRYe2ouL3XHR%%SV=<j#h=0`)i6{lw;+ zSKV@I%q5+n9(*NZQCC{LAkhfDP#8a%6jpYDL_e>IsK5}(@bM3SSRvrSWH^tG%2e%R zySqUS{$s(jz<8Cb&c_`@uCB%irzpkSg$cz<dJswWife!P+|AKwgO%h?X~nF#rr)z* zqvJ^#gSq}EkJL?Tl%qvKP`(6~CnBiNhe7<lO_K@>1su2LSO#;!#fOh)fQ2V$ddLV0 zg?(E2VOI2bk(r66Y*dB>X|9}=F4Lrva>DYD6$AcWE2fT}Jo@OLEwz__`ijT<FaI!6 z`BBp{w<W**zpp&j_1|0F-T(IfLH_jnT^%`gtKz}Yoe6gq&q-Eu{I@gG+Kz-A-L(9t z^?$0NwaMG;fQ;LmWm)sUi0Kr23j~6Q!G=XKYNQ_&fu<>bllk^MIz{L?Y(R~h5ielN z;k@l#*vaO>^SOK_4h%Nh2a-}{)P_1Qv1oK&E?=?gBg;EnQJ>16X7($!!%%vdD&mi4 zD973Ygo7rae&q`rp(IZDvd*S&)$$2EN5H=|w{58kCw%Bt^uKa)4!tQ{yTN~WOGxO{ z-iB2rVNDO&s_=mG@s^KaCL6N8tsD;tE}IcWV^<MetSshIUQ6<Rh~w_jvrBGo9>9DC zsOUf`6qfkv5S37&Ln6LSDk0XV8e5$@2>HneRLoAnE*uU40&Ylw=x+LMOA@n-z^1_{ z2i0Px_BQHy13nK`o4;<qx&%f>bQyTRh8mi2+)sM5u7+H$<1Si#kwdvRv3DcJq~J(G z_4-;6k${wI{j(mjw=2dcLbfOg54{wO+4_z)>>-(fnqn^T{6JEK!Um=bE1;$WjYo(f z)gUn>lG@O`(Gv3}LT=ZOD*7o8#u~3u<dlRXa!FoR#XRF{5@^WMhvj@1!akf;>_JJ@ zSvakUp*|YwKr`;P)Mk~vzs}|q)0i;A_d_46$JRdlnmu;nFXHmI)-BoSgz*n$C(#f8 zeaO7S`gnNL*`qI3Ua<Q1<>&20$;_31QY8u3M!QFjJowGnzwGGH`@k26Snbb}@7M@m zsRG+456q5Mf|Gx$Cj7S<u2x0hm)y?kT>LNcs?5e%g3Yk<fbq0!@<(8;cLXHrowb01 z#iEe<Ns(p-|9Xcp)e_FJ<g?n$SSO{5Z5ZUf*stKm6f`@Pucw*Eqe&slD<He$b%ql# z%tujuGQ)J8L}V&~pu+CtTU90t33H8Xf)@T7HgQqK0tiqdu`b`?o)&&j{fAsEPQLRD z*P0uoD9O($sd4%ggF(DcfC!9nY*o6n4r}~CmnI$PQt@FTTYtd)X1a+98C#YBqza)G zQm#~^;dU}T>Wec0nxaks8j`)bBl#%+wfB*t%vM7`1y^5N5|bFcx_nr*Z_lGiH-BXZ zvAOWSi&@&8X#z<S-YpSkAUu2k*BnD8RuA}0$DWinWsi)0VmGu6Sz+ilU7U;1#fGfW z|Mp_5+D2i`Q60PhwGkxQyUa*(ztekebT)A@mP}DLz2__r-4XoF#%Jd#8N=k(y8T=- ze6gGKszVQ2y35=={8=0-D_(U{V<;RLvn>r{Fkqs%mi+98Stco07pvhI!tZkn32;|j zQlD3)bP3S$M<AZnPo~<kRbk$_8-)$N?NokN(XCaBJZjz2=#c1mRnTC*7&{ckri=%S zI9xpt0kE&NS%mQ$x_A3SwQOtCQI>Il{}<2^@p8)N$yc!QVVJ#mju>zA^Za+3Y8GUw z+1+Hd(a+1b&-1igWpp{x|F@D5_Dc3>SwE_w>}~2&YcCf4e7@crnXaY}^s*8zq@5uk z?1)dKHP!=zv&EVZZ{mludHfMKyTt}?tJB2{4N$EuPwl8*PAa>Tnz`Nr6^bZ|gz9f< z+?_dZRgOL>rJd(}V&+z}qhHod2(kwF@kaR;Pk%t-6<x*=yL)?GBl=-#ynhLg<*jAA zPG*n&2SV_O?$d+6@U=%(U`qF_A+{e@N#OaU@>4R{!UQjk_+mB^1QZ0RDpSC+Y5`9> z44`Sxt@jb96nk8(Q}G*Vf**>Uet1w6zLZGzS14m<goL`QZ0op>Y|lykZ>gYJd7Mhi z|2`{>BT>vLn`Y&kJWIfQsCr!Wqq<g9skX%XeFWU7(Die#8*R{O@S}45b6mpx)5Yvh z%ixTORiScbNLD()^Ij>F@?`2F#LGGfj*RBM6|O482bv$NL$qCN>_(AgWo38?cfhQT zs(!{VBkZajLFuB($}+Z|!C~!_9a8*NGnV`ZoQ=FFq#h1otN*%2(e|^Mwvr61UGgHL z9z_|1SX!-4$&T2l5&%FYiSj^_0y1Pv*g)_$OT-ggKz<3w^Rbfi*j}RDqW@Yh4BQb; z&rU%vrM-j^{j{uxdkk*SfHXh{^^KpAMvdyD;WUnLSF~Nh$vxUdb&3^?s3POj&>YJu zgSuSupv?u8&wl12=G)Bp?58Rxcwq$9Z{=<tboO&H7v&%rs$_ewEV>8H<rr`zqI#KQ z6q5O>gB2;P4id5Yi5dP{<9w%G`Z${wl_$ukhcFI_HzhHuzDp$g3{lXIf>pkT8cwQT z3agQT2R()?{d4&!{B&-{memvncW_^YW1aLeTpVX_;r3{@g!30M2GxBA5f>34!PP-z zyuf$z<<a*RPQ*8tr~IB(ESn0lqg~a-3J2u#6QhSb9}9lV-s^TJ>)yM+Gp)I(&J}MT zrSWp6ZSm)qH_K12DSUsc{@I1N*1&;>OP=jneXCmYMa_p>wMW)||2lo>XXVD>yCxc> zy!-7(58HB=i$89E!e0(7*mjK!ZvloV2!c<%1ii$LX9)FX&3hS52}CXFIb<_!f~<|& zLO2GLXxQx48s&vYWuEf6p5BAdEK{myoiPXxosr&P1pL9O-)rX?7SrnKStk8}dq(hb z1_tRQe;pSj=SZszjb=m(Oh1^x()EmQw6Tt$I`7c{dG;!G^~FKDbF!JVx&J$aYZ_&c z=+N#rKv*pLKnZ)ut_pn<)GLx}-+ux6W##-ohR!{nssE4TvkP-=V{;j5<~9qt%q6L| z*%3l#Y>MuM<{Cxm`rYQz9F%*EYL44+qKoLFt4g7ixm1+CQc3FD_1nF^zu)=S<H2LL zopU~)_viI`J~1-c-c&H4txrr9T9idB)I^CV^_OSuqXukP*-y#Uwx`97Fx!nPMI4-k z{8L~Q?ti%BhlI&~j`AsGT_x^2qF(pKn|CmI<asj<h(oaSa8^Ynw4B>j*L}7YT(jHx zgn6PX$9#8=#D_fuajFez;Bb1!o7kB81O}_pG)9R^3Y@7Vphp;4DobgFZ<W&4h6-1} zgK1kz0PjNzh1?!kWE0pa#9>|+7nq$!#YnmyyNhTEVbe6?oR{>lqvXIgi~0Z*8j-@; zmAl~C@eP8!hMVe5gR-(%5{Y8$tl0js9jz|sCE{6DD8*AKV5l>&-BOtkW@iK?NBoY^ z2ueqlo{_ekKDqDWxcjMnhyK|vzgYCd^uPzB`YXnl=NWG;^}p&d_WWe8^~ug>ORXR6 zS)4Z3Wj!qUX}NB}q37)>S+|~*Wga*lbINSd#ni60zy+WF1b^2WTVMLyKXoDPAH!x7 zi!x+``S#hND?az%?76+QXzA{sy!qF@kZ84D?MTeAQY1W+ve<@rPnDzHhztC8V3632 zfpf(sRd-oPKEDRp)y6XXQE%_3!p8PTB)SxNIi6!}FJ9!m38CKcL`iLQ^48t;4pY#P zjTCvm6xFfDLkGOKZj1x94{;6hUKViy_5>qGn7t=*3e_)Q3YuRi0U6mxcnWc)Gu_{n zb6fU_yd1qKq~h0N?Zenb{0&uXE8D!Bk~dF9lqRKG)8nfw+Jww>xvpumVYBl>4sVuB zmRgmB8jOC+Vx}bvpjsK)r~eVt0VZN~WS0Ok)Nk*8DZZP^zYv-oCI)B6FNq=s|DngF z-|hoU)AAldPPJ#|LM{R0%g4UOZPs4iG%`y2AMWvtT*eAV8nh0f@`Y_~VLcVGwGQ<f znl`jo;^qs?!4AVa#f~Amts?3!!`mv(hNNkw&4uPt*(5TrnX6@aO5x#`5WB^!I0`vm zdzA?AT5@SB$8HP@g?1A4j<TtXkb!XFgMBM5-uYM3q8&k0!PUv-f-cCACU~0O_(fuv zJK*sTJ74!6cK*dMc)~onO{YLnWEYDkchwn_Kz9u>6zzLSQ9I4Fn5b58z3j62LVm=; z84&5yDX7?jOTf0h;Z_N{#%EOYhOiYp)MPagwkz8VR+T@_8M~)y*Y4~-mH2}7Y2Y0# zf`W`q-DEg-m`ig!W*NJ_1QvL&D)}l2Foczt9Ns+~b+RdDW%mINr^y7uy1%+ERYcRQ z&+FeF4a`Y&=^@VMA5RKDD@yarr8<xN#(qm`y!gc$cL#{IHY31xN5WlB(>#~yBIe*j zN%Wdw=L`@(78Xah!_6|AAmsGAe?%cbiG|##h`w=)_f{2jX^562!ta#CZNa?p+?<FX zGbnWj^KO;&hW#iTV8cg)DCvt3a*nXFbaI8Ng`cE)P39h7VLlpI>ROmh<cl4iQYE|D zElOG!GM9{8K`31HQz1yy(5xSe+1A(5+KvM3(UT6;J14bB8Uif+Lp<U-i)D9X?<u<+ zN|j;$smb|_MNT;OxY0+kubbllzV__tK%tDu+{VrfghFAHW=TZjDLkv2fsEJ~Cunfb z4-bd~PW_SON8Gnax^$_eBK*fuWoxxZ=GLds8MDgYOXC>Vw;YfQ4XfFwm#_;s5YsQ{ zqEsAlHLn*UOhVyZr?wb7gs0HsHkcm?#B5{6p??ec4$RdGCh5U<Tb_=$FWm5S_Kc)* znLV+x>LrXg8**e-ACqGB&iyMPKu+?QNLYUNK-|d>&;l#4`|`q!KgB`G!NOpR(ZIIU znVQy)6>$fM70yA1HJm)_i<Rsm?JBnU{%`iR5!)L-SJsY(`KxcH^A_FA^{&AC^FMKv zJ3gQ1NN)P%upemGe*P?Udwc}E*_Y2)D_-cAsIF!`7~wz*g@(HjwUM_Zf`2ik+afY{ zT?s1td!SE?Bq35q8SXKOia_g4A)e438tAUtPpJ<Cmc3>V5Zs{Q0MrhnQ;Hfo7I}qo zWZss`3+f}Z`6efcbgLO<F>6~i>D(6p%VRz$9PXjV2E7nV$qJg@-~t9}!gu(WU#G{} zJ#*Y)K_6osR{vcyk(!^Fi2GhoxM+rUok!ePm2@+lFJA4^J7g0_r<O~iLPRBB0uS_Q z!S+6%K9iMp)SGC_!i+9NbV7N+>xGONzEyXMI`8OJ#-D2Il7BWnPO~_?>7U{qc|e}? zE!%xb(^n4Pe!pw$Va!cO`U5X+dt378^xrj!Z+9A){&(W#(5k(Kxzj(^Y+3#L%zsCJ zvlf0_CpobF(+g-jt;@;uLzl;{HPp23@2r|8gY`nEIkd4`GZ1tOHDoc`)fB%Ak~Q<} z=?%!xO$>LkAH+1vDEB-J)rri=E>~Sl!QTR<B|zQOJ2z+uh@%RQ__CW&ZJDB&gXYt1 z3sAJCFyi-MsIsnwpW?!;=G(pW7g=20-G57j%d8O1$>1<AP>mdt;xO;2?;nXpO+|Dt zt&v)pd9@T#JhGFb4vh^`Whu7yz8Wh~-ABZ>0X}5ru`oPBCej2-3UPKBAh?4pYBbU5 zT4oF@$Tnw0nF3aOUEuZ&O1AG0j#G#6KH93Y4^gNdRG0c(LE+n&GR@DLrbVj&xGMlt zHcy1?^VifXI5PZIp(ORYI0W2i5&dl!`*_lp7~Av+z7mGCcQvax2m0tK`Y!lq?D9@= zfvBGLrx?_VwGBZJ7=7Wh%K6(<$s^H4G;owE9tEOcXXvya`*@uHmk{SZ|MEyTSvids zK~NC9QFyBjg;jxZIv_QM8bI{x`g4*fSiwdSmeH<eK4GSiPPF{X2Xz~1kv_+|m|Dge z;O;|H>pK_MJX$x9VmNN@UDTYq`Gfb`+SxUaT>Wc2E?=F~v-{1u6^CDx)$U(Du07Yn zkj{F!@7%FN=jI>t7L936zy1E`aiHmah5qS}Po8*l*R9#Ows&CvqqpI=Z@k@q>+QSV zgp#qxOXl92Q7=f^dB3LN<iL-vuW!~p_3b-^Nv#h%^x^IHj1Z;}VZY70VuchDUGK#^ z+1_P3;fQWW1W1*Yh%BNNC^@iaqEfV)W&e~j1_D%KRRHg_*kz;Ey?!S^M81wMMM|AQ zI2EjYRNY}8)E-A}8x4w>DTbS~qGCTt^eoLhyTSUQSskuSUPa3>Spq3MR77&^cp#F^ zZm3i4i6No``7XrJA81wGvktoDmdLe&;rYe0yK`yv6<m?&>hMG-ijByoYrsolJaaUt zU$)PoS93jIK0qaJ;;ZD;Eb&tMG8NmCFgzNVn8T_!&LM4B;r3W0iQLPgwHY+~EgXIh z(0VQ~S(qoJi8(Bm-sZ-luSA5MJv7zBmz~AepO#^1@YbMq_IXq%6g~ylI~@&aH%M#O z?T^vHBZG$H*iC+L&;vFVZ2hJ;YnDq$zL|?#!nRYUq{`2($++{8H=)NB;+^6)nWVkm zFBjkN+$zCoWp`7V=E8230cSXjT_5Z+K^TFpm=;Da=LQK}?<Q>AV9ZSO+jS5{gIaTV z+rusmIt{|+ofM0MG3va+{&rjj+j4^qEnw@(zQ9iA*&gYT-GB?iyF&=yctTleIHZ=7 zqJo~PnEA%2&PqgZ>_Ud|av987H}+uD8_|4^d2OSy%84*xq8*y&@e0)<4D4p1+u3S9 zmHVgI$IL8MWk{EJ+m*r4c2?yD5Wnf1>1Vz=mlBb%hgDv@<cowLr%+5><r&iM5eYq| zJ*UMkI3PT9EyH`SSj(t9px-kHnB!8VWzo3)B}MzJ!CIQiCFls9AY1HPClp8dVw&$R ziVj})1AKIIB`u<KQ>S=7MF(ZoYK+-g$Of!1k-kd9o1p>{LXR<5UgIW|E{``{L87tn zQ+W;5Gzs?xJi4@tQ4+vbwV*{-CJ~UQB`d-2pnO}a@a+F^TwJjfRfJ2Q!}5+}6Qs~G zd*T~budG~v8vsQ|xuXn6bE}Oe;c<q}<;S2zNA3#yFrx3n0i0IBx*4b8DvUz-ptr@u z|2n5H(O`T&R#4s(-y1<xZ&I3PxytHV($X`zLhTc;P>h<X=c@N6mKVDHKT0e|(8_rT z7~pNEa^`;Gu1NiDw_Hy@m;saje#&l|(LQP|qQob}25i+oGzJFYpOiXLEl+qLnT<|8 zvDzQu77@3G(|0!fRJ~~9bv6gCyXJjKvZ;hc8Lqs}38;OO07QEb6i)6n9py$NUwC(d zJxE+^yh5b$gbB-S8dF|^=5{7Lc~pHk8`5{drZ;R=u+XUROu|pp!G;bFg5g)kk25C# zqk+0|PBkhLK5|Cf1gQS&iih6p2YKVY0(bU+!-LxWP#w;5t%=dj@&MwV@n}X~kQZ5_ z^I~F3nQ;h~&-s8X^S{=P3{T`*#=qh{t*?mN&SxN9y3fSALl4QYu<4&AAv6;BIgA!z z<aLD3^^QG44eR<WqS=b|7!S?QprV*a_MxTr3@0JDsCEQgd(k~MOj|AWWs+XU1#k~$ zVt4Z{0b67g!VS#0(ul>6;N2V-g@1^bL1=HCXa&3KC{i~Ps~<M#c$gQMh=W^^Lij8Y z;>@UbQe8&?R(TkvraC4RNFAH$RDqoS`YQBv;NrP`#kb@2JyR~~{(f-hmie5l`@i-t zAO3i;zw*`N=f`sQ4=+0P=fv0=Y}%KLwMakIfa!TJZ!THzGi>F#f!pWi|NZ&*(vZpv z2c3OX3(6ZQ#2?5|(=+_uhy^{y$c3>ib=YMJWGvk$66>a5D-f#!0ZWeMTVt$Z5vR5i z5@YoSbMHy$^e%lDuM|NM!0i?_o|DjeexOARp>y6Y=J8Zy=wPvIRBM24H%|g``m((M zBZ*1PK_%5=7gHx6ym7n_7ph_&h~b(FTl<I~IIy*(LD>B&R(KH<RYtyh4cB|%k+OU3 zg{N7yrq#Adch?fru(JwWm(p4X5d$0U!w8e2@nV#dackspOS{;2?$+h+d~Gdg9gOD> zOGv&|FzrtGxyaDvMZ3npy`!cYuXFSYNR4UCoqZCOeiIVV{XPmE&n3K!m1^r2=drni zCP{2gSRBLQ#+Fen<9I5=bhx6wzr<0bp{l9(oa;q`)cx$SKGtC%GFMDoXo@E}3Tc)z zaNga1{c4eLlroS6<AUTL!AOJ+sf|KLV0kym+9qzLp%S1<L}x9crQQ6n1B5;rP8}!m zP@}yj1O++c2S-L(5Y3Cvw!v$+@9o!K+f8Id&8kfg&J!Ay4Dig-HCmuT_q^CUN0QLT z>w~0<HQAGY&*~@K9Q(DMU`a7MbZ6%tw<G=M`{pkH=YO~rKc9W_|Gn<g)z=?&4qv*{ zx$a!kJ{%zlUGVbVvFwS`cO$<AZ<Ch}A9PnPZ6^FY_}y#U59{3@lT1@?zbX9m>G^xf z{vB6xyycNxQK(7;p1^C%d3^3!NbPR}*t!FtQijxUOxHuQ7f93zBtM_WxXy|lqdI&z z&I}<6P%<xHBW##e3+NHrmnjwpO5yd*b5IY1A28i>yI$SvzCi3ohSP}2*E%&O%~)qR z$Ar$N3ABXt57~pL=~_MFuO6Aigu0onW0)xk!W%r9XRJJT%^h|<Q|%+Em}B-8v6!ST zUodN|=U|@9R-gTd)q&240kRSlf`=p^UnyiR#sCV31*aut!$Rq`h2`Mt^{5BN<^|SL zZVILKY2melzCr`%JNBl8pYl&Y)UH{$Y5ss%X#DIBuu3ceqQa=H@!Ly}+ee0pj40O% z@|g#vRoehDjpPi~Y!}<=z*=pscqk5*s;z|lu2T*1PO*Y4wLjJHB%{f>=}B`jnc2IG z!O5-Mtya&tslCY7^V#<50<?GruBJ^xme0P!ji2AdhNRq3``DY1^VyESqKa?GCbW1F z{j7kPhubvbZXNNQ7e#tuiz%!mD@qGjLQGV86h0ZDOfSouZK7DziTM*(8O+r04Hn*w zi48s!J-Um|x4=#5HVyOf&JTWr*XH+$m=BJJb~NmT`fJUn>jQMJ9+xDEfE(V?&2(+~ zsU?Xxxv8Mcpp1PN$7fnT@Z+F<34H*m0XDzU7$!<<`^D5xSRo8B?B~>jza2UQ%h|DW z*P#x@X$$Urlq@bEit$B8Y<r9qYb<*xH@wP|^t}?HyD{9D4WB~OOhs<EfPx~0+F=e0 zB0@inkogO`0sk(zTA7QB)oKwoRy?ehlo16**fd|%UN4n%*G%+?aYIx?P5Ez45Kv+y zdj}IEEJ(p;m8ZjRV(;EuJr@Mo5w}Wm-%h+W-v5h+baUlokz&lVn{p(J_CTqvr3y!A zD|cS!YNDi58->OQp}8uskjn8O<Cu|#2idp>Idmq(ZnV-EJH$`6>1pGO=9Vf}ubvRg zpJeJ0hr{(CsVs9_fsOwI8$IT#XtCDyEVjwXxDZ!64R89w{u!h=<2;*rZ$EU(Dm<E( zJwE+FZW`&Eg3l9$N{Bc3`K3uS%21QbuQ_$t=zqa}RMu6jqhhRC$n@w#ahGDQ3hB%1 zL)CBACAJUVS{D^94k8>q9;*A)%9n+|^@#OMHjxTtq=<FzwUrRNh#*|{;!U5#`JPNO zWfl<HRgNkNIoq))j{Kpdp<&z03ojJ1q}BLav+OiGUYFB>J$Vgl)Qqh)cLpdmQI(+> z<eq<{kX2)Fu@s7)uL19OQ<}Kd?VGfY8n7s?*hbn&yG)z}`na~V#RtCciEE>*p5iSW zz$a6N4q^p6L;r}n%fr-EKctx^fzK@of~u2mW<(piNO)E(rD|*X9UEf&z<PVphJXNI z8J*!rcJpMF<=f56u;s>IuO?(+I@sVJ>XeZqpv&++wxWRycpmnm5luk3(%XwXm~hp| zn&KulcwiewvGKz8%U1e(M<Pz71{IX9T}q3r2I=iOn>lQ;p;fA~^(J=gyGa8Vpm#PM z2Py`iFA2e5lbl|QB1&jFudkSU42G<qmAuH0zz=y=XIK`Xki+RrhDDMvzJQ(c9{YC8 zrxo6I+3f=C-~4;oSLv@s|Lh+-{VX!BXQ}GZivQv4m9cYdfiHU(|Jruxzj@n#dw(td z`u_AUhf(G4$Kn0jcRC+j7~5<$Hjh5}!)i<T_V0Uw((lA|Uj{FqgrO}8e4>)!G(Znw zXjy@y-hbQUOAS7XrM*OCWX&~4RS}1He}G=UK%#21#7d*5Z2}9ys&;)k==LteF!mra zG>&l|DciS=5;FGpnz?``4tj97XdOpQp}V`f4*0Q5ke7Vp1!CdA{-A_Darl-vuP&DU zTdMIZG$BYr**ZYYCpDeroVr^%U2u?7S0+xVncY?IRWjW%5bU-q5hYj9YRL_-SUA@{ zK`ZS+4no%z(zR%L37vEu+I(MD*M~q(kBjIF;09m!YK1NA_Rk_o#Gux?oW~Ekoh(Ih z{7wq{Ai_SIogY}9+-|iiM=Ct4V$J=!E)vkfh*9=KnLvV{6mB&frR5wB%oYO}7hjx2 zXCxN6IxR;uy5A6GY6sF}(_7D_8SJIvFvqDKmNI8G{DhsFi;7oa5{D|0#7~`!e?~`= zzf8f1Azp@i2yrIQ4FIc(QssX3_-2(&CO{P73jm3*%UKy8uuTOQ#Gp1*yEMI=P+gu} zC+i6_B5b2*%?QYFRc?^bp6}-J9bqE5l>06J+&bvF_f@a|xW6`@{soMGPab2;*|KBf zej{z)|KSGghhAkgnmzq~bWZqs*B|>X?!9P2Kez5Mye*G=emb)<>fsYiM7n;XRrugP zE2QaKhL1kny3;;XeLC^e9Ewg))>35GlFKW*@Bi5P;a6|fIn|FjiB~&?9)^lG2VdAi zwh`~?#mCP#l^A>i{T?2mQLApEs^~XjZqXGbi%ze=Q+M(0ksM39q`X{k0?me;EVElQ zS^_2c-zkMh59nW14P3{UbQ7nuDaV<WcbBPH!A~)eZ~Wo;vZtf8fBE)et<E-k112=r z=x9(5(VOB+-Gex=9!N?*qnr&7QeecR_Cg>8pDz+eNDq0@o)8X<>fOJ1mEPo@&chd( z1V&~6X2$T$uky${4&~&=Qs_WgrZA|4^~}P*a|$W@AFdPst>MrIsIKbaZ|2#d;I1N@ zGtVUzUPV528sIuBnObUemwz7bh}PW@Xfu@@r=e?+3hu5L|B=wJd+(G91I)o$1-?~< zUz@-Ugjk1PpeD$RkZl_Q%p(m*coS1u`gMde;jd>Qg4m9Tm-9~217zeG3}wId+HuY* zLV~cfmNmXz=pdV=k~K1on=EyeU!8$gn?@V}v}NKyNlZ$&C>+>ao*rc~F0fbJ_f15^ z$I*>0&9_i@G4f%ly`gh^9PQIf6!uB={Y{Id=$4=k6lI%@^hQF%TEMD5$9Af;!~Qqk z2By!fP?3ga@)PnUkxJiDi`MS%E^dLYR9;#-7`E+RtwfN--;t#JB+h=)rV*(O1c=q$ z>)~DV8^HvbD_2;e=0;~^XGP8ASVVhG7Pji9y!sMSL`knfbF2DnEQV8Ni-6kZucCTt z<=1v?-`OIm_TB)v5S{P&qG;pILziiy!$rkr6hmrxr>Y{-6z77~Wa!x0N{cr&HUN5n zG!Q<Iu#loS<I2QCGGX|~)?J)j23Bw+KZD_##X?D7p^4{geZbRp#72mVqsXw6!A!CD zOAR2#DD<!wuRcr?+l&7>p;a#IS(*X<F|grNp7iE0tAxHpjH%-x^W)UNfa%EI3S2P< zuHN}wJfdSFIAMp%1A5}>RpJaD*Gv!1(PCXqlTqgFX0~2(#m)^zEjR#Z$|F>%H+e2Y ziwN6*3jHNT*y6l6Z|-_8Gu@GMDnvaVEDFAk*FC%@OJq3cUjgD~7BW-ug52fEq(qS3 zNHvj~O`$HQwA_iu00y64Em5VYUntm?43@ouz4tyKB@R$1llzgmk=7iwr*sKhWnB%b zHrW&IzGgim?JZ9*22j*yY*Oo0w-j{eanz{;al~ubm}5`inqhHn&;Xr1w|y(@v=uCS zq1@>RaaP=hbjmxzLY%Of0NQ$#H{2u83D~O%dhbWR-0!h#lPb}VnZC+&xR3Uo-9k(6 zUw|T#fy+FZh2x?GAF|UR5oz!$$Q6|EfJhTy0|xi;J6J0YNRsJ5dF2E^WakFz&!R}2 zGBa2d8iajxugoG9!l57Pw5hRkb_8CN(o#6cx)yil1IV0Q%~7>aTJ!{jeBXw>q3=c{ zVvBWwTNMhWvgB(dFW4|g+J32P3)&*X4p^^rOv#cm=?}y-YS6o(8S}fLQpG{6s(a(y zE?dxNL9T>dz;-$Xn`g)J%l-aS*@h&q$qFlXTlN7-{~*GV%~427nUWCUISPGsQ-RA3 z8`^EZ>ui~_%rjs#itl;P3-ov;V%T_<8)JAgQMuuJNwk}*sNN7QRNo!Aj>Lup!nR&Z zW{@AZpC4$);6(Gbr2X0&f8)sUcB4?~N9$vh(%|P6n22xo`{kG2um4ia9r_>c#^r{a zZ|`ow>ZE%_)d3mrYohiE{{4N>r*hBFU;F;`CZ%49LBkH9PE2x}vy${$oUpP>DXtQ) z${-8?!<&&nCC6de1Wi&Fa}b@+Pisus@UuQ-D~XOoM<z@v<o(%!BzpZOaYFi%5H{~f zM*gzJU}!EFoLL;2FP}wfpDd12ID}f-+8*svQylM#s7CJhLDVz7wHS5u^_G|{mny>@ zcFmx6P;eJ{sK34U*KmqyH80Jmoas{~0(p|sk{X!gffS3#g|{B?;&=rUoH~ny5;4fb zjC*=EtG`NUWNEIY<5sN|+*}VPOx2n2Z<MUxq2tB9k${VUuwlq5HM$Fielpua3baqv zMZLr=mS|0MX63|ez(3uIdKFpjKh9|_a&JOi@!Vry)pg6^ym6qB-<SXwG?0>|Ej0LW zAC6aUWU2DvMRgO38EW1*-l<qZ55ZBuX}ASgg&$`-dl%CZl3&fjNW>B{O2KQ}@K$m# z-l}X$Q3!}YgM-rfn7k@WuiX}MGE2p(sZ7>6Y&*`D$>F+Dz}xEK7eFWXt~y4oFZUnR z)-wtpy>aue_<yoiMLxZ%`_G1y7afr6m8CzH&Ex(L$N0VVAJf5a|9ro=$g<?TYyb3T zv-R~42fknNuUTh*K4kIEM(;Imi(29JFMrm5@N8c@_CMT#JvL{~zD-_>bUZm*wc&rb zx9iPbW&W4-<|Fpkej2S@Wxmd_q5I1y&Y)BjK7)7a7CM%NNysuoiJsW-W{-1*#Dv|S z6en&Frtuni!5YbY8ZWk-+L(p**AMVn_FyX{B0zN%U1Mcn8}FK$EW9L>%1eQA>PfFA zy%BHrfrf2Bn2uOKt41WzQU^buQEdC~SU8z_ZehF4`G97OCqjh22*XakQ1UL^(nZes z3Ja1Bl|ogm6J1P4uTc}6AJp!eAdF=87v%3fa1Dl)aDg1gig%`>;JY|oiThq$w6ymN zPxuG4iRLLGPIm_-5$)aVo|z0k1HLoUP1~JJ<AppI2VYL#n*qRW`RW0RZX*j^)$fY! zu%5Vt=St>U?n3n9CPAhbIk&PbLvN<{2n$7?(%9$ujRuyd2Z(vsglpan&2sbUel_TU z3U&NLF+U^nj?mp}RP1X4;1V5$x+elc(?AbO_$mn{em@GU2B`th0oHJli1rC89;bzZ zSURz`T!i;k7u%tpidSP%;bgY#bbDRijI;^qI8M%2%u{uXub<eAO?bqP)5yBHTPBtD zyV%V8yLNMO_6N~jl{R?WoeG05^93jL@}u8}HABNBg8Nd8L!IyfiM+TxO@q6)V-gnn zaI4Qk=(UrhVHw5k1DTT@(}cC2Djbma+%uirG0ux!4e3dz;Z1S_?kEs!{M_f5s&zPT z8a8K;mYpm$c6Dfji#DmX>;cOL4y^T)t+sy627*bn3C~Qu%Ciee(LLF$D*(XMb%%9! zN9)<}UabN+U1vEtggb@bGlVzq5PH8z%3PlslHuui<pI<0^&xgRxQu_{9F08kyM*4A zT;x#XC3L?;C3<w@H1mYy(CtD|v5-}{Art`pj$tk0BHc<DG=PO&d0xDnY2oT`g^Geu zy-$<sY%R<J1~b=c1+fFlaMrYlAqn5X_Jy1;AzV9}=yZ7Khz-s~3r{$xf~j*MHHnba zu${*7Vw?SdD||B~qzvJ(!g3TajEkMXJa0U#GAPzBB|al><aW$auzFGA8f>YL`{W}j zvpmxiSXMoxeat?hOqHl~U?5mXBrvIGqu53zK<Zu9GxdQ97n|wEFt%}X2;vk!*}(3Q zdvF6+>^gC&NF*GWib55-HR*h>E+jtuUp5PuQNl#4)VJgkyw!pmm`J?M@^&AwcY9$B zC^Af5mJiII0N=cTs*W|6x<|y_%Ri?P7i8cKN0QGKRR~;YWoyAxZd_k^9LK`lRw5`X zJ<LE7&U;N+DFQaVf;)=N3}vp`8a>n#wS4h5Rhrn?!Ar<yfd-x$it5p^!;*k}_YJT- zZ3SA-b9lp1x-{!^Xw?{eCfjbPGFtj%LgS;Srf7UbAvt=e{G?$6GdjLrLvh0l@WvLe zMgxmZnsgNy-g3&MFZ?SP90kYk>g8HE<ekk*q#Dc-N`i1eiSS{iQmZOsO3^X}8Ztix zc4LWu(x8947z|3WoGnCCJ_c5DmO$KPGWGzI+you?EDA&Q?9}$OBjx+3qzOIv*#jTZ zdEF&JRxAD{(brrSM>u!24!OwZB26xLz5)UH4V>Qe$-IUVYm7;M6tNoWr8bpuY~ov` zh;Vt+lj69u$-kCp&OA?k9I$BMSi+4RMxMTBC~-^iowtM6SNz)3e)fL+;^y(QrsvN| z-%iy3^sTh>8ms!)tDOJl^A4{i&;Nb3VaHdU)UOz?=n*}2G;h(fpXmn*BYz$4|CD}Y z;k~0PLQbSOvWpi}>5X2Z5ax#|^l0M0ynrwf!Bw<5>S+hZNtrH+5$bl`35ok*yPUEg z<@C_jMx}6pVJ%aqW`$uiFG^Amlt(GPV1=MC4At-Z;H8*$CyWyR+8b?EY_20yW|2}N z_MCEBMGg$baby=7i;3#KXBT8D&VZ0qr^Egf2y!ICg@c|6TO}g9k%M}5W`2rU`}ozD z`=Wy1(d1oF?eM?iFheT&8ci6A8YSi@o!gCI5cqaPWc3p88=&|re$OXox4na01vvRq zZbT})S%EKGF9!66h2X>Ghi)h!<b~qXSsTFf#uSuB!;otNo_F9m4aqwXrLH~`ChE-V z_<{}4f4z{8tfg;qLE7av&9Bnw0U7&f^oSQmqSK>zh-Jyo5#QL7FZ9FMl`p3XWDE^u z8s+4MQLu%Lm>V4hvyw6X((xG>@e3=C#D1(^64Vf!3)UveUz6!~;REKp<8!4s``L5_ zvuIphrOM?~?`87WOzmQ$GNXjc#iRl6FFZ?i^j0<%;m^*?UpM~OhpU@*R%tJaOd7~N zO|EK8_ix;@#4-CRrbj#U^2g=)6?Z<JOML#VCd$>@_RQu@zE|nL*QBm|a%S#U)91IW z1kWqZM(>W@xg-8YL1)TE@7pp*>G)~O>;t2(*gqOCSp7UXexzdT{NjqSi}T{KC+VF> zZqa8t{)aoYa_Z`$mv0`o?b*Bcm202Jg|n394lrf?T!)u<wxjD8k-;IcxTja5b&Bj@ z*dZk3n*wqTjnC?@3#EbKUov=*JqzorM;lhp$VGe|u3$)?4B$QffZ>VPP6-#)H3ZI* zj_xfnC>$NdXFP)G{-ffHQ*tjtYnmkD6)#61HC7_W>?kn~T#2)9O4B%!Z(zK6G=hIP zBbP+QA~$tEZlvs^$LDG1#k|xdb9HPAP8a#sCr_HK?5*ddZhGG=jMyQy%3>kcbRd~Y zWgWiGUo%I=meVjQyZ4KN-17LEzsUEr$DTMqEh7xQbP<2vK9LiZym7oNLMB_AG+S7A zi(5_`AEix%Z>0RQDp2O(%WAlL9f37*_>Q{#&Bzvwg&S$`n&x^pExt6r?#U8zSKiG} z;=E1W#EuXfzPHfh?@Tko2~9Wc$t!jY@cgM>Q$w&`1FqNz)w4MvCDDQmnMCd6wjXMP zn=mDpUz4Y7(yrqbM+T|><j^aVw$%ex8C^^vhe##`(Ah0LN1O|Xh;eP8W3`|p3p$A8 z+yH{YU!uDGT9e2QSnF<Pzk|b9Jvc#ySX?F*+ls`-*400<II=v<*mnN#5+ZR^vE4kF z6`oa7uuxRJV~dMNU<M8J{`d<fQ1Ywm0z|dht2tM$S-)IWk?QQI@Xk97R2UYiDo8^K zX+=)5Yg5i@t1%D1^7w9EEK|*le~uQ==6tGO#vDqOceWK?C4v^gyie93=Zh5>nY;xc zkQ>8N^8*u=0piyg+W>nl%xfw*`>uHgy=ksmFNrw%HZ+>zqj2gP>B?<f?*;ri1vg`i zeslBL>voR5hvRZXHq{RL&A{|)DjFe1*htqVB8_V_h=jJWOA|PJu>ma~XWAG*_fU3< zG*uCb$DQ}Wy5j>>d-x};yG<V_tf^q|OYSI;<Cucgpz;H+WgV*@7Eb4ino8S;Jy*JT z5c4$H=GMru51*E?ji0{3kS1LS&$KLIKbJ&XSb7D}eCOyvWmO>vBQSOEZZ;5S`z<hE z?0;=g4^gE`%dv60+x%}5kk`QE)!y3w%+$eXm&(Q7Jw|_jKQZh(9h5Bz8qB-NpoNmI zMa<%$12I&1SArGPS{e20+$0hapN!px65(?Fj{AgB%9G*0B*e-C!vJtFN^idRx#{CB zv2pU*df~Pb5`G7W+FsxC4sB0uqXrj2ziBNt{+0uh+%ON>-hNggZXujkJcldnSh8K( z!Z6RRJnr|?#ls;KCIkT3|CY;t=C&9F8?rORwPWhlGZ^^A2P=5eDIC-)2>C4HNsWH0 zJ*}yPz|CL|yY)J(OgaHqQG8GuXzfrbF!|e%x~(<7_?~N?t|tT4y}PsAOTa6@=EBIU zR6V#50I*(<Q2)OfAl{Gy*L9B^^J-YN;dOT$viA!EKC*@;Jl(#VbLvaxlIwC18`XQ# zc-OvlVym>n=G<vS%T_G})0`VS!JJp|r|KnZy(zmt02OL?4tw*7qJX_7pFqaLQQYvY zOM~vz0m_Zs@(3073crAEaP6Tn8qFX)aV@3y5X!Y=sM!D}EN{V#Pl2&U>*=|88ij6b z$FfLxwtm9ES<Nw5b3vy>@?K~nN}Bv(Hpg=hD|<=Ep@aV|*|TKbK=!!5f#><9PUCZ4 zMdqw1Kd0GqWx@LP75D!%f6yN{ef9YAkz0TLzW;k&@0{5Ug@FfS`JYx|f|oN}9>3iT zzBzfc(JlT7W#NS>#Wrkyz|LwjhAVVm7;v1oSGV`K!PwY2=c9<>vAMLUXJfC<R1pW4 z;svgKMEZ_2FB$=)<0M7_jiY~rW@^Ch8um_PDKdD$cM@6U8sfl``Jv7JRg+3_{_`(< z?GJ`{q=o*47gnOx?zC#VF#cJz&s0aHXWA<r5Vg4l)!VvfO&2!A7oI=|g*3Ozf0q`j zA7Is?$?j;0)1Z=1x=Pehb_;o4{iwx=z{&koIW=Y%%)VypB^H$$6oCOpNt-ex^sXdW zhJ!FsM+vLw%cm%ucPxy%QL5+a%x<#w0lY~1Y<N2p#!%DcgOC5pB@Sh!NmPbFN%-|l z-uQ-_?D;Y4C3J)uxuL$U2edu>)btm*;PQwh8!ocK?0GZ=wp1uKx{S!LksZEFDbr{M z=NX*AxCFY;yW}L)!yA7jQ;c&(jfUe?fX-KEg8om6L4Q%W8sXwAt{~PlQO$CcsHH47 zX{2~;?!&V}^qSTs>iX05orF}(ea=%_@$%s8-RV3nFK=GVX@QK+2W^PHg9oKc0{*LW zTbn($dQPJDw<6MG`(&%nwSRq{Kl?vi_?yr3e5SMZU3~fDF=f-jmyas8pSV)c(D$8f zI17C{)P1k#e>mtrn;lCm$JZXnF8I+Jc>Cg+gP$(hb&zhq_);5l_t%?wt+TJp2Kwyx z?|bht2j(!Ic`we8R0JK=bCO3-%6+_E_fr`CazDCOM-pmd4kNq4QGU&HE~l~Ci}#Ya z%EiW8na2T__tW(Fqm+fjl^kXrFlQ1iOIT_bTe}&cfM@A~Gv^gDnKQHy+jh#3z($tN z!ZvclR)7a&<pg9d>!ZnY0(`<K(}Y%=14IE1ng{7Fa9GH)#IW)-ZfaeAwVNcCqSfdN z=gC!F(d50F&|o{MVwtjE{+|2MisCEwb-$y40{=ZFj083es~{d_e~@`f_(maai$16R zDQ_|Uj>8<(+#tRKSI;e6E!pgZ(}!ER6m|H*Q0$~Mj2dDXbdo4MuuxmxR4bMqJKzwm zyyv()QX+hBV(5nVNR!IFZ)KbkP}H!_#gix}z(ZNVV~>!6F@2B8YQHQnZ<13SN_bI- z1Yzw|Rxu<(ZF~zVc=p$U9t}A$3(2!w{tzP~C6g*>2Ft~f2KY0WogxPW=RaJ>HbCp5 zvRLM+|3(AFrdsRR8<es{%9e8Acu!PN8mDfa*@6izEK%2L7jpQ0ro@QLt4$a%40Ap1 z)Y4@GWdfm=SjHJfN+<S?;^?9h0!-e%0WG|BX8+=-YFzKcj1pw|GKG(Z+07_(`)b=S zTH>NjZrw)<LIX<{;Qo%Nhhe8CY)Z2MV?eZfG?fm<&om9`F%69CAVbn1*7lMhkkeqI zSbSE$`@9}xQ=9})Zmr7yMdpx=izxIqe!E^5bZ|XAT07zJ05z-zY1&r8$fX%h{|n%z z{pqpi3R+?lIUDxU=G)r6)DK-?n;Xv)wNhP=Wld1R7Q#nkCD$Q^QEi;qM~hvq{G!1> zT`C5&-ytyT!KA`!DwrgW)R~iM>U3@1MPz8NeN<4XGl<oQkK@Y0*Ow%G?9o)9S}WRo zJrLz`r{x}X#?}W`U>{JEQk71o!&L1}t3_5AO}AtTgw~xEMK<Kbt_k8z33Ri6q3AYj zT-Y%4lNgfHPK+abLvk!?4O5}QCl&Fdy()Ho8e<}&{3grb)<*Y?u!Ss#Oy!>ngL%S8 zi0xT$enRS?Ub#~U+{TE}>0W0~XNo5~uRF^Yo}uEiU@bn0_H>Z<eHXKaw$bKZZC9eQ z-D4~e>TFPNxasZF350`AZm3B>ZYtuiER0&7eR(wpViEraOv{qXBXc+MU0K=TTHr** z=%mWj2DjZu&t?tJON@)BW*FOXPxlvW0P{9L2`42)P1{75`X<YF;VMdJBIs#Hl;C-Y zD7xE@5T1DIs^N(AOwdTWph2(K{Te-b6&Fi@m0Z4LsM(agd~FgeH|^5HrJbbHTBLyy zTUK~A5S;Hygc69eUiqlVkRtA3DH}YpbyhP4{G!Z2$<O%H86qkxj^??i@Uv)BZTPw! zKxoM?)&g%edoaPsBULtG)EGZgC47(@6`?7u9~DD)>-nv8kI2x-RlSbuCjxN9xk1*g z{u&{EJCI4XV$=hwQ~nj)4>#&U0Dwlr{k-mKYd7zoNmUhMI%*)Q*5e8q`Z;Z3u8OgB zD5G@Z-9`&hyZ1U9Qz6qXBKs?^uQDe#*E%x>^1wqWO3+aRK6ypexQ(!MVOBt<y?8#P z5#xorfJeJswR?Ah)xI-hmJ3pL1U??K4APmCa(##Sv7N?mcm7#`YfJyTZFK+ow?|HP zEI$0TS;y+$+_AAeQEPUrn8{dpS?}kAJpq`fRFvKE_E+lt?6Yq_{zz%bwj@IDF6=G1 zC!R=J^&(0v-}<(&dWQ-wzmbG$m7K^!>jNSk`7}{|YLdQ5L>-McU|b(^gWZ1I#dFn6 zeF*91;IP6r>cf1m!HEpRuIm+1TA=rn?50a1%g*l6_9~6ShR*x1k!H57nMh(%6l=ny zsAqd?$u|70II%0{G*iZzMT8)pzW>dbChntxe?pKVdR(<FW=h8^uDDPf%Q$DEO9idE z6GbaD4CXzCw5jURv$MHztpOJ}cWS#cGc*Z`<Y_Tf;s!S*%|+`z0!}A|M%!b0$s&U> z;>Cp-BnkggBK%Aq9z>%G4Y(ll)OA;QGM}S&KrbC2@-Qp|W04R;lt%s~6c#Jhx}SOD z*Y%9q18?iYh?Ka%XPr$>u<Cro#;B;rpQjonJ!}|SM&^U@$SK)J)*(B+D=}(;tFkG- z%jqQ(mg{^2eYGx?m~x1%EoXra!2b#8eIHhwfOcXzU6voa={8?1$`s>jhoIO}S&p&h zGP{U5&z{!)lVg}Lt!9B#vB?U19?=-2o+Jv$b@-=lRD(6BP843T#_#}q>gtMt^#xBK z|Fib$WApPa3m47Xgo$XflVAKbeKCJ2>Dzw`vWJg-{b4rn^T?95MTcst*B(8wYx!y~ zZ@spC@Besy_1wPW;npkL4ZM?A&HM8HioeQi;J>=RA1qM(b@<PcXU0$UUtCrkG>b7- zo;5c?A$x)uHbO#e{G9qIQ<%Nv2`AsAO{0}#%-MxDsq;F5C2k8(C&5}Se1|wtP#4vk z+rXwIYY5xWQl48r-}5105w=lm%F_ji5oZC;3Ni1ijICJarPhi;^oZIqy&U=IpFwBu zGS3$xodK<AM~FB*wC{y3>>n^dz*BKL&d~sFH>P)K%0^qwakOYHVs9?Zz%LS;Dl;C! z+S5^j;(CrN+e3$D2(0Xac*b~}#Z91ZE&)5%fpvZO!VuQB{Bq;z^W~xbr?=&q_r4JI z_sh$y%In6JIB2JPH@_D5E-AF4g`5}oegKEdv6%8b5P-$cbd_vPpXxD$w{K5YZ~7O= zHPX)D`Su<XhlF9v@8X4JqpYbwCe3!2_^Z)V-cbXYGd;e>mdg%!IRi1{av8Qq)QKH= zb54>>B-#mZ5yyX!?TB)ZOkX@qie8mKgrXYbHZHQU8l^oLR^_n9IZO+^_PNEa%4|tA zn8|Xk7p$g!6RzFD6mxnw716T4VMzF1%*nyS!Wr3vOkQu=AC0J)w92_@A;<pqF3M3p zJO9u#;*`gVf#`^vd3mb&(bqFdv{>TP>JDgHZ)kq-gMJ?aJ>7>hE!lh4QcVXpyNeK6 z;8xfZeTZ@%8B_x~0o(U(#xTR;fMRP3X6g+-g<%Z+?;3Hqsma~6AFQL%Rw9FrU94xH zRcU~`NgsjKwGwiQIFo|K=DVbDg%)8_X=pvqHE6yk&uSJ@nYeHz^m#9Vu;~oGK%dV$ zE*bzF*Xf|G1#1ahT41@At2zel(+Qr;T|}aLb+w{vD<Sp=h+~8_4bhGpoD;|Ny}bP` zX8Y@~)PJ`20D0p%ktyZU!Qi+!lR0+&AExs3)LdAHR&H?sNA^QiW&0D`hrF<!jlobJ z*`iSx-f>D2ewsfmLzJgrrHD|9WTX{QEOx=&D0>1zEb>r?>MJ2?t{ZktV%aDbb;U*C z#_uV0tEA0Fa^CT!5|QWXdKRk@%zkV&;w3ClXRj(ox>U%}ntk-x#_SWy1cNi|=2mre z%Xf}yTRpGJ7GiE!PM;tSev@?Q2t#dl|E(|wF7`Lgl`dR?%D09Vu;z1hFNhklr%}2J z)s}ly*x()%+v8qCQA-dC!6mg24eVl%1od;!>Ye|7cPcCc1Zo#%?PZDfmz_M3iP6J% zbc0vYlTYBhvKH7zZuVeMP2f|o6!~2C7eJ&2obWR`c%@y51ETvfoK2Oc3AGWF!j(aG zrCAfigNbmpYghj@O-r2*89$#hL!5I`MPz7y`-Aj;%aO|O#P`Cnk2ORsFYUj|<JMe& zZ)9l=ai$=fF{kv5Rhgi7$282&$kAVLIhCw+bL9`AIC05KzIjT6$sV*M>_T!h?a0xD z#zf`WZsU5e&&*1+oN`^*sN#KRHYt1>aS!50?h^-Zta|_-Jth=+O{>*!Z<IoY%~Sb2 zJMi@hq+y&SX*dNHz2i9PNCKlU%0yUJj#ekAHMB5I>@KKhYIzzL&<FvW4_=~4Pli#P zo+9lCJh_5IulCVODDf{B*l0r1#n*@51K>>o_wfFbS$J**7Uj2!)48$K`f^Qt-{VCK zwkE&5BOedz>+H$X9Ju}GuHwppTkqqoE}!|ZbbQ7AUtR@c=8xo$SH>^>xoZE%Yx}nR zcX;o^1&5#i8u`6a(@oXy9jt4rv+#?5)kCn2d{GaqnpK|e1H5k@WjC*IZ<dhGp2}pf zQR)k7;|=LD)amwz`jA9LkDem;K8YSXCJL<3(07LvS-~w$zp+LWVBv@*gYTmGUQJLP z))%t9KBxq4?LuYe)?&r@(3g`)@k^1tW?M^(Z&_SqWJtfqt?m2tkgW2IkHXd$tASNc zgjwjJf$aVvd)1I?YPN=b+9<;aLx0A9-HjIBhf?%|tdhBW`_mXr(c5+kZt46p65*P( zjEN>}xu3{v%F0R)lwZmvTo!GVcT+k&6tZs$=(PK4#CX1ldP^)m$huT4vE5x;Qh$Ng zN%6nh!rQq~>#)%5Bp3X6Dc4)!T)_J2+|k;pC3G9h2gJOkB>aaj61oM@g*@@QD+TQZ zCsA2uBlrylz3<X#-!jPNgarUeD@YWs#B*e3unvb^$EiDowAm4a;B2{>$2fw67$h){ zAvVH0UB^4!RPP5tPH4HwJbe<7AfdGXWHk|17^AphJ2kOJU9yt7!IybBiuIY&y5-~z z><n_s)pW_c&dbfGrW3j!ef;}CUfOTF(EIPMF1x+@&dcw<uasYozSXN}t`DnUR6j8q z@n@;{KkXfXj`9Cly{)Q(=OjGe^iOEQ`Pgq^-#u3L{Fr$E*T4TvzIyZ5;X%X0`7>+{ z&iuVyKwHW32*ffNWT*qTo42dyZj)uicPXo1$mH87!OuU6!#r^GIqa&_Q%a$wLIyEC zZXqm>3Q)-=^zgZNQ3kiv^*C2X)t*tXW^%T&Wl5hU@SPrBF9dJ&4LYW93WTaeSCpx2 z6NSAgWuM6CADBxd>PvX5L3LnrDdNQ=X`LL^vh{M6FTO-4A##f<####xdyO?H8lI{T z5Jsk~W~zlIqm-ToI6F&2n-U@xAGV5DF~PkhCMkX#j?(OMFLGd+SPB(~pOt96LP_NU zoz0&l5|52MsXB&ZA|?VF-CKOyQIU(-$ZfNR2t9p98LOOQO_2?M6}J3$k6Z$}>adDx zc>U@-)B~D?0>cxH>YN7Sx3|itpu%kL%*<nwyxxk6`AUwuA!<fVwgzQcE^9?%e>b=? zY>ac}0O3Y6oxnX9#J2D#svYIULo8-T)ixCVZ>doT%SZ0d<-m4YeEr~-yPI4^wACyc zCrpo-*^&{)OY28?`H~81CL>@xSt6W%p^WECBED1Egs*g=A4WOq-H`77O(-6221G`t zjiNcOkz&yf4c!&rJFueG#f>m4+JH0LhOK3`E^TNdgfNH!cc*-I)8<@cb-^|HZg|-S zsHToK8Du3W33n-#%_wya?i;b0dfIzgyJK)BpTSVlMD4Uh9O1A^I~am%_Os2C7+_df z27mhrlpP!7`b9w7Dqt@xt~*^>DJlDqOZU)~%<*i3*ji(WyHS7)YCA(jt;?BspX^O2 zj=@$Q{%b28ydA<m&DX1jU^WIitgrhdieLqOM<FXcsJ2ZTYTr=G93+Blj7kI=c@<Hb zxso8OCZn@LKiz3HQ6^vg2gx-okcfkD6XFEw3g`}aA|aKnLuP}#ezg2NkDV8M>Pm}( z%#6a|f!I8GQ-^@C^)eMs{rCP8mNi+(qg^5e=s?;6RimMCIHb6cfMxt1hArr!FDPDy zKkg*gh#e_GlS+YS(IXu(E8n7hj)Y;0VZ3*p+wg<kIxBU7hvqx~3(7kFB0peX5;{1X z@yUK6n)5<V$!z7AX#b0HGj6>@Iok%e3F93XC!<c^I(o{Ti8V8YYDVRcTv4c*_Kaqc zC$ON0rM+HJu_3KLHiulzrO*ZbUQ31Xir&nvnZbJ74z8hgb~cO*m&z&6T!q)KH~&pf z6i&sL$9EXI(lmin+t<u>gQ^yydn+~yAFu?nGB3b;5H7LGXlL(RW@H5t+_9uFA0vz9 zJ-DL3PmJ68Bg~}K747Xpnl|CgK+C3aR>R@=7uXd#fR#5r0ZC*;;5lA)Q;CM6-Q%06 z*eV9h@AQy1-pteh`RUK5Dg+71r2@OiL{5=)=2_)X>{^SpKa#9z;Ic2Agl?@G1G*MY z_tkzRcZ&s850<IM0`KzK<iXucqIVW^^%cyHaL9`^kIbkb9@VQGqh-e|*n>$Sr)Vm~ zYWm@ifY3o)CK&ct9AH{_VXuZ)&0jV}W1FCqb*O7~iZ5#ItR@}*rM4O3bIEFE=24|( zuA|r_L$_KIfUR&%E>n<gSXQ%evLrwft^M0pY)~31MeZuAG!|J)Q}!L%(lPf=%Adm~ z2fu!M?C89gxqNfpR=t0w-uo@Pw$$j4`mZxjAHLlaWwSkP-TON!MgQHdJ#jSe_{^?d zUteDNAMWt$w-?;!-gsB_pWp}A+Z57A6x+iR<%@hYt0Il4_r+#zrs9Dmi00*Kvni-6 zmonLJs3q6q&Yy*vdc971RjlUEP2_a4+lb|D)_A!xm(R$dAI0GEg?H!ZDXejv0RWdP z^3;P@Kwl)d2S|R&Vu}TZzgj`ly}3-_sA@@!HO}JPVP$dh(@|Jo78vo$SR$->0JTRf z$goZOJz)B?)#rGLsi-OSkiE#rD<&{4J_OM}V@|H{_7{~sR5^{L^W8(x0_`v^#-I(Y zeMoM}tWdUL?yzKOl6dsm;Gl9-$_GqS&4Cf`)sZ?19m_KxM1ku+_K=VN-N%^w7LlJl zmPtx|ES3oAv?sncLDQMZipgo}w5aiAZgI_2K5S^&4HV!7kmwh4353|w-7(XZZVoRT z(xFvJ#M+Q{7Tbw7?WZ<iJYxT!qH~XDvj6}1&Snm6Y|5f$PP0-D6G^qrbus6SYf7af zHF7Fcx;t!hno9~%OozFg=F$<BbfgqYw<(p5Qb{`89dtf?f7kDS4}W+(e6G*u{eHck zPo#y%BT++jW-chV^#`v%x!iQM#s6@Ke6i<ILicLmO(Q7H&>`;xgTkc<g%2yJD1r1O zO9v#X4k_#|@5R;_H=oAJB3Z&jS+D~#i`@5JKi~Uf;F;66u76!)X}R+8gRf^co9!G+ zNSKxOig4iGxo2A%V*i|9IIr*Zzke>dd_6W`?pamkmHO`r_*dqu59t#hpU<&BJM+S# z*F!@Or+)3bwC;Y|`F{fJV-~)5NxgkIcE^7Ys}@{oc{_EE(Ym*NJuPpyBwfCe`t{iv z{_m&Tlkc6YJS;muQ{eGa7rAth;7QAI3f4<k;kiJXlv?}HAT3-!$G4MnOirL^sL2gI zGUt78&f2kD&kXa&^dM3tAOD0W$3tOj!{l~!I^~(LsNDE^CJ-u%HpQ0*z*}4idJ7FX z1zuNbT)}GB?-<8bM~z_A{v$X)q!*j@6<HqOgzITK?^PIK9FXv_6Sp3>L8#e?A5lIU zM=gQ5jO7#mmclLPk-8Qwt=1hcd}T1Ror&fzm$JApQ9P+sLlm)Sxyf7k!nI?On{m7P z4IkTctix81Hx{oX=#~WQaRJJY!A50OJerEfjFy@mcEC?X3t*`ZP+4fG<zm89Cg~Hp zt16J0=y=pJgzxwbH%(uL+xi*s_K2aj8RZe|*ppB%iO&brW24^};rVC?U+>eIXZ7`B zFrtMPo1T3{U}dFV<{TUv*VJ^|1Lnu17NX}J<Z$grFmN`km*!bs6M>=5#!oaab`57H z*9|zvUwmCf{3I`?!e%cxHwa$-7ArO4F5i32E_@?;ZiI&>S9;k)li$NDYqA*>o3R{m zuW)PRfciB$Gw5u}0RiNH(0!k*#9h3L)vx}yPJGn)s>gN%<aZL7yowCEd=s-b0Z~&c zf=<I;#NPmit73#H$ih_iiti$OhP==w)4=k-;#|axa^E+f&J!)SqzO1!*)^nqLN3|6 zA1uB-jW=i|I7q&`ghvq@D+oe)cCA=Ye18mG{lI+botSuCz`Hjn>BCZfou4OQH@`t# z5OjUha=JHz2)jz!<mGClGcBW&neP?J>nzF}B55uditmkPZl@1cNoZbD+v+88FLp1( z%66SaY6tvSNeB-|j+wQ!kYoQOv)^yr2s=V5kRt=@I{4sanI4B{7NA^Rr*X#R?<hg& zS0X|^aJ^d)W~9s?6qQA8{@RTvUNK7>)`YV;Ycg=_`<P9<-2HBsN|Ba1y@CVRJsM*w zE$`+o@;nSgZox@-%EjP{W2J>=+A1D3PwWEiUZo)5G5b4HRB>CFm+zJHN+X<d<I`t3 z)k2g~EgZcBL}mc+1_)<e@{LC+#t$R4yZ$}?$dy|o)|Fygh4{(LsROM&rCap1-g-eZ z@_bVhzdle4tEpQUcq}j5)9$HmFNeCYu(dkYo5Pf@XfTuUltu#J<QGpvbm;Vqn9xM2 zQ_J;mh4^annwZ?xwoCYY-MTsc$55*2eq8W?r15C@2Sh+6^~fNAI!NdXe$22AeTq%r z8Y_S0?kky9kXDQ~%{F01Zn3;MR-#>v&t<v2HMpVD+vdG93s{DLTveUivd(V_GkCAl zc(b0{t;2%H`@W`;|206?FTkeutsJkT{mVk^K#ITEg=EDYcUcgJ{Uf+$`0Fs~tIuzl zgnh45Wevv=lUdR=9^BPg$m$25t)z<tQp3msm_#}!4_%sz*@Fc#WEwk*6PlNW;SOit z%yRN-;7UE2Bgnpw0>EwEF|3kCv{H>}(t-8R?L-W0&gM_Q@L49tSLR1$f+<H(qN<?- zQp$dp6V-Oa9d?8Q>9Xuh=pbn~wLr5Gt0I8pKdj)$;o)~8V8^E4YrbY)*!ynNta~kI zunf=B??(tE+>c!Wdww>JUTny|@bcJ<H&64X84fGv@4o-><BG%U@9+Gu6v7_w*PcHf zY(GA^`?+u6X^DxNp?}szWLRW?Zr8qRKFKz00NIz5<E$PCaLh1EF8D<hR`L%sL1>#X zC<;hL1t;Boc__;%jI4%}3&+&=pDPf!R(_Zn14@Qjq-$kTzmcDIb(-<uBM*w-2Ujmt z^X(vOR8!#*cW<Q0fuiMvUnq&$yR5m1ytn{Z`+T;aRk3zG0PPK5f~sNa)iam*WeuC2 z#InQ`e)1PU;cj<6_?A~)l^lo+dd1K80z<UB?sQ=D7{oyi&TS`=9^-Ht(Mljf3!5Zl z+$JuawWpmQaM*DlOyCx1RD;adaf$~I4{qV*QCE%VRu49UHcn$Tb0(Oe;L5^B3Zycn z9Xam0mbuJA{inYsfDv{plH!Ve_jxv@Tg1wdA`b2IAT$qqcjOY%moVfs3U<YnvXP=8 zKu#_Zu89Stt2tXhdNge8c$vp5O<=a7jxtQnmfTEvz$XfQHcDll!d0RSVcv48Yb~$A z%E0WVvfiu4)w=7BEDsiC4YLiPt7L>)&LK&j@P<LY?Z1y#lHT5&z3Stp?F|X<Pd~1E zyLsKJ*!StN=hsYhtneQWzi{!=q{+SKUp;;KBjJ8l5T#aH{^gBD?Oa3^aOl@}_qYGU z{a*C&Z{L+Iec8<mKR*l_zDZN=eDvKUzvsVuc@AIO{;b%z_C5NY{jEdJd^4XBGyvpS z#6wo&%1U9acL<ju*t?xB8PV%94Z!SUaHGXmjxgAmaShg~c+}krhfcd&C|>Sr+^)ab ztJkw@#DG2roXclI`rPRx;k#EE5Dy_6ARk#cPgn6pUcxiHp}AnBe3?VM=HyxV-d@=0 zlR9ghWq!6!xGWfddbGUU!iRUac2IgXm?R50`3bP5FL>ANeAA^VZ|O7^J-<L9V@geN zxx^2-;v6YY3D|ehDXPW7A}YO6#G)`PUe7^{?AR2qi!kQ~*;EF)vpJyz1`s)B1aJVH z22kqlM65oePIMC0$u&OM-&5r<LG1{A2*|q@OvEJ2sXa;>U4je-q~+jXQNJRupzj{! zpIMUV{S)nZuvTwqeSZrza-)+9o-YK$=>Gc6%aoauT$#ZumxcA?A`GTD>ld1820maQ z%#Oa+N*>f@SeoMknS7DcO%EyZR<tWO$(H+BIIa~nPL>nN^<(0UJ{dopBNsd*1;bI! zh(0i%=|ZH?IB7P1hV}E`Heh}!j_;LN?8^92xa(oKB4=RazAxWdaIWG5YI$wd<?5iL zN6#Cmp92!@x5CYpv%H~%a-B3vt-Q%LB28j6KfcEwiYYUQ|626IgNuCbx4rCb9>@22 z#xXZm6bWRM#Lq(9vezf%X{zKuvehpV8Io+Lq|`plPDx%%25--<pz2H9G=_HUXC+Z% zD9&a*N}*Qp+1r_l?3R>Yz0KlGdH9I{eS;TP`l<G~jXi<s<BuU<b&b<Z7)U?_F`TN6 zwB~T;Fay)z)JR*bi)8pp;vjC@vhOI06RUwa#mf5qK-9V?0cAoN-TJRQl;C{S5b;z7 z{KuW738+5!hEKm@6BR0jj~wIVHux4lI+ZLBC|wHfd)Btrq9lqLkS3juAo?0WD0hLT z1>4<q8CTvLE1EJ2mzw^T-(iHG4gmCokr`cb*Vn?3a1G;z_4#TdPNC-3MO%tMXm<>j z!iE%@t^JWt^tJIVOUE?(MoX5YE%Dz`Tod3)F+P1%MuNH4oH1C`5-ZyfwrBpfGGJPW z$iky!Jg+K!iY4!)@Ou7jM5)Svwj6ZA?CNQXjHVfL@N;*cXW)-%7>;{x9MjKU++IY) zUtdnOTI1Cy^c_$O-Q?8pC8anhD(=n?UM&tTkkb;Z*gx#;&aV5F>4+DPkn;_Ux!oJr z_-=f4t|CAyy$9|)QNQqEH2_rnd+mnApSR;nF!K5rxjdiRn4F?PywCDxFe}Wg0t#y5 zG5Y^?`sxE#CETR-)FPAY)Z>HkCmWCMjI(}`_T)Ri^P!tdrWFm(M)e8S1$(?=-0iMa z)rq36=?60XSOm?ad8l%$7#44X^;ne&K}iuTmcx)N&0jYptZbJtSKfIHa@J_k0&hYV zzxO6wxMSQUyq%8|WZq#@uIl@f1)qV*8iXPi{Bs3SW@c;JnMNi=$l`9-mOrex=;j@r zw1i@xaw{A?Dt0;F*l63{ag=vw0<_+JQDSV~t}K0aw!Tg-OGRO4jB|Q3@88FeI^G&r zQCg(1^dL0h4{4kxmD>I3wJR`d1VuJp0CZU<89jtncM%E;wlMk@m%ql67z=K!{>T6A zj{ZlKTTh1?J};eZVLku3-@_G-V;{0S>vv91E&prskL1aXuSb%m`Zp(SKR(5LVT0Aq z`t6~!*L6S7T8=#*$AlxVic?%>ygX*AoESw{=Tmd795ezsTOOb(;T1L%%XAO^WrBqC z3}i;Y_mz+1>(w|7Qq<+E0;iV9#461Pm~+1Kfo?S<^OMf4;vDGQh_JSjp+10@a~l*p zXVE1CaE|Z{;wWMW<-kogniIq;FWI(WU-NBJ(4JCi$@VRLV-aawW1<V!B${-vbaK-r zFj<7l1zI(Qm4G+(OaXy18x$_XDRUbn2WcvkL9*p}MySdY154gma|6Unexj%aIU3w1 zi!wkm?Iby~gWNlFx;d5dv;ZnJ^PDjQb~8&-CRm!GGbwp8U_e-Ki3#4T<=Gzm60pC{ z3VOy~<bX?F1wxC))r~yVAS5&UL&?%zS%{OqupmGUXXKb#yLS<9EFNTXwhm~fjw^4z ztr<Z11>Z8I*1+<1j!S3v6biSyo<ySMmvPeZ)HEh5&h+2+`f4i~q?0*RiEBjh<ze^{ zl(722V<tr{4XIbqqsxUFEyr|{gV<heyzM2wZb#zp)Q3-=Ce3-?x_WK8$MD--gGbD6 z_wC4k_TuC9>+dt~?YkJId3FBS;M={-Yk6N}uG_!;5qw>IrQ_YLJ81_3H!qzR#I{aX z`e{--wmlu6zhiR8=HoxNpRKQif21ZB=D{vu^dNUY_=KjfXy<z3(rGAL9VVk<cxBkC zT>2wXCz}J#?aku0xV3h~AAXA3m0<g39H&Y~7qWHmn4W9&NarZ0({^cwVHZcC1`sLN zzyr2=m`zC-q%YPJGUZ+lK`&7|&7YFc4Khhiq}>hC6^YEGq}c<MGcG^I4U?JtC62w# z7qJ&Uu=X!23P%h<_O63yK3jDwx9ZV0j9ht_tIxKZ+^$cr2B%)2sm3*=9$JnMcS_O_ zNYAqtl*<o3LV30VX%0nG`-H0IYfiYxtsIm)<DtM(yVgW83`8Afi9~~>i`{+FoW+w! zw5iv+YZv1hp{t1=V@=E(+hC3TR;OM;zVs+(YUf3Lu4Gu|ufw`dVFyFRdRK@^%C%zj zUCYIhxCfuglIb2(b^es8>kXE8iuA;zj&jraJRQl%LM~Pufk{!!H%OtyMtEGmH&bfi zS3KYVsBFrtZ=&5t#MMy{MKP|Dc=B=wp&7;GRw>tZ6t!}+vnaQNLMul#rosFm95yd> z%HnLB7$m`ar>CLJ)IV|)hDEcvFaK86r-!As9(sJV<%Ppaxw}4V)@a25vN^bSSc4p$ zQj@5wZ=;#8h!pfWV9VV>EuXnT?Yh*SmZhp>OWgv=%=m0?YJ=-d9Jm}dwoa4_*SY{8 zF*uj`Y1b)~=V>4u;^p1;7P~x{E@w`YB!<6sFncK-4HVEWDw>X@4+iAz`wSAyWK?Ca zXXN<S%W|uMnNYI*Tf`>H^#__4@kz(CA64a0i`RF_xVOE8Zaz5@#O{==hI>GY?-KHz zIfIP&fKvR8sDIF@Tcf-EVKFQ`2iG=ePt4No?TDtFFP>LWrsyVvT&y~R)pUH()n~bT zt1$gru%2{P&&jUXQH<JrK#O>tyg8$qqUWodC=Ripv$r4|+Z`gOp^$fR02{XFCvcXx zBbT2;{MgC-oW;ibG%pw~UM(Zdc9!Q{wOi3C2?cfp_3UIzP=d3Uc<IhCSNeo-zN>_9 zh~AH?&96<!svU+Hrf@cLq>_!4YlhX@h3^9{7gOic&2){z1FOFRwNIOORbn=Rj}m`s z$g+eCVy!N1$=Cu#^%b7ydX94C#_vaI17L<Ud>uarcmu`z&(47m%+7ct2+IZTI{Iud zdP7nl9l!?W@Z7ZmzQALT1CaN!r1~eHIu~}La@+N*f^O=K?H(CIdv;!vg^oH+4AL=L z)A>6{LRW-<)m|g)hC;Ik8O!*H)924)`beXvWYMAG;Fa|+Z`d#sDB&=yy(*`F`Y+uO zkH4E5za%VYD@KA=*)rwxLfaDyC0K(u=;)?Xelj+rtXtMnfZ2f!kiE!N*swz|BEP!0 zX_wh!NOrt~Y5lw%IXp>icbA%D>I2GZERUh2I1QC@<{xaUH}^@RkWXhFcJTM$^N_(+ z{eeu5>(L~YDqO^xyY>=G>aqG_qC@Okr0dR?k(%oG0&ThUUo&Q~R3)hxgcjt2tWr2? zG2r`H+Cm+LV^&7$^H%DF1A6|+37K^5w-+eo!cg7GV9_(Q=JUdl=`HsU-S}r+QGQEy zZp+!{NpD}Rf82H>@Q+jB`1f;PUmV`G{nt>0BENOVze%wtyjSdgR24$0*j4lDNbrxp z%jYKsYCoFO+w^t9b|miA(JaKZb~HaxccLFiL>h}-#$lcPH>s4yn{@mDx7FOTn|CK_ znG->frE2IRG8?6HbgLd<MFug+GiW!DsalUPGO0qN4gQe{@zNKzk7X8o&N9B~@HuT> z-BmusHbi4Hl2bIq_;WcXHcVQU<5f9=T5yAomJ@SMdw~Hm7SL(*&)6>1*p(Q8z&P&K zUSwIUb~{6h^rsZz?$4KA6~w!bqq8^5Kqf9CzlY3gb-%rk)X2M2#DHRwnM{`ma565* z(pK&^TFMA_1n0{n#=Ju7Ha&t&>cG!k!Hy-GYZJPNS~=0IoaH}jx#B44y4SwlU%W?) zcsQL@8kKNM29c%9c!-`L4SL=||0F3BvVG)2-A6F`umGAyL)sW=aN{AAr{Te5ke;GU zYgH&~2ZgmhpGArW0mw;!ggX>yGK{mBjZ&sA)z4f`U!3#+7ObMbl)ITO!Vsm^R)9Ge ziXr#$$C>z47L(1-8QlX>E105vb7onYTRAP5*F5~p^k1ibtFzjFW8)tDZus8xZd%_v z@7C0Jem0chm8(?Q+0$kUhYkd0u0TF~zcBZD@2eZ{1~1((Ec>cnl{{7~FuwJRyXZ|s z$Hk8S;c|9NPqM!L*SXa><+|TV#kK$8?q9~%h8M%$J$?T9%kfPL?eVGoHI@c2^uY{% zHDkG+G7z9|%z$eg23F$`qL_}85#8wwDR56N%}eZ)E?C8^PeG?7+6gae3LI>=a^#0Z zbju~W{eYYZdD4-((<phBSfw8CC2?H=po>0JnOiHj1A{VG5xt@C^CiVu2+r|NGw!yQ z-%1ly9wF<nFRQ2(<vbR7)@C77YdU42Y0Y*pQg5HZoq@VoDn1L3jft>%BpieN8HpO2 zeh-ARf$)`TJ`$PAiX=Fa=dcTDnp)9(FF6^9k-l+Urm-;4!8BN9GX(1xbSMhJ4dk6K z7iT4x8X+XyU%G`rNM<=Tl<K%*mct78h$cgCWMMQ7Px?J5-ow#z6m(H4dZZ%FO!EZ1 zt<J=p;tfpm`5B<K&>|Q&Wk1uueu)X9Y4D;$LvoUjiB8AiIeGHS>d$UxkUo6@!~7-y ziTU(qeasju%)&9CmC|bmIx-II8rp$P>KPJkxF$!E8BDIo7Uq?tRbs07gj6<KkTE)@ zuW01u{J>4E4sqv3JmPD^D=TF<%X63+eVL2zB)B@%OSZsni7mqzA?OdBSfJ^d?EU1E zXx6-bR8DN1fUFA;^@D!XwtH$X(>C9^yjl|}VF2yWu17t?%G0E<$|=LZ_M{m_X7O~Y zLtap{6p~xnN=4_fBB1V-KT)LTow&)^+GtU^HaFJ2g0x^#ss4f;=zb1}O#33F6w|w^ zWMD{W59k(mORJ;AG-zo_U^}OHguI>Z_E=WdWBx+#qjUbj%Y#T=fdCcm`6LfJ-Hc0Q z;P#4Z0?58xHoVNhgtu+s95{L>xQS!2iaAV3%rkx#Pj7(h^FJmaTt~>yJ(J&6rqB_6 ztIFwqcf@rVoQi&3kjNBsGUo={scQl^_?qbQFh$dMvBroQxj)dj-MHw<da>gV<%=fr zaR*YgEF=c2P;4u~Z8-e2)UH_#MUjlA*=*JA_nqVr96>27MhTB@u|b2pymeR*wTSBN zvcKrnc80ro6UHu3t}S^MT@wB=<%hnm)ONuKOizP1DxDd<7%j~4`oV4Bz$}r|nvsGU zUfPpiIrKmM{3fsDSzcHxyaZKs@;xTYqM@bL7xnsi7X)&PK(iFN|J0U75fGB_kAA?& zYcXfo)~#T&LoQo+`Ltd~<kO}zBi*%VwO2!=%94_@FwXzK84Tk>{_d7|k_BGQ${TZd z<XG5qwokx*9H4n0^_J^+k&k`7lurcxc9SHuSq#F~4cPm)gQw0uc1U6=axM;t;2pA) zcfP;5^R&|G*wm%Lj~o|AaM!@1n3aKKE5<*lJVdfOsN&3E=(<I8PyBM4FDsb4OIocz zwPPHmiMcOSOD1H<h6>7Wma%TYHk=A~KY#NnYSAPIpFObg%A0XoGn&4ieWX#~KesHB zsqOhw?(Zx@xTj>gK!mrwjcF-3EL1;Cp_=64dSQ(L9|T4xPHAU(4O&|YVEz>1f_UcR zs#*Ub7<4;DlRQ!vb?`;v)Hr1KDS&a#shc`sFl9A(k>_2Niae6T`H1#GIXiF35XxV+ zZE)?KSKMdxDokE_P0r1}E}sk(Zev6(mQVNlo%l8WapT)_^A;KB{#qC3v;X5f&*6E0 zZ<DuPoV|0)p2fc@UyD~IKU~*x|61DD)8Bs4eOI4IrH=kv`tDQP&w)QHer<1Tt92_% z694$#K1IlbE3{dd>DV)qerG+)IUkbuQLz$WxFq*az24<&7z+2#t<=!wB-;e5>uNiB zr_T4w$!~R~k})*O{HQc{?lKx_U~MqR@w65-dsAj{FQkn-Z8sZ1Rz-)N)$vYMJ}$4f ztb7s(LNBH_O4rWHq%|u=V=Qsi?{ey6e7kHFNt{M4Xk;3oIXz@yVc03i-MgPxzs#1x zm3fJ~bvLO}H`7nU@QhibDD-l3d*Uo)*36===tM+0Fqd=Iego*flteojMt7&HQxiW@ zVf_U)tXuEPRj>7q<Idn|7h^c!Y)q1>R4Z%8A-UP072lDKp|hTiA&oUKcTXOpF070) z@k!X2fp4u2#@R4RC@HGncNDoPs+Z;dR!7wYadt4TW^*5@J)ILbK<Aa2cjLl?e{fdM zRE-{G2n#^^YcE9O!*{)CEsO4dz-u~0qiMN&AF%vys<P$#_AFOesZ&rov5)wJ0}?9F zXziwq=s!-omsIg<QOou^Rm;Cy(rgm+1j$74x!>y#UOzmVo;rDY(XWWas}DBizr6DP z#1hGxtl&T9Z>~T4cx&CS4RL0TF<5pqE@{ib>Id@{^j;hF`F^x>jnCO@IK$E%75|Oz zJoD~g{_1t>u$^E>-rKkLKUB7y{C(o#zBiw@f4Q*!>GN0j4x|Lt&Ps;&8X(Hy=91b& z-g4v5726DyeF#C5+c=_%|042ST$re*o*)wiueADJPqf_`R$ZlWEyL)1fKPpbO(Zx& zZ%~{v1t~Ab9$dQB-F4*z9u?u5gs(??y4NEw@$WlbqF3HlS0nYK`v$G$^BHN`IV9?2 zCh1TMT74hUG{f@K`n>V6f}r-&0?KO-*oCu|lLeXUYll$1DOUv&{fcL{b635j7phP= zpG@HBtzX7VkK|Y<@DN85W(jWz;nrSuLy3foC@yt9=%2KeHw7TGXIZHBC29f@<J=gj zW;gYuuYn~??*d6GJX1eQV>X7;4-BXn7wpx<NIED&^(L#oyeKgqW`Af#c5Gt_W3G%8 ztb(Q3IaEgTPEXWKojtZoFCQE(5}Tz1O#7gi$Pv^5pCPqbjjB)DF>F&bww_y2MzX_Q zbPCFZS}E;5XsKsLc7$AJzu*)#JBxmhvIVh9<mbC}hRJGAwpKa%b5uOeoZ2k(GSAcQ z`9Cm<JexjS0F9%Lw-ohfCS-*nZs()I6LoVpc7s7_Zmzs`TdQA){+8+94#?HPo^wm@ zyy++E>2+an*WC%q4Oght>4s$8%<HpDi(JZV22N3g5l>(zY~8xQHLW}by%KrgQ2rif zDoI$0YLff@gFXa<`vp@)-m;@yAu~V{v@)?iPtwrCigNZw1-GyI%xs)w9RPxkB%?)I zeZN(n0h~WD1g=~60b2I@o18tv8iNnA^;6hsVxoC6BV<x7uDl{3u8cX=_cACxa(D=` z%j-bYdNP>;bHOE|2`JVhm#Ok&nKS$)woG7uv<gxTRm2<xuH_PQ#3wJ6>J(=yF~x(R zMmWuiN5HxpM>D0w>jqKyOrjtoprFO3-z^>tvbsAHwaK-BOF$uzqLUlJO%Qh!CG@&j z-<JCiFiEK!c)8QwUCN<F<Sgd1dd@3Q2e<HK871nOfo)ziyGz<!B%?VU(&XH~Q^VDD zd>CVdA|>ni_D(pPk`T92>JwoQcWRwMl%&)|ai2)0=t_>#xk=K{9&Q%en@iU5?hw)~ zumI5waVpiZ?xYZ<EsnM3O0ex==I|ps$Y)II95t?*wg{*$b=p>5OTOC1Ba#NC%{^n< z?sTj+b5<v=_J6O?oIeK(#JSAj5)Q{RzCapr!C#D8KVhKc3nUIlWh3{Wd<^z7+VuAN z!Tu|*46?uVsoITx`zrnVLly8D3o!FG0!MjGF67dD?x8bf=RdU31TjwE+T^93$qojf zxK^9U3Z6<*Vp!z~I;PXIpAkB>mpwJOstP^v+Hy=M`zW*;Zw$&IioQ{MPhBc4@=r2~ zT7kgfoF^l_EeQhOgfY1}=f7BR@fNcpC^qyKT3>9TkQNmg4aV1p%_7zf#tY}9Qc(_( z#v9OZq(bC~W`dU&Yg8&gFVkEqt74d1$J&w$eRypd22fd+vXYm#1QZwH*bZ0E!APqp z7<ZZKSbx|-X!1#y^-0rSUm^IRuRckdiaD{^HNrcQ8l`qSJ$Cl7qVXb!>5w=*Rx9=_ z^xY0crM#nP2Atk|SMhTa?x~M7)iI&Vq%xr35=)kG+-quR#cQVAdgNKs{qKvb77TP0 zv?QBtvhp-Px}`UAS>Wg_!_b`n;Z|Qbb+z-#h7`llQpqMOPW?8w_=Xzo#q%u}BW~{4 ze}B`Ty{-Q&T=&kk_}0H?R_#jix$X5JE8A|{#rkDIUtbeS{zfy0qej$smt5f>O*{gD z_d(Ncclq<}9#PnVYoJWz*S~bldC#b>fc+S*h}u|fAXX=%N>vKa_U06+ebyk$=>tmR z7ZA5@XIKQ4$3Xf9r!oB<%M@Dmf!Y|#+Pw0SCdV@P5vTIr9lq5nCcwkgnH140R4?_q z#O%K+5c4NFN;^n_UG&^)=H>Ln?R3iL4AUD`+<djM!fw!3R-VxeZwTiZg5X#P;?YUm zR>faPfv1^~=y144LS3(2_rHUag$X<Ym5xjms_YxVys<)^P<U_)(h>b%*xT&r_VSqI zLu*IdZ`1CM&j@nf&tgwm*&&7FPIaGbnh{yEn$)Z0SfI0*ij3n9tiUPLrtzFwrs=J} z>p*=DZ!5yn52P!a_!!KVnsOR6vj^g%gf&9db(9d-t2;=?4$pfaan29Unoc!B<5|w9 z&n=aFrt*Ny7@4~Sipm<-opg{f1wVBS)QftP|KVC=m^nj0>}r(PuFL+VbLgW}=ps3d zojrPK*WbIzkM|GVkF6T|Z__lx=~eR|2JpVQ8Q<`~)%1GXB+{kK&pT2N&wTmgaMHCa z|Jh7knb5U8s;h6K@~wZ5?cu=Rw6}iK27il(Yzt!#H{bu$`eAnGROSD0cf_B!UHqJv zRkfnAqu425{e9BLBXGcOh|ev%eMqBj&m~P)AJK?Ncj4?9taAY^>HveP>juT6nz+8? z9%daqq?mOHRc<zu+9eE<8SQYn%t<5+DwqJQ3wXo~+14?2C^jK<+E!xncn?IvZ7GZT zA8xZ$MWld(rrHnS0Cy{g^YR9ghojoa33d|`BIhn%y?SGIgO=m7u^ML3GoY}Yag*!B zMb-(so{|YTzKu{u^&VEX6V((FGYTHWiAh-Ak71tbB^@C{kk%S7y3$8%T93F`bptL( z6dDgDkItG*%UdFm*5jpgxY`>e>!iE_Wq)h0KXF&*OixHkI)yJoG|ykCrck>3!rp<h z7@!gDyPOS57tIz>VF%#cW<7+9&ZHH`JM_pT*<KR>KOqgpeSGE**{oAiCl@dxYk;ss zjSjY-KpJ?{+c_`%43s62nl;X9s+@)L%}k4UsAU}i!@kI=1Dc-gbhF-PR)riJ1Jhu- zZbuzN05PU#1Vpt&9Kn4RGY94(`GKXp1aFbu(E|_4)=(*LUZ`znmENXRN8<0GPW6~A zN?O!puu?vKz5Fh9*TbqO^5Xw2Sd)l?s-r-%!=?S?eY;Mtkz17Y2#Q<#Q`UdHUCMv8 zvCwBA<fe4Su7s=iAkaHoj}-KVZVC2sIgy_UMlEGeNIlYajec~o7|AGZ;_IwoFIH`h zFghF42+R?N@pO9yzI?d1$2qD2k_D+U>Ff4hk%St*w^oj@M7+Bd_SOEtf0w@q<M%F2 zlSyn^v8AzAm!8#32v&~;3KHmkgYm9?M@v|-OgGK^;reoZh55V8KX)ubG;;Il`<(Rk z_k5%U!_va%m=b9~gQV~1X8jlEU)O0D>|$h@YF6(5&&~#`O$F>)d@^h0BTf*FcM|j% z624}1;Nz{Rs+&6T0LplYX-N)gnqcZ+036rJsZQddeE_uz$Irzbo-YMTU!NU8`PdNp zW_Pnb_R;D32NV9(i+kU^sL)mo%1JlGoD+;Vq2h&*?0rmU@&GH^8D)cR<?|ZCgZ1l| za0+#3d|huLKPVHw1c2wE+!v>wdNC&p4q~#4Ml-b>7@5*b{vR%mc+yzcAh;qlTFN~J z$UxAzwLE5NTRB_uF``;d_ivnaw>mmOJ+GUs!)0F`S7uBIN0<s#W0|-D16X7+JiBDc z*2m*nZlb=G82}r-v+Q<po2>TBubj9sp*w(uHszGBsijjkf+gS^l%IWu21nXs3sCy= zr7~#tr$E8vkg`bPmN9xrUL?lz_ovK64y{^oTws~^+QHT<x&%~@PpMF}AE{5tIIOiR zCdJD`{jPV2IPVMOrfo05=ygltK^F(?CVEj{cOwL0k#{Kaux@eZxk2I6NrNnRC)DHo zPrQvG+GgWNS?$Xsduhn$Gy`aMo(Hs9BS?oqsB6CqxGbQf6?P|i==oqc?k7^G#Jg#B zOvT9f&q;|0Jm(w8Q|nhNd(}CNf4ELBBJCLA$|CN`zUW2mMjlAnT_4VA?O;Gb=Yhn= z5ZCmr_A`>}uqnIwL3#pcRj8vxK6CP6O5bz>dhH*1oXtH0F8pnd$tL{3cy^3|X-S0D zDGxOA=}y11zNTIn+B7{O4P3m_<;>2(Sy!^Y=f3-X;qUeT;oc2>w|r;0>0<AL?T4>z zd$-i`+`D}{Cu~O)|HG~So4D=b!i>ZFZ-chZ;B%(Uqh^L2OPew85oVJEy65+0ircih zAF_;>qNpqHWf4xF_@4$2D3E7&B6{ebrD5NB?HKp;>iQ6V&r9nTEG5y}%+5|+kLsz} zzKF{ccC3|7WTR-Z7hV4fI#0vGdKl)P?i?YA{I;hHvPeQ|GBTD}(wpo$fJS)3NZ23{ z!Dhvnf2fVrAEG*{YOTlpO5DRYeN-)%^m}3;R-(Is`HiSpsjFH1i*Ib^i-FHs7e<jo zV`q6d7dE$xiWE(1R`=Z88PAdq<Gv&GkMUfM%jK&yraT2M)ddbKE9W3=mvO9?N<fdZ zU|8&2YFBakfJ|gwVnr=lE54y)2;|JC7Da;mEX>O}SLVNzxW{1ar=M1eon3Wx<j;e` zJBnSpb+CRvUul-yBkVp7$p~|GOL}QC+TbUV#9)EX6$1=xD(pm$G?F^}>2<kkTrq+e zBm5Q_Gv_8|vX+H!;gA#QvIKW;D=-Seji`Dl95UO&d0Z1yZaR&}*-I^OM{7n7k2@#c zKb(Ey?ft13j~D2%x5VunlMh7v+JEow;aLk(yAM2h`FA?OXLaJm?Apf48rh1S|HFmZ z!f7Ywtv|g-`QrYG-8lz;i|1+*e_Xor&!0V{CuhEIKb^V4@$FKHTa9$;pv+w^#e(AR zAB#x+{9J?^(FM7_V}zX^)$OOZPVOU)Bc@1-USqH{ts)aax=J*N2Q2S_qRm`eJ34^b z9Y1n-bj!vGA<h9~pUWbVRaX(>l2{q}v^<QcIduox^Fb5O{Felr(#^GGu|PnJS(at- zHNs=q#X=edLiH)ij4IxgsVykkM(V==ELdP`ET|$Dc&J1ooV5o!eF>sfvpuvi5ERYC zSgyLupGA&zKGA`b=AWpF=4n<=e;JS~^#KB1v0ra|60~%c(r0`U&S18r81P$}z_o8= zvE?A(Y=l`#<`@Z#pNF8_nhfI+xqn_2x4?s~D!IV3T3V_pCEY@E1ur!9ms1U(v$1_X zIXGQTzJDzj8z3^xCxprzu_F`^J;g$yr5+!YJKGKoGOC>Akw(TFPb%y~7#Z<ieUt-+ z(nHe}_%%GoJ$BNAkp+>@BTzlvKW9s3`w>fkWAh?1d522oS$?f7An3Fc%Ve%5Zuc53 z+am)0ElV3iTDCZC3A3u1!+i{5#xGlHU(n643_x@<Y*y>;;;;ELpQGlh$G)STO1pp) zpKnl>ZjfiF+;4mZZd)w<Ov8C+5i`eiaSw;3TuxX|zynG*U3c@vhTdl~^oaEp#YulA zu<E)%@sOiGd34{Bb(PoF%VTb@LRzDSJyQ7rm8a9Gzj9*=J)O0=W>+W;U03Vt9dGWt zg~Dr!-q%RGNjJCWxUK3D+eFXqV?HkXBDLQe0*m#=-vac;cQRxdMn2{K3osuccXPEY zYTjv@OAvKxcR`NJ9D8*m?t`sSm#`{T%Pm+S!Mi)Mv%^nIrNo&`8KDFrV<);S(zf3Y zi2GRsu3>KguB^uiz}$Tdo`E>^a$i?jBq!bzZ47yVPB}1u$p+Ff%e#<`_Gq8>2=N`v zLkhjIMi{n|#<3Z<YdrWeDr`_7+I!VCz-4U`u^OR-3TXn<M?*5Z=Jc?O`rZ~CL7m`r z=Db|IrY7U(gqRl{h$^os%o;uwk7*U$&K}7okHlb}y@zprEO~$~p?n1_um_-JNxgoR zHS<EG%l?g@pn4NPC}RdB6#nfM6nv8dZI{_-_b1fu!*g_|r}>*-yavDGpri?EUEPch zIxfWjm^{>)9D3c+5_ie6K}$*R3#OSdy4b*4YcauW&m(>xH`xl9KjNJ$04Z3*uy;}^ zyhMxyPHNU~9H)MkN=ppjj7b;d;&ZDRICnoWS^D<kf75s{C+rSIm~s4V5yP9Wx^+T| zqaq&4&HIW?b+<Gqag)a0)l9)KkBc&hR$dlhTw>9NK1{a&EINd?^XM6$rQ`z&tX+4@ z?!9jm7}@lARGF{XibeCc>Ir^7IHFr-g`6yZCAebK!%49Uo#^NZ;TMdiMI~B>=o|v{ ziL2z&R;*<0)xRc|F=>+wgCeoVb2%Hw*L;&5<PMWF<eABWy)TNaqB}L#mh2|U8LFxS z?DRxQ+m@9Jmx88HPlYI^H3!O%Uf4+q1BS=~F}&JozwnXw%Eyw{=Br^7;L<Ce5eRQV zb3x=YBtY`Ax!S_3S+j_Yy)10xQtT!QB-B?M86|I;)A!)d-qV|w4>%K(uFRbN;LXY5 z4eP5jK7QLDdHvPG_<xoreO>r4)cLt)$BkX@_9w6VdMohnGfZLm?Zun->n9$@=DhYv z>B|jV)wcN5UAt|CX3_?b_?S1K#N|Xe!<Z&c*nJbBRLr?hvii)iqFKo%eDGRAa_|wY zOEz`dTCAB7%Vm_<|K=8F=u);6YfPtdO1<Nupu49a!pHXrq5rj1@|f9<geskK>Hou> z3-cRXoE^3XabzZ7jAkzN4m%OG^>{48pK^*WE-De8$`Fo`=|s1mKRBF3RRSd1r)fJe z`er*bmT+7Y!1tmVXIqH%r?uP45>2F}sPu#dpQh-jdg<bQorRNvx6~2T#!hHOeO{nr zISE{=f%5K5lf6LsGa|g0`G4QBjO)pYb$~g!e{P=$p^!}vpFmm_hlc`&;p!ryQ#)_w zy4-Rp?`{<pjuk$Kjm}a3|I%r$<?tZP)FQ~SWDr>X0w7`@S|cakg=rNw-x2ld12U8M zjIa-CY<|!cT;x#Nn(y@UgH)R7)XQ%Oqq(FE0X7%tP}(4ClPo-Eqi}cwVq$I+ACT9o z6aFXEEPwwa$9&^~{os7MEj{$^DLJ-!;XDw18b1>9eTU>X@Gh)j@&nsb57*rI`W*iI zrQxw<`z@i_<k#D>=9Vt-&ab++bosuww~*u8elB$h_<m&9y*K}MF7Lha_R^KzU7c$- zo=fPQ7w!DbCh*)Aj9QN0HoJ23nVm+zH~;u2Z{PC3RSlM1Y?&v(sEC2=sKh1Pq(K^h zr&bCtQW@^?VuxvZ=FeQ=_ltERC%He@R5wdqP{^axa^5_~1*{NIb68Y|M|(2~2CP{1 zElY<D*YP$Cf+oB~mg%2-woJy>BM0biE}w<F7}P0A%R2}~<3o7T^wMfDYaDfn2TGMm z!Gx1`tN^CPnh4O}I^RIZ9@V5Jqm+Pm#S)|O96ULo2E_Afmv-I|34-kux=gOdf(V(O zlB$OFD+!bOgcPN{oX{I#pueSa6L`#<WUvz^0$|xPd*%oWD8Bzf)0TwP;SGep*rI#1 zvfN*Hs?2f(;<C*KfpevHr^^g7&kjOuI>6>EAGeF1sVb>2U_MythL(Kf#0#gFl5P4e z7f(}YGAD6&9aKCfpblxr^wrlAK8P&VZ3bgPG;{7@!qM;L)V|CBi5AWE`i?lXh4K?3 zrs_-!MC9wUbEj}#{Xc%Vtz0?<r?*^SB6MSf$8qhh^<j9~^u+}Y+CVb9tZIj(_VuRL zKl_kqoNY=I?FXkc^kaY|AnD8qOu7zMH+?o)rtfDGAQSgK;(M9k+FGjcA%^M~uH~Md zBb<NrwwzL=B;C`<PK=OIb$Yb+5i(0zf(Q;&*T@&o>9Bw^#~@Ql5~92}*|J_U?Eo|K z-?Dg?uNh0MsKbb2l+9%<#6{M^bF7^l|9Ju`;@mVzM5?bnvqqB%^oRT6o&t$R0-B<r zAFIkJ-S*W8qrM6st#@B6lW0l)wFUyVQ`4Zhf>#+dm#gTE3{P!u-T90qaXtoscicd> zHn)JMy=_im_)~_(d}d^ZSikR_tGT}CF*&d!0CpiuAANTtlbNw0BD3)($Gyv$K$pa- zU7az~ic8bskOSU7gctrR)$6cglZO+EJV=eWh|YA<%9)4!cEc_H2NXDzy}2GGGyUZD z-fjKxhG<8IQ!rPO?GfP!f`KS}zE{wFH>P^YN;k%iQXNiC)KkBJrpfC7i5KX$7ObX& z_7G$->~npPoVpgrK{8?9k$($I<k}<sG}ROjd8AV)pZfUMpfDbF$O{KzBew9v%EQ>4 zh)UIRMFyn>V;JHc=t!0Mu}>pN7tZe#)i5NSb6stmcQ-@6w*>by3o(k3VE6<gQY&HS z*3Nu**_L3Z@~*!C84thw&her9^6!{`Tst|F>F?pI+fT&0j7Q9lWqOjrWLXsjG_S@! zaX-qVvSh0+^HwhxXsd&cSvRFD1RAZLJCVzvIXho3VQy|pW=1;dkSWPB>1#QRcPD)I zH{iB!(bZG4uc47M+-Uq|Gnb+#=3GBtG;O6XFM;y9N~`Avq_!h;C43fxL#Io97s13C zNpSYovDQNK{;fw)ZCFAIwKhF$Ov8C;o_Y+;S!VotLL|C+Zz-=ouFh^jgVxc$;WEnS zJi(B>-CA2GO}6XWmtJx1>tmRfOAa@y@;VO6!UxP2meZ9C*XNKV&95Xt;&q19pEBC; zLHXp+@=v;h-}!`ZZG+@KNKP0UtqC?~jm(nyYiborr=^e!Eymj3caX5#8z4n(9naBM zX?4|<jNzJ~JBk|oqql>Bo&UqxZa*;3Idyo`SE9%8*P5Ll$)~4=%wG6DX}Wyk;_QFi zv;I!|_1*s+_1(@jX<xVbW0}*prEczl7amvoq`cmAd|}UX-@9>t4!w80k~7=m;Lf<H zK15ZBpuHweuveY)lTXl~*Y9m*vGV#e(t(@F^>vn^*3-GFuudd*3Vx6|*=NdaSamM~ zlfKm~=QpRfkpkUdoI1QD1Gs584Y)HLkbQ5q+S~ho0Q}cBi4L4DkX8RtVd|=n7)abr ztkVHuO$ha)51PODCwH&e*=pt%eO+{q)3~l^XgH50r1G(~L;U08kZE8S*)KH$1#}n~ zz=9EQ2~s>T{UT!%T>3!u=sKkO<kfp}D_$>u9gN$%U4|p-hE=UfiIr^ivdzPhtl*Y? zcSmZ3r_058C#&;j$=vSWr_WStAE93CJ?8R#MeV-{G;9N@efkOMDt^pV3{ydyR={q# zCZD^dob5&+ctMQtRir0l#E-llX%rwEly=BM_4sKTW}?Qv54Vymy%IFW2%ezQbSZc+ zya`(lu*xI`P%g?PN7&K{UZBrSXEm(>RcC8bd)z~xdcdL~JxYDD7pqtBkeqG(Sf4x% z*m79$>z}x{=GU*k3qy_!jotltb%E87V}B>H-apSjeB<?vPm4}1-Qk_M>Ds*q50~vo zP0qS{6(_W;O%PrZ`Fz=9RCsPVsVzqTMe=FEtxe0l6TaTPGStT1RCLC=BJ^cN2S0P8 z`_qSCPv1B>ob=Bet1H=|wnaskI|)OJIkWq|-8*&f%%P2I7A+ISD2)3&;6|MdGkSHB z+`nH}nqeh3iUL^<KgiPhRs*RjSf3uuot!sD^_KY`F(L!-G!Koj8@!4h*^E>)Bf$Mw z`tTuKP2f&cwf+VubBd>5Mo?o_A5fQJ7x77j6>C@VEw{-}!**3Vp$SrafhF>ig@(rB z@@&jx!Fu(242XBWRkR|O?l1{pSwm3eWXKA&D~9Bh>vEv$OVL&Y?~CAtQjUO%TFHQ) zI<XMqh9XX)fN+9~$_r#UX-;6he%j75e;UO%OHWUp%eD3WBw|QgVZ|U@{oaomwL!{5 z?X1*t{6~)2Oy!<WDh5O?Nq~YpWR`3CAZMY7d$kJ9c8B+P;a1K&hT+tQ3U%x_9rdul zxVGpiOp0Yr2&Y)J_phuNYp(IKSL3h7m6_ui8751(4sFH9JStIKHi9hME)7DC45St7 zR$mL-f_lz7eH^En`y@W0EVJD$UCdO(=UX0UMtXYaZJh4@DWQ*Qsz*^SBi9J$fh|vz zuAq!U)1SCc<GbS;raxX>Za?!H+`Mkm0iJ%AFS@T-;|%k(_%SpwtXEW7`dY9D)rZ~0 z&zZ#w6yfe}hLSX!H2KTA6~zjT9vkpNAwc>d^YFg%S7W)8H}D$Q_Z*`3D);pj&pb^j z)*O9ZvVN<*Soz<yLz0<Maw_CJ2Cr;yW<VWWSf0JCek^CW{~;%IB<ZN6U$q}C;{2RO zYc944|8h!Hvv?|$Xj#xUDBjy-`Hj{Bg`Q?JO?c*gx@MPOr`p8jGII$QI5V<V9kJ!r z_-EBdXsdnFCIBf~<oxtS6Tj~~@;aW@5_UcPFpK*-nk7i^&B1w<`4^9DDPqbCc@H+? z6Zv_ww{jWWZXV^yGj^!xr@fCH{+R*JCveIriFbMl>k#9rYx^LdSxm%fHjl{~Z8<t3 znX@3cE{{$0)oVy9a)N0LNE)U1Zbc9ew9jl7Czz|mGz07VgbiDF(5eHc?&xM_hm?yg z|5K<&OCr2jb0_wA$-vV_#}Q+PQlYSrL*KR}P3{(-zBw#-irvvuSf2DSo3qks*~eHK z&GoVSAn4?u^V80<eCP+CH*!^7k!WMOx4Qj^9{(bx2J{AqSM&1Q;*0ZkSxC^x$gU^k z>ct1`O`~R;uo6M7P}cfi{zn`6+9O^M^k#-kVutO*ozyzJlh|DUb_O`-XaiEHcg0;^ zvbLloq*!Czf}yQPLRaV^iJO71%j<RdEDZ@-5L{h3(96$0D-ueaU#NWk6Uq6@OeBR4 z{@=MJrSYuQ)K?v#n(n$rm_5foZo^2EnMp1&Le4bV2<EN$c@*K>@O{QK8<&R3LR>Q6 zGbl1IIgRRcf$qM%I(U`~pO>CHqb|~^?kPbZ@T)yhzt%&~H{%R~)<G!g@esDe=z6P* zBPcXSIeG)7H49x8I_1O(QIh*@Z0U>^JgNPG%xnfR3=skR7m%8NSvW45b#x0RaCeo1 zZY!irnV`(l>F2n9Rlg%RxAyf%Ky(7GLJPBP?j%6)VFz5z79Pu_2J$Cvbz~m!R&ozF zBf2nV)SWUR7fX^k9{(S1Q!b@s97={X)ZD~vQstD4ZH&-cE9P;n&LH;Q1MPdz#_$vB z^_XB0_j#lK_CK>(Y|Abnw2ATN@55h$r-};|5C0Jeb|}0r-EaGLU%bS*V&9Kr7pMJE ze82u|QY&WMZn@I=V6)piQA6AVe0}8e_O1D|cOKr8vgr8BpVO#WNtFql;}va3PVLEz zi;jMMt(#!%*KcM=(N$oy+5&#gT8C|PscuAS<nG3ld-dJ;B24KUN9wMfK6So)awffn zf1-%Ykb4+-_B$|xgth0E9P{kWkTDeG9ML8;zErQVY=D4@lX8m2ImR1eX@BT*>9f$f zJNkD0UhRSR8siCJt=2@LZ}1sy6~i?hpoAcr!{!RyY2eJi<Mm3fJA({NrY5{8l^;J^ z0#Ux-)u1vVB~jgc=7z8^+ob{3Y+SMuDY^5<AYZJJMMjYP^R7PB=2$MpVvja9MZqch z8%!F>sS8@{bji!gMOUOiT5X^df}`nTW)bARQd~5J&pW0sY^IWb=pL5p+frg+{SeMx z%N3QG?z&!D?GJNYpZJ^GqAp?2=veNj4<u~sCy_{U{BgO+I!TAip&?_Ycgm<D&g+iI zX?s72MAw+HzK35Dj_F}b)+d>NkeC-SO^-ScE7!mN;veDDCcRyW7<nDUSlJfqG#HOw zuAL;9cKCZ^b4%ja8OdGg6^4^LN2WaTH%qUeD*V3bW~X+%nYZO)>Yj)DUtDOgR9wHh zX_l+Wg(oKO+^_rfloYRD8kK3gaCYqu!lr;ZkH6<OuSq!hY~<bSg>^?)nJxU*HrxBg z8^6rCzs3W{=M+6hzRy;$%cP-yyDj7T6sl~%l6(C<3uv7p<j`>Oc#>5`v0O+{AK0A5 zcQTt0P8}o=vN)hYysM(l5E}Rv*`2619T;OImGB50>^Y&$;wm&=!rHrAP&0^_jdjo- zq=R!#GcB=}Z#&tDZ=?fVhalxL-KH^J)^<j44hMMMA?;(B`seTvrlr>yYHj0+!dy7N zR-t-LBYXLko0f=kgDAn(d0lr%fd>3>2sia9$?h6V^_4+#do6!;YDV0M)Xk-bnJ_34 z>)T5o$RH2%<r=&;kx4sA3MAoPj!Vh<l?ntU2h*p+n(z#=*sKcM7h}93g3^9a5DM(3 zAsc_psHYxx0Q!IM3;g=ci|Ec0TbT*ZY!qE(?Ic9)jOO*oJw{wJNqgVKOV@ecfLQ1F z0vC)xotj}Tq@#xxTg=j_c2SQbZMT%{K!I@|J;Rr2aclCZdgf;Wd}6IlmhRyHQFQK) zO#Ocx-`%WXW0QL`V&;;VTvBbb3AvncCYMwSxfETfblv7Q2jzb4GKZLxZqm)CK1KNy zQRdP`DM>!kP4|1B@A>`#ezLvye!XAM=i~8+n}1M*F@aV2ZuQb~q_=sEg44(9XT$_* z=+^yG(Y14(;EKq%WugtbPFe^zCOA2dajZXpjlVFCXz6I>6IQGvON;%E#5xOXqu)!* z^YkdKb%~jFeqJ#q{K_&ey!#)eR*&<Sja{gHS4I4;cJ~|;$Mnj!5dxY_<f4NxVTifa zWWe~8%D33OW?;!9c!6{J`CbBkXV1iOkJIB?Zl?K;sA-cwHQ@1`;QZoicDO7n!-Qc5 z*)+cMs`@<=fN$p{vLf+q9B1En{l?m%9x!n&(ZtSJ3f{HjbT!6_sm}HiI2)YP#}cdd z)MIX$)MGMkWHtcfYH|UR>uS`Vyvu5Nm0L-qY@9k>=wPA;$t!y%vz*N*+xq~hw}`Q# zS%S<lT8B94u1S{&w%9mjfUxO0rS2M@VS|5?ZFi=0ncZej8Ct|_<S#LlR-1N*2lX3> zFu!f44VthT=@JGh)xuHYbJi$J<kQN^^(b30vkU24){Jh)477R(9%i?L!+Ds9)(*2Y z&M|`wVSzzh+}RLoicJS%<h6LBL5#6j#S~!1=uV{5`GIbiGV2X|#6b0?8(Vw=M_5(* z`$yIIg2WU<L1a^hsYAB=4k5?&8R%~kwGV1rmt+BPNEZGUQEY?4AuzvQ6|#_zl+b_v zreUvnVP}+?sgA$c3e0pt4puee!Df(86epE;TmXXGk|nyL(P6QxMKaIabJtU-CDbm6 zPKrcB7pvG@HRgFNZ0T|C-#j8f3d`hO6MuLl!asQXu2v!NyrBdk%t1G%WtUXE_@>p0 z&-~Gef5T^pE#C+_*YE*b#W?LLh`K7QmN2$lM}p};scfM6_aipev5Wi}N8#3qw!$ln z6l|8CPl#Q1Xdc~rsT#NLt8eHk_LJmnpHt0mm8T!w16KuJG?LD-)l*QYx83>?H^T=D zQFM!PLn*{h^IO>C8$J}_`_OFU`PcZSWR>9`)V!7+RY~StGY0|cLu}>pCrVS0N3I4} z<|20A-iSh9bYiW6F}&k3qPWBv)xcpq7X9&yO*6txXZM`BFJk`nj~X@+Z&a8HR?85` znTJ4Y-;Utxnf!vaETadlX)M)*|2Um*yl0qd5U0}^E#))~e{6GSP@jq!`stwkXGz&q z&`vASj!V9XsscByEDPRx+;W(5BQO+op7kyNDXCu(9jesBhCHKP!|B2&#Aw%l^_R@w z`EL#^8j;}_1*5vFe_p4i9<be$p}Qum^Zo_<yR$!6o_?Y^J323ZyYAqY{`MDd7d`!R zC2vKNqvEo~KG(*h|6x|14vg;K${12J!Wf;d-W<5{?0X**eAf>&l%kEsXjCbpFl($? zD%`Z;5Sn5(ol@y$ie1^$^^HfAJ)XCy|8(`9RIi+d8+Mj08*gCy;Uhsd^)A9br}b8y zw0LzQMkLnwmA&XDnBJ1=ic9p@>J{@nlps549)V0*-WeX|Za6Mq;Tk_e<ZIP(di*C; zzSg=F$kBNDe2jK~)qtuoZ0@AW=0D7QADSvNp7G4L{N6N$w2Ee<2q6oCTu1n#e4ZdE zu8lWUd(U`d#I?DS(81B}kvMRUgpY?Q7r+P+efTk~<_!Yf1!^P}m<A$}27A%AN_z)4 zyRU8rZsC7&R=PL9Bx^{;X2D0D;qoy&D(?tzu)TLnvM>U)BUSQgV|2dE#{Hr?Tb8YJ zP9VGm-xmdz>#D6QHgjMtCjUmJnmY1>+w1~U2La;?LK1Buis{Xnf$9ce9xfRYi~vAQ zxlR*`5+Wum>q^a^wKY7udeHpR`H4+gZL9yhI=kK1?Yqt5zU2m5hlpSP)`E8Z-1n~J zgLmckCHwQPZ#nbgpSf*Uytn4IT{={<X<r_?g&eEO%XtuU;!&`{!S?586Jnob|FeOW z;WX#Pe;DA^dvkAtH(#80Z2Wuuu<r=^IB>I;fZ6;FE>^*6461hiD%CgTFb2^L5Ls|; z96551e@Gr+NsEaA$aFHakpcF{J%udu+t6z+!5AiKW@uJ;HQ0c1Hs<m^f(yl%NxrxD zfIeJ}sTslDjzSey>HNTfT`Kq*(qw)U(PADO*8Pnm`th&T)~S3ygAUnj?rko)^*zY3 zotBFt>1*G@O{ZmM1Fi<qthiZnyHezR&WB9B+J@6B<yh@x_$)OaA>7zTfr=TJG=xY3 z07&JSL5r{B>Y5FZVi^d430AI!L~s*X<bhy*4R9#hDqfWEEZW8beGL50BigLKEHOV& zRjkcz<Hrz6<7p7$p8ZiuLM&0~Y*(+%jC$;SB5eG;n-CA;Hk6`{ENLAU$458n#>r6A zw^)Js<D~c#fjVhS+<yDnnU=6;Z7zB3xxYs8fhX&b)BM2qLax<JL(<oZxWh3LZpwW` z9scsYG&H$Tt^;e=KBNU&K!y39DAP^FM!5V-T!pnTi<7d-u*So<6|xuz@C9Bs9;Yc) zSdeX>Oo-<lf4qx8uD#oh^+(8+k8>nv;o<`*YNE9rcy#W*$jd+zp0|Blngx^`!7mZT zi@%Er@Sv76$x7h>?&q|yz3R#ZbdlJtQ+20GJYc3Raoe88G-XdP`Gea$j<VELn(~ml z^jgyAfRep?!6eq9e<X7$yc3TsfqOT)OA0ZFir$hhMlUH)+`MO$Lm$?!=AKSl-&Xi{ zvLUT>Ru5^ET#%Xo?Xsdy0_WJS<m0S?t>Os0n8~;|Q=f2}(^J+=pi)#VbGSiEXTj_} z>HOQlRTGd~Idx3GnZp!GVsEc#@OxtAqP7X)x$TnpmhIRoVo&egh#2D%Eb$pF@k}SL z93SkNT`l0F05)qv8?`+j)^XO;0RWn(x-k}4yK)3%Kko9_%VZv!yPU{$%Ac|$=LDWX z>dl5eiaaii6|+A)PvaRRyda%LEPMJb(V%?wXNkmd6NTOI1pieW7|@cvGyu{yj%}K; z^L<@+fTCJhweS<bmLG(iDq~%5ju;Pg?L-=QZ(-7zwxBzCUjY3Lwe@rUQQH5732s7C zBE)}P2_TsaSt-a$H))-&=v_nvYi;gdGf?!|_oA>GN4Q5x-2y$DZa@7>=)FuGgHOLp z#4~IXdA?;qPK5=O89Ax4jtk-J+_>6`wR?CX|1EPrMA<19EZYI(VZwS$Eb{`U!@_i~ z(anHsF&Ax4wtwKOZae{Wu3FgEQlJKYP`T)Z7HTPJMYWyu(B<|jmjReOX0Ue`+`y4{ zhObO9g^N?p?(IS^{=&M$5tR9k)AQI$)E2r?5{Qx${ZbXe?5HAqh$Fy`afQ`uE0|H+ zmVu#J<}{W+w@tFyVX2yXf}XD3y!|Dpb@O%p3A@dPV8d>A#Ax0Xou4p=ZN<-TTD@Z1 zK~aozqTZM!_R<|geH~3GDg+J^=;Go*=Ce2-TG}KmuLk!31~%=W2LaV7)St4J4*miS zF0NP9XE`ZhnL%|I{OMF_Z=;_9Dj12{=q8Cp0o^8?({n-})BIh<fZ5f%BJ8Um8p(TE zx=<10ypis#Z*$AqH%W^1CJ^)&+=eKd`Stxo1KO$?L5KR&-R@HfAsc_rJ6M!Eu>H>M z|1dXR&$_qm|5tab`{k;J=U>Zz?Y&|;YdY%m{QRP$8{Qu^UHat7*9}R^cc;IF81{bJ zb8>sy?ESEJYf^P}GepAgw+2ZN=decuKcV_^vf_er3N8;>^H9Ri?1EzN9~4o{%}UBH zcxv!{&kUx71=Nm2`U)OFH1K)iq)qkhB|;MqT?#4VUo?pbsj9sp%jNZ=>p0y_nXp{A z)11D7)6bbR1`60zB-@O$gl3EFrn^b0rJe^kjn5>Vw78nOY56U!-5TGbJB+&e0F&S} zkq=9x;{>_<crRE*A&p-B88j@7*Uw}D>`K5Z5o);X#jYlV9n>)SggKUf047fDBmkTP z3L2l!{U|IfBIHPPY}WpgP<i|b=yFGhw4zh%E0}23knjLfBZ<bK309OO%;B#tS<OLG zFArm!B@8xUObocJAD6KnnwWeNaS+ytV%%4RXu_^=P^(X%?y6n~s5rGymdT#C01QKK zZK~99#YTt1n%lqFs$%u7F76IQnGP(-1j8XakLqk<qT&%+!oEh~x$c^l!IpOkfDUc2 z#F@6ZSJn^LA71(z#bRB(nU=VF!G+yB2pc_i*WrT=m)`#mgM4_|Y%{#zulL?7kL-Ku z`gudl@1?7JqNOjl|2ksvzG|mfF@N91UyiSre_3|g{9xO<n^W5hUC&SalV>)S5`wRs zd;NRNyNsvTmmV3lJt&>rp^MCS82QG9B#pItweTcHRa=`QBq^ExCoUqn_*#af2A?k0 zgsw|Puym0y9a5VG4G{F9bw2wbC8xJUVC;8KC~se0q48tYMgs`vy@t?B;xcGrX}qt} zoLwnt>||%~`)Aa?GnhS60b(Zwem?{Z+boM&rWRzCh()f0QRSnF%6w@6tC~_9xt9H` zvrpck)Ftypa5eFIlTv5>2;D|#ncE-0Qv(FO`NH~Fp8(tlUnY`b0i8C4BV*B2!u1L` zD?>wN+kfU`P=s5&AjFzntPZl|d-Q6#u*OJn7rkcMOi|;>JO&9N@aMhZ*1s5s!bGAv zU2?X7B8LwHY{c^Hybic2K;ftF|3Qjj0E9r+c1~kZF)JCdSpv|56EQQRhXC&pvBS@S zy%M(t1+!A_-iN*$ZKYRtA<Ew6;0A+A-L;58_GjOsljSs`|NE^X+qofbsKL|^qdZFY z4Ui#utO^u5Ko4MwR{bLfozo>N{==ZhPnb_svKmBOZsZxKbte_S85`TFvU0#}2vx3J zLf8KqAMdz~N8<CJXU-HT_oXDB)4%CsWHN9zWlLmpIyA=)x=XJ=c{xYjAEV-Fd|$Zu zdH;ur*O%#xWwv4ev0WX|Rd|gStQP<CW;h8qxj6vp6~DZu3LR?gb>50Cm%81^F)c3$ z6b#<FSQY#BxV=$k%+IbSo^gcZ?$%c0|1eSsUq5Mr|4))<M-IaX2e791Yyn-(X*UkF z71kx3oorZ<V)K<>knF);oAEq`zA#AN`mxnkqkpA@;*^MS8u%a?D(!!H<~h=;D>ljH zNCF4832@8Tj2SIfod$s*q0^ByBCyZzjFf5;evHsl;|7Gu^@`}65@%J$0Y42X_x{+p zdeho7ZTfm|QkBPywM21e4d^pU9a~8!V`1B{WycBFZf^zPm5@qd9Aa^@*A5RlsGG{B z;EFzsf`4MqMQ+cNbTNziX|B{qwzzjb%knBHEcTj_QnGuAN7_N+uT~h#Tr|PdJx3R+ zl&9Pz4M|~Bj1$^KQk=Xe*)^y&ZUxZQD~{#gs{2kLdztspoi<y{a|_aS+$QGIoF6wJ z9M;Vq+UX{H4VlGDEoWday7BKMPcstD>d!`gX9+)j=F8P{`ENgdK+~!sd@7}F56=ul z5<USaeqGFD>gv3NIV8E*-|2&tlpI3feIh(n*!eFoqnD;@-MySce3+>lE+Tf!AkQfI zfb1Pz4Mqpc<3pd#wD4Ks&lQ#>5t~Xxv<GA}KY`(x$QZxkfclQ<-kt1j>K#(0q^*pd z)C~@M{wr{lR)`kia*Z}=?}Z50%eQ1(hPz_D=JAAETo;Lsg<WyI!R6%rOJ7$+9z4@r zir<wICsv#-Xt{09WZX2ezV9~!-#7z$^gh4Nhg3hO;hBxd0_SGb*>p7yQ-7kUgkr4$ zJ|61TF`bp1S?CjI&_f&dpu;Sj&R)8@F|?fgPFq9>B={`cv_DRAi$(peidV1mJHc_A zkqW=I><yV!4r?DUOKsCI2s#wi{S2}9`C^#`R|O}1h0#G0F59B*EW+d;XCg&bH>7Jl zn`7*!k^DZ0phMR?F&tX-u9omECsJ);F`uT*MIPBecHx%%dXQKheCUt<pv4nMcD>ue z?{%Y3dPc7leHnSa!TiC)_tEFRWIoS+UUPU|_uf>m!@|9N`-)x%-@o?e$gPKqR}x4U zQoD>g;r>P2_8cOwaqYRY%BnqB(jU8dRCL5qEZyKXEQ$S!P_9#e+LVu+(&{=(L~Dh* zkzD(oYo;h5l<t~=$j?RGsG;)v(G9p^j#wWOz5Oh1mzR)kWi99gue<JLNH)i#!TS_+ zQ)8Xw-DQKpZc5FiZ%~UInY3T+7HY_`wt(dXk$KO5vRodk{Gb^*pYRLEt)+%fn_)8; zb+>zHGn(Yua-H*s^^u0{4)BB$t*3ALnxi#>xwck~;B3;mQGZW~s(+}0c5BN#CRTTZ z(CLKFsbCicavV>*(D+`G50l%o@3~1U<*H21^m^+X5<xi1dkqvS@*rdmD}<LA2Fsyr z4E+wBxm&{AF%sWsobAKSjw6tg16crT8))+i^-M%_d2xk^x`OsvxrRrO0FTzf*Iha4 z3}&2&iDMsP@*P1Ohie)C8C+QRl|PLtHORNQc5`5Ro^GOQ47fES3M^&n%7Eb!#*7Ln z57p2QXtK8#9W}t1oxHKW#;Txpc`@>IUZwZZJy*?lhZQLA43BQ74QkpZ%-nlQSB=gq z{cU?;XlhT|+}6?A8aM8e+7Ex<-MHY5?t=&0y=|sEe)?J%rRo364?F(p`Q*N#x2HGX z-I0w+Frp?hXuW!}HFYz;ugoTiO}w9|t+V46W$>SwXvz4W#ue*xO7I6eaeW)r)Ly%3 zm57c4+4NQX6xec9i8v>E4+Id@t$)v6U}A#oVC;1ehv5a*!B!4lQbvlD5~+*IwW<Za zyO5UK{-Q<SLi1T!pwInM4odJA0y;d$4pLm$!5+*#IJP9Xl79(7b+&zS^oKOeaZA=r zgU2ow7uqunOxp3dB|-^22~(@?B_qb@1GL&~1OsU;vnB|M3|P@1>maMPvWujl{X}d! z)v#9vjY!$l527HyNqNofXjWcoNdTAHw}YYgM1ldl#I%IynfBgHRr*IU%2;hb0oZ9k zCo;5<!o@d^fG)(6Fnx9K`S3Ag!tzpr5Rpt5<^#^0A{(wBw@uKMDA5m!CyG=YPq@nl zr>cjoy#7TjtK00N)V+Rv@gUnLQov!CeUf5LV9V~VCu$kj`k<R&@l%oUeV10#y1(ki z;b)$j5uiy;R~5^(4oW4uUUOjJ-rrL%z<ihc^GX>l%dCazx5f=ik2NfY*nw_0Rw4Z? zn`0tfUURjtoL44FatV@}Ive2yeq3odxX`OJe0~_)%PyRZK*(oK<5cC77ZD6U(L&>0 z98&4jw{;hUyq#u=jmd4r=EdQuyBs}FmdveHYaW_pEt>DaGBew^Pf2z6iKWNsJrmo~ ztNO9I>rXK(J^%SJD?BB}I2;Fh?Kz%5kja5tG6zOd*jz3zu#b~0_b@)DF<Ji4^k7^+ zYK3j)8CXaCJFWaXnRA=19A1%=IV-KjH1qJQhCH(ui-MLslJY0^l=zPrERj&C|H!cu ztls+3e|M_Zv6c1bjL!kw0Lu-A5Inu5**b@s>Ey~s0vc8T>H+H)qQEeP3RP{BdhHCf zN?B$jdb)fL)*u8@il&hYFPe;$T`EuNH)<LiPv;C%U9EBk{GF=N1@>#DIXQHPDT_}O zZj@g})*5;*%fLfh##N-GNqMQgT7z5P1PxjlP!r4~4iUG}1^9=p^?o>VNi$EFIaVf) ztS{PDl$s5(NN;nP1~lFCQs#)S@_gz^1xejAkMM(aesOw^p;;DT%@>LP0Zhq^+9knt zNmyWlnQJK0rq+F*K|Yhv7EolHUUH3X)SDpoU?p%>S!r37#p6N<z&E^w>eKYuSr7^R zrA?Ka9EHhQG$+(l#2IqIE^KB3kGDGOJ3*V;c`?|CDcK7$y=JVD)qJsf2*NgP7*_@3 ze!%O@o|m_ua7Elw-#tbhFui^fu{OxSmtwND8`3{$XwTYgdKrPCv9zPQ`cnPab8|1C ze(v$;&(o^-8yAi!8#}wX*8RJXqSjmPk?AZ>A#57T^hw&jp7)1InbG0>)cBUNYG1|! zW6=_RH^B8>qu|c^te-j-v2uH)8sTh9vQg)*(UErpWTMdShRJeI$%=zLK)e-fcPsz1 z0MF}X%WCDD0MDXlGmv)ej3U|mlgP6A3b;}!!=Uk7lywdrIg$*wo$D%}gru|mzG{d4 z6_r_Mjj{!V4>`b8vA3q7<{X1pAgAd_c+XKf^OWrCNu&<Oi2Z9Au+mi^&}m3MZm%&3 zG#4c+)$(X{(*xAjMz+!Ru2|mxAI5A+ZR*q4f97tAU9|o0+dDD}@ZD!8OpkcZ`?&gQ z!P6)6@(%nWekr*6;QZAMTh5q2Sv#+Pqwr_*pOk&#lowlm9y_}K%a8kH&CYV|BYwx{ z)*q`E>(8(@9#HDwl(Dyb7$lDdksQBBv?vQ@2K$J}90gS0sZ%xsR}9#$LDXAj7^Er$ z4RS&}G0wIJ#N{ako;_QRdDN@2yxE#`QAgZIDTR)g|F8@o%XxFf&<G>XRMp_QRw@$F z=lGqW!3Q`P`Coi6^!8Gu$$`fitgCWosmum;ggoXnzN&~!9(t*gsN<Oqeb2Q-VxuDg zye+4?35PWOv{&SYDA=t1vv^3~J!m*0u3v}NM65UD<##OFUNYTgerr-uBiyNWpxgL< z&|0b<tcwI(28pR~?%i5aG+$_B1u4+tmbfh;Rb`&y7p|@INvb_e$ws9Zs?~lD5eHo$ z5F+9ZzL0=91cXwsOI3Z<TvEFgZh9qX5gvThgB6B!(tZz#BszS$$N(+%*!<vF*YK}# zTWapF;K(Ae<*am;4vKKX@{c`zMt}JfGCz0W%Z9dZ)rSu|j4sM6v?}@!)5Knp2Y=nO z!0gqj3k6e|OV)q5o4Ee;L`U1Ji;wTLt$f(JGxOqe?A?sS5%Z(Lzp$_OnE&<Y{3fHq zLr(n<-*3<Tc%!iB(}LA&YVK`5^dF|@hxCAZ#?<kNC0l~CE~CAxZ~)+E)p(!d%RP4# zugaFNdkJE%X&H)x(J7X{m75s|ix}GIkHQ0fEtyjyR>OpH{heC`5=x72twX)Zwh8sR zqhfr#T{?DhK5#+sUFG|$gq!6zS4{5|SWm0h^=6OWC1B|z0?)O*>QomizKrpE04Em_ z0+7tW%~Nm*=?C`?nT+((LrpY4+4Dr9eM0$T*i_DsFQx}RWRSu`V13hzEWC+>YD?%o zGINQ95Wc6_l}?meYhQ~7`J)`O;!$?xalbe<^)dsCVU_B=mUpw@93hQv=@s*nwY(PI zs8qQD_N?Ic88vFZm5@<-l_WsK5~{P)C^<pELjHW*?bT{Jjm6Em4GL*c#(dmTC0Hfu zZ7n{&;Q$J~llXVpt?y)8W3aaUpjJ^HK{q4Y;OGdhR!{-7khP3qw(Z!r2CvXnfsdYx z#eQ`X-{Q~fd2$R0yKbrZ=EzR(uuN2kv<GroZ`~2g3r^=|%5#Gw%@|zW*`wmdKx{P2 z9ANVQKgJjzwFZZ4j#`Vnbk9Wz$2wT)UjOz`?q+6flSbN9FPu4Use$to3EQ5DKvW)I zi6r9AwLy>R$fC?V0>#`7R&UIhJ~rQ5rFh40@SQ^q;E67yw^CGXpBute8+r2kQ^`qY z&A+Pz&QG`ZHZ5?VQ{3byTfL@_o6JhWNK))Gi)8lcm&<ktt?x$o2EPDC&7DEu>t;qR zeB@P8yt;{OGYsIaq)RDhIJs}<&kf4fuUP3b3CC_Q^hNKVRFz1)bQ+f5Q}$j*OYq|T zGf~XB6H2Je>mXvq->G5F6))L;&Un#_z5pqE>f)>*VW`vhmRp%ie!l*j^^j%RT#+k{ z?$@?K!O|JK-6{27D2_CkfsucIt6R1!v)6z@)>P34@hZP5c+i^C&EwXmPVvWa&_SI& z2W!>w8n*px7)@2yD3+2|ooKG*iY}zrCaO<>bmhH&$3FTdmCji&BC>Tn*lLvLs&nu9 zr|A<ur5r|BSyH*djd@alH!v8WEd6?m`wYR|1S9MKND({E{a3&|QEYr5nSt$Fg%KY^ ztfT!uN*Y{A0H2lBr0i{bJKW2m5(13)duX<Sp^qiH!%S3scgr*0?T`!J$38|PXzdwW zCW>LPZ`Ha?-OF#n&+-c+9s)P80R)Q4v^UN3=zPMzI#;?{nk$nFw64r!5cbe)UR*#d z3-6RHa-UYFf8^S`Z|xWaf|h;~4b2qU+szjnB1$a6-F+$jc<V%gZd?jE!GzO$$j+qR zf1HvN71$wE!?A6QQ0KM304Zihu@<djXqjC@Eo7T{ySP4%!<<}9{w9i(jVphc8(R`t z9+tF)Li$!S_W~gw2*l~wV~~n<@0ng46o9q)KCJ#*G9vbFpR83;o1@5|1%Sz}F*IM# zCxte};})N)hg~+c*m#%b>7;?cQZqWt6uEmmh!M(ecB$D;+1@?@8It4`N=An&eP4C$ z4^~TwB}3VmOtG9SLv7a(-<zTd520c;__)5VirCIlXzQzaQo76QF($J%YXX$m#6{AD z?42AKLVUhH3&n^h+7y>B57W%FpUlo6iPnHAni(h|=l54OXh4liJj3HHockf0n4l)p zy&aUd=OsM+(n^h~N>1E<w|(J*h<>-RoxS@~LMPUL^wE9#dijOa_-$VjMoLDhfp%Ay zpW7Sq{X^B;{TE(dHru1qFh?)>Vc+XVE24`OzO6fp|CZKlxs?9)1+gv%vkEn1=GU^5 zYAG<yO|Z2gDl}iU2vhqJBq>pj3zxE~tpVU4h-Dnj{1ooWZ&O6+Cb>0op&Z6%^zEd? zxuJ+2ing3~>MKQLf`sW&D$;XX7e+I}@`K`xCS~k$W(TCFC*>!u*XWlUwNaW+LMZY= zhOLo$xN+@Jzs%@mf_TnN7&@hGR*oLsa8?q9WJ3=;r1}Lo<BH5j<w+|DVoHulzT=V& z(=EB0bwsri(Z>~0J4||=90m!)d&(udC3xd{W`kjh?*dNmcevUR09%pq<f3Nl`{T!1 zA3lk7*mP#2x_OPYejwX0?HQ1#FP|J?yax3NVL?ps?pyV34k{@rz!GjOdI1dhUFIs* zA>2ZV38!2@(Uub47H?Eb+tl`xAhwZ%wV7^4NLC{3<sh2=M)~bne4AY<`b?_hHUjQB z`~K1BlDs(&?{6m=y<7C=%<C=t{}dR-9XVM&{dZO8?AVvzM;0ur-M#+fNqgr9e$1kk z!_ABCt*ttA0xnv{{}0m~e8XeO!O^|vqkOhk>69gG8Snok^d4VO_wna1pX+zOr@Y2U z_S|goxlT06QrPXj0h`-EM0_8@iLUMKbdeG-smNrrL>aD4weA?9qOnP3q7%Sb#uQqf z_D~xqW$1xS92caDwuw27T*m!sfoQ-}#0KmU!>}pUhU-${reieGDmb5SWU^905~1J~ z4uTm2h>Q<)tk@0{m9(64K09vVg>h8hWn0AvJqq$QEEV2H*%Vzq)Gq)+G&n;Lf4Hbv zQZ4b>G@r;4_b2^%LlbW}N?=%pf!KQ`C>DWw?GotnREmR+_%Uu}Ge|K*>7m<p<RliB zjLZ9EniRF_2A9>V*0UBEE6@$(NjXNgpcw>>b0Qb(DrxF$ebZ2>PaoWLg-(scOehk? z6+WyAh7sjh(AQi@l>tVHk(^a(<AX2ghvMgl6XWhy`@(fvQl?GZ3}THFMG%3`3Pv9^ z<CNvum(UHm8Uy_E>nD}4NIXnSWX2O@+cJeib_?pI0egX<A8ZV<Dde&uUA*FsqW5et zA;8j@w}_(ra73+GFXA105}?SDn2*{R=?{I4#}?1yEoA)_MN^hOtO%p|L@f9cUMv+X zocBhm?{b(KZ}iaaN7tF!_<u-;O2~}v^4mFzYF^)}r0L^)qb*kbhP-~A>ZSrm*Y$c= zo^hKNp!|6rK?|i568ghIxAC?NGS>Y+%q7q^?ep()AIGtJ@wLw2T>%b~jhv=+3Em@N zga;f5^L<7Vu;HD;%K0}lC~*jdE3)@`m*4}9Clm!OxEUUy^4^TnVBw5%fVZe)3zuu= zYI<+>xLc<94~3k#ncFDodz9IbU?06zWSsCsX>l2(K2RG(Mfw&@x6Iwzrg8bev`o#i zK;-bp41EWgZ(R5~%!HIrPy}6MW1fY>b!ieoTtrjx%wfYQHWfe=E_l=ioPr=m{b&Xw zq6GjfnRV4;(u%UAWUbibebbr*!x5VDi4?1^sC|%jEmJ+LSQQ*CRB&zOZ9{B!(=-?1 ztrYQfKSjmeG+)Za^Pb+aY+*;KPb{F=6}uHa1{JFZ=Y;ftlG#3X{mpOT*lX1V`)&;$ ziLM+}1y!zGP0m@c`FSVkJX#h{N4W(C&F)L+QhiUDNoE|0r=3muD&EZUP5dMV?=i@M zBUt~Y3;f4%to(Wm_ZGt?*@JcI-s8$BjN%<k5ZL76S_|L59cK6H&4^b#syTb=^>Md# zvb`X%^%1CV*&rv)$2q!sA)Ir~Gw?9A27ZsU)-a3ZmDgtEaT}L+2Z`y$Vojr2mqO}u z=-yRcXq&5m*c5#J0|3emwxv^25t|&TL(}Q(BAdgU262@Jhg0LGk3_MP5;E4!OqiPQ zrO^~SvXD5|!29GP*3}`!#oCC}q;oiH+UV9cE=+V#u|@jO+SHo_?ObsO+jQH$+V_&c zqM64MU_#Fr;jS%VsqGzcMr9RU<j+xsO5UXE{EIryuy;-454$F;bFQiX*BqL@`6jv; zua-HDD<l1{;4BX;`XdR1?i`{AkWq;vIuIz~RhgWY^g3?tlX*-N<7n3tCDfg9X}aX5 z(I}<$Q?J%h{J%&ncXWS+Nscf%e+9?I5%ej$Sudpa6f|?1FYn0oU&0X6(;)Y3!8}o* zotzbe-|@i5?*Ju-q|CM7w@9!M6l3;iLUrGxuQKOG&Jk((a}ikSE>W?PrsRI}X%X9g z57;h>4q0Fw@O|#{n`digw}&Lo8nO0|f0<ZN*PZ+Eh2?G(5!bfud*<EFWr@osR^MLS zcIIeZ((7g)kFR<zUe_C)_S+YBT>X1#?*06Z59jQr%4~j>>i~`2VmdV$!0AF1ecK7R z!nR3i){`Tk;6*<5X7oTK^68%11~E>{8cQw*z0yT?p0DDl%01cCcg6zejmniD_>H@` zI-acXCT0F^)L3&3tF!T2ahQmA=POQyDI0ty<vbBJ?_VIIG_tw6xrm$01+7E4YVaw6 z;_vE<ae{y2^j@o^NBo-Do6sZYELj}gHk5lLz^=qeeXg8J+yB!VSZ6iXL9!mh^=|VM z#GY<QVxnK>CKu1mVz1H-Ba9FCg1VIHz7>^A5pJG2h@44NuyahwMqE3!(GH?vSTYh! zmY7~1#yWc-9Am%_{d{_YUIfCuX#@yX&xygI;r$B6uce6;1_3cVEo&wSsx%CA5J#zA zO2c9f9s53@ewag`q>vNmW1YPaJA`roO)r$D%1ivYEm~6Ak&L$dHAk+_i^)5?8+g6s z@N?6-$=4H{yytySJs-+b5%=EB+yDOW`1c_r=RO1;*mj|+e&!eNy8hPlUDN&hF8y+S zed=4<=_UDRD<|*DzvsFBhdH(6F5y4Spzz!N1t&hNOgp&X_`?&L%(0@=UU1cw9z37k zNz<Os3^NDAFhLoBfg%5JsJdRmH;KgRO9{yeKG`9jQLA$4s#W!$91%K-oJkR6Ih<q2 zNLDC^6n6Y05G$i`j*3`JB-D;bBG>*J=2NrCnlKQ5;Ut|{>~C!(rLIAx=H58U-{;7N z8xmAAGEb2?$WN4#H;X;8G>rOlQmShtl56Cw;);PqLc*(iw;brH<YPS;Q;@3jHi{L= zm2F%p(r%SSy#wcn40ZO2aWAGpvUZgzLX!EvNY`6(QEel7=V)2zk^d2349;*!gL0bs zNV1BV!71lXorJV)+&)RkkyycQ7WtGT&7M{56$36!G{~)Gfmj+JB=I`5SwjlT{A}>z zqt%>p167+^bePV!fQXd*CoGvV=*bK-UZMr_@>ZYsg6*BcH8?AX8)VO`Wt$e!!zBCX zN3#9X`Ux*lE%9Y~Xdv5KuHWjrC+A)@I47lBoM48vOe$5nJOwF5&M;bftJ+d63PfRs z7uh8leh1s~!=A+sBiYu&EVBs?6nRIXtgX6o!w($3)HRCqt6oZ(1Xq_q<2sJ@x1C7g ztvX3k#g5pgZztgAE`vd@j~g1{oGN_U&b4j&sdh^oj*;d*?(~H(Y`sZj2G2l(!6LI4 zJmwj`2W{<2l$qc%B<E`Zuli}#@wa@7y@$cwH&~gE7B(GY;G2|o^=G_OrVFSwwtSfG zcnF^Ed_f3StBx+Aa56J6KXU@&6b`CQ?4=ZL-9n9_?V_mUWT{V9%uaS=`>pbXLd`NB zzi;R^Xn9Cbxg<9HoR8)8vi0!<!&3Aq-B9-sBdk7_pY{0O_lMe1f%l;zgLRqNb9N<V ze&<>sES*i?RF%1RW~HFNx<l@NH@d=yP}YNGs89f)b_s!<v|&rhQlu74!aJgCR)Ofj zFNU2*sr}?}>-%0e0$0J;4QkI&FsB1&imwp{etZ&V^OX=$h*>1j`Rh-B-NhHviWL>Q z#4gJO*LX>AMP;dZJrlHImFye}KzhwS+C-b>LT8(33sFS&0_(Cx;q!G(PxC}JrAeKJ z4h8y&a0zDg7Cj;A33K2YJ%|ScJyvh>EI1(d_3@j}c)2@6%zrY8SeUji+k8U*Ljt4l zWR@t2Eh?uLy&hFboxBHtlZVQ|_IYq?{-%GF+W0S`MStxqV59_CUf_#uMRDWwxKLHU zJHOCSd5WhqA&Z%VA;qby&7;FgPZ$}jV3)+Z95hr%9Mn1SS(>ALyIK|XA13KCY!Fko zqhDVt7>CPje<7!*ZQLaO8kfMWzS6hZ#uxD^NOcB;AUefx7tL1Tz{SMk_2Af+sz8** zYk4{FhZP#Wf?M7UpvknIM4^R4H+{KM>_;aToUt7dFJ4sXo0WgMEyp;hXeXCWE5V>y zM1tW%E-yIgXeq<}pMAR!Ma5FJs^?%H!s1y{5;mNOXXpk{s%Z`lz7u>#S**7Pqt%Z= z4+NuaDO^h|^CwruzC1uj1L=zzKFx}a>oxBMmP7X>B?GUVvx4Kr{Bb6O7}75`ezbQZ z<f?D?Qe!+g+rGtJ<j@Y+A5d~hkQ=5zh3?}8TV>81AvZ^yE)lPvR6L3|@oN#euLw*8 za5lAUd>ur5FT$0BsA8G=@RAKiMl&PHG3f&{^2D8R_3=cABS#<F=lw;o$~ynoyo5Ig zdPaZRCojx8_v}*Hk2TwusaZ}(mVS7-{^PsTF=yI$o4<Lq`OCxWi8r=)j#7v0JpGrw zaa*&z=k8V8m9N$`1{<YJynnXFVNuC+z3#dkd@<dxx(zds`b)};No_NXy2})&4uTSn zMY#rNqcmcLrgUPp6x?ji>BAqT0unI^v2<S+s;h=dgHqvR-Dpx<S1=#M2yr%ll;&<~ zi61l;4m<~Vpji&hnF}9@Qd=l<c5#iEC8%dA43SOJBx#4NcJ6z(aHg<qNx*TY&#*(@ z3n`!aR75qHRIL+~OhL!Lf!b{agq0_x)EG2Idhi8fvR5IiarKF(k?L5P9t|rFiW%1k zaP_2ez`vvSI=RtCqDzngQVDFPDPG42<%dd1XDFoQbKr4Tih@Y76dg!xj>A?@%EOhp z(FlY>nEx>J?`c5KEcAezRL()#EfNLR3YmgIWrZK+2^KXYYJx7pnc7o=vm2bw4$nHw z2s<p*Viu#kH>g49(zohpCrv^2;|CXa25&drf05$&e$l1xn?CPb{-vS)>A}(HV5fmU zA2)Vy-?#zF_e!7hDa?A$)r0+4GhUtCZuPkB>t64xXU(hr!x((YI{VjRJIB#Qh2GwN z<6q^UBW5PIz5TsxL*=t)N8VB6x~}IgY~X7!yNKW49+@tSX8?<*WcP;oeO&}}de)xH z7jIB-5x_u-(`iNQ_#ZU5K^hOsA`1UaXP6}LCg4MJSVy8@qu7pm`3hC^751(A6PsrM zmtMg)jy{V_*X1ieOQ|v$j*BY1-OED@PxQ$yT7PHTl*IesYYBp*5N-)TFkvwKa_B5$ zF2oS~dBHN2kpn@JI8e&SzRTmISrE2+s{975E>H!@>=A88#Bx}I*Es=3P;lo#5>B=i z-mqOljMf18Hc9#rxmdZ@kEJ#xh`q}t73T%I<L$~8SbdzxC}>rQb`PjS=@^ph-f{|n z#nI%uhhWxxLh<7>r<je7fZ?=E*TRp{OCAXiG<eaCD|LWS)UO)fgEr(PwB5Jl_oiB- zN)n&15$TOF1fGFXn%YW1ns`M3wN`P@EigUG+oqbs^fO<-6j1S}){)uh1h|RPf}Jm3 z@d2{eZ}46u4;RlU>}tX>7E0@HTmO_}+GqL7jrY#({|i1=OihAYkz`d_%sAqj<dTV) z26?FRD7~#^x7VH1HaS)m!z1@L%_G}#vX&;pJ9cjUEO6Y}Ulp`xB%*L-;u2|Ly1Y9) zYMpNgToCo_rG<Yq<auZ&()XZKZb>KqMu-#nw1rQP2|Iaycv6-4SGk+`B)&${C^xJh zM;uj@UyRURTlY@9wF#TGC-@4JDfCe7+>~!KB<7ZU+v1xv);>55p%Ua*(Q$xn6l-WZ zEkSG@g9UDXPX~?G?b;%S(v8g+Q6@XqvQ4*k5BqGgp7)I4u{kQ>%3~F$rEXRfzR~kr zJ%Tg6Sz2UZ`?N`}kDH(ewc8$O3AfWQ5h(xE6R2&gcS)>_8}gW44HGL%<yv(nmQDDk z^CDgS`8Z>E&9-z*P1z=z!wp~;eArEV%|9^<aS10oUUz0TL3Y6cozHxO8gRJs0Sap$ z*u{S4dBZ|XLn#lnp$SAqOLK7#d&bFPeYrnuNAG6n+t3ZFcA;6&iI>ONGcB^<4@%B9 zopesi37wJn^iQaoiC3;4wc=ezezq$rMUtaTmaQcJaaA8!tm)u{7r%bpu|^~0)mwY| z)|C9c99Az)R-o@AdFA~fXm;62ZQx%cWoWG5N2VHY&Zf<Qkv4*Uq7u_$M%S}nw+G_% z(t+oHg#<%q!@J1dJ6i|m-w+hH1~^AM9>ayh&vPN3@A`uuln(N3(h%pXPeuBH1>7EE zl%IwnY+Gt43X3jZEv)t1I{xmBm^E~?l$Pc0s&`53I0Be%6|EpeTI^Gwk)(1OS3SG0 zaM?85BhG&2&}Nrll6ag|ncGX~*-||=p=|0K5r^Hv3B|3qlX}3g0{(^4oce<VcH(V8 zGmpCMZ{@HwTRphsU2Us63RMI(nlJ=?52em}f5j6$%+C2L-P0FGvkjt#TwnfT`(WZ# zKglh<OWsL+JY#4frCb?H?PMZOQ%M2>%hu)d7oUY~<kK>U;j`Bv8E71p-WOs+<<(3w z%+VGTbjgL+QmEV_moUz<Sg~<3x4?2HVU%5tc?VgF|M*q&fuKLi0yF+kE-xBAQ*;Jp zTXChCiSSY7P~T?}zFYUn2XQXjHO2&-Q^XJwr8>9g^FI#49rb)!VM7#RR|VJ#X4K-J z?fUukgVSOU3jrfEDP7<`DdTHdiETP*e$6~IzBg6n|G8H6E${h-v+LvE?5(?SexrA_ zx$1G9#AK7vcI*Ez+t!|{fB)Bm<pcj=s7sD5x%B!#PZ6{s<$+b)XmFdi-je7KtJ6xJ z_uh2>^2g#qU%%VP=44J548?^4`h%7x&Hzmnmw=-?A2uN8>RzS?QmRK7t;)=}TL5@Z zM+5ikGX=jJBj7rCUm~F8wS{kfKcth<6yOqU+e0XRwroC-yUw#;Lfv^l-J~)nE1`Rr zN3b%jP7IdciwQo@e`)rae+p!-R>6md!|s(!j`i`(!4&`gvM6(A{3gfhZ<bUy-z?v+ zBIk*U*2gN-o#fm^)*2}T^Uiu9Umvo!RcMV63(trv%QZE4qqSt9voeXiHY+{~<d~4| z4R&zs)Pp&f)Jy@H>t5n>B8cWNSa@Vsc~RUolS|OmVuWov$cWHMlw-)_u(^XGMqh2? ztw9Uy{_H^zQyXAMGYMeTm`MpHid0zH%bsR%^D#A_!0;#sBvv)lhxA~A07I^<wu>bA z0I;ELeo~)k5g+@zgo-C0)6xLlxLaXO$U*HlY3CL%I2%(^FuL>2yH#UjbsJFrXy)nZ zD;9csSA#9mcoWO!f4O5jwKybs^iXH+?`HagQ`ggSE)`x|vu)wj`;1TTpABw3KjZcH zu|G$DGT!_>TGV=e^X>)Ok9;lv!@MBh&Rr6CYC+#Sj}0|fmcO(FGEXVL+VrY)ley@y zC9~_qqep?=95yyIPIZDFz*Q8Jt}v({_@Y{s9+b}K_sKp;18dq?N_R9f^qpOqDW&@C z8J4V%2gj!-RXZf)P6W1d6S)Q_(wHLMD^BV#Lw@JsM2XnUN{k@@k&MxMH3GAXTnIyC zgwrY3T{tpqw032!7A;N#$exJ+0sq?EVU}_I@O1rL=Z&g0sP1gQyJHrxACY>?eM6Hp zz%7})SGL(q3LfC(=}3IC-9nGuNK}SZ%Y;oeUPOEm4#99Sj5(la1UNn)7>jZ!7i>d? z4=4h<o_6~RfRf#sI8p-|ojlB<le>Ev<O7`SWG>P)#uWIVJ>}q7k+&*a8_nFCloK&1 zI)|1&=smEa@Dtd`#jy{w?~B=A;N&^ERZ?=Fk~jAwpXb(C#R}e>6Ps+`d<f~8VmTn@ z0Z6uw5=F2qoK%Z%!i1OjOg3xHPpPPKpbO4SL7b(!WK)@&AMF`}fCh;6LZNc4!jog& zju#6pK9CJ2(ZBo)R>SuUizJPG?D^-GNh3Lmootd!%OzjAC*frVcww9Nh{Sj=&)1m| zKQKtd9GK&DS-E|ilkE8N>ZxK?>cs+8<kq|Ph$<gn>OxF1{8`TatLu3R=U&T@DNNyo zj&1?mWrdA2d!z*+Hs0+-3BZL<2{AgyL7rLn=|Z(X<I3M%nA3IS33&V!NWS>=e!tY^ zk!6;B*6}!<_uXisL>;ge%nnmsKzHZxX-U>46zerD8{C;FFO31i3})o<^ExaqT?-2X z!(0L&6kkB1xiXL<uy~BRO<GpFO`NrzZTn4F7Do`@aA71_i?{_vPm-N%-Lf-TbK<y4 z>nxOMWrXYWRUQ5@t;i=-3k+&Yg5v4IUnPRgw@nfYn=U2FHeX-@qe0r2uGSWz=bpNC zh2I{e8@Qa!ZY(i@&lX$EX+6$$az0Q?h*lKV9e(>;qr*WL8)+6wBa(ZuK~x00IL{)P zW!!Ymgp1SpG%lZ`;^=fBkl_^E!1H^K<{I267-;zI40K54B`7|QZn8QJ3v?6Bj$G~4 zW?dST%6JFN=w;idkL_#_lvM3%I~I{%UHgbjHqCCJ<R!+Et9&-BwD7KAhFWK;Va(N1 zf{6{$O{8@=gy@r^+(g(iudRT2=*4&wZ>5WOg+SNw*jrUub2o4+8`J*+VL1{AIydwX z2Ah7ra3DkE{J2~a8#^dy<CPL3lSnLRP7K}s_lOuInlSEt{X7mEbh42=Lc9C8Vuh(I znm3)6Gq&Q;S>-kxH0Xk$SSOl_cM499kXiU=C|az1@0Li^BFwKFQyjaY$)eEWQBG~M z*>ks|k}yYls};9qa9V>U%zClqnD^y|ne1Vr1W=JrV;TQU^Nq_spm|LUs7~5Yz9O9J zzWWrHU9vs-{OEU>(!HshA<k5RPA4IiQ{zK{Lm#1EZv^E6?X;2{`&Aj`Z(I*L3reX+ zA7X>{Kv1TNUEIo)I4&M)Qs%w8Bil2q=ibSXmDS}`_*A?8qh{o#5%fZ8u}6vc)UaiQ zh_puWIRHO|j*8{v#*{0a*gE%87OU5C+G83*3&5G?V>sOZjWaO%|8tvBT0I%zr`^vz z4Q*X_fm6?ThU4S_bn0IcB=@rI`9F6qj4nu6^aO2F+`0X9<Nn{f$t!k+<n?c#{rXC? z#{8G@m!jVlZ&v<tO>DY7x?i)~Y%MkRKaA6rq^T=Utq!I}zWTm*HX$jGQcxiLUc@W; z#cBQ^#`&H2gn}*)&dOiW#W*<|$1WtH&{Zk}NZ}Z8<08o&0R=fsDJi;UMurzrO>PpX z#X(?_)7Xn{FkDboiH1!!D2)1cPP-I*Kj9KPejCC_`3>6xNc?OACMyRR6_<x@`UAoB zOiyufL>i1+d+kh{;-7lo1D7_9@G<D8t@H<q6+U-1Rmp9KwtPf)JA5d%<7g0rFe_Ml zzL%G-CZp-;&0Dx<p-pe36)~7>sZt`~9LGV#v3I&e-Zft(7u`P^nx(G%E|J1^zHRa+ za*;W(NS<yGIpLrtYZ%Y%cd3Hsy`cTesbF-Y6}9?d-@uEaA8a`h6E&c&qezXzg64~T z+oP!du$-Ljb7ZMsQ=-k}fZB!$ZB96nEDIVoz`)$Z!e$pl_^W~nh4se=&T4QIGFOWH z^01yWTRGQFH69@Q##y@i+erTDXS*$*uA4YJC++&q?LFBuhe9&CJfwT|<f-UJFz?0t zyOF2*s;@jh6l_^#dP;qH@|Qtk?BDF7mD6iJy?XFm>*15(H$p44o1c2;{uU!2*S{B7 z6in^;bCtfwVAH9S%iTV%KARWFAg#pzK87*H;(v1RG|2j{Na#MTkc*w;`O~u0HW^EZ z!6TUSfBSLVSCfyi4t1c9T8~G32nWZAWJw_9iJGi0YlROSiKRv24tu~R^4&KO%V)q1 z7N7RCw012Wb8SkkrgOCs3ho?g3LX|tN=F!N$|!`ZT?;n?AIW*HGxCeOxJ@J6qGWlI zp9G_VxqL*8gorV#P<-S*Kkmo~m3ZEp!B0l29<$QRsWP0LUc=ONla^s|-Zb`@l-a6o za@aYo@I4_SnTXhx$p}M=5#5hjZY`)*TS<XP!VM<S_!;0bQQ$kQlyw3eB6wruvIgrK zXTZvc!oJ90poD!xg`7Tbmm{kJhrxT(h}Trw7_O2)(<v&({x#B!k?qf_Rm1=uC)gM+ zJci*62Bu6a4>bsnd*q*T^Eq^Ft0eFoy>f#;Y1GlhoMb}NQedw0$@Aa)o#F-bJfCXs zg-caXzcfy{BiHU!DH)R&GA2cD80;oAM$A~~?!ig+DeO{*<j&-W+R$iNg-n_D4^5ye zYgfdy5_~t_NtDK~B-x>ibsnP9F+iixQ*tvpcR_qa`Z}|d5eM3*b}`X{-Au(g{Em-- zT!#c354EfQeZ!;kBa&?w%s0u_R^kt-ga_a6Qgz_qO3P0Z`I5@+<AG|4I4qxsHpX$7 zi6UbP!PN}}(!)Q%vZ#OkMb4umrv4c>B0+zr!kcK@_EfiVL@(x)m>EP%p}5VVT~9hS zV(Ew5<35+%dE-K@lR5D<L|QdGJIn7mTJIBjUrHA(;uL`VW(;H;sjsrWHVK(&CguuD zvLazM@<N`0!5*!}IM-ya^6Z7rZn28wwhb*jST7!&k%;7ImxL@I0G4P3qOi;F1yr<? z&z|~0G!Zc1R(TxumG#peLZ4S#Ceo9}_nH+nCF^+PnAq+KwIrqbBGZxN^zUqghGq84 zr2(YNS{laTZ6@`|!u2Ek*VZdb$$fhr5Yw32Y^gZ+2O-BKhF-V3Z%}W6G;HOw#Qq6M z<J6+10x&pH5c@vV{yL)VMCjv7dAD11I;uOkreqyUJWEJOb<4(Dr_Gt6t;ntgj^oCv zpM&BTHE0LIe%mQM>xk4t-><xoE?9i;#Y~|zpD3ui*4!V#xh%)(`0bzr1#_#tPB2IK z%Av5e%D~3{k%*Q^UPABE)rpB(b~Yaq`Of;<TWN=4SP@%BA`*>?bPDQrH8~+0st7cj zlqNN_5&wa|c;`)mzW3HiAGu@+y<xV^31C?VkZ*e{S|5nwq5n~I?*B}_e;nUto0-$b zCg#vAhZzYCrP9nMIc{u1Cxqr0MF*+2IW&_TLM+wX4&ClZNhj$*DMXn=qLd`br?XBv zd_Ld%`v>fY?Q!qEuIqihUeD(kv2JZ|fj$&BC+8jDmn?N5zhY!>)^>8e6~lYVzav-I zdmc}BPN4wgDxTBaJgYr?NJ>4nx`<>(oRKVY^W>h(EKU+RwbcmA{8qSK7HV8@0*|lG z+OdXA*~L$D2;oN+5`ZH81L>^VN8GT`v_adh7@$C?C6EGi*6CqM%%YJ+xSlf@9`Zw% zJ0AN9ok{ejn5E;zoLy65<2NPdrzmu#+H$~7fF0waiGXs#V4maeTf@<HCE??JGY1@& z8nDb5R`Q_O;b}-pfAROZclEI2+vz<2`mh)hN5*=pb*8~5$9R~eG78ITe!>Ts%-^Nj zcVGV=36ZGT?E_3IAlfF1NSXBMK3cR+o9w|6%rs>d6F=(XTUy3YnZujZmr7W8Tq#w| zkaLRYVr(E&XM#JRUHnJ@<BRF~TT3rZWiwiCtvP7_9cvx=JO2Hxm}LLct=p2ux`}1; ze_3ni^lqNcYEBOR>;CFpbMnjI9`9!EjK8u!P<?t-G(<kp{LOib?lQ9*7SHzaDHA(I zcjJ|mxWCWHaeP;vwh3R$^h2A{jjmbd>6Je%ZAAQ}<sLr7FmKCU!^a^qnKKd%ti~MJ zU<M(G4Dkjb%*3N8IYSCcrFebKUMQROO{i1ND)7^!noz&6k96`#_Ls`YFs>BI!K@x2 z7kxY|^wi6Mn}57`Wn%MT4$mryAZxH3a30~R2XWF`u-!+!M{UI`>GjmhctUjYDTpCf zgXlX}DN``~0FS2PGCXReEK~%OY{~_}YI^`gNcxO4D<Hha>+x&iY_%96QITR)YI3$1 z$-9jJ^BM~|T70B>wZI-E50FRH>PmI?@@VznFoXtY6%Q^2x$?DZ24C{%4bDyt-ni5S z8t$tXt8gz3$~`5k*$oe`p|Zn5!Wo#EU_m{E^ISvpDH0c?u?iNb=e)I@l$NN3bX-;d zzCp&*?ai8h^XjrHKkL2W?xEAaDk9!p<?vjKr=!U~+)Ymv9vfYg{`%IP>EvB6tOjrB zZmMWEs5Huq3CTEk<Imc6jqd&57hP}(xw7PFZ{McKbD3fLPVL;#xv*wO`s}AipZ62c z%T~1%d=!$pRx0s`E_D*_ax3e$o`i);Q=wvB8^yV$@YAv%^H%JH*gUsEQgDiFN^GJn zN8WfgFWB(CfQ0J>cXe>h^y#(=4CN1xsY9?U;p6WSIV3`+Pp$x&Mm1T3$LYUR5hHMu zJbIQ-HXkQm-$Gy7Orf%6^0;f<EIKOzm+f~O2PNz&?0_lUI^Nbiwz<JIKKC9&8jn^+ zCqQapjespAub|0u-xf(=t)n4LK<=g~B@hVm=;hrUl)2EFNp<?iL7C+Q5u1|b$1Lwi z2N@QhXb;R^kD#+Ttv!Mj`dck{A{hE^@rgsDOI#Joof?BOD<AVq=({BLt^lavwK+&j z(DdHJKy=DVT5+c!w0|VuQkkYAw7dmq09_tHmV|lBia^DBM)eG70c<<I@)~&74X3{r zEr^d4SRL*;K}}9ii1z1ND?r3IoJGYPc;vPMlCL)46wiPq+k1@QnzBhkd9s{av&=F= z(Y;itd!iZANJZ@A<Fgt#v0u#N7+J5l+TP~pO57OgMxH^DJjIIASbdqgg60Wy=H*tJ z@RqQl(yJAtLLYTAywhX!SN_F^)+LlA@@gW-3`Zyqg5vZmdT<Xs&>ZlYgDsxn)N0Jg z_B&mojMO*t35oi0c_li5*gkpIHu>%8Ht^Y&?FljE`7YH0<cJ=DuzZ8Bvg&3PUu#eH zBh6i0->h-=c|jMBkIsURyE!j7zNDz<K`q0&x<_t*m?M+4I#itH@%zkq<6`EBAfI+Y z#0R6-OJ*eQ^~Uh)TQ(=peQ>f2D>)BLHnI^1OY!0&bp^0M*N@i2<KJ{Xk9Sqey@h6M zrx*B-crec>%%5?4G1`?QB#BlMrWjWeQOHEQC4)O?>r7$6jSv^SXX_Y-wUmL&0>Gq( zW3!T(Nh!kKiBI9W(Fa*MJR=FNOp7Y@mO^xwP?9M52{mN3iZryABiN^`E_LwH*fn{# zd+MxPbg}oz7#23a6WOIgqlmTL+9eRSr<tTZrM^{&KZ$;u(kiLz8s_ABnBwInY4F{1 zUyO%GeJ#D-k_6C_`Fa*5t6vL5ZXIEQD_Y24{M^fli;#_$`$3<Jd5JSwX{@=c0O}RM zP&~Vr_7mjF^zp8GejDV=1Cn{$PyN9>zHltAuA#$&b2;+L-{PQAllI6>$iG`LdPT8H z#)UL~tvl+1jmy#cwy#2xv!V>uBHKraqTBH!lC((iMkkO0dg9MDANMNzeky-K57>53 zF_eIC8o`3kkMQONgq8&(DmcMbT7}M7!taIo@R+2OCH8F~mq6pU{_YUC;P#Cw@<<;2 zzVUMSG1rV(N}3P4r1$4xb<6q2@qs~XzTde+K5*RM0W+-i7I((?55Yg4-B{|K_Z!EI zOC^UTBI_X84vFKeIH@=?S+X&O<KP$A#<NB(jmkyD)LmxXi`o`Iuk9#h^QH;%rn#Lg zgZ?>n6)XRrFB~hGaFLo#zmOtBZN5kLEI&-*^H!D_5wD|rF~I{g*$IZ)I%G8m!eZ=z zvO3a4v`>@=pS(m`K$WhaK5Hu`p0}a*QvXBXb64nI<w^!|+%+EsoV)li0ywRk;r)Yc z;l!`K6P0J=o7_P585AT0R37xk#b~hdnnt)4ayVyFRX8wav~nVQL;b&u-^^9J#<UXs z*8Y3yopSfd3ht+;*5sQ>%_Uzm56;(S1Wqn%op?Oax_`})Lp7HUZQXv->|WLFL)T|- zEVeCBY(01D{r6nF&%#LKrXj$_<r1BKS}HGgb@%l<iG(D1>Lt?ga9XD7>PZ-=-E>Kg zUY0;(RuuTiE39sUa+AXfy3x)BrJ0|Z2FkHR4OJvPf$#-+(OP-oc-N0RAS$hn)ni}= zB4I(w%OJU$$2^CS6#u8lnc~vdrI19$efB=7ZO(f#<UlygdW~V?yBjB1&jup?z)>CM zmq|%l^-fJKv6kOoVgu5Iqz&-Mm_>rl?H{?6O}+AcFbQIqdzt3{n#=nfMppi8Y;6Qq z(6h1f!(@Jq&?AY&P8sFG)jkw=c?3{aT;xut57RC-Nx=g=^LgI#9#WYWw^Z+-k5c|k zrPk~8l?ziy#O^W+IV8P2sU+(h>nGq9$}rCz5Cg#RoYJ_1v?7=c&H9p!aF-c`!rcNH z<U(Yjc*~oag4R@_u1^@D*pHpHdQ-p~jh~~2tQ*fFG|rIE#Xios=De`|v+;QH!21u6 z|GW@Y7zXv9h9{>(k;`ZNM`u?bw7Hwvyr|?y`rClL?&LEU&9*=J&}-W8-ZkcX!WsLK z)|bmkg@c=r3k@&A4B!8@$kp25EOyRHSMpesw^r?VI-zb!nrF*1dl9^^EGA0Vt<xNJ zD4YD5OCO$-DM<+JN`X$*GdA7|F7AlxH}eDRfW{FIa~?j8MHG;34~$o`2uwhnb)p2w zrf8!19}4z@h_%^hhWInf@P>-#9|ut#4t`^am*dpFwAfT~>h3G3&7my_0*1GY$m-)x zQg=H-bh;iEy{ZIr!|Fu)UgbUy984@>wU&D3uxpi3f*|S)ji_TY%HbOc^_lY=0r7Pj zZiLlU<Qs{w7m`MWT!dD4w&W--Z($CSr?Qk_uF&YnMU|R~R70+8n38jZ1o1Hyg0DB| zKf?QG0>!~uNdC}Bc>>>akQz>d0vg28<F|N|Kb_U9{Ydt_UaXH-rznGB1dOfH>Xp~t zM<Z|8Eb_1bOx5C&2+^TVJyvJ^rf9}L7?KO+Yw&7I`zDM6B27A>u(SPY^L%~t(Kho? z2y6N;FZampRv(St0oifCo)*CK>=z;4<IJsH9jGrtwfr3<o>6T5GlE@b2S0yW79Mrh ze$p)8Ei$@zt8-fC(uUtHoQ7YFJ||a3fj}c&$Ub1a)xzg^YD?pg-H$r%ZQ2T|(^Wv8 zA(HM`et@jqB)Qw*31(&*lvg@MdZn}FObEewgccR*9l=UW2J%kM#sfEd3m9rrdHKUQ zAsLX`IwVk<@H=t^=5ExKTMFjB+|UuVJ0d4RXyc`l464bYUh19H$K&Q$o=!C1-U=9> z%M(2Wi0D-gzsqWL_6UOeXwULksC69tn-VJe+GCH<U12<N$sHXh=?Rj#mrRFIecTA0 zM#nxL_1HXFSW<w}&|iZxUo<o+$8jJlZ$P8Z8fwfH!zv(XFZe_>(KLXD)Bk|)zEiT> z&R@I=0IEp3x4+CI)d%QW*-3}zZ{%RSMhU^u;!y|vcvkfpOi<}#97k{J9q^17a^*5) zV;CpYTERy4Th{aZw@u0l-0?MRr2cfxdMkBXeF#gtyALR4wt)Vy_b~K4eA!QB%as~! z1$e5L8zi|Fb%|%>0nt+*Ab9YUyWl54t9zDH#*M4&tVVja3xvsgZ_X8vWz1}kfGQMK znxWJ_8w8y4e{@4%Xti-&Tr$++pM}r;C=RmGWC@GbtL-C1X0576<!ec8Z>tQdiXRFH z-}|`caduWydJ!@qt@56_&^8E5T>X`9m;$<iJ^3EXe?*H+<5=?J=l5QkET(JKEdv^| z*Z1>e2tBOKwg|*KYZZr{u@KefE}{{vw#%v24w9MPg#Gk}tPcxt0;^JSush#NR$*|i z0rBLUu*3)!@-b-PeoeIMn;(Oxfn13oG!{k5^*Uz4+tl$BB!ZSGwX_v)qvV?TC)y<% z^FoagQZ;KqjVBd<<44Mmiq2CI6MP%3K_R9#mA4sjQXtxUrC`9M=gXXg$)cWakt(mD z3b0jtga0?rZpX`oaMZ#BCN4Z7H*l$&UqiIpi69`ac6(OJvJW`jQhg6%Y6mj)lISD_ zT(JyFW{wb(_dxQX@Ui?^=u|u+irYRMeC$jPapjSRviwz#p#q~8d#zzyjv|9`m^7o@ zqoQClzj`cLK}dk%!*1#p{**7Qg6^M6jjYmVpSU`tV^j3f*nfqbz7k_Vb3#5rp*M+` zIPv8h1ac+p3$s2dE1i-x#33H!#uAHf|65{yM<pnHxMg_v?vZzEr}R%>I3D>j@#mfR zC#G>7sYUKdTZ8jI_AFHVC6E2ytt(30xK<Qt)bTXbv9jCk!nEk-_RQB^Gw()OCr+;j zg=gf8xa2Z|vUe~d)saEFjVY+}_bE_gKgUpnaGumEVdD}SsQqd^>#2W7q-#*)7Q^F# z6G4}#d-KEa3>Y$W3Rk~+Q?Xwj$h&aL`waBBIvCE})B>io8$7fgQKQMx*Br+G`7k9F zKhs)(v*n#^dA*U|9zVVTy#C7~YjTKzDHOU#c?ZA7GyQ8=0;ZkbeGU@;gzqD}nfw3@ ze|;&vk3S=?$M%z;r04uPNhq%R%5;sbwk0Jl7q=F}Xmlb8LnK~>HvU>v(=;uOH3XWu zUTtf(4q8Z}^4WP_vg{@BQ6g%`j7*r%C!N3{0^-Ni7NZd?0>M8gS(aX@povA&WO3sz z7M%J=33b-+H5Js#IeFAFNFEk-#Zut7Q-U`W8D)*2n9e_`4F5D%jl+zjQx2ax>QqQK zU8aZLuTq^gJVYvg%kpveXHWL)wp`f1F45?G%KbkV_AKJ*%HL0Ze%_Y4V7C6zvhD+y zWbe<k?ml^z5WU-F$?1uF2Ys)j`5$LiA2eS6_SM_iiFJF1Zw<YPoJu-1cJkJL2<w(l zTMOj>9Q{0bQTvt=eDhoRJf*7t!&>is%W}V;Qhs7}p9+$v{)f1PSf@Zyy+6~CmZYv> zt#NrCdG{CmgDpN-4t47@$iOFkQl9Glc$SU_A)bxEK^_KQ;iRir90rtyLw0!ZfE<1$ zSwIZs=)}vzp=_(|98aq%6(F%Bh!v%td>;))t{MxV>Tkh8H@>#W!w7`6IefcgBN(~~ zt&%h&@jw#TN;*22gP5z~@NGCbyr&KcmIwk$j-pa2uz?e&QNenFqw+XV4vs-mU&Hgw z2COZ~n%*oJjNczBSUsQ&Q}8@DIk$l;`h}VRqm_^ARuS&60xs4<dDK2gs$tT~@?cmY z#skqt$NQJ{3+#Pz0E_}WTwzQ-eN});g6I_-o1y^7oVUQR9Pt)h9l+H3*0TZIn6M>l zzt&hRRC+MUBRokhC?A5P5pq4ynT50@F4uuT4MIU&5ZNngS9f^yI4rfDNDf~B=%!Ej zL52;o6w5e8lEuDIyG9+Iev8h!=&7X7A&!1O5BlUu13BcEuscUFx&0)+d`JHWVMyEw zcn|ET4oepum%^*&8wTRppdd7IoPMw2$d7`~k#ySQe*2@Mv_6JV`bnjbGo!ROS)pW6 z#{Jxm66kHdc63i$fq9cfF9^8;Hu_f&;<5)aKC@m9!AF2-P1;M;y<}zc9*4D=!-5Ob zRrPbj0*|R-w*HPbOYh6agV|~PCW;V+GVa$i+n^r|!*s5<ki%Do^D(&J5c2lS0#vq+ zeu<>{yn3G3MYQkZVr6ySbjiiVhcMpMn8g;_t#o=0DfTPZs6j<><l$vIZ@;_uns`ET zQ{Hk_ssSGv^G*`0tywEUqtp?-VhB7&Qjjof?7($eGo^moyMx%6G?JY=y(Vo)DyNll zwBt;PUjIVX1A>um(qleud!NkA|0Z2fK_D2lst9XTX-j!9g_Lv$(FoN2XrunPxUR$| z&_cVvTvq)`6{K_>5iI@iz4TRwM_t-wh>1y-Y+&NyIjk8kQ{`~c({IyevPJ)<CDO*B z<S1JX8khHWTDtS<1%dlJq@w$3#O5n}AB(Q5)Qrb4Iae=+kabq{dkV63rl{tCVqHse zkZl95HvT!-?~DD?pnW^`j6yu2_nfYDK<@MK7s+8drE7R0Tw%3G)Ohy}9k4s11^f$1 zn#|_RvvR%W#6|$~Z>f2)Lt1{#I`pjUxLfXyDA0&d>T>CN7wE0#TYs4!^zloB&|?Qx z-1qD*N_jX)`*F43mKl;~iUBuZ(+$2BzG9xm$p?rPLNyLL40qXdqq+2AoC#qFwLMpY zEI;PHnc!fb?)H^OZw(`G+JwPrxJfzsKqTv4@NXJ6@);CyVJ(TYA|8HYN+AX^^+qec zc7yqxoc2XdI~FZmPl7EUl?&fEXd?SyC&^`mj}Fyj7+JQuc-W`bhVi<0!_JPTMDL+F zs6qi6)*YOa2VlDhJV5gWOyR*U@rR=umr6yqC)5O+unHxz*ca?UESm$<&ySG(KY_I@ zi{LcsRpbqlfKwV1b3qX28n14Y>5^V_8}Yyl>~^ptBh29A>0Ky39-%*CRR8viK)Xf4 znaAaX&VcD{j7&f4EjSwh!#EU_YY<M+FtAo&ti0kTA^T{zlO#Tk$XPswc^GO^8j_+J z0X=j-@blHX4~s?noh9Q}?fNf$k33AUsM7KbTRT3t(7fU9$B&xdHf@!h8a%kGW%tpJ zdw17XJW)T;a{eFb=9}v5x8Vz!2jBi|ZrI<t#p=$c7i)-GTU|-WQk{)Sg5X|KFko|1 zsE4>*haonX<Qh4wq{(1Oidyf7Dz?q-b|47rhot9HD;U^!w=$M^T%O4%WH9<+)pjX% z5H?!osHLo2XAv&(9ftbij-M8i$#K;JcRoiLU5A(C_2cYh{MxSdBSimKpS+Z5>RBJ- zb5_#M%g!J+G8lW_<iS5@Lz*%Id(_89tn>97&PY`1$YST(G)e2Bnm;wZ)rlz{{_yB{ zz+tmj`NsA9kd5cS`VkTfH43LD(MA8v$uN*yRs^Zh@oY59l2CM~n{YR#DNRW3uEYz` zZ2BONCbLA$9mP>$+Z$DxS!6FG0*I1$NCNlvM`x6#Rz*1|t_n6~F$p=e^+GMq<D3|! zCs!D>P(yXTD<45ddz@ClZfUDxO^^IwKnyEP5F+5jy^wkKjYXfc7HOR7in^swK5{R4 z$!78WiHG`LIUj$ndiUv1kKMs7;{h)AHoHD{9LU%^U0j497;msKJ}CbW5ioIlVMpwK z-&Wl7@yq3tI@>fZDl%?lKAJN<&^>zp&-kzIQ$;XaGy}-OskyTFoE0Tdl_njvM93nj zX&v{$SJp#n$I<#G<VB&9bfgJiV6XK5Od?~=)gJIa3;l;>a0s*copgE(LBfVVtWtRw z3fb-?7W!y>^%jU;SFFilr+ig~<Pm1!Mg%d?1|`coQhzG*H3r^Vy0j$n7z^P9KF+df z3CQ7Ba1GR^#U<iBngF>`z6YPThN#`YoNn)~xs+^2*870#xvdiV?c@kcgPya{D0S~i z>E^8#m=TmL`7YP4jYd4ZluvjGuWwY2h>WIkYd0fMv~(G(|0=bJMc33|#TJMpW-c6m zEn*C>3Zw(|`yko=XR1I>bY9&Jg3%=bO~AR+xa?~<yW5yQ+mN#-jqjJ<VgrBwy+Q<{ zQjQ^3mh8ju?SDd+V`WF`U!)7k*Z+V+uD2b|GR1mlt>%*N=7V)q3Oz6L-+%b}E8{Z< zRu-@3(M-Jso;~wIo4$OyZaS}xnw&Vn0q-P8EJlLVWHIKo8aJ!RxH*Bwy+i3f#jLaR z_W2f|!1f%ZQ3;PK<H$Si17&)vz3k6gC;U>1e~p6=K~o|qJIu((l#g%&+i`%^nhj%H z?{4XO-(M{G`M%?6?gtkgbHnt3E6%So_J7*`a@mH{3v22s&8$R=G!0@zNh)rwsp2oW zzFF%dF<o)~-5l8X?8hQbP<(5FI+?WSeh#^6t$pyELB$pWUi6lMi{aDH!d&VlivsQq zJXMC}SrqWoyel|72XhJ??El1BeaG&!5bx6hJXyq#4<Bnt-!~B==;`-O<%x~#lk%Ls z>I7~(!NJWwjBM4z-rT)laIZbnQ=_g$+~4ouq~UNx#avB5_#YH`uG~1v*{o$z@ETjm zF6dTp7yw_3NFZVj-64zRrvjHjHtK5sPV?w7D3IK!64VcHjfI5n+M4yw6_2624alyM z-#I*%sSked?!6abI-R-I`b$M!#<bcL#S+-NsZ4UCZeZjdIpcU5qUM&DYTD#Ok!&C< zW-!E$_Y>x-JrcxK+$nh4HL_jT?lxbrkl-Z<7suhcXB%*^4a@KCZ{VD?io{!?td#VG za6ibbE|DhXfpN>KE8E&C%;-ye8%TG1D9Y$yhAd2^)9waHaf^kXM8IaHQgTCG080!L zh0*SuR6aL05U?3cno&lqe+_BK(sWuN!>r&f6t>J{Px9I5CH;iCje!<uK562F`GYAz z<Jgk)QA!Qr?r4d6MQ#c9i`-#+VC)Loye*cbwaS@B7_b-`m8zq3pRg+8!b{D)^O9x8 z8&Tg}xir_BDG6a{c?>&&I<tc_Vkosu?FcQ6J@Y|^V4XctIl{WlA*so!cVu8&6WhFF zLO?c#8%T&9wM#6^86d|LUSaO`_}vtl9*R&l<b$f>H86|rx$ECD5A59$j*v?dJwT4= z<7wYL^|i@rCH2PMOKrS0^yGuofI9Bo=}F1x%AYjJ-BhWpy(GpH=K}^*!z1sv#gqv> zi0Mr6p*sU==>VuybBODKtB1wZ;T}dyR5h1KE_gA4Y8-E8dL)4svx0ad?L3@{0Pp)y zO8_UQIX)KNB(IR83OFU{Ee!%(i{wRbm)hCv_!^#a;2#LzxMlbom&2-q?=nx49P-@D z1Ww$6VUzPqII*XKB9RI$2C2{E3(Fh*he-B2!vm^I5e&m=K&J1*c1o(8mRo1Id*kTp zu_xe{z;L0bE7xh#2B6$uthRl8cc%Zb#rtE&4d0nWR&To(Jil?~_2aEo`<Lq{eAoS~ zZ#A^`r?&Ftw*L?ZHNVYAZVh;oc`_Mp;CqyM+}WMzDxSHTl2Y8;mDwnCK^7^i+ua#- zi$@lkm2K(}`sJ(~RB}VLq`;Ys<*6*xu#QrQ45I**gjtUA6RDK-93?Y+bC7{b@P*D- z#g2~X9Xm-cFTMstF;p~gST72B1;7}^$IGDDQ}pVl<T$RQ?*cW2gt+s3E_dm|p+lAi zwI>(_Y8!!qV<%|oQw`k2M1d#VR=VKm!!EFDk+!l9<2WH<B7PkbU_7-{L&+JH>@2Um zu#f_51Rfj&iugjpI%hH{Qjuh-vRf*Y%Z$uZfu7~8mlqN2E(UU0k4wg>2nhv@eEk*f z%JMjR+xy`Yk$<tTa<_>}r+A5qOzna7Z>Mk;<7Cgn>-teg8R$7!F#nPykqB$`Ar!Wn z6H>}G`{WM0t#}l@G>#*j>DL6$n4?w-`F$@qFejhmClvAWc>WXS!c}zXtYHq>UN+lk zJGHp*(fzUA6ZxY1sUI9ay^0o{^^`oH2e)pY3_Jb)OZ&g}ZC?(Zxw}~Q<CNxDGpAy2 z(#kC3P3u@@qVT_2?{uSI?%r@=P5uRENnvu|Gr!cRR7clmfzZ#bwoM;ym@WQ!Lmc1! z@E&1l3?>!^`}!>Lr-DFdvV`nu0*Vi7oS-^WcCr55B!Kl&U3^bCCY1~td&$g#iSBY6 zgcpcEv6;wDOqTD4-wA4JavRgY4kTL1{#;)I5fl$)@>*Km9RWLnC3b@oGf?i*9@2db z%EMpHE?!O|u7(?At(6=kX#i)og+Z6laq!^3`c5S3fdJVQ$;(Q*O>JQ{ZWWe!!{gTB zzr1B72>eb~c!wH%+79#c2CNK|2)4si#8I$zCdA_?J?9h04gyhA0$i*d%1#vb@^Qat zG98YMlhj{@?459<p56@)SgFsbyJ&da45ZPYhFp4CCb?Gx)r<CmISN|{z<wKvhD@=b zDOW)7J{4cx7ltm+&-yOZS7boB5k@@PORF1X=2^wpMXXr$J5gDS)MKacjl7{xLe8Kp zFOxqGHPlU!qhURZQJ)O(ALcxiH|RlX4ib^HmR9<pHjLn2-i*e1EKl~%+anXnO#Frf z`s&X9hthCjHwLkJW#d-?^$SIIcs04k>#drEPcB~~Rn*RVPc`}!<Eu^Q&}_m`DP7Hj zFXZ&YgPOs)hV~DCe3r7@w+mu+6q}S5thIczBDrtKbkXRZ{{1gn*2)hwjfLJA6|H!G zT|?Qo9i9oDIJf!dnZUJMO#VaUzcbBx9~kxh@x#$~8+|t)@!J0G`S0xulkEq7Htst4 zA7btC3Ivhce+dpC&xgfZui3UGAyl!i+2;xUEJd$HwIU=(paqka?`Uhsy^f(+uV|}9 z$W)K|oPL3AxrJQzUGhX5+3!S|0i#5Ics+sLIG~FD{}a}5mx|;Z8IsNM5eX{cN`F6a z*b{o|>MUe*4{s(l#><mahJ>hz1myxFi{4L@kg`rvjpvSN7}c;U7~JCZKZQDE6Sr!) zHc*h!aK?VFz@*g~t$*EWd>_=0Y5F7w4Eu)kgTJ!XS3deO3fP~cYuqA}jA`ZJeKmB~ z>S|$GtP8_NJGKg?Jf<jTDgQ&zjg@o7byqr9jFBsKUkRdL$;2|94GA34!%)X)wIxeQ zxZ^XzVi{FPw9dfFb8l~2$|ZRw5x}B%^|Oj}CVyRa&t-X|(cB>)b<Z8JlgPAF*0YzB z>cK-OxxQQ>?INpJL=yOo2}D{~r1D3h!%Ys!uwPkC_pm~E_+tqh@$gh67x6;Tc-U`C zRS@Y&4DkoUW>FAR;8N8VhO$`EUqn77%ZBeagMXKCFT(&>l81gX26c+bI<wn6s8VU- zBlDNk?SsxgKoXo==u%_t&)UHrH_n07r?!EL#&M(~lTXQAHxkph&K+NICX9<z9(*Bi zc=pqUt6gGATvkL4J;2vO449_ghaXn;J2;{=_H(pP)rMl;GN1(>PB^V0hqkrSYXY{m zXsq7RB`|PWLvZQymCK^XQ1C8W&K(qb>WJF%>)-g(WZ^s}hly7Xo)NO`UqD#4WV-Ss zG36?Er80@yTB^VPm?|V>aFgGV4}I*?1%D<(y@=S(Psy`4sFztUgBoou<pq%ng@AUJ zi{^R{EH%#x#kEztsP{)BG5`zIOOqM5rFfDP+>A_`k>egLasFwZI}{+Qfkli#ZZ!R@ zsMZkd0Ok^#8}dA!0Skwbwc0#k8YE9i_ppDthF?ZN<dB`ixrcFlkHhi>I&s4Jnt-r^ zYF$9AQG4zlN!ai}it6MUHO%t{t=d<hJ)8Kr%T-?0LI!d%DwhyV5tMNePJf0)*RnZR z#Wp(=k4Tm?<VnLp{~`Kv*ynDcg?K}hoVu%JaJIan3v0`(reC9vNfvQnwKs9`l0W;t zi*D&geLs#VO-$UsU;H29W5AwOh1?H6PyYMh_l*;uvc^-NnsvW?clBfcmED0~x89wE z|9#irPG8GxHcP+N>-&4nTz=n~L6}<|qOP!+m3#O6;gL!73oJAGARtl(h>}o-m?Fdo z?jTLB$#>{p*}#)&>5d^*POw<=ebg|R3)*3&H9=r*B855yi@A3aJR3~$xt9IQO~~7I zpBM8AxIYhX1gno=zR#cx&ocxGh{b3>dYtqh+A<sae}s!PEfweFi2Kf@EWfWC_;rsr zatfV26+Y@`NL(qd?Ewql3ta}6+3@R_G+P@}Qb^-8(5&UnuZ!8E!0XWy`Z3J)O{JkG zYlu8zX_5D8B1)+}Lb?f>7CNJ-Z__#R&a9$k^l6y@%U14UNDqp{mk>nnkh#O=Xn@Qk zPm1f~(ovEV$a~dDJdp4iLJjiV`jf>E9Qe9`O|QHtdPLxW#E`H<d7RsDT@cZGzr-d6 zNvL1k!{;sSit*_rP-w(vOR#KV&u7mozk@HW+WheSqM|<6#SaoM`Z;V1SiNC(^_G>7 z)&>^7{E|K~TD@q8Np;ePeIFx#8~?lP{f3zDqW=(cO*PtA&tzF2dTHw(@OR&+`@b(P zY@(QbckndwGw(j6IY0XTqj$A_OexR7ida(=dmOgLDI0P~A0)&!$pBT+3*^;OZJW`$ z-je`{DWIMayjGDTkTDeOia@lEIpMa0Jn9O3tGJv)PA9QJB1#@ZqEMhZJy}GMOmJd^ z&<)X8%@#p&WeQj+hB5Y1ak7jXWX_UfyqiWe6<`v1PMPdj`-QtEs#|-4x02PEp-kQ4 zZMYWCmSA54kVUV}ZCrL5OV+%UubZy6`Ub)LCEVcP2Mc*qE0tbxNaTYLL@y9lIN21w z{C^gTPN0oX@b09!s95ex0NU!e4J=t>rclp<5<;*kcKgIxk9B%R=5;O58!XWJwtiJ$ z1A<GiS>8=s)WaijW<)!ygOVj}R<h;BomYg#r_Spmo$HFM4VgDVSqX<xI!-9+*D!-W z#N_k!kg%jB+dmO<+#^3Fzu*D;vyaml#Tc?Ku7Bksy2c1u|Ae;?S;WU^0R=1Pc&?^w zR1T|-a3tkem%y8fyc-W{X8^_e)3SmL8Y(V^6SLz}tJr023_WrvH2|-%d)rpUprD*U z>oOu1-$>{CpSNq!>R28_sxLnkpO?e)g2_Y7O#ZR`H#G{v{~Xi1d414-_XhKAXQJP0 zH%HwwyzXLqzRE5<N|#V$y7x_B{qH3|Zxm)7k9mLLG^WPZrFx38BlX<b!h;%HwzMDE z_4D_E;Fjy#BHo*xzWF5esa##Az4AWh)yMn$wiQ~OyWF!|6qZ(C_7cC&Gc^Hmk}qUG z>t(22u}Kfpu^4*DTY+RP(iG=b^>eRMb+v;?<1y_k%*jQ$y#;l(eVM|TjU7+x!CGua zF**SfS0?W72qEhk-=!-%)$BuFn?cMfWgH&@>nX9=y%-8Ss;p07w19C^`N3~?^5aa1 zmool_Z`6SW5`l&SX9|5V53sM_r3hLEXP)(x6swn>`mo|HEI3Xdu%rH+tA?EQe{e~K z(sUtWHBSd+Ztk<4J}L)O5Re46b+NQF9f&pi(H@JIt6)VdEvxpiz+Y!~0_|9~AwFAe zy$qnuiZJRb?snr5xK}zE5{Ysk&|bL?`7m-1#xtEZl;<_biD?3qNfhi3)2VP{U|0BO z(7NtB<MS^&|1C!Dj_f3AC||GLEsRJl#t>P{1Eq4!XzHo>7ON6}-4WjFnG&GljEWmL zCe&pTJ5UFbqGcAv^oBk8r*8UO6z&X=+f=pUYGboF(oF-}XTNv_Oe&K~p76c=P1F3S zW9k3?g0x>|0K_-JkgXSf9Z=9=wE01h)HmGk57~!b_Snne_r=qkO)H($F%%uC)50$* zEo(~N*vb+cs8Gti1I7zfSQ44STmXWsJ=6I-+%XPuDacu(eQ5-t=Q%MnVt}8cwKCKk zDqL89UzWq4<=?_SBbHo0lT)VUM<^g&URh(+ryS<95tANnv|}4h384m!^PKg1JGS6( zGWRd$V2#yRGAA#&gn;RjxlV)IEywB7T`u3U1l$euDWG*A$Jpx9pB*ss_X^sh9aaXb zE$}^RmLDkdInLdrJ?8@^E+*p|0mxpTH80d%?zgU4NYT-^-b{priE@O*9G*1@NXx81 z(xVb5?F^cjV(L~J{J3n2@1q5ndHApAc50_MNE9So@I>Kj{Y7nX<D9C=<*TtOSil7U z3=}!`V3LpF2E_2#MKX1kw*HJZVfiP%&zs%76*^VreEZK!opzMy(erk=)9XI&Vy$YL zBL<BoLx+zG3E{I+YXP1*+9QlxUmyq~ur;nZoW*vayr7V48@;XPYCMks#I(C%#QRSV z6l6W!TyS}}y=v|8r(vaE?vn59`D>qZYw^DH#7x~!PcQE-jQ)H5&vB8%<jbk6?^Yc& z`r&um+Q$w5Ys;1c3)^8&qvhlk;`>FBvaL&No@1@%u<J0!4uKkzlJbv!!QbMK3`(YU zD6r`H?9kX83iZj~0l^BsNBAyRK41Iybn9URhOq0Zr$C-cH3V`I;~RSPiCZoC$$jI+ z?3&QZ<$<s-w8eH7nA(>D;rrWZRYXrvDn@kLBTb34BVjPaX5TKpcWZHv-fe_Tp8x+c zRB=S_x&WN~!6&|Fs9%Xvd0++OJa7)qn<6xo^_NMT98}8<MldcneHgdD@xxpBUPoMb zB3c*M34PQ%KdB*!6mJhgM;Ul+K8jg#TdIu$Q#4pDr!5@ZRtV6zOd?u{Zd;y7);GRC zOw#BOm`@c5)POs8rM_B!g`P)o4PQ7*5O7?ifk}ed&{R$cXu=(4n>0!x0ZzpOCB+aH z=jtG4as9wE6o`Nd)RX3ZgoOf-!QS)0S>22|^v4o&$()4y8exoUUi@A?@!dq>*v7!P zB)u@{I5U2|<bF`w-pqr4xBXvX{P33b?``9UJ|BGXbk#<EjT5WBpNai&{?C#R|9qT( z)ObI?>v22w{DZR1FT(yq1g^<hXim6%O0~=L{PpGA?RD4wdUE~9&sf|0^ZOq<Ozq(R zGCjX+`sS*~HEzG?0F#TU@uf!Ksm@1nXH_gO895d-yu?P$Do=j!HuaB^<+`?)3E9$Y z1dyjE`G>9p!pF#vaJo`Qgd<2oVet+|txaxWG%Z1KZ3PGu9=0=0SnO{n58yJ8?GRCq zp)^NY_QR!N6=A~&>E3&SQ8cY~MyP|q%OVmWMiB*UkV51bj6duFVo`&JgONM{)K4EF ze91p;i7c_>5w%}cvtlG&s75LSq6@i85ThGuTDh~eQDm=30z-NpKJ{6!iooDze75I< zRlPQb4|-6}zi5O+0mFdDK;bIs*=!7#j}bV2C(t&=knOFd4Z&mxj2@kqZoCWS?a3Fj zj5su%D_lnpoP`^m!%!TLtuXU0y;6(@N;OuGu)M0dv8)qIox;uv`Pi?w$YEe=Rt6B4 z<&3kqdH&!_K1V$MT)^18h~6D{8fencF3NJ)toU-))|v;@jUe?ZSf?G`!5}O|m2P&2 zBvZM^<^cx9E1YrIF+o}W^rJw}`$8LNx=3El>rr6p1uYHKl^uvzmU@*-oJTnAh=cK+ z$2M)5_2d{EXA6oeJL&}dE6${<2|<jbRq0f#`_}jBlb7!o<P}`n?czB0;K;ul44U4Q z-3he(@Miju&HLfZi{m<Xp2EWOt}&PLnEmdZU)_FY-h5<&z6`$e%jAu5FT7s0c-(B{ z-I2(=3rRYi)7tlHs{K;F?2S2)@Z>*4*Nv>CT`ulp{~<b))KX7uGJF5(cTMNMv3>2Q zbYI>X{PN4iz&16kGJECW&Y5Au;boR@D91NsoS20%9O+*99c{29z^Ep$MZP+qxr7E{ zw=mQuBq<X2VN;<;5F-xI)=50S?6=+J-r54x&{9pA=8DJld#*J()pxATpf9@dfTM*` zYv6`iz}4MQu6Ib$8I{ozw2HrSvm-NUZKsp*(v+oUqW0Fc7*q8<YnYt#o;5SFL?=>c z1AOgLG%MYcHw`f>awrTE2eo7G6l8~gL?%7ux0`d<j0iF328N_gHYP>dd8`%8lIOTm zL*@u3=veX^l8EwLo|hv3r<$HUdfoX)q>(_!p`h|p-w67=XGRV6D)9%?bA4wQDn$fS z1uh9)#8!!EUOo?};6}nPaBLHqlV!Dn7FVH=Z&Z=;B@x5~8Zm2>>uLNORQ^bkZ|SAd zEb@Jzq}Edq=6EKQvuz6=?Kzb;32xsT-0z(?_`v&y^)UEkzaPM3alF6bbBr2giO$U! zGJ6wJo~`#Pbnu|JmQn#p_w+5$tIt(hc)$vyCG?vRUfaFg!)mj|KsIYsg;_D^&1H?s zYgcCVlOD_>ZbEdJRx)=@utp^An=MG^D`~a|afGuC2ZUUA5s({(oVrpuD{&rSN)wp? zR;}f6JuiT2e*5o8XukuRjdRkS6FL|iCz9yQ4>Lzw9-dpiD=*F910)=>|Dd3i{sPG+ zF#@_Lj)6kD0OnV6+xMAMmlA-fEKd&Q8rPnR6WZv?Y0uDoU-|1hj{hhM2qiOxCH-73 ztCA)VQFxn4S+sAK&Q+WAw!s(cH{ac!g1{NlKp1-QNYoL~Mdvdg1lH-unI2NI-<l=9 zG-D$aF_MQzt)G%M0<gS^8bJ!8m3jsFA=Cljus2@4d{2?R2ucq9MLm(u(Oz}&{+wL7 z#Fq}l+#{?{=(hg>OB%^@(hnLVURf>uDhJsf3M{HdL=wLI1IJS&X(a8ACR{_MvZXq= zV}YclyOB<G#hDb{DgRDyymREfws5=OM?#M4!6GrdMGPp}2ir8I3K5U4LLT>brV|k_ zINQlyS4tS`2czfsi;!eug!@av1MgIG47S^=7Mc4+zK=9ar9EaD;+hZtyK4W6-2qQ; zf6tFijMy#H9>@LIUFG;6VvLEpS=jY4*80P*9WOt&Hhs?;^Dj)ab{Wma_QS)CTUvVy zLq_(wuQM9l`TfAYoQ~>4V~f1?8NgXcZirSQzHkItP(ju3r%7q_{pTPfOCi?@{Rx#S z%g4cP!|1&^d#%nf?`Ss+Nek|Pvl6#qTyGTS7d4_>hLVvpyLth!RePyOSt3hWUo1dV zXpM*+F(erTM&a{GuqyS~I&)#}yX%(=_*&ZOBP5T?D<q776qk_7%8C~=>2y(z*S3vH zG~+C)eV8-=v?6-ts?#xE3he1$rNTXF9A0D&d4n^a3DQw<^llch%YZZtl#y8;*=U4& zJUxfg!LfE&$8l7bg2!B0@v>v-9wV$H%9V^f7Cfq-=aPNGq53ERQqPT^y{(_uU#icL zs1+@P(4M@IssY;E0fI}3JZKjU>50>X42|1WfURAD2#ipg#7owfn$`WR9KTU~{<rlN z*H*`!w-#$%iH<lsA!p!b<8K_&J@N6vtA*pIw{Bc$?ltzlx9bggaO&pJ>evJ3=e1nB zAh>w>;_LjAqho8zpI#5tJG|q5g2U0e3V-UU%4Y`_^)CGV+x;SIeygCjU3dLBOknf^ zZK^Mo1`QHWpkeA4R%|<Ha>Z_cZ<Z^C8a1b$#<%8pgyeA5u6J==#xPiKegJLOsAw4P zgFiu6UQ#<rAPO{>c6A7ko#(IXA%!6lMo_}y=+F}J0dthPK&K0dGn|p`{OAAq5}=D$ zO?VrvLziZgNmH3cOVUtkbS7)3(35MaHci5}z!Vdf2aVvsWa;2=U}?~UG*2my>O3hf z5{c6;%c%E`3pKgCs_|WX{d5nwMWPExwSU3w4Ldx;PmrPXLcq!$^rddpTL^Hbi{(@) zWbp|Z;;rwPENd7c3YGv24MxjJ9^*cl(@v1>K_dP6KC^iXWuCR4W|V=uVg#Tyyq3;g zgoaAw{dYGgE)ZA<Os!2}2{nc6-EVu;l;|ySBIq~}nFgQTy{~#9>IRm)yhJ8MY&O#K zOq4+}<zpTjuf<JqSr&0zWlcufq>NUiwE3;9FlvZq?*yD*_lR7HdWm+*(<LA+0|qNx zm9<cZKYQpTYLIfkaxx)o5>WaEa{0A>i`(c!G!JVYzR`GngNigA(+tQS?OjUyQBxtj zlJ~xO`>Ms4Q*JFAH?~dP$aA!N>6Yc)^7ekoed9+jMqkgnkNhExQ#S3lO-MLVcE9cZ zGbe3|X_#fknN!ZIZ@9;dA2`|iZdHI4R+XFbIpyJo*3X*PhhBXNs6klDnTBtTeCi6L zzwdc^ZsMI^i1ukwYR96E)bi7or>-6UGXG=p@0-`(7f0VB{x-h+`9#*yL)MqtS)Hj9 zyKc1(4Ky!1{_4%k-t^<|-@m^bSydm=?0ocMeW|k>IFQE2!x(IzYzzz%NZhvbDWDiM zwvwOM+<ThCugaRo#bvE7#4HNWEzEey-F{v1JifX$<f{SO7>FSy^IxQML*^u&`SpCY zD_r;2_-Lu>zQ8M5W4bk8REO&APW4vMA7e-VLXFn`fK2#uik0fJSg5~l?~{tJeh9r? z#wlF%>}pHG(TK@4BP>5RCWDC?F`&Ym%Pn$@)t)l8g*>nXJB46zuDg=Zawcq}Ui+G3 z&2j((^HbmkR6Ug`rOS#`xQ8YlkP_W%(<5`{Yjrp*Z7#7v_&v%Y$xdt*IOgs=GWxgF zk^gB*S$V5RXcTv+gobgnb}bpQCHU5=VrpMYVDDg4Q*#NjK%TL1)>|1qWfMa>GKPXc zfOZdtIurY`fvHE2<L||vh+}I^OB9=GxM8pQ3F3BDclNFXK0q4hX#6fU7r51wDkE!! zq@D}$w21KT>_0W&r>}6Nly%fvAY}S_ze(3e_R-?{=!U~5i5?=C-=z+k+yyi5Y)xO# z9=iQ`F3meAiMNI!!5b|SZh%n~-CAh81zWvD=lzhM6QP#k2~X|ZibN8z^_*NQgHGJF zOZPgYf5c6qSDxf7)Gr%k$R0=QDhjA~KjW1+edW{eQhv#C9&OtrA<Id2dcTmX<wJPc z4O$$<xA-U5xAQjTwLI`XHpM)NZ;U&3qPz|<;NRS_h!nBeE8BVW(<ec|yAP_602;)s zmpD7a*?N6}XQEMlHMP)!j`($eVC`Tg%ca@Q7IX~~0e%qzf$^MBPXlvKxkGYmAw}Pf zkC;k6GO(O;!jzD+zJm3J=a!9d%_dP2D!ndLh{*W!yJ*iv^tEz&ZKhx|(WKLkplt_6 zHeuJnf&7Y~ISh;I)`WGZz$@f8j!7x|fiRe?sBR}VajQ1t<&{*WRw&Goz}%dbF`J6a ziSbIcy-Jy|%!sw~@hiYaylo%XmksoM@j%v$5P;2Q>0bV@p67_z=tpr%_sg(f=JMSi z6>`ctw)oQ!N4OC{i-ycZtJSZVJzPG%Eavj_KGDCo{`@UE>3CkU6dq2dhhN{j|6yhG zv464qIs4a+`yK2Y-+XNQ`=tY>-uLfR-MpkZ_N9IQ!_(J4d|D@*rwBwcYkQeQIdgbP zf}=l59xy1si~5Ym?)b`GQ86WbioHBlvwrVoKD~bf34aq5Z(-~O?iJAnYofhA^_lA_ zd*CdcJnMlRnAD7Kd16(REJ6JCM>XWeuh_{C*yQI`MmMCPl}q~x{Q4^%5qf)5_%%y$ zHI^&uD>ARrtxN&%f*alPIYU{0+r&rRBw1-|q6%C}O!b_WN6DJP=_?wc6Y(H(dv14= z;)&)`Lkza;sDeH~J}RPbW*Mji1_mrHNgsg`7;>mXT_l2CqU5a*<=BN@5qOx(;R>Vk z1TYk><&h;D0h;tsK?DC6-yzE(-ak+_WlEe)EbRqhupERAr#TBf)ca_-R5+VDg34D$ zY!tHMUt<Vj70dXGz&Z?}^_BI;8=|k=*(=eZFr+p(+$)yYzIw94-S_7&2Z#O3qTVBA zqe&hQZ^w4~t+mlhMLgERd|P{F^x?vmwaIUu&JRt<e&{7{P^F*t?TGyz@*)UG-+KN= z?z_?5J1(5ezfeBC+pKpq%Hi3{>Gmub=ks%`b<>CId#zIDliYJs_Jmq;(HVd|UaTJ^ z>69P_z$99RDBEF2t#V@rX4g+DO44OBf^oA;lv8LU9>T=}G)dSe76kQaNmK&uYSu*P zG$0m9E?;8lTe2|0S{M?Q#&bDEC&nXt^D<ai6@vP-8z2|ys0bhYHdE}{g`UxhlrSN| zPAbwSYY>Gwq`NUj+21^N{h=KVSNfA@;JiiEa4>mRy!rsa7BI{va|EUMrZ)3G1RS|f zx!M~=9V1(C?PV!aGvn1{j(B?!hxYUU!F>zZz=6LCRo@{24?3R7gV7#S&TWV*aE?Ax zZq6w~x5tBpP-7_@Q+l^+1z=^1uU;%g!<~ZlcR37F;XZ;gi-TCCQ2INGBrF}r44Q_; zW0~bkK?4>R4ER<&8~$Au);UP<%{>p*?yddXOSRG{aP~@Y@{*t5*NSW7EvKC%8Qr*- zAgpbj>>?oV*ipSp2~h%vGmg`A2>F@o_qwjryqL^-J1t3uMXB^(42v9I@K5e~qh_x; z2t||5QFqAs0ct$Y#zA87agJbbT6py8Yh-E>nYGL0T=ErMe+X}c<Og@BqS(3AZs!)T zLBdyUU?uPvM^xoy-#pE(zh8U)Z`ON#&Cj2%H#Hvm=4Glu$?Dqus(<_IM?*g|A6&kL zU9~OhPS^b>j+K`p9qaxMzrK4Ev6y%ilW}c+SNPwA-#1eWFHS{FmAA*FID}tcvuTf= zHLc6}V;<J*DLL%Ihf@#!wch<P=El|ip8p|Mwmj8WH)x&S0lXPKy5Ynv?7_v6--Dk9 zbbUXpYyUuQ)SBgA`DygFet>P)>rYPtZpF{f)E^dh1+wL7z4D}Xe^O{z6!g!EWan7` zMcLd2m9w>gs4S%+-_NshqtfZBjNXEJq9zcWHZf)tI3LB+VTrJ_Lz<A@{U3sS813L- zTx~GI=-ee)4*mkqMCj@@AlY^Gmq=Hj<rM8vf*@H#{WuyOgR{6acJ_cShubzmR1U2E z4-w7zkYzF}PT!-=*L56)?K4Bn$Ff|QHsu<Zh9F<stJL9b6L=1;;d}WoHRpgLJ9V2O z70-7QU84Wt4`1O_)IZ{JIR1rHkdJ1@ypAcelHrR`@3}<I>)jC&ztMjuC3pYf_}O*B zy&3dBNo1eE7)zt`u?j9P*Qt;}pWQJz!B?n-kM_*7t@S*?M$GnN7BkREhVUU4{WG6~ zuL&!301abdXsMB0TtUqw=>5*89uC-d(Weo-Om`k3<#YIIiCGy`v(4o%+Sv6toaFp0 zwcACYlf*8d;~#aA3hZQOhd#({x-YcAQx<X3Pg5dRwD$khR%S~>b-_g8KGtof&doX! zwh;8^P5B`s(>$)y#c44MR3nG@^;0}8dP!A#iFgN-`k;$qs9>{eV-)#egl>xiJn!~` z6;MZz#nvBOyK`3l=0<LEba29+c(>9ZT6=LSFA8OEutD$^qLy!Qz4}%VWSv7qEY+Q4 zZa^YCOZmqVpTN0_ezK>?>HSLDOP8aPWIFd5sG`XE#FH9g>cIzotq4L5X8<kPF~Ry` z<}NZlu@A-?K0daV%ip=P`^HPIi#$MfzHqUWiJQ!YT9j&@@XX5Mc2*i3M9bDV<DheE zNe^ktjVi35=U?SnJyoD)(s7dZ5At1{IJa(m3qrful)#%<-obVJA4TW>$khMG@ohF{ zF&mp(Xy!Hxxy)VJ*pYi1n?jUA?om`y+U7QsT%zQXIl`Qja_OQwDU@=rbfuD%K1F=e z?ejg~KVUy?=j{D{zFyDABUP=e)Z-+ZkNp7AnG{OKZJ<1$wNf4i-%QDgNnF!t5fnSJ zE1YhsEjP%?04)T+XgFUQ<<-ebsK0bKR+^O#Le_IMkeKCm*2EM3JA3$#5<KdvG^i=@ zUN=a{!Ed<)TgTEkh&AgZrXvHUUX^tDjv2J{GW!_aGz=M-fd&NB=xS0-Q<yE={Nvz1 zcJ=+d%)`G!Kb!oroj<=OF2PLGVRg#yFOQ3pE)$#&*VpInw*CHF_t&0#nUAk#I6tp) z-Mvq}f3jkO&LO*hYoCkd7Y}cKyqNMSbmmh(l2qQ$ic-J?s>?ASD)SN`uc}#`am6%o zQ;6gn`}RsDnxnk~__4&@F^Tt&vq0>a%WFv)CluIcqb;WiTXjhZHIMG79-n+VfNL2^ z;<8Eg?iSv?2c*a!<Cu8$8G&R?mrOkXGOZsc9aX!*C%o(%Cns)q^f}vFS=bx83>ZuL zJ(Au1KeBt2i;Qf25mBg^a`yt7dSE4sy@jGUU7!46ob>!LTf0Cuaxb=AzEJ)*FQ^9~ zyVV|)Ho~eM)LTBX3@<iEF~?MAAR|sH6WNO-NR`s(An8b7eyX;#R52uK9hc5bN{TCX zyiUT!M=?K-GuuiXA!EAOKN~9zgbN5ZIH}!?kT0j;$rLli*~*QzhO9-VH$CqT;4C8e zde_0xmzb?LCr=|N!6Pv$Z=xrZUNrc+u;R)!*Ul^Rli$J$3iJQ?%FjO3IIvn9Rx-DI zKlFHXZpGqe^z;X{Gv^=syZn3c{|s8y<+E+enikO(!+F)X8RYGfk89We+4JG~va!DI z6oOf`Dt+CfCqt&_y<DCt8(~XRpZzIK9b|LhLl<+3N~A@h=On4jFu7AqzfDGRR1psM z|NT)uY|cbOn$<F$066?dyh&qI*pQYLiQ{w-tdQm)IQ%pS^XH-;$KkY?#Fr!TFlj7< zFR+h?W7a;*(WdYuFA29}x+nuk04_thM=@DUG@1+`FkhtSp0&~RQQ0bH6f?SzglGOK zHe}J{zA<YYV^ft$hl)*&2mlvFW3HA0i1jGcd$gu5pDpCMG3JC1xhQSW*j63zwOcNr zD}of*j#5S0TBg?GCbc4DG2DvSQO0}SWF;<S#nEvBlA6Z%dcyX}zFaC@U0;e;=9nv` zQx#9a{+_*G*{n1&uv!kHrh}By9pp&yv^iv|{n*eWd3w`FekldJ!PC<}X7Gq@z}+jg z?|EA1dL;Bcn<0I;WQoK-l+QuH3+PaT;lO}Y{?}>p85?WSRu&Pm@#O$N%H<=GM~tM$ zHitJ=$|{Fu8GJeaolBe`SPk~(Fwy;tfvuYQnYxC2qb(hbzGK*8$PKkWf=C@G4w;nt zKepc8uhlqeQCf!(cxn6@=Q5gF0o1qM@pm{`HPZ}ajO#uCIn0db;i)oWbOiTZev#ku z<*)ZIUORMcwaR}8xyx!sKN7XV&M!u8t_ZJP)A#s+P1U;5nf14R1kSJ9`Q}!PS<;3_ z!&TRJW;I)d$B#cgS@k1+Y4PtSPwN++Kg@4zJDyVb&hz!I$>pO;tRlf;p5(cMfo{sW z@xuzw*7V-Ewq5zzHK68if3u$5qV^iw2e(Kc-``w)e`@K`z2&@i=WP+)lb3Y%O&|5S zv|l*p5VN`97P-Lr?~!$eag*ttds74H&n_FOn-0kb0|s(1CUX>on+ANO-qzyV)>(2P zFfHb;imkTUBZS{Q2-NdxyI5)=9-b__mnL-{opXY#-{&N8g{1z0IM*mnty4_#nN|63 zL|IkkEZDGZt8|C42$+F8*%9o51BJsK*S#vejRJ+)ypvi5i?fhsv*AzKnU9aZ^06H_ z>2}Xrwo1l2whAQJ+je<YXm`1eZ66?Ap^l*90KVJKW+!SlW?^R-cU5Q_4PLS|Jv5B( zh@(FU(WO(2SykD*g3ZIEFEA!>yBk_*6G=Xf1)Fzn(~}CsdzmNq@=Y(nZUa(eCDTN5 zhC{gXZIR2wXW5Ssz1dn_R6wb?qpNxGoz#7p=+*>^w(kG5y@mZKd=Kn;*lkPFh^(-s z%3_pDDkgYT;ql!X!`k$&6MxBMbii)d>HG?mnY=38L=JYaS^`jld^Tm|HE5yhFTMg} zHF6^!$#Mwq&%uqZK(l0z*g>0Mb$aNDq(VbRIGw8s?2qkN!<T9Q?K7Q_F2Q8mcf#v^ zIvh{s_-sk&IOfC)GMOR9fuUNBQ9(Sc!W{VV{SsF5c$BtJ`|99WTAp8$z%ooP&d3+W zBFah7#*@;B9`i1l(KPc-{A^30c`C&`UV1i%Y`prq`JJHH15Ixr6MdL2lS@<f7OYcs z08c#vr<|=i=Lfk_b;Z(vRAw7W3EUo!-Hp|rJ73XQ8SGI<eDGOnUq2^ib(;+HtY<lP zm0Y<<b~<=lIYE-70LaC@nw1<eBnFopCPyV%AjsNG1P9A6e@9se<n<kkLibm$P%f!Z zz%%`>7Ls;mN-4FP8*xYS(nHW`Hj2vyI=N_S*_vl^$v>#d@?yfNY{e%K6nRP@5}u)r zc*TI$(HH{A-{o^cLQ8%~;|In^FdcpqC{aizv3TI<B(=xrB6cL6)@MHrX|Bl5*jmw> zPhKh&UZUh-(0&JUg89Z6BI`1P<FG>6bSP-HtZzL}NgEXQlY=9edAXn@7a?#HmThdx zH2r0lk@0lCu7bMnPxjy4yJG&BDcsmymFYA3?b@T`t?xf>6Wkn8pLgEYe&A7~bH<<I z{}B5$9rLO-*T4VP9$dTm@9U_9lF-)bS?Rdk#Wut%f)c$Guj3}!PTcgXMBOpet!;QW zJB+V<$|h5r(yn0k0!x>VLBPBQNy#@LtOQIAAbGQ-P=BBmno3lSjl^Hw$%c0{cw4|x za#w-KSjg+0X#&c9H=i3<c~!9p^fFK+Al85#Q)L3-bcSe8UirD_XyEnX2!bTgA7#9O zi^w=!pW>PgVoi;=P+XPA2MoDBl#s=W`wvl0K5Jm!0yfv@=#yo^TcRgCvZ9R;ap^Qu z0ze8tRhP5weq|zO1x$}QgczdxNkB6=MlQiow`II~&nbvBFhw<1mmsBpsr21>#j}kU zI0n^N8bWrQ$CBsxg?yypyk(_W6TUkRk@AF(v_3#lYz3ICVH6WZMt|H+Qs|c(2IPl? ziX=X^imug#x`aa~owa>@dB<CLKkZ7D!{E^g*RI_f@}=@;Gadh3{_y_lhT4)F(7cjg zYe&ky!n11@S4SJA)Y>R~U%~v;GOSqn53y$QZ#dRxKJwuIN4s#BC$HmIL`UM4E9q6w zo*NrnsJZi_c2uE7^?I#+>sN>W5Y?G^QTwm7N|u^0b9V?~434)OMJ|l%TZWw^D)7`Z zr^wnMtpae!#(rb@iU03l3V?^?W?Ud!YAB7yVNQ@O-{E9Bmnf9&!{iX=I8*DGxDnR7 zFxZ9&ZRy!#5)3FSm7!%)_8kD0mSf2Pz*C(=qe~u2Q<s>J#L5I^406{1PO#CCi^1@j z=LG~OkVGkWx0?|ZF#<K1dzpKOQKC43&KIFJRjbXEYB(|}<;YC@4#?EK{l?vhJhe1V z-{}Y@sKdn_cv|mesT2#fG?_iV!&w+6DcQ$K*?xT0InZDR7BTko_-3H=5;>C5Tg<GP z=d)Db^C@VzLU=ov5Ub0fMojSVYN>42U<(}{F4!a|x3vs?fMHsd??HWsy<!+-Gps7T z5>AJV&v=M)H?E>K&O@Ls8r#<Fn~xP?<3x0L2UVUOZ_f(Q2Mj`~Mkfs<XZSw(PSl2p z*?f<L`jRfpshdl-xT85<3jIMWF&~c(9ApYneb7T`->DMW&vW-;g}(QiMDm|sUFLFz z+#9g<*yg;=<qbhB+aey937*>bz1t=x?WQ=pdpwAG|B<YsZeX@qvd1>WJ-#NUVQ7?N zJ)M+$YHu*=Kg0`gE(|>y3RjjwEki5faBU5hEB|!9&R$<L`FP*>v)!wWpUzg>A8=~j zyvAT<XKj+}n!Ldq;BV*Uq6^DAi#oSQKkI3$-fB~gS5pr^mQmxhIP*92w9HU5^q^Ad zsJ>FVUjO{fvClR2i@LQPx8&5eHs<*5`RBgV;f>E)??pQf-kGm<zWvYh#nj_pw`TlU z_^Y?uAO3;vmL+8Dd(gSvW{m=2N5nMGvB@&)(b?W7njatU>C({--cX=CbY~CWGm#nt zHb2@~okLd@2rKk+_ZEyJX8)2Dr?*4un>9}3+VjZ8(rD}6BC@ufU|l9nJ}=sq?HiS# zpL@uX!22>WXGZKNwO0=}Hf(jrAK%2lzQP%8osIY7#Zefwur71VvM$C>495*9hGFhQ z_AF@ZvylvcSrP%}wuDBD^JY|@sx@*Sn2M)uukLuu!>YPQqAMQqnJ*q)5D;=d4r<GE z&G$%3y=ISA->&7wk@nmu$9MbP$9tpo!q>h#Z=9Qd93o~&d9-26t#+^56z|5e8^~n7 zdTbW}?^p|FOeFd0g$={0k*)42nclLj1Dx)?3#aJqO%)qT{OO8H#E`Fi%eG`*FG3#> zz9AT`B9{>yk~x;|IA|?^t`@0;opGR47f(JT*e;~;883$3e&d3A^uq(Vmon@)<-@9# zdhOuLj~}ojYpmq+*nvH<SY!_y?;&m+wFC5nnebpIb(qxH6UN0~`p)bu>Y}U)|DeX` zA~B*$6U5ApzjFog^5OAR9f*eT;B5&imT05<n|Yo`hs=)VCm*IeP^9QZjwjxBnCEiN zR%0BXj^JVvV_RPGJrMy;(o2P}0Kl9Mk7*eGk~UBvaFb7-{=-eK_am6P#1Topr^W%R zD$q0tToC*13(bGS3EjaxQ%RyBzL#$?!Hos7HA?r?;Bt+b(pz_kesCMJtxyYlMtIwp zVEynyK{l(RlB!f2MX<*FF1EQVlm01ZDxn;^B_5KtgKk2xE*GR6IP9%(K5&Yse=t;n z(se0Q8bo^dW2m!drmRAw!C(&I0Y3n}1*~`wve6c$JWiOFA$G_vys7zw6$4h5A{9E6 z*M&g|o$rJW^R)J7!XhVnrEE-gk;o_qqHG3HDKdg^f+kHQ)0#?U`ATZET(7T!LWJ?Z zOm#LrVpd+FX&rUE39YpH+b~IGLArg`OvaYWNM^g1QV4pZ2w`%<LGb<u*Z6DBtDkPW zn>+7purn&jdEa0jGua1vOz%9rP50la>Yw*#3k#BN&np*2KVLrb_vGZ)dv-c8dd4m- zH@6-7`64OoSmCFl_YoUIr5x-`zGUEO!;e&thZ=tf$n)}-*p~I)aS|EY+d^%N!CbzC zXuH5gcHrn|6WFrhC@ViRaYX@LqDxw3&bd=OXxdM>O>5H7%akbOqBSp0pW~KglPF!6 zxzd?lc!|f8t7KnTB1O>TAH_*^U=Uy!G5I?)M)W-xivieTn&#@;aXh}=4N{O$<WyIX zz)>az31TD{R7xeC<jueaPaUQX51lp6q>?!}5u1iqMC{Lo8X%C$B|hMDZK+uHI#6GA z6B`?HD_M5DGM!>Qk;bg{u5)IqvZ;g#jyxzMVfhHuK^gK-pJJ0U#lwb@NHfeg;;`E4 zsHix}ju9!m1@G7-G1WG7OXQP757KlUWQGFS(ygRl`*(j1zuh~T!BBamJMq@JCmVbA zliTLj=^q~sAHKfL=D~pvA6HyE9<7=ArW024*s*5pRn6wf^O?H$DJlDnSJk(FFZy}- z^S;mF_Y-v+m+#rfz4g%e53%J=vB_U>^T5i>KOern&duD$K^1&hZ}Lu{FfJ!w_5-YV znJ|ECOd_nVlhY<6=#apcZ5b!z%HeazS#BpSQ}wY?BugQPOYmY#{w?EbaoO5Z*abW^ z!Ubfa9Dv9D#&dFFa^#m-!EQo5tX=>)Ky@A4&HS{Oc4QBlS*D0ACvgcBeN-Ewx)CL> zt;n-PfWqIMOoH+OnT}$PI|-CTAW#@AA;&EnYu6?`3Aib;v6{7P4tyzAWI0~RW~PTB zHW?zu<@Z4{sW0U?3#$;uK{jCs;s?BdMw!~=jtD}KnNa;1H&}qf+UOX=Xs0=dAe#}o z9hFX^K+hcaV>oP1;40I6JxR78UkFm2=%RnGFxAe`i7rH~uHSscZgg4ni8)!7QlHJh z&VvJO=iVR^J=!EE4-x6wrrMC2prjc_xY9b0`xsLTe5*^|L*n3q60A5uih}%Vc<h-h zSXPl#NRW?%OrQB4DhuiF>-PztekyB&sw)o#6|=Y{70NWQMDHskRTb#pjH}xODIUsW z#6UEL*Peme{Vm-VYL}tITrK2&Kgo!#c_j=8r?t$AqnFwwemngD$=UpUT6`-mIMBY+ zW%^Ts=Z@bc%ma8)#h^iecxwxE-slCYQ0-9ktq4`(4YFq9YP|;?Q?9!vgI{f*#%6e5 zU)nYG_<Y*px;R(N*X8Q{Z<j5clY2M4|7QHJVEgaQtwklSdr$xT@aJaA{F*l1t51U! zViNv5-}dG%+VR-z6fj%k^W&hy!gT}UL~%;2fqR;7hC=(_$$cNTPs?4L$N#>3qupVq zXMIRadwO|KD}1LOT)GtrXTKS1I<hS7-q@|bI@7jO`Ni70@ZBc&|LWMEKe8?(X)QLs z@{rqsR`X-0Cx@@|;!q~bY?9<>ozyo;2A%Vw(~69MTNV;}XxTS*HV}0)P7(vbJIgb5 z@DsLnn#-d<W!iluWY3(c;Z|P1);?3u8pO-m6dz7hXKe$UdF+>j{D+Y-lDc7*xp}4Z zWbvl;WPxKl(n`jQnR4%qjGichMpmay(bsy*Y0IvhbOzi9Tkm)rz4F!FC-u))w&~f< zH{t_XQ{RE+C>2aF59KJU-xr@mYf#S8;i{%T4d$LnlC^~Ex&>8)XKrATdM;m0;YQ57 zf~m3I%oI4su-W{JBcJz9nv?(wxxNeML@D-uLzIsfvY=-AoeYQ<r+5aONc!7A-f`YN zM!Iod?t2dOMNCJ$oS37fK4)X`Sjnqno^=g(eez08Rc#IttW9YRHYxo?<%9(TxI@Eo z^skgj)t?4%nfYA`Eipm@%DRask{AJ$Pxfw*+U_!`u0BcritkT-<#80TL4z#^ptCIa z#~B<71=5n=4X?r<5W?)1o$ygPmFZ+y!=+au;tJhP#*qmMy+NJ_ii3;{ij1hEs4(M6 z3bv|(?ImERmjN1=Y_r4g_?Q~TA{Q+6b>Q->dboE;gxGJ)Y7BJ}B=hBRx18gkc3I0u zQh+v^IO0WFOb@gP#966Ig7-%dz)}o%Q|jHH6t+X>#6yNhOw3EQG|&3OuO)>_g-CYy z0}PL6z&4+e*7uSa$I*4<>C-qy)t9g1LF|+k*!Xf{D;J%@{J1_7JLYo1F>?SO#VKZs zgJ6nSdZF^rxX6@N-%pxnTGShzIGByp6QZ`m)50R2{AOp65$rN-xzHVB)4u|iRJ;?^ z5FD*=#sUvXrBJQ%x&Z`&q5cr<yg1+bEjCZ?2V1?1hR|FB$Pc%#%*pnhhZM?K#(lE$ zC(5}V-?;!%7;dCxanm!;#7u=3vud0)rl5yahw3JXJVckoja!b~OSe$}%;g_i{C4eG z`{b*E%N<`Uw{<RC9e=#*uJeD0<u2UPZ~uk2<o+MZ^H$F@R<F5W73NT-uyn!k;$QuD zQyb#9+1&qC`seMO{#a%0`vYP4pLfQYzi!;!>e2;5Ob}zZLfL+ZL))+#t*zi3P#<v8 zo2H4)ovGB9hz!by>mm$7XxIh|S#TJne{v%ae>2Vk`DhlN;5M|RwG4wcl7d1v`61=9 zIIW=+<_g7n@{%83K3|F<^{Em4vC>6%Hd+}8Lz9k5gIUZt9+!L?yUvRnBHvd?uoLJy zNuSjLcCxV`n8?BGO_J!u>&dYHA?Ot5U>!+RS0&4)5flJc9JOwY=L;GN&yBONRJ>U9 zFP2Dfq&zZT;46It)NF23^{?-klj@`7QqaXh;XRoalBKQQYs4e+d1OK-k~7^#LPB-& zUnXXC7-*h^y1FWO;%}TOA_*b|7;VwLZqHdC#mspK5j&(SMQ?X?nnZrywJeWU-!=bm zu;}QNuU(eGIve!C)~2tATz_pi(!Y54=PidD6~0z$KRWp|W!qc{+@DAC{!{pQf27|1 z<;`swwzqA6INRVY*ZgdKb>wbq)<VYe{Kv10)z`ZhyC5+!8}>8r0Z*3-K;csg8oviB zd1#)-xo?YnKP;C|qh)i1m%a-7xMUp*X%s;0<#Y0xQ-ChPNh+P}Rw%=Jo05S;WvUSE z6o3x646l8uh|uhA$~yrGfScWN0+v&6w=5NqS7xw@@TX{cB@jZ9`M}F%j33w%CqP{< zM~FC^ZuBF*&<ua`Q3^>i<NN1^v0lt2CW<O<$P|le+Z64YY6M6JY=o0)CK85JH19WZ z%d+Pw9Fytv$riYQ<evt{$kU$SMOO?eb#z+hu?QFFtxJvMlTb#ns!n^DCD?8(&%hhR zGNahObP`Aq2_00}M10p!q;Q<5TsL!6dfBnuM^$^+#Y5bmrS@o6_6qir#g-}rzLV5& z)tqmTS!bj?=4qqrB}g%R&3#DKIVu~q>6-cK3N-S|G-x~a#3h`s*q+QRXh5NBov8@z zEVH2xfuZNDr8HhlYdqEFRR!E6;sRTbUd^19_TALg;Md^uLF6bW$N0m8&_f)_UZ0Hv z^a4&85HNz*gDTH{=LT~4QISF3164X0VzbvcJuBQ>=_qct%ewJB*CW_&=IE5F$JYDl zyjyO^(m3l)ljx@ES9p~4?a?#>e4M=6cD~~6yno+QXP@o+dM7o*zQ_p&M(doi>OwwT zqo+N1fB4!DlS%VlhZ{wb7YW$Y{}6Ir^iVN}H@6)+7Pt5$;K;g~eg8!4%iB4>E9&`$ zupAgea7A|`;o9MCJ+}(_Kfj4AK32YE%Nfmz<cr$$$6Ie)dscM!ChWMkM^D$(M_D?z zxcSM85-!41+S*$R|2+7tH;_r$=ej$h^W6TF4v90OW)byP@@>UM-SN@l+>Iv7Vx#2y zVfu(ywO!Q9aIi_XOaM=fYa5Sx;_5U;%G_iJk6}R${?vO2e)W!P`!pJS5tl70P1G@K ztdE-A7JJ;@Cm46rp*(gGhwS1#ui$Q12!{y)rwyfvB6|^m7+%fwyGR~(qrbJNEaO#> zhIy){cWDjwRiwz@v?0uBKfx}Skaw+0*jDG>3d&oT46@9dDck_lhZv6wn#4u6e)<)@ zlBy?{^#N=S+z9`p5#;{`w5?x;P`)uQJWqbtNZ`e`V9H^a+Z#yd4%4ASvLbcMo6A?K z936x?P37nU1F9k+{tim(to^W@ES07;Eik-qft5P{a5KM{MpiM7o(l3$Lu%8K&x==Y zfAt@tO?aZ?=Qz<J&+DZ&Js=;K^%<lm;^?~$Ed0#&z7*Op7N>9w2k8v0g={3--=o1S zpN}vabc7?%Q8_vie@EYa`vTi_-#R!BQeesV2`|uGhSVy>I-bfv^!yXJGgF!D-V~1A zan?9~aJ9;19zEEcR5z@p?*=K2d}4AvkG}^&XyXQNN&?_IXFRJl1=32e4Nloi&5yRs zDto7o!`O3N?jmb5+<%dCNfI(rphlV<<Fvjzezm2`SioUfv2l$pU+%mx%iv!CO^Il? zI)8&?iA2y>3z|92YAgnyM33+&C)t9Sh&5;y%3zEFa|FOb5@h(neu>TNaf<CliMHa! zeXh?zQC9ZmyM+pBF6W_-@0%Q3nP5{0)VEi7182Rtp?LjHUd)_hxf&29XA2=%<X_py zLK2d^LRnoUF<U!1AW1QTdje0`Kt(=}c3GL|dutedZ)rofW$GYy_#>UZ*Hf9%+Rq#R zGzb_Rq>@x@d5BcDI$**l6o?%G1HfJ4&zDpGL2v$gEM}lk`s%L)S*Y=*0CRYQtZA58 zxfb=p30h05u*Vr2-Sc$kr-t#7@3PT+pz%fLN-9h9xgCDEefmwJft~!&{fM{r1>x2u z=W~K5c#q$&jJ992E9!ZD_tjhSvwd5Yl0N7T%I-e1N?VLAU)ufGU+3?Ch(Gr~;+Kx) zMRaYMs#1O%)YW_F>?7xxn2Dse0<{y2H-)U74@71vtzU91sT*QwmMWkm?^0P?%XnL% z4OG74!ctWX*lXK4S17l^Tj7RWt_-pI1XZlm9w`?K1eDXmA_2S;ZMY+&55&t>SL*uN zx>ZD>Yy>c%@FJ(4^`?%;WC~onC=1MY;7M*8uaDVl0AN-R0~|3oXoEMhyOXsY*G+#O zMc(eMtZm9iVJ|jxOCm^}WdJ3PMnf1O4p2Da)NI}ygvN;}moCU)@DP@QFrF2F<witn z8En!s0@F_8>XJUX2{(e&of3*ZA2mxZV`0@fe4IXq&1Y7l>Qu!CDb`i81~Si{Bjz}k z1)xIp#QB9&bZH3<c4HH$CII)V%Kc5T$<CWPlCRnCh}d~aXK-@gDZ;;*CH)1Te{a(L zaB}cd|Kl(i%KHu@nt3qsJ^tAdm0#pP7w7Y$63mmn7!UP`F~2VTvtx~M&f^D9TAkiM zc|E!`mFM`(&#?RV(qXIu%yFf#vz5njvIo}&36twd$cB=jL>$_IPRl1^4Zm`@_=hGv zzvz0g?<8rimQr|<=|pxHJmuK++knd2G3`7*4u{OcnTnZ1oM}ns0-_t$fS4I1;mW6l zLcpz)pq<Rr#>eD7?UHyzS5lPE3y~%>kQU<{iF-nlkNkgfLKoft!65-we@O_o8lRV^ zDq~NGS7+Z|<Ty;R6;XD~I-VW8qj!B=t%agbWSov6oU%zI7&w-@4^)Eke7Q3eYiSjo z3R|YA-iR-7&emB0$qPHM<?1FgGOjmhG;btY2N@Ww^+XV215*im>B5GtmrU(SN-(@m z23xSu$^26LwmLl?PHL5gE@xql<zWiMzs(Kh>|bMZBCFNGT^ElPm@0qhC3tFpYwi6y zhRV;_s}UnrcYmK1;-2JI^3fCT-0I}IxW)0)Z2v87G6y*2>&`9o9cUH^ZE%|FAWFXv zct$MXyHVexYb7m1Bd|capALGa#%n_rk}P_?|H<(vu;1-H*ZJZ$9;?f^gWlY6P?n9X zd`60HHDp&eyas|zqQ?22Xg$wDO;##-tv4QhH(jRGIV;J^-4X5I5a!E`0%CZ>CFb>r zxuCn%cg8M3?Lj6!;N5@IkL?8G89f!4W+)qffT50?{&?A93&&))<}XktCkLoV8kB+) z7-pSEUs}AlY<uQ{ZPAlW;MzMGfuC!4{bFUykGQtnJJI<a&B$W8#dyz8FZ{f+|LwJl z3$G@AYc6L+Wz<|ak(lA)aM@Jr-}tGn?~5O1x-u^ZF0R=yx$JwmO0%7O)oS%d#t827 z_iryg9?u@vE?iD*kA3#)g<mc4>6VtW;gh7Dtva_(-ukuf$DQY^HPYIbk9$06zwo2z zsPYbj>8tzS)VRDn(CYf__lC<)Ge`DqOiVa8d1-yau}4SVokYwm>1-~#MSfqj`~8e| zsLs;XgnjS6*sP+SqN!_Ay~Iw**;{sRw<S5%<wc^<TMv&ZzfDe2U*z)Gwk*7sUz~Cf z7&yR1lxv6o<H<4bp39U4YPm@bxFFnJ7SknGZWdsP4bzCDy554gDfN;WCwloIV!M5w zVRY|IB6yvPUr*w_V!B3f*7t?j#A7RI3f4lQE2rMAPg6c}g|eze!k5tmY}kJ;lkM&8 zq)U-<&b=647--}&gp-8-vw;q7*}86q?><sarzQAtknI^%;YmNDin-U@RD}MmE=)rS z)``Yv&%7$rz9VUAj#AUHkR4A04ul{$`Gol)1BpJt-TJu*eD|I!U5)D0U`C-IR&Xr~ zcI*rzGY!Q6D)bj6)!5>|cV3k1n2tlexi6yLL(}Wr`2y7^DZpl)nynBtmNC>9nK|?X zq1VVkX}aa3<?9?GM$Ta0dLDE2Z)!y$!7_MCqYG=;Hv{P?mTlGh*BOl&<Z*!XRWJoc zAoB5uV~(X$P0z6Jo{qU_Pg=z0%Edn#Kz7taDrjW$8$oH}oUFp?J3FvSIg77>lM8`L z(6x|})$}<|o<UBkE_Y*>{H-o@^pIo?y87lps@92@fJ3Wp0LH5@jgRK(VYOCZz6?MY zO>PhLX~{RY(Wa{j`-H!9P<0yjYNJ>?YfEW^WuOV;%KK41H}Z?$M2MXbd(lQ7s(W=> zf^qc4K?Ch0>v=J?+=|#Ho+-gMnGRO5_}bZ@?}BRVZ4U;6{5p2f5^7(PF2j`uP~4au zXEedyD(1L*-5QK3;DTZl!K{1MBJDf(|El^D8ypBBvv?dcF;mxe9D6q41E6hIZ|^)H zgO{5r<;*EQ&Mo=`Uxjvj0r2%?%7sVpELTcq8%?`Rdr<?%m)X*)QARL9yO<b}m(c{# zh>WXUxCf!K9lNT(!iaC2zJQy;O-T(@jg?)Yqu)dh4r9Dk$}-nySf>24-?@AoQ@`Q< ze~6st)fQXcI`}VGuh+OWwc;8be*XtBPn)mZX=!;;PxsPtWWp6u)P4N<p48N)()SD3 z(<iF8J^M0mh-+ONAJb%eqV57BNg~CtNFDGM<v0sH%2qK8WRp>50%RL@O3!Dl$^g{d z(ZxL0!2B4%^@qJW>{9ruQ-V%zlUWY|M4p+xwi-`aM3e5a1S!}OcZ=(!Bs>kvv80LD z-a#>VNIrjzJ8jEKOu&@$R2b@*3BDU%Y<eB$KM1coP&?!)Xdo1nwA2s6>8>Oi!IZC( zav@O;0gXn|<a9W8*{eQNHqQy&>R2N2X-|Qq-YYekZK5+tCA9M0avz4F9^kTfxD2bQ z#)F_|(=g%8j1GZ30F0}_drQv;(Y#dl`t3BZJ!J2+OevaWWj~DYWGfeZ0_E36Dx#R; z?@aePWD~#<Kq!KPOq+5vA!sV%8u=g10|zo5r%MrWt!lylv=j~8lB{odb`7?P?);@e zxYoXPVWyP2)nhq4xKU&FP{5<;o4X56A3j&)i?I7!u-oU;t&gwUQc`X-PhR5>9$jA$ zm9aNwO`&qkC#{o3GfRIRPOn?J#k%zSN9)n$sxBIKSWY<go#~60<ndUv##eMRYXasG zeoiQIuahGeqe&=~g$Q))EekkK`p$f=W~a|-UeEI=VRN2#mIZ$3C5E8+!GKONrwxao zNd+i0ndA^7jcGnZa))cKgthg?SQBw}02ab2CTF|R^HTY$(#;E9`oSDOIQQoA1jn#y zX>6h`z(B@xw7t<v(ijtaLskFp^gL^tWG|NVq*8I1ARgN)^&`>rE^vrz*ob1OuKf~| zZq&_3yzNCcV+e-{4rjo!*smOV6i5J}TsOKW#ekNT0?LjPHj!an#80ZxLqrb8O_XSa z9-17G*5FXKEDOZY3O#!V5sPcC17c*lF?=mQKD*?`L%Q)lr)h(<v`lQ4={TeKA{Hd$ zwN?0Myb1|;f<CS|lFy^#NEiZjh-m5vH7kk)I+@sh_*{TJ&ft-+erKbHvbExO+Xe@1 zS@bCW{47D7l!l_kBp#SOdPYgqXY9+S4<Z}ReOdxata^!Vh1z=n*zaBQwk$Zv=UTkU zG1-o-k>=L?f@c_eTdyYoJ@;X>E80U?*V8*jJ~5@d5yb7R?@iO#(wP=1^;<hm7<8n8 zHsoMtK9y^bU}tA7`$*jrbmGm?DbG@Za>}<u<hyz6ba92mj_0BajoL|mB&Fg{aU!KG zZ@`FmunA^4<-RPKUv+Fq<^A#p&NPBrS>^rD+ZFZ9t$)mZy<hn9>^E)sczbe+)rHBI zt#Y{Rsn`9NHxxX1e7tgO@jrys?D_a-`RI*Cms?W@=|tTsh1mHUwMSpp@4UZn)xC3; zXKOPZpS=J6PvjBJJ^MpV5-(IM+Z}Z!$F2)MvQD(E=kd?ODSzM2J(qudalT^x@?(ir zvYv?w@eE<(8jJXzCz?;zd(Re69^%D3r*e5OraG6n{%=7vQZn|H#X48`31;fq)Qv0o zoT(h6YNB6Fl2{57MshUVzVR1gqVNfhETf!r*9%c+b4RQ}V&ekFFrOf*-fB=I5wuVR zJ1foVF7i1^QpKb~h*}wXva*0!23HOgAZvupjdMfR4@v?GlnYa^W6_>Y-4`qOf0ag* zLAC-9=IC^l3|<YTWO+JwNt0iZ)mhZ95DGm`x@|QwfYCWfa)03SjC3E)8Ew{(aJ$oa zTitht(;3B2b%s@qI;e3+X?GOL^%2Ozx9m7W#ksRoM6=cvs_g2MQIRmWBcC)aVKA|k z&)KZ4qjLnuLAQFqhhCOZ_Km8hbnIZAx^D&7Ti2@TI$!O?ey<NS!6ge3O}&ImWefv> z?acQ8>BUQ;XT+TuafI|a+f5-IyM6bbX~{10oU#D(3rozqFyJZ&;iRw);MhLzy&$;) zt7DQ95aNv7dhfkFc?LkfGK@;oZK)x`Q$Ug$lky#x_wte_aC-`g0`+rqFXwZ7iRW&N zyO(n00eK1H&K#8Q2puY6k!d<35^QWC9WwKWOc_sR$nGNf9TIINuV3YIl8IT9)XH>7 zklRO7zg}Vsf02c_jkbaAW%8kFfxUsqx2<@byqN^emL{J2{zekr;RO3m(6>GKOp0{J zi?JA00!3F<h3%$+E=+=Gg+DwBA2qm)1xlzKKLpn|jHoss<mp*?v)tC6sOHvDVqpMB z^HmSvptot^+)r8kiRvLUfO8u(GrK9y-5~`LGzr|gk&B!tmQdtiJzPhxa(a#`mkgr) z9HG_qW+}js_ERqIgQzZr$fh7VHg!qTt}s#YUztIZQnWW3-ajU4wA6WGYb&km(z!C- zaHtZfCX($vIx3C&Oxf1P6CYA>G{jAr1+WBDul*tbm&yX_+oFzNYoq7=2cJ8yi;ZzM zex99N<FqNKr^0fxzte-3XRV^YTKg^ye?Bsew~yMFwMS{!wTQ`()XapI{m{?wq{Bb< z{9XIqDk-r1Ng{UUX5b~$#<;dIM6^hDB?bMAbk}2Bez4Liv706(J7#iR4&g0tV1=sf zHq9?nxN#$q!^8fhHK@&rA+U^+Y(_*=cFaNo3sS(q-k`qz+`vi;P4Z6}wiQvR8^d4{ zgaU8P(56ahylb{PrYul0AiSinP8(a~C{?`4f~_S;vL^!>MUodo4{)YMB<iW`Ra>}9 zaT1zfhGP=~qXpQ!FtQdGUo52X`Kl2_%VrXZ_p48>3Y*_mM^c@_)xlfC25y4)dNB<o zo)<PJv>T-eVoqjMDl%ByUglX4jP$0&WGjhyXb&ixWm2keU!<4><<J$(<!Xv;0w2tY z;vkoeod;f)=X_p%{U3sKfAxmG&l<aqgdrw2A1PXQdGzsu&6BkY8nKBg_a^m143u=P zY?~)33?KfJetoN#PT|0)1$6B3$Top)*?iH{>cf|bqKr*(dn^9<SYB2*5xdRgL)yQ! zJ(-Fthn>d56{PQqrPwme6v6|_^EpTfxhw5*D^wm+xQC<Oc>@-seiH&{?6rEHdg6wy zJt8^VbjZxNcMOk*Rw=hyU>i{q3rNRrm|QjsR&f1L$EUFtyFl6#2#EwSSPe@^2aSvG z2b`qGt;H!cVmA6oC6v0z#ijDuixph?QqdQQF~L}xa$byr!5VJp7@-<gh<?Ty_LRW- zK?MnhO2jf3nSE2KYOS`Mu^2UixB*>B$91D|3hxBjYFt;eJIc+pB3m^!$}QPRT7{<( z3)8x&A(P#*Rfmc_xO*TCaSckeBL*_M%@~;|-+m&WCXjmTYZ`GNVGLwrFdpQd!}XeY zC(E;kGwe|~<~oJGa+w>+UbX2CFMC#q`geinlS81@@ZFWJub7_AW_H1W!~UN%N>Ubl z=q=OhGD0Tqlwg%xlE-=YjJ;8BM4npF?+N)!@O?Tv7ITr$b&Ql!6r%HIj#eGbrsW^= z%(r;0HY?P=W(_l+d=FA~{^CT>g*@;b*%$K@G@N;9uP_VIW4lRQ1~c@FM1GIJ)(+s3 zMPS2iHSMr~GZ*}Dqx$E}t+Rvorg6`RCXQ>++mhmuB{NdC2x`c=TE`o;vOe^7MvOJz zo+L57FkwW$J@aUR*5~Ur!?k=9BY0qlL9m@Xc`ahKsp11?wJy%S8qXvy?~cE=7)o@u zc=~Z&PmJ#KTUYwQ@81?&PwZO1_s5}YleIlxo_|)doNo~RIP&w#E}QtlgIB+#{fIAe zU5Pr_?&>`{roHEeLfPlmm|xr4tggMxi`l1kZm-r6FCE;@qHwLzPpA9-n(fPcWx4D> zQCJmg@gJi0OXwrB>#sHy{dRel{`;o*VUTn8*O@B9t}mbNr>CB<AM_lL8meMp1)i_S zWr2wBIn(28TH}^+!ewcG!;s}}f3c<tt#SCK*Ln`BY_S~i;b2^IlWzyd1lNu0N%|hT zjV(1#>ljAGW@B~9*oR)Wtl%1TP?)@i?EV0bOmO<o9P7Q*$e?AqPo7Vip;8k&=5F2s ze2VH(IdFLTE#!Sdeb)7b?CKI1Jn8kTixR&HF7Pl=(FEhyrFC0QvALzMzx)~FL<+Q+ z7BE_@gUt1d(g%EwYV&!V6bVPxfFB$r`_I({8iYc9W;WOgX-|9!RG|0|B7cz|=wdGA z<2@7GNf=K<1ilnJo%l+O)yjhuobL;MN`1BR--&m$?HnY%Ntc~@LuOxydbQwPy3Rk2 zq1-&hTJKWMF4DM-;j%710T9a*e#MR+l8!fGnPFd-MBpw2TV%pwghVsGU)}Wfj6fRf z;{p(R&%Og;egxYE{F!ZKy>}1K(ouS}F?s+LPeqX&0$^Xmh~rnb<=O?HXPjttqo0(2 zlFL)d?a~d$=6THs)x{oJl`AD|pa?fmwyNF~g&K|1M^Wz0cfu{CkweA32#IL8VutZi z#>a#ij)M9kK%tUWL&COCH|M&yJ?dJ~7v(K;T*iw;+U)p7Az@a95zvtW*agY70KA-8 zjNs+5gJmjojD>=bO-`u;YzDGK0)bF5Mj%t17ErQi3}qZ0Jz+*94Z9v9D7Oi$aCK<? zdxE~e5Xxwo2-^N&(+z_4S`EMn+0SgNIF+qxIvljQWlmBI;~!AUnY6t02GW*;-3+Xa zKH{n5m^gbi&v%2YIn}o#aJnVBnWP<z+{8mz7htn=IF>wBzZeKhq&4k5$q}B)XHn)3 z4byYV^a)<fp4e1(<ul*70SD*>BBhVbfU<l8;L-(a<?U~g$cU?aiE0dHEXD~ali%X9 z#QNrX|8;b2`@Yk?^B#|^r{+_HomaaOH8T~CjP-rrwsC63Zf9*E%-j39>q6$J{iJIY zOnfrl*Ldu0!rNC7BS+@Q;k!%TE`9oAqI=}`t9#ZG+w_`3GE;L-0&5pJ+cwy7>{VYH z?g4@V1A77EwsKyN!6u0yKE5Ag+XYr*kSAnV{-$+gIc%P`^q?3l)UCPujVTs!OIz7! z7O*}&8E~oR;p<pjm~Abu_^>&5Vt^KN?vM*lV;F_FD}yHdN=QR03qlFCBdM%dB3(}k zDij9;1c^SWC)QAkcsq`IC%(o7tR-C6HU&^o+@*hacMLaxi``UOH`#~MbrUI&m}^sU zO83O>lE;Ptg$%aYC6>h+G`lLO)T~2*qp%Obo)i+Zo`*xp(Xrz7T)aRU$iuCrWdjK^ z4t7O)@KvA2bzzkc7eSrHCQwUQhEDDAkR~YHaN_{I==5K^#MSZ|7mI%1qy2t-;Pt@g zQT$yyV+ZS~jKBC_F0K|nB`YV_sFDA%wqDp4UcJ}QOvmi0U~9Ps^rz@^Q8fPHa^S^F zsv|wZwuoIljJ)f+QWsCI%lhysqjgj6u5}i++L$|Iw_}^`umIG<Jws`4X__=Lx{#wx z@cqu>&XNMs#?=wxIH6Epd5QT}L{qhppu-4Fd6oJdN<)&pH?%4Chl#umX&kP#NQjZc z(I!}ILN3jrv;fv4SaS$Mp*OXfLK9#~enWmDeF-QYmYWgT93m=Fs5iJCOkp>Ma1g{6 zP>v)^QrHMAE?Wgcdt4{1VJP0s>PKRUY<QE<J(_@*PlCi;Rdyv^An8WflH!D#e>vK2 z3RsXa%%;M<oi~DPG#8cCT8iGiz<lxgJt}2d07BHxHWBtakBWXI?kCFSp;uXhtNbO_ zr6U&bOB1r8lyeq}2_|?t;xf+-0qwvt*i>XwFQIyJfycsds+G7r7T){~5g})>O;UGi zR(dLb8Zu@~=W`4Lhl2uUjyLf)<Mh!r5j?7r8-<dd!sf=d!DEPGXv-=9FE+d~AVap2 zu+@`%L?TLD?%Zwy2W<zE+eE8aHnu}_wL~LMAD7nW$xm_I8h=MkO*|O=b8WLgcLPnD zR56abx2L>mJ#8=`%cG4o1bc7ffHRnLSkBr}p0@jr4QtIcdrIPFE3a@qo*Tk+)f!rr zm?uuWtuW$i5TvWzpp3c;3Y7!KsUgTYF=uM}$vCmuF*`Xp-m?P<(~*5w(TK_>po|H$ zh=j1c{Da0Gx1$~pp6ii#SKbNC_-kQO;<HOHtJGkq_?qmmAtBpekH?>GwS91YeXY~{ ze~3HB9!{p<?W5;ao<01bV{@qP;MEn^2Rciy*UT^c6Z@xZ-v7?zOJS$==^0wP;LQ!| z2R{zFgeU%oxSVs1ykBWwWr6<AXNRkn|DD8l-`~CWSc+ZB;ab&mg$GTaSYQA1!!><r zTjcV_Z>uk6q-UvUkP>b*1mC&q$SN9%&0N*{?rZRmJ<na&CB)y?84cklUp%+F$;YhA zJ$eh(Xu!<p*=)04G4jkJe2|so-Q2<774%rZ85yKhfQ?mNl7gqQy3cx@rf0VoKftXj zQ};8GNKRC+oxU|n>g;<%vMFbJ|9Zl%S}x{DB>y)2tPjaKmS*GkHl7$)10qk`@+gaC zjoPvjCs-<P(;GyR>-<3*en(XJ!u6DM1UmVMlt0!)r4)Ov_sk8V=heC`x>)G~^Fyg1 z-Yd-sg2^c~ETr_j;<yVxYTuqhllL^O`1Yh>#PA6($dG>(tk~ZRh$)@|$S|vd9JreC z<$G|P;U2!K7EdXtHkG*vw`Ul&cWdZ3eNN@H!k|{5|Bg)<5>~mk(p11`(|<oTBh5NM z)`r~sR)l`u^nzH6D;!^E(^dvk(fr&J^G#H7A#zG2xNr=%kTtC5yT|*72*BJPCc>jw zIN}A*Zx#2ykZMoT+>D;6^YO8?x~`MBWM*OGi(<l#MySC!uizk+j!ZmEg840lTwI)Z zAK(n08Ifi0={?)abJC*I#^nkRyZ}WTKj#N(7cp3Jn}86PjvE{WQD1OK47B~22`K+% z^EirPHy{<BK;Z@=0Mz<viS*6Or;FU+Yr{c2L_V8pn$Fa-c_%FS^sAnE34J#kA^&DC zbDGKY7ZZ%HHuobuQ)u#b$SNr{_b`J=451AMUWqFtXy`4hI(`Q*`<f0JH|`4KM^_{` zOT?HlZrKvgnpW>I{7$Hb;-IJ~sV!XrgV;n;Y>YlsQY?!Mz}e;}KhPPr;((Q=umV#D zjU`1sRQv8BqpUK(prT0i66hRE9*dL6vG;nD#LPT2>!dTm__;+rA7D#hdFp;ANPdVl zOk@U@3S@~SE@Vv8ShWQ_lM{$<%*|Tn)}6B*$0%ZmJY8M@0uy9$$D`n78C*)OAN065 zb@;+^#;VCRyDq)DpRr3LCc=5`_aqy7PoJO0ZiUPn@wK~)Gcg(N`Oj_+C2km;f9#O( zJT|wdaWpStfSvQt%GQj%=a1a{`}l?&^7-|;LrrO{u0q;YW*vY4=A?~z>6Avv0@n+J z*z-t+1p-->GTLpOVNbL&KuChLlDcGwCvmcCux+SClFhMwC!okVQPE10J%Ec0vW*j> z^(Vy0>vTc911KA*q)1)L0#Vy&v~E-Q{Vt3op_H|sCi3`5J~ooFD&7fAhD>KgTZL(D z`W-*P3L_wF$O{I$sw(3U6gLN{qR@xJ^dmT6^X;>7ioCUGWHv6A$97(aVQr9PWz$sa zqQ0|PL=ZLO=Ri|?D*?B@7Ricjf;oFQj8&EoWu<EmkFf{@DO(?l5{OLa1o91X1$61L zIDOA-_8O($RNj-GBV&5Q?QfP(bbk|DT{;<|Uaelck{s<h61lGZ>yhb|)4SJPKECjy zz9wJ%aYIyw?xJ1~OxgcGRPOxe8v>i_J()v2M;T_Z4?n)s#@#>JGBe@yEAv)H`wpkF z@|6!mYWy;XGA<e)LmM<ATgi7x>rV1;%EQO=;L6$R_%e>iCC=JwAhnz3f}_2$#mc$R zh208Nl2Y=h2-=Y)ktAx*i6i9HQUQcCxlkLI$m19joV0`GNFc^5TL~H8jglEJF#|Y` z;|SQdtAIjbU`&HP={6R@v6ix7Qfuiu*owmR_?IEy$y7a5Ou&2*#5BN;EFNA=ylkj? z$h%IMM&_~5lnRSZM|yw$MF1|v!1L7Hm!vuZj$#1M_KU;CXMjwZCMlbX;$wxWOe%*e zABig!>wpboi+t}c(8iTc=7yjN?j@=|pl+Jm;SyD4M@mSqNaoRiN;xJojuV9i!f60k zH4`V86@}g5(c?H?whiTKkLKD=Dwdl5rt&)L16|0GfBwdyC_#NA);wLZ6*`<8VF0VB z9a6i6J}t4oVgECq6nZT*rp{{=n{O_OgCaIUnj0&idi&>+mH>36V*qNc6AiR?!&vIS z^3>YLG2mfwpn8UgtaS-F&1Y4YR>b-E-qCp<#yUY%Y+QBLADh=ebEx;q(3y2I^mSF? z0~c1kjB-DE|795$zr^<}MXP2h749qTax@=oaM1^hdqRDnd~#<APq7VCemQZ7tNQF0 zBoHw-Z0y(4ovIk=Q}couclBF$4g{R9U!Ukt&z(c#A_ov*at~F)aTcO(&sI)zo`;CQ zN;5la;XnF0{PBEP_2*yvR;66%OU_gLwyJ<1Uu*Qf>fX)x=SM^p=1CT=(TO>a5GUT; zIO$>oza2llefMBxQ_|Ji2k%}sKg-x1Jzw-}xy2-62jedJ<H75hUSr#*nA|JZUG`tn z>p4lhsez9E`tOm*BcxxU7cUm<YyF*c??1#!MUr#(xI+Kl1(;`SKYI}VJuh3_UcPl9 zBOdD-IawM0X}hM%V&ap$TbO+3zu}3kdip!AJpHtm8}u?NKygqFkXFyS@>pxmhH<Mc z*H3(eBnOT~Z@o3`28MXb1-n`BVu5KhQJi0bsO<rdeMhoF7p(HTKaTlkFznIiY_0+! zUfuK*-2_PT1#&QNwEJY2tcyo$Ha~7NBV#*o34PKxxn_28X7sj;HU^Ji&a^{sI%xF7 zGKvST^<E>=F9@n0b{7|T13WZ0sgjnnKX4FZXG|5J`4HPgiazeUnrdO+^x=-j$o9~_ zRKDESot4O@j8Zc#B~K~)_7h&V^5vhh3orG&Z|BH_2e@+Sb&6vKLRK_}B#{8+?k~+7 zh*+KaqjLiDl0Hh^^^b2PN_YSjlbQ`=&5>fAyt=6Fb>q!L^vbiV_@w7kGhlAvyH&6f zT5d3iXCLK}TQ3o={=<**&%=%`18OHKDSqde??m~A-gF)RP>%~_*2{i(M8U>NoS0+R zQP~_KvX;!r&}ncJ0vV6tI%ez9y4oXEXY3sGJo6kwhG9*sg;*K}(S6u|W`)kB6g9O- zye$xPP)6CU2a75q086BnA4)#}B{ko<X`4u9(~E5)Ymb;8A0}=RH-Th%(blu{RJ_DA zSniwlFzGJCoyWWS!M=Rlhj006AK>{;aDmOC8a^qdeey>F@&r>u^=^0wx92A<*ToYO z!cwmt7&&W-jp0E$Uo)7gOrRW)HVX<VSA184apzxyke?2wldJSn!{-gh>9)xr(hrs) z5iA*iX`;A{^m2#@u+DMu+xLzGK21I_`q|T@(#TG7{HvS%`@wi>zO`|m0z)Xr3sinE zmi<4L&cqw4#{c898)KVc#x7&BjIk8PnsSF3A<G?R6s07}QlcnYG&8nwC3}g=7~Acp z4VAP~3Z<wJJ(U(7NsF{^&+mTE`SAxh$Kl@jd_M2@>t%3eV5ssYt8xg-nu{gtaPm}# zF?F(`F03=(O(qP?@GjEiDDp}xf}^Deu)N^nrJz%^VtqZrZKP9utixKARY?u_8R@}N zuzJJ%w^xhWzW=@VE1~V{-|i(Xnh(4V-{=eMc<1#f{($Axq_=yvT3v9P|8jr!*P*t( z7jmEM%|7$>yvF&vo*yO)K3wQMT{HD+w0Wz^<4-}ceU&{!Ag>uwEBGY9VvQf6?=bwE zIpEbWiq%O>mesg73}YFu(bFx^jeD1i&+#T3P>XOQx4HP$I8YRTG0MSVysd9m4MtFT z^MZV5F#I5p-fS*b6Y_ZHUgw$YXJ)RaKOt=A)r)k;+09B)BE*^@uF9dXkp*y*Ad8~H z>Lr9#U~$vtIe?~Ig`n9@4eY8Q<wL5XrBuOZzA=>|=Tjw+5Xd>o(7C^Yg@cc}D=oUq zq$}i0#i1#fAzYnjx7p#tEcx+bbMGOc)9)Mse|ZmH$w@*bo(<^8{%RO})d$FN<awT3 zv7Lc(g8)AG$IC9u_SI}h*4U1NB$CzC(PxKZHsBARTcBI}u1s&*Q}6e}$+=foM?O3p zihF;>u=9$;SFO+gjzxWIui2U4UY>h)bHjRVbM?R&gSQ9QXJl=SxMfxR;lebhC;94< ze=_40DjHPBqyb#h`5~eK5!hc{L63~7<cp{@aFGYX?YBH9^mF0Rh+BKevC877!~g;& zhoY5>CBoJhFP{Tf3BaQw^-y_C13^euZ&02D5YQcA)zM)InSH-Z=6?W^h!n9#1WhKJ z=A5Gw=L1Y)_V}R!8a!HQ%k=@YK1n2r_R^7`A3+NrCB%<MurFRp0|=xK=2!+WNJa-+ z0m!3^F!Az*emXrwgLy#!vx0=+Vi;=2U```{sW6xjU>#RM9ul!61&I>#ZVp?^88od{ zl`zoUH4Y7N#Us?yP?>@c+%ZJt9z-CPPClQ65Ow+fjk5@z=Q-$qv0<Aia8$-xJ1lev z7{<I80om~g-Nk}up`2+I6wUiaJTe@Wh-4eZp?7^N`GV~n=yF*iEsT`OVpAtcVk_IB zgmPvsu7CEavj}IdR6mu@72L}7Gj~ro!VzN#6vd&-ICrQnguPgvuj8yOaoVUTdp;>5 zU>?7e0WbJIDT-olc+B?T!ocIhpM-4u&(x2;C6?0gv`@y@Qw2ii{<fqatnzLC52fDL zCy#V@`IeWI`|vmEe;4R2Usxtsgv2ydIUy>Qx>cnw5eZ9OA{|&yc*GF$PF{wU(cLP% zZ(?e8vfHpYjCZ!xmTyp}WFf0p=YSUXJTnwW?$JG>L}3YgMIyJY3($=(mw4V)xMI-_ z(E_6jdrM~RpL7>p+LUzG(5yq@lXL2FX3O?JUaw}Zu6tMe!tAljqJghAXLmFe|ERLp zUj0V-<@@i4^<TDn)!vwj8nM*1T**E6kA~jP(@$bF-&TZwH(KlRzcb|8DYsRS`G!*# zdtJv&Zv{2Sx$Rz*+%~`3GcI}X`47o-aQ*-a5VrX3mUZ;szqPAokBvWG61H)pOILeQ z-6;k{&CGp?68(R--7jCuE6J=J7}1fmHm-uRQ{+Z57I7(DmvIi@cNYT#PeX;gj60Fj zdFAnhm1Q`^M-{%n4`LtRjw*}}a`Gg~nn=gOdvN37k_^TA)_)!>*Wyx!4h>@xUj_-S zF@T|>>EgZE)gTm<^*1U5Dd=C_Qsg-pan4rRu<;nD-mk@oJ+$=VmI%K}+(xtTkewp3 z(MLfA6+0yqKfQ1t$}<5i-DKM{Sw8BGi5alMQEOOLy<{*wy;O0>|3T?6SzXi5I25!r zxKauDpxF@@D72sBqyFg06dax7Q^)0C;#k$n3c-B<4levH<ctq(m{wkY_5RijT~6!e z$dhigSR<D3%?G{5+e-DCtBZ_k^o9xRKFI1^jQtP5Q1WH2aDD0R0EJ0HGE7T=hD6xw zovb4wz0&hxE6L9#KAKk3$7S3J<%?CH#Hx9pXu8f5^{W>8pbcmSDaqSR|BguD@)EK3 zyb(n|DUOVJK=(%JT6~Q}X_qqtH{IO8!1rp(JKP0A|Ld{EnKXAl<L?}c>yt$pO53h; z9cImqw1CFTkH~>&@bqO<dpTabs$o$GSAg2Br0BkSIpVm#!9$q~zNh*Vs;A+UMTkU$ zWi>!F3Y8Mh=adiWa#+_0pflN+#wVLR<o>0bT^gp#DS6|X`&tWBZ@xk3+kt=H>v|~B zh~BYyC`Xvcw40I>U-5miJw>RXdR!4in#tqHRiz#kTCT^1CmF}qFz^C1!2h!_ILVNs zI!Ufpn12#jMWHhz3pF}6J7;jJHwCX`Gn|;Ndma&U8S49caeinytTF=2SiDWi&JpEF zPT1TL8`^_X89}XEQot$jTnffNw!;dr%3iwB>hHV_nQcl5lT7N(P2M0=v$6#`UEqT< zdZ?}IJpWeFp|pv5K;R264Vzms7V>xDSJ%yBDL3C;viiGdL;OXQpHOq(Y16>2Wv=C; z&0gkzo)!JAT?!`$T^hS`g8r}l?_1rsv*5q=%NtII+?|^pal5$h-B-CByJxgv{2|XV z9SmP3@W@o8`U`!*0E!(&rGmbgy4@QyO$*cjT^`-;;_)f>AhfEQH{dqfN9C)!fXs<N zj>)40P=cZ>WV;dzLVlskk;Rhj(K(EY+gyrPEu9gZE)W4cCN(Km7eKvXB!Yq~Sk=mg z6vG!l3W-OObA>BJ+WrIuF;S{KqF9I8t3h1>m#jGEh>%}OG(ZwHh(=(Q);<O6zXMHY z(PtISqJ2uv;Q_4*{!hdl)xf=mt6uT>D9$k;N=(oW93n_IC(AcY&_eA{=oksjL?Wu& zw;FPCtI0=EYb(yNV8!ksY64Ll4%w7%?ONh{qkZ$cecOJou{zr^(z_z~_Zzj-2mV~l z-1zBt`jd>u8@7(8oQa#gk-2Ht+fMtvE2l5Kng6}a>-2>pOvjy0_GhoaEbNYu*MIVs ztRB<9QrCV>XW7NYdA<i?;`Y?mj{ey6arAcW)<){v)5pFTzsX`Bcj72p+$-q<n#M^- z$nht-h-Ht!7=nmZwIx}Cjz7^{X%EI`FBPOCkl>6pAMIy90({Q{Twp?mKwF4{cqu_W zdrERxLAGT#vsJVCJ~GJhsJ$F>ni~eZbrBH6G<&Q5^~4Mz?>K11?}nETV?~-;pCAn_ zeWCi?5YQtQrlE2(3lVtWhzKNFU=e~h=5{q4s<4;JaSR;<Q=$6E3=<Dph}!uJ*?Ee9 zf=-Mgo~$HE-^_zclvR*7@xyiz8`$q{hSg;&Mi5pIgDlksEk_W!-7~(Md6!ZZM-*yr z>nHd@io5sXz+Rq1usp{Qj#y2$c(|0NvpY%@s3QQ+WzWFN{Frx@WFkmSYn8?9Vwu>= z*4V7z<Rrqun~(X($cv+BVxhx6$jqd_hM62KSshco!SmGF1xbNbni<mOA)dxzv3hmY zSrAhiC63~+nG=^hQ5ya9^DXrr4sEtIzWKp~R-P6&0fB-Kh#BAQ5YthW+f>lxbmwYD z%F4iqq)7J)k*)`=P<2+3<742DA0`~s?dXQ>ZL&~}VaqhqV|*B?_kCqm`6#q4PI!0Z z;jt6-67#M*-jb#Z7f~XqgW*(fn4bUDMP-g{Y?!VcaJ=dJGE+xr+t6NN&~<IPYPZey zJ_F6cLXOS4>Y~bxQd$rzhQ7+ghc|V+0ed$`^UkxBmyniGPJr1d_$th~RRKET2N>ls ze&5ok+HZ{RPWp(lxU(MjeAsccwsVhu7DIjR#mA_NKXl#y*3NzYVR~U*{*s*=mOlPv zX>|5H6MIi3FU@A`c3IkJ{y^NlW96lD1pDHZt@w7~<()frZr+i<X@h#uA%nZjy8&*Q zo}Qn7skC0(zgu%j%9$mb{=;bPXL`kB4qiHpyL0FD_b1;|{=?Ys`)99d?2{cq@TRe| ztBdo0K8|I)ep_ht@5R;GHg?C7IVyLD87@1LxnkYfQDMYOd`&HJgWb~pDBptST~X=6 z2+Qgy-)uSxMWZBw22U41q4R=-;;P$y0?q(62(A4)Oh{i#x#8{NDt?#okSOl_Cm~<h z)J0TDqFCcpIm(^&wqk8r^t_k^?y8dra@zsg6*gWzXXYbzTyHp}VRsF&J|ANgs>H>} zmFD-V5fjIr?n2UbCmk<Qs5(Y4h!IrA`d_V98t*@|SrJiRHw=0hHGbi*h+P6#0*<on zsX|eV9s8Vf+CrPg-25Tm!i-}9N?3s2D4*CIoOzR9;Vbl;P{g%D8~-WgYi#Y|u?R<1 zP*~?>v`D!gUzYV<VZe*U=PpMLAbBW4;Cr)3<3<?)hEY$`!5~K9Vpeq_jPvSNIT^y& zNsZhtCQF2v1m}nRKoMCd&d{@sFPfCa^sd*T*IGn4#ELUvdRQ50lN~K^^^{c5ZSAx1 zCv(eYMYwsYxWp}0n09O0@&R->ud5SY-w62ZV!<UgN^*nW%>DxNP&f|@)P4--#9-0B zahhEbP4skRP)M&YDkX&Dn0E{_>%skxpKa|Ux=GOveR;Gj(2xPn5NQ9SAKz~l8)6Iv z5DOxJI#t_%hP>N-#9fD5rExj~;5c*T1mrxuUt*s{u_wghVtO^JStruMib|{$?yRFj zfT<dj|Aa&TBpHgFK}j1#9raTBu%X+dC>-p}0JOIUm+Y6Z8ETQ!5NoW&t=tUwbU+R} z(lle!0SMkjAU}HmE&RgVsK6>&1%^M^4}2;C*0vc)U#-}JiorU}AU4%SCf0hL?CATB zIZnQxgc{u$^MJa?z;z#b2K&K{z}}^sP(ZXB3l1HJjZ&^V3u9&{Uc4VxnR=f5%T?#` zzMDfAHn-S~Ih;jPZBkz8y=T$?VUnb3v)^}rd-3W+ZOdO%<r1g%#k*HTkNsMX>sTG; zGp4K4@LR9%Q|jB)H*-7RIgc4^TogAj98^jF8;`El2(AKbD3$(aaOGpc;!Oz7UePqB z%XX{;PECt7Ukm7A{Q(4NsS09!3&E&F;YVoJ#l>_nw@__PVC4!C?Z5CrDlG^QfS#>V zX@!^(gqucNnH0($6CwJ_6$$BIK%oco)b=zTL^=S{bN;ti#=vZ2A$@RR5AIqNNLvfl z4gO&3ErRMuKNU4B{gXn!89J^m0tZ}2%lr&)p1BCM09zPr%u19p?6i|&HM-lnaF%{z zoi#n!9SWv5v84y6+S1p_YSSRn0s<e%CC{g1sl<2~l>7dny3$uR{<WRjbar*P>%M;` zUR*hK>(t5^?%<2!b<Xd;yTAYVdu*#$NdJ@YCF|t7&kyZA=(#7>R`>Et?(X-Can2)N zvAb=?f@V)|+-=p?`a0`Q>x(w}zEAm?|6zU|S$Tc_%a!pj8BN>fF+(ZoEHYKT5F&|$ zxSuG#tOB#ej7W7<Y>_|;uUvXsr|Qwakg{H+t^SCq&=S)P6<dzLc#=GC85xP!Rvs>m z;HA(4s7_dnW@HYJY{QX0panJjV7e2q1iBs_3>>J$`vJ4k5W4y?3Sr9t=o2!FX4gsq zw3c%|Swvt`7ZZnq+xR*MFAoyiWl{w*5v}T&U9X@nC;G4wV%7L0Sd(qZk%ptM$Iv0* z^+F52Dj0y@af6RRSA?bnbxJ>E-G!GZG_J*Ye=EUBacMVmz0=~Q7}){~>N>vm)@>e~ z{ALEBvngE^EMyFW`&CK(ENjLmF*&=&Q?a~Eb(uAvg<^czO#MiHdDy&|w!JqBG)Byl z$1nth8edRBnZ&2yy7(<O_N^?4cN~;b{J(RU1!x00y~hq|IR>Z}C2{PT7re!BO#OM0 z<Kt!{Hgy6qA4nLY-be^lzVPIj-7Sse<R(2r`Z|8HkN1;GPDvIAM=PWE^@Y}T1GK6A z74aZp7l#aFdxa7;tBYbFMOvcb;0#M%5_eo=1<tc^oV3@F_ou`R1akh#9@BP<(%5#f zHM#S)&gLIQp;fWqxgeFD72ZtE_@+7s?FB&s)CRNYkB`jkdd@IS$&Pm!WEYksAw^d9 zs|`fmmiCB|<xdN<LxM+9!3L?$0fm)@dEJFdn_Zm!lLL*VmF1+ZO8bHuraDW<kahk= zm#*1&w?!MOr(~mKr$`%*<E1lKE_~lIdo6zArMgM!CCdjt-p@t&{f9|8`zh-C|Dv)V z+`sP$8Q&LkY15hW|GwCw@BXpN-60~pL&N*){Ak;S1)1Nk9g_5{XRvh7KCe+MaoWZ1 zn16O}_qy>vh3(%ixu7Tho84)XJ0eHSR@}S%^t;vU&u?wl3Xc|yS9N48iC?nd0UEXa zXDaDRK>FI?zpfuA-(~*3^4a~s3BQy<2s&+X;K5t(gca-u{8Ce{&*mPX?|Sfr?U?(? z^oSy}PSH&L7EH>IT`lc=phV_Gy=Od9wOW06WBYN9t=f>PUI*Gm*3Z2NHmICJ-$oIU ze}+Z5+F4lQh}$s=NB!<^hJdSn4c)}X5mMR4U1Y0gN7KdSY5RMP^x3@A?;9hqhkqdE z<mStA1?w2ZRZAN-ydj6uT@W)AA!Z5scpo=humEx4yI5XFs7y4EdXbs9e}7(V4J)Sg z%`{|aywmw*T`rYD{%v_R9!k|EBi}?Ke8N*PAwTWa5D`2)B(S!`)B(DaC=RAplwe!K zGFrXkDVnc@kZl553UyPNnG6TTN<##IPdtUVc;hZ+MmAW-pF=EV5g$ZMEgM#q9qars z#)|vTj660~LB@^Aq_lu2b<3x;eFD1V7?f=}HvyF{U)?8)aufTOyuqc5t@qz!bP`t; zD%pb(KyHawHEA1EX=wYAJUDa0Be>N<V_-T*g?oKC`~b_krW(R1fL|An``{<!-u1R) z;i&)>?LR6d%NXJspN=%KRv8<?wO0rLt0ssr{(PrIAf02cpWNdAMX(}7OGLo#o)c3N zvx7LgBH%nsyVEVE++w1uLH*|e1iB!ImLf)Q!|Xf>?wp{<W%_u3oB`ubqLMD7ks>^Y z#k`0$OOPQfpDgUndz&IawiwoFMS%YF(;s0+ZFiQweJkc+tuwV46Av>5$#87)0uC35 z!<hW<{)tz)p)|vGN|#$iFz$R)QrKevq{M7e2poxSAEy<*D{{s}o>$@K%Oo)_N!2%% zS8#GYaQHiO=p=_LXl1@l*$-bhnhDq2pi@4(onOCdn_Bf!k#pSH0l{L8t84@_KxH4e zEL<!7{$#f8($>eL?;hLUzp%so!{OT<Uh~Tj7544=YgO)XfAY>9ubt3u?APY`r$y~M zGzWj&9y571d;LGmn;Pj<=bq=LfA6ieIlAf7&%vZa_jap$ODC1qKiHayIU~|}G2N)H z?xpg8octYio-Kg#1{E8p6)tjH3Y(zg&v!Hz(pN?*)d-q7BfZT8{Wx%q_A?c+Asve? zi{w^3a-%}g_+BQ;M`VZ1KrPJ(<R~v>rlRl~lg}WRUZfBF=r_CVp|Bdjcc5S>w$xjt zPOwC=a6+nZ76v^^WJWK5Eg3wj)ToF-P*Z@iH3}O}E<%zBX&b~M%62j3J;-DAw>q*a zGC5Z35Q05ud#U>hNa{uXwlGXleJ%I?LXkWr%y%l_c|=l@%#m$7{2Go^W-1Pm5v>FJ z;D{SzyS+?x3{w_F<qec2I$)3d*f+j@@76azifcY)&U`b)ZEy3O+#K-JuCH|VdHz!9 z{o}6>ThCMPeK~MD>FllC{q9FS74~b_UdbHU_3LNW<(?gzms8EIHBVn#_7h*$+tjnn zui+&TM>50rODS~HWszQBBWfq@%Eb^j_0eIr?4{gXBHuw57$nQ8t;vmuSusSSs~gaH zTYfC`rSou!uw4+9)31g@FOdIX2p9$*G<`vTDW?I|5(aQvTT;L_R;ULmKrESkm)&Gb zC2N}vaHLW`&YBv_BqNxgEQ#ANm8Hj31!;(?v$ix<g^%8LF>erS0@+mHV+XQgdSzlT zAx&*oX{<IQMU(mz_Arq*4=xt?4-p<S<0%*^*KbN<Jm}w9w@pYU^4+w>-uv>1-xW1! z!13J|WU9;bJvg}wof9ANt1P{7_g>2^DRBA7i~<r0f_-jPBRSjp;j(chEw;)>#au&X zxfzl=GQDAEVBnE9rj;=1o!-gOo!+vXA4lxANe8uLcss49C7Z;;<@Q$t)VFm>r`zw@ zSd$Rd6ekakopR43QRxcgpm}>-MIhCypGYs0oGj;0E(mA?%}*}&^#>P^3-wgYLw6F$ zM*|$IYMmQ!6~gGW<<I2D`y#d-m*q_}xO|uPZua`xZxrwB(u+qDrdDoTEVbJg$>LgG zMkOCB`gT4;Ug?(CtUbhc5v2(7D_kTu>id8ew@RPnm?R!j#91>YOsRTqEmrSx=wfIM zELN#*3BwLt`Qpts%@kk?f3WgOf92qh5t<C|;>IcY;o`XH^X`Rkv(juElrV*y5SM6a zb1{u4nyU#Dqpo(vvq*SG)v64c!zu@(ruD9o2hV1XDt{$?-*9Hf)%(xBrX&xXYxj?* z-Zqte$@q<`!?u^r?O5h;;g|E1rH2pvsZAP7)t`00yRB-W+$DFWcI(Qw0dofqUOmWu z_akpjWLU)Qj$cmSYo0vK&smJW^rvjorJK*BExT-YzB=mpCu3j!=%323|6$JV-l?V9 zvFho_<M?;Ax@946mVKJbT(-3K^UV*-PCRkSXnOfJ`@F&<r@GtnIQmZn{NRaMlDy!$ zxN~|-Rx?Z1RcKHbJ4H$vig<aA?HkE?VW{sxF`dk@^|`)CT+OW^3Pl>(G4(*GY@DuB z5H?`ur#&QmDL$Bc=2?;*LzM`^i8R$S?*$^q!0<-;N5%E3&~xg2OP%@0Wl=REfw!}k zD^jHXq+cO4_;n}nw0&f}^5_YqNDU1aJPJJ`)a*CIL?vbQuHU-pa5GW3)~p7d1=C#o zXAlNrE7Y=8)dkM7mv=GOx1U!2FP}!?kLh9tX1mcW>T-uxJLbYZ>Jvb^qLKP;s!)Ag z;LdK$oZJQl<N6!D-tir&J~=d)?-<)nQP2=b!gUcFUQ`(Ff`>zP#AGNr#)JyO{aK|X zMs9+Ztsh|BPptP7SJIZ!L!HUen>~{vjapp<QSxhA+KmB;Owhp)dJihgm2S7>vKLec z7I9zf<BElt39ZVKz?4qdkeoxeOl&>##WzP_kA}z7&Wbh7_`=3T1H5H#!~r`ut))mW zUIB9nm)tve!JRTE{H2Vuk+IH~Ta+(*l9dfEswdqzlEwGU&H4tY5IH%)1-PLy+f+wF zW8cde;<dV81lF~sd|~`GHFig;|97@Ydqw!hHcIQ6-b8!j<avQL!c5qaz|ISnn`^x4 zp;G<NkzfO>Mee=_XeeVu0-KY)ECeo1+$lvej!u5y#^5a!<5>wxYx%s`ntVsBjj>*5 zAyOPW0^T?XMbV|t_<AA?&jL7Vo|hZIirqWJSDBEr4$VLSZfh)kME|vN;s7OoccvnQ zRFV*fJ-MYv$h$NgCid<nZ~i@Kkh4xC4*jT9EwP~g!|eN&%ivu+o&v3J&`}IIFMjcm zed3NK#NDMJdt}1W$D6Z^s=jWzaWi4V<IRyTG#BJXY&%(FT9cZx<JygVJwCa)|6v|% zxutpC^8Q%rmX8j@dyj3MNtsLk^6l5{H{maxXeYCD+SbRkdujaRlT%#%{rrX}1CIw? zPS{CL+o2Bg0Gw;QVhid73(TQ(GGX9TiolD*Hpn4vyDk!L!J-~F47L>m)d3asEI<8N z!-q<HV*{n6`uDIVT^H3A1b*VXB|=(xT!Dj*N+0+FyFzgSZQBh47}<3Scb6(4gIN`b zRJvAfQi+qGJq@J<CYCs{o9rlN;eNyTXW2bi!$g_?OT-wTMpmGySw*MnPo@wtlPC{D zb!y?$jVg$lz6r=CD9LD9wUWOkykB7%SSu2;a~&m0%ms+y?(JBEpi6M!T0i`KK7|W_ zVIqP*PqUbE=JehFFbDLj+_J{r1^&K2HMe%;a^B%&ls0B@2m19NM(3~Ap^U3v=GPy- zRiQRG`%CL*>TG@CJIm+e=EgM(?nXZBdVCZ6k(iOSGvc0A;fLmFqjkf3c6Lmx7Sjb( z^h?$*44~2N(SW#%I-4Lwe*vHWRkBYZW;ZL;)?$f3E}lk(0K%Ya&pLAf17ju@l@0;j z>{heggYe0ubRv<?!AJ;-?XEx(i0kDX1lW|ny=0v}a5;ym{uCt_2>C-e5lMN7&*_<g zVh*9~*c`=)r-W+UW>|$tZK}_MaTe_&>o2I4+nn-BiDPLIDA7u51`Vm}mx<Ls0cuQ? zl%P_rf*R;KhElYDv8RMJ2HXuRBV^1#o|gyNEiC%JN-&9{YU|1m1Wm>K4(6JoN`789 zVeyA9b$i%}*^cCK#ufRIkW$4#489kUpW^zyihW}d>wC?^IKYpi+JYV~N0|Zn1Hci` zrV2VqW)=`JtMS!Naz_u2bo4FyF?*CBPYqt>SeWm?1?s351WP@K$>+6(FwtUy0c+83 zPT!F;q&fk8nDFRgI0y`+N5FP1MdD3{fwUW9Lk`D$>K=ULTzT4~Zd=PE=|O>EDKlxW z>&#+hg}IDr#Nyqfz1{k;<kvDE=7Vu&INv|BiV+!iZ#-bStXS{8w0&|$>iD{JE&Hwn zC+FpOY=k>5x1SW*uGrR|C<gF-wL5_#-;>){gh%?Mb6O9U>s|rZ2$uIyLZgOg=oRy< zM$#JhI>@eJFWTf?74$HWScH)k<QNHjo`0H9l1e?#d1IH~r?76M{uLs~q_G+A*vE{c z>5*|;liwr-S^m)#+a7sD8wm9tU%WW=<I`+t<eKU$8!6_*{cw|1o7aCIXQ{`;EYV4v z4fG{B?e4g_cxL*k-i6{)8{_m*)A!4g#{b^iaUt$(^Omt%nd!v#T=kTwr+cz8ANH&t zTe)i#AD^YuwV`kUXO!aYFlzWyug$dZPurP$Dhc~ur4$^wXTId<@tKS1FaDoXuy@~? zKMk`7o?UnQbF^J$a{puBVx60b|0Br1KI(aD+n`Yd-3odA7$Z+g8YW$Cj2kkz@{BG% zDlFlg2uM&f<0dKb?gJ~#6h~iqusHskxS^0TT4F%d!`B4+k)~fO?pWZZG_Uo<RjI-N zw+Nwghq&Z{h_~H?Gl&@>qC3EhAMAqsT?z#OrOW`{7_J~$@(qz6Hn^D^5x=c7x&=-W z<jEWRG+0Tykc2*aL~<9zsRC~un&8GV;v_Ln!Or_b5Hbk<hd<V{)(|<ML)5FZRU26{ zc&Iu|U|=_0Bql{smteiNN$y+`5mJCIbSArNlF1aJ@#l);>>T6mzH;^%;n~i-1tCG; zbv~eLOm$pFhL2Lg8A*CF9U$CgZZTXf<06x%5lE#6+?Z|1PB3{X)h)IFFSK8HFH<Z> z)6yf=N->q0s4U8Y&4)$QX#dj|2Bd5V_xV7h;X(`}R6?Z_K|DuATY(Scu(3!H)wG-R zR!GREe^(liE!97Ygcwm$I*veveMe6-DBkuAzq9?lXXF5tps_DD;NT<eWSYjQ>V=@| zqWnC$QBw&TZNI?wM5Coadl`$J8z|NaTqTfmlZEr2E~t0TBt(ff*ZU^?8|RJ5RMfdr z2vhT?pe7^NggLMzJ2+Rwc_N})zgC1DOc47FtP<8^a$@)Q2^^QE`&Q@=su0yVv>+<& z(iGgZp8II@yD)Xx4=fc8Pos2@k3jF%LkxalfMcrvLjVG!O@ta(^+!Obk05-i8p-QI zI0LJR0$#F6;Fs1j<ooU~n@wR>^}8!hqyusEZL%Ay#&4IM#IA+R+I1Z1iMFzsMLqO5 zM>C?@wm%j4^cU<VR<A9QA#xFFoRpFuPI}F#jD_6$wWMt~ugjNVxA`}0*7ulJ<o z?;HFNQ~mAtBCF>o?oa;v?)5do-j<!4f7!a&)&2N-Z(yP7<=xdKN!>}Wn+N9NMzWUP zpWAD(=i5nl*NX@nA4k9bg^U^h$P?7_Lve85gI;~cQF?-Ch)z;?mXc+thNKH$VmB=- z1$4nkYdXe}EmKlRh9Y%*)dTqg0sUMnoXBSFDRGffr2yF`IG_;n1J#A%0W6t}KGq$S zOw?eLF2K?vnN$;DW1Lcz=8z#Igv%j0NMHuXqb5%gb@OHgb4<+67I{}_+16#V_4q-( z0xNXF4`68wd#Caib48pnATqC)?kqItNO9&HbMQ55{VZ*UsA|UyndR=40)12j9wj6y z1`)~c3}q>G`f{SualCNJexdwDetyMN4_5;dwYB)p(!Zt${+zfq_8;bzQL<+LdsJMZ zWzbb4yvi)UGIeeFz|TF`v`jDE;2PZBY^!_pT~^g^>}>Yg-Rggizca0RXV-XdfcD4J zp|ZZA?5fxOx4Z7Yc=+l+%%aBEYc+P=5^_{fCEytk1+YY<4vo{qWYSM&-Mmm>LFErK zKnM?t{6JbI7XIJshp1NulN*@Psi2+(P810-v_zV2Y~yV}KV*S&bTSbcjwAxHoV>AC z>D$#z^e=HrUSCEcnqes_4NM^s#7;?2X#IW#7w9Ie2icZOC%ru@c$eZ4xQ0NORu&w9 z>Qcz65U0VbpAfZ3V+jB6N6_&B99f~cVMb;~+ZadpMa=eAXa<hUn=J4^9m6tSI)*!Z zg+@VlL*8{Np>)lJWVus1BTiFnZ8(M_J~SlgfSIgPMkT)^QNFxP$vrvDI~ZmDgB243 z(RtBOq2XA9%1vgJP#pu25i>lS#qb#|QyoRQn}8A%I1Cz|qXLjZUTT=t+lwI~$5XjL z&uUTVLSc;jNb{Xyejq;78zYI1m#qNKm2wuSr-`dA6A>C!da&K)7?0rMEUq%?McT8? z(Y|I2GlKbPh!Q*@0{9h4nmwY}4<_&lvoEH*m?dMIHDMffYah*`iLptCZl=B+pSW_O zv$e?$TZ+@LcZy!d&R?A<En^uerJKyRiw0l54Jfs7os!^MF5pxwOlan!U7S0BYdF8O zu`=}jQi`RtA}nMKZ<Q7wT)@D@ZJEh}rZ2nZ-GmsN{^liiqFe1<oAp@cadQb>p!)+M z+krl8py8e+Kl5)CJ>KnZNEgfe%wWLrJl8-Ip@?nuRH&p)$@8BzRePU>Cf;S;ef(>~ z#^1-D-TQ_8R&${yIPXNW$+I<`|E{xs_q=Pt@Qv|Qhb1<Qst(uq)c%kMdqz*!mfAEg z3;uWb*PiF+cDp9dzH8IjG@f#AfxSV#^Uj@fKbF>4l-VFIGibVI%j3B`mjP(j^?-`( z)ZXunwOf(hX5a7rox9}Pj(1YkFxrsFf3QZcrf+WYx7*KW`<~3y=*4f|ovf3(BXHv@ z?ytKkDa{TxJ)^pdmIl04-r(y$DG!wn8vfuQ{Xwcz%9AZm(_=qIBoXnMe|w$&?MbLS zSE7VTmk=m_=px!%4_?KR;^Vf&DlFSwI)K&=Y8pFcvNJ-!F6Q#j8?C5pAXfaH)YHS! zLxGyr58uxyTQcAWYLb)5NMgOUM-F|VSi@gu3j?G5qSBe%O7*N?yrYh&kJg5bg=$q| zkr4^uWcw$Wrh$QCvC|4g**=(cJ;ET|OvkYLry1|#7%t)9eY)U0nJetTE4mqkz&Xpf zaP{6Z^T5j^L$Jz{X?YpZ0^{+6nTnUN8T!_tAY+KCGzsA|jC$D}iS_>Z8^!9OWzdGh z0<&GrbnOh33zuD?XEd#3hYnlH73EbfJ-|R^r1!`v*eK&Eei>w~<0)hL*X4p-+85wu z*|JF=O)^^TtQ!<6Vk$cEw)EKJTp$VU{d}ur0FKbS@GKq0`bBSP*`Fs9ky??%uC#Qz zezS=%EK+G3QcdjSe-woDiL~wr7FzlMtz7cJXP!mdYsBdIAteP<vqvPNZbJreMKXCb zrikb7C8oQDvsgWNIr>3YSTWG8_N<kYoVfq!mN-2uP8{3Hb(`Zwb{EO8?DZqJ(X#sw zCO;9{h+;!0_S@_fMtQUIq6CBx5&!WMrLxwMit#^<*h=qKqd%xfy`g7V(6-}{Fed0- zXHpj)u4=_LOw0M)aE=UKZl0h)imtbu(exub#ERltYLLESnG~HtQG+4omSRtd<H&8k zHg-ZP*C^(P#i$?>TbbMlUbZ&g)^+vqla?ct`iyql^WONY0eR155Eh}tJDTx?A}vuu z5K3v9QJx*&VOP6(EcLuyW8D*%;k@7K8*3lR9jm^q{<o!b;NNvemL7QG^5Mq)oBt&D zKUv_5cR1P_Q=4}7^M;ofNGl(|&uZ4vTe;}M$3Kgit9l1Nt<%0T7vaWkvZR^?U}V_= z65|rLW3Y153Xbt_5t-+O+8!U?E)c9_Nw@PCGkXQL7ufb}I(CS$gF{3QuIgdKcswNi z^cfUm3aU^j3}#rAs5Az0$Ql_egz7fZYs|Kd!1aSmnXFR&;_*4)<>f(?8B7nwD3Ea~ zS+`Y&vR(<Q66FGzRtFdWA%=?BP>9I)=0=JXOeU2|!P2yV_%yyxHG|)+QYj8Xlc=l) zh?DIt^WmX^ED3BPp&)xs#`1U~vf4ZV+~M=*T|`VOc+Otg#1$_%`Mv1ESKq$bga0fE zF?qad)qb<0*nfB5&aFSb_FBQfw~W70$1eW9X1-;&&sm3~>hEt36~2#r@#+;TW%03Z z=Za1(yi0x=7CCcm(=U`kH;ej?7q*Q%{tb(}(S7sPF^h-y{MQ|uPrnlR<@?2Z8~REu zSL*qs@lz+zat<JH;x_*fYAA_&hEOH-IzGUwUM&hg90)h~1hIPaEPG9y1#WdOrM%H0 z1|XzL3=7$LL0R#vOwI|mPP_#l6Ap$VC9>Q`Y#L((A$|c+B)YsQ(F~w_b7V&YFc0Kh zMj}-0U3W7l)R;zpcw2x!Dh#%<z-Gzy$!Y|Q$3O`Y_X+4H1d72QGYXK3+brFNCTbSR z&{BW(8L25nmG2S29#9hbyu=wOx*wz9??Q-Fx^SI2h6nfqLjmilv$8;zL|!iNZs=y( zr|dM>38>KYChrxLvg<mOWQl;mV=c_3@{0LtPb(;R2rkd);At)yLC0)gF!&qST8AQA zeGsO;BIf|4<yB&9oQWZ`9_4Z3epdpE7Rc34I;}>tpS9lzJVubHBj}2d{0vg$65ihU z9tmJmU+3Y;jZ`YL0G~G-uWaV3Bdt};ekLm~O#~Px3QK_UCNy|+#UpEaK}6bb>Iygx zsSD!@K#)FBNFff|jPm&h`(Y(Yu#t=_S!$h}UOV_j&nhN2-|#a<I-o;~5_vmJ6$HDs zEfjXMnTGcFIPvjUXg<9Oog~MnJiOMT>f?DNWiLW7(&v~-uG3PUzxcrlPt{enoLffB zJM3>?q&tQe>IsC3T>LWian!$DqA~oSYvH9<vjXR3@}bKT$BNJqqgcT4ZahLdH?rmG zXCb5FM`G*X2v@WOVpX>PBGY7Vmc<wLJ03HpZ{bP}pN6M=3a2e@B^q4MGHvC4xu0-F zHmems`6Nt}<W`pYG5+76rda#GUP~v7AO0Hq{A1_2+MK0zkAFFxKUqwDSEW%ldlEL( zwp@Ao_S8|Uw`;dP`Pbcelt)O7I(98ubNM#G@5{HNe}z0T$v>C1p>0RDY~BZ62=Z!L zp2elUy=^nQtoN_|*X8jJRVFRIJ?9>G^ldl^&fKp4l)23H<Ex#uKX<>s-#)R$Za^yk zXR}xOtl0z4Q<uLL>K!|GCdscqsd9bCneD;(0>dx`pf_x2+v={=S@Rst0N>^8k#WZT zHZvF+^yeLsW(Ewa0qT>0pFd!liV{8_xh#pBdrH_iw6d8VFVR8Q34JnU<%bu1D{X>V z0HQpVpoF$=k6Lcd9@6o@;EnTZRc!6S7+pafzx;605wSq`cI^;-|D!!3jdCydfHVK> ztcdq2LL*X(qG(uGazYShK>+8NFF*m%R+sTrviddps^GeC`jak$C1GNE1A?{p#7XrB zNYh5wTU8o7u647UU<*Yi(%a%EaIl=V7;=<dh>62Ys7dLd+i8ASgJR)JiOUZ*=>l6E ze74aW!j#?@X?w#83hv)S&N%&K`A`^r;U&!XJcO+c8szYq<)TfPR^;Te0PA>RDb5n@ zOG)*eKZ{6GqHDob$XOk&_95d0tix(W+&R9Y9aTkI(39>%*vs5unmOi`E<1bC$2{W@ z5g4VRv|dZ25F+q9&DF{r!30X3RLn>_J1;!5$GlkJy=Bk3IBnxT=^Rj08puTDwjYI9 z!vPxbN)&r{<8gpiHTWkdet$P5AL|q$z?3EIRvHMD(+eV_d{aER%NKAe>e>Rb(aXqa z<PClVo=A%xWU9-!kYXodeHfPxAUlhGFky#20MBl`ti=Uha3RDfR)0bvb>cL^x0Tk~ z(*U;0w~lWR&53SM_<rsrQB<8#R#dEDO@zRuh7k4?qbyhO#9Enwpwr=sxFGy}2r@5c z@G{LF)F%$p*Ypix47beC8K?tT%!t@a*Wy@Tka3j#++>PY!G9R|^u`5VX79p#``1s7 z?f4fm{uHcJTvD(u>_w*6mrT#gd;h~cdA?6=>G7@Y%X&9|zrQc@+-70hJ5%k4)0h9l zIQ6_8{dr<;*UvjYic=Fh=dMJ;hOEOw_)7f9@@k0#SFp(0M{Yt5%n_W=%TSiruV&jk z6;ZigKpf1mVPgotO9P)&W83_cYI0%V82a*)VDV&}?Vd_uMRp(XL&43_q&n=HR-6=u zOiAUYpnRjMz%Eg4EA*!c5iZJ4m&Z3z^?owNyl63SUEpTO48SPNL>#7;Je6<da=Dbx zY3!8Jy7=rmKAFn1`i;o9H;PzdY&Ahuu&`H5trw}iN0p44z+F_a)_FW|k4UG2gMA5L z86IPFs`|$Xd8E>$6r8S%IDIh7b4UJqr!zHeTl5cKTIKUK=x{5Kbin?Fp4yw=nrJiY z^N;6?JlcL_ZP~Z$n}6N#Ugz47gx`*{J9k{Tu(YU^G<D<m4Tn_0WYzBXpClJEJMX1? zd4-HN8Gl>i?f=DQe)zLk;{aBGUhI@4q6d5iT{SWs<LI~Gg3VoGvF=F`mLL{6ysX62 z-zcGFP~J<(FCQn;=pvMeNmr<vtt#5Gt(|X~vFh!u7&Hn%)O)autq<BL)-wQ@wgbtb zu$pX9PGqmEz)PEWM~3T!(W!R|v1JeH0XO3%p1(`bWoU>wZ-^dPp~crBYn9=8@nj1T zv7uY_TmWe+o61{kFIBK$a~;GCMGR`&DY3VZ91dS;%v%Vd9e<okEV%;fSxR6bXyT{` zgZAmnIZS!0S$PlR&}I2Xjgp0YZ%g^Yw2UNy(2=ZEHHVn!-+`)9)ur(Za1MdX5*g$( z+H!%Su0U}`sKL-WEr_T)OJ5N0gQ^A-Rw(fU1b`@V=%Yid`eDWq12O5EIk}5(NSlTZ zo=06`Y^m#nw9lUV)DXsssB<o@PX0el#i4B}9#IM9d%v9n*?(*D8RDQDjc<DdU5AD+ zQ-#VHd$D)_a|@BY#ie(E&4xUM4UcMs)JlG7hfv$`I>2d}BfE4u_#a4H35R#Pud)v* zo0(M8LE9B@HUp7hB6}aX5%|OOE4_S|GuZp0K&^Ay>XTh<Z>HM&%0BG8OE<j3w{?-3 zj|Qs+w!~o!t|GR?16v*?;U!kq&Rf2x@#}66Fzoj#IQ{d|K0%<~N|~~H=ry#(m`?DJ z#Y^>;nC~4TTq)Py^@CG&vC;Yy$ku+?h2bBTlk2XR(*;6;KE$T&L>x^Lsw=@d`t1f* z-NaFw4O1;Kw~?<OUhHeV0)N}!MVNS1yPG_D{H5)sxlc*8Z_rhR-tDF5zv9pB#wV2K z&2HI$e`h;)g`cU#?5jSH^tsGy$;VnEw*{uH-o>r{xt)A)Y0cQWt-rROak%ku-Sf>~ zZ;l-cq}`EDoqev;Y&22ZHk)-Xi@kg46Jke3dFz%CCaL57QP1Uzl%ICawfx@O@wf5N zyZ5WM-u-7nb~~cGemJvb=b=b-heOqORvp|pV1Labl-;#w;d0G>pFno@&jYcKmB&I? zn|G0^o6k3)2`+pnw+`UH>6BF)64+-kwPJ8SlqEL;SQ#v4N1d{vTg{TGHlrwGBC3O{ zhiGAaz!Bppo`6?vm>?qf9Yr@qXJ(&kaAY@>h-$B8>>MD-G)13)C3`A_1Jnc6h~~;< zn0m*jNuEzebcN9aTNql4jm{`b;8sUMl(#x?PWKo}U9l8tt&OkiqB-<{6C17G%j<5I zEF2b)uKG!SyRjBTdRtQoEK2n*gxoT%XnJ(`Wf70q_A@~GOY#<BZ+?n9!0y7Ne-<~= zf+_3=2Lbp6ZJ6duV1m%@2X4%8vAPF;xj@4#D;{ylehsN6N|>l#iEbj=fQ{F^+In2( z3Npu>FSa6?E4EH4Y!*TssW4y^c)3A_DHmpTT40iuFA4)$%^aA;Of2v@@L5ab&2AuQ zTHy7!J^A8;(F1(p2DdQ-*91f!OJx^fR0N`^=UmJcE@<ap$ul@`S>)ri;g&e8U$yZI z8055fS{^+l7K;{>z)<(Pyo63#pbI*j5rAbMg??Elh3e}^0@!!JtQl!+cG|{#T*!4! z9%)q}+@Wv7KAXB4eh^YvOW<j5H#CE`7#Sx+2M0^JZ0OD&^q9@AolsIwRlb%f&p^Rx z)1@^l>>~*dm>~bFM;Q#m`(pat6rk?j$r28Wc18vpb8`ZAE4K3?7On`}NDEX}gu;^4 z?@E|R%tIg64orj7s73b*eY1#}mJ{}97kfeECw@45BHr*Hc!ce;C=O?5$gwX?gcV%o z+~2{kx_wWs<X_lfIpWoPVZE;Nko&qlt_KcaP8~C~Ivshx{Alt0|1jB6m(K5Ycz0`2 z^bV<;o7?@YJM9zyVLlDi$A;fqx9;`ak{2(I?)q~20kD<2bzqOjPv&{p!06&tvbJ@X z2^D*YZ6pC6KZkHe&Yc9+VIpSpUOHL&g%=GD3$XYzfHw>EvK~PZoLo(+%d@Kx+ZE^; zTy7!EL>obo!Vr-LLZQ-vZP><UGFPD{E%?<j1S@7)!UPRiMib$z>6+(-bnHtR1XTey znPyn3)VFg6cI;9zoo68Nd8B~bh@xjA_@s|Y3$T*h-Y=KSU}hZKlBN>};7b<9^NFoe zH<kpAf)0qN3tbS^Vw6g)wG<6|umMh=cD8G1%+Rtm;+v=Mc@>*nJhLV1;oo&_huvx{ zO}C%laCGfcm7tYRzpsh7F}d^YX!$xT_hR|!)ortAJm^xZgTvCgCzm4b{yosw_RZ`c z)BQm6A7<tJ-+dAH7Uh4q_A^Tsi^*Wj9s5EhBhq^_D(m~`O)zzsXsFEY?v-$(=zL}e zpp2LH$o@Cqqj8m4MFb2-4-rbJ7^Vt=IA{<<<&r9myKzi?;O0|-4&QqU-j42c@w3bg zGFb=fu-7DxFfF%9V<@fZgest?#9b*H3SA=|aaYi^LDE5iJHTAi!L-1NboxYG@&nM0 zMvfv3i0N?x0*{jW8F)>lsG=uNsT_;fJk6jt)k}dv6VM=z`nIveA&&l@1D9ThjdD3M zv;Z-Ld9gNN|9$=JJ}RD(;~QIDo&pOV>@O};Rj^T>l-)<*WH8(O!8IaSU`(|`zgg== z3)9q>mvN#hSmxg=V<#DlH|`btutJ=1#@%(&E}s2n$WRfsHZl8|G)?=bH|)W}v7zt+ zK8@V4Z4ziIk()im5f73?+EeW)<Jdt%Tye2Em+Dz_9ym4r6nE5(L#;KfV4hgpugdJ3 zKtc;SIlqt!{Hj5w#^8#4qJcjrhmYCot!kBFnjSw??obO^n!P)CU0J{1&miWxc&G<t z&OjS(4EToH42g&5BSOn-%i!kllKRbkj&2lA|I>WW(o|-Un5W6ME-GCO`#FND!j$_^ z6VlGy2%l;eP?1-x5;&9hTFE|t$h$mfg8;DZRQRMmUn@tp7s(1&*sn(NrXeQQMMxn1 z5eoMIrh=~!ZrOZldaA)8FV81XM-PY{0rU<|(#*&3@y||I+ky#4ZjE5$M4ZjpwtH)| z^wiIOiEEwSBwu;#?177;jlZJ4Cp<Q39(%v^aGPt)6T*?%1@`q{*Pb>#_V;~M;IGL! z`_Zpq=YQEG?Legko?Lw`-0B(jm22YXwVrK%F8kU<<;o-Z3y3B^F6sWW^6ZOQ_w<te z&(c3E=>Kc8<MsyEPfu3;{(5VVU8Z}@(CC^=bHPUz<$GzJ+3oahH0BrZ&n0`yz#Ua? zA$cA56xx@wLW*OyPyStd+g>FT)qiLV>=O<N3K8pN|CBV`O70is^Y{$o_{{;3H>QXy z4ml;K@h#m3_EZX5kmbMcLG{33V9Q&-Z^PdEZwb(v-=4u6v|(!V?vkHqHv!bBE)uQ6 z2l~SL3t;M!e@az9KbRIfkDJia1RMC6#qm(^M<q5Mc<K4b#~_{k$bbg}_wu8J0;^gA zzUr~D(As&N(}cPT-RFfV**s4IvR<xxVF`@SG6S<$Y<e~k78oYrDCJ~}lQmC8o=pu^ zpba8DV>&>kT83PSR-{Xi!x#E|3nV4J@{-qqocc1E!t^Qqh+P-;HeYm!z16*ymF*+T zfh;a&LJR#~pD>@;%-|U(N|Iy#6?z+#KxX*$Cv6Myz13{hm+-E=s5)c&G(ul<zfA2Z z!<j<#C+#WqAJF_H(pe}U0;Z-oQcCp`8EI>86s}*Dz!Y9#n^Iv`C2$USY-pIFtq@w} zL}1iA{XU84+#GK^(@w`Ln*>H?v{8||3C$0)2<=6>Br1sbi|G5}Gh6*)Afh(XL*q5k zTKqhiO%!UQ*~O-DR(WIq936gz9+r3h7(#MxVJ6GQ1i>Ibpd}AOb69gu2zYoqs}`A$ z$k&&WJJ7|_bp=49SeGoU#=XPQ@ci*J#|tsHarOMf%pC3INQ)-<%!F9rUnHjAdN@<3 zbMUOoPY$ZGvgD=})?pmq@EyA>de`R#r48w6-Z(6*tI#1mZ)FvxeG{f|vEFP&s-l&o zT1^PM6Z3?r7}irK(lH3T9T18sBqIw3uW315(;Yt1|9pjl01VU5S@2y=h2PSbU%zJZ zOU3By(w5l|Nxzm}G&=8oYJ9D&%Vn#;Pj?6PM!si-B&WXmH2?KiNSn!(>~~sizf_Xe z^WUxFJ?`p^k!meC@o(nutScLaUVa$&yg)gn*|f$k6DZoq5PGomS+oFt1hKeGwrR08 zd@WsId#cz+02((Tlp<RQK1pYU55l?-8qBxHL56z<-TqR!AgDVf0SH>JrD_V8Lo#Cs z&G0#4SS<R6RK&=2VST=#f+!Mi&-G!own9qgS%D+fgck6JO2m?>fQJ==(Oed9UNnx7 z4cP@wOT}2jRG#G)B|d<|f+5MSM47$(P?U)CNU>0aBX_E>&5?X|BZh#z6TlRR*&MUD z5`>Bw<8Nqx89fpG^5xa4jKJ-+$0fQy4vy@)Xj<w;+nsRb^gGMZ3!6Js;>H}FSFP`K zGJWs$zVnY&aq-&NJ*V|fc7ECMydZMt>4(oHOZWf1|5g9ps<MB-9ve)J+}Ea+vfSo$ z@%+#KFt&e9vRpsxJM=JK@BZ#UG--Xk0&5(gI*<1J?dx~|Og1n(KY<*Hr#dM~Mz5iT z)sh_ECXPurZkm4kC^e{LDU}GIPJlZ8btwz_LS}<(TA8Gki7LE((NXIJ^c3i4=X&q> zRwgZ|RvaJYlbJiOlz5bX0iA%QR2IA~86tAzPQj3h5>whZ$d*XAiL}>a5f!0;u9Cv@ z9QFo73GiV`ZmK7haD7H$0k-X-kv(|DTy+HxgHi`MBq}#lTfRM#0J_D?qt}%|j8I^R zoI@_4(zLw^d%+cX-<F)99lmBE)U2CANQa$4D?@~qJ{YJtI#Y(|^$-fgc$rjf`$P`D zM*yryYb9h+av~bWd$b$j|KsRf{F(g!|9|ahmcz#8tY!|)LgXxmYqJSa8(X4O%3*Y( z=$#JQ<}?!_3YF%{VXh8JO6ed;qLj%xC><zoiHhP)r_b;D{{8@N+-}$D^?W`a_q*83 zp;{MF?jX8mHz*iK;j9dqr|VWiyOWf$(wEOcMFqkqCVq~k9&6$A^E~gRpCvtH%gcp2 zv9!t+RzzE39^Kr~!WafV20-RC_Bj;_?RhSh<<v0E(Q(+Fp4iEABUlPJ9%1$rVP)u4 zL@&+=XF`iV9uPFZtOX0atw~;OtyGfz!lX0HRvmz$%Wg|YGmE@+sdE<!W1rf4Q~gg- z*zq%C+?Xh>pZk=Fhx<L~oqF6K{M0}<ZqWY2%mP#L2H19m3os1V1XiI4(7;y0y+Sj7 zu@`N-uMCK<JY!?(l7EnrWCoV%J&&)rrqb5v6mTn5Tz@>PR4veR)|KOT8>VFAFfN7! zj&vlHw+<pV$EDqRvn1rK6D3=(ZsrGqt|VMaZ)s(yZtRscNywBrX5N?2q`d6rOXcP1 zPL8i+4-Kwq=mt-%Nn82w<C~!j-M{-6eg7ki%&xq4!_)V_**BkGjm+!)U0d}!!*^uV zr)}cU&ON4wep)u&ASQKG>!*D>7O~2^|MgxQ<D?5SPcKd02<VkN?K!X_X7km@+r2DL z9|-;#(e!_y@XN!O6DE)SP0(1s@sK+C>&W-#f3BrHS^w8}<nz#}SJ5X1uWiq0Z@z5g z5#Q6Vnb{@Tu<&L?X;tI~Zq1!yvk3RSW?VMDCp?-0ay)sAS~p_Ot5QK_X|R&~C`kqd zEfSh84$(0wROXLCJ;yyVx?ttW>&TlAbx+6*6o2Z2b1;&5#x>>hY*p~lb+nW*aq&R` zW{Z%=DUqMN^6o725-hJz$u_C|a)w4rt4F9;<8Y2xzWJL#cV8Jdh!p=`P}i@WK|qxf z!%Jjm1lt1E&VY3=)btsWAGP9>W=2UX>)q8PqMA3vhDwEN!idVWayJ7auIy<z!6msE z6_BY-8;9;Dqb+-d{KP`~7^%W-8eG*%H<iiP%Aq><fNIh!3yS9;cOW>Xv|$WhEYR9e zO3-0kd>PTM$XaU^5*ARY#EY$9jGkBr{G^8jIScp{`jS|Dke;?S?~Vz8gti5m=dD;x zH5>O(7TEq3E?|IY8!E_U%Zv94QCL|vCN)X2H+w=_-J-_WbA!xCK=^TUzT+MI-i#j7 z2jT%Ck5wdzb=+Gmtsy3EbkV-P<ufdPY+nawfogIM8WA5|X|DaE2pv+Wqq;v}oF!$Z zi&r5XD<)$B4p`QMrXfs}n`9mA9Thj|6mCs9i5th_)`v40SBlq|Z06UHw#m*Tvsg!9 zp^~*uu~}IMOo=3@Xb%O#Q(GD6mn;FZLY9C(7&&8g7r2ZQ5IS|ClBg$ss0#)hW03K0 zDOy+F1l8HzHoFu@b#;B$oa3;0%#LW+44gAjoNLKv)RBz$GMEf`j1<YHYZ0fpk=v1p zBo=i}>7w0d$wn{0L?f&VlJR8|8o`bA`R~yFrP-72O$V!AJl;0qQ*XNYAMG<*`nlnW z%WrR0P5rLA<(Z!T^6y(GL|Om$>6T5y+pD@KD^AGo{yuoBu*QIJFX4R5e&2tNBwWtT zZJb7OHm|a%({DPY+NHe3pmN!i8rYSE4@;6t^h+7WWN#!Ii5PEpz7%+E9ER*6N|I?j zFH8>HRG7GLLcXn-aHp;{C6QpJNEhg?q=g$cRo{Cq*T7Q<ZX#(bR6?W@U`l^0RPMrY zl=B4$MFJB=qosb3488~N(ak8~1GH4W7RrZ&pt$=XNjoLtKcX0t`j8h0(LL6@GwFbY z#bJ)Y5Fdci3}uN7$kLB&(#&L54~}bEkf?%cbT<3p29j7}LngSh#rAWwHDHarbb%e6 zz<Td<Y4UK!{n`E7C(X1_SGH_wj=Ph#⁣IUD;!EH~0T@#INV;^MVYo$%K)~<vSdF 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�H3EDuzF$^%!w<;vp^ z##KUG#5m&IEmjM<$K?=i@;D{&C;QP01;nnVe#)_CA!_Tv2%hGO%kDvZ9e<^~Mgglo zyt|VnYL%!j7*SFY8pon9K+`XlK~t(62+adnXvB)EzM$A#$D$Yx+O>_lU~}r1-?j#F zy?aji^+U+RPS=vbQDVyC>uhdlw)GEw_>(ivTRh;ZV91X8Kxrv}_2`W>ZfdbBFTjbS zUhl1<mrp`|4#?4XqG}>fvsVWy;;dU%Z2mx>_oVU$E&3gv7oa&MEPU3jQ>rxU;VnPe zB`|j*ij13i%L}3zYoaA;R8rPkfll-<mLyTp)4PaNb7%R+{92dQ%kV_?;Wq`=gth(r z0yV4VkiM12W!>dOC(tcBD#mdCa5XJQk~m5nIZz>v!C-}8$i{HCoXU^Z)o4`5Ac_2) zsRmak%c364M`e{J80@%$2fs2n*bI$dblbxV;M~G8eo)1kQXSRxwJgYCDb3I@9A(*g zevD%2WGsjW8j$UX^U>~FcKcePp&Ijs0vtGJNzbDZ^$F&f?ok!m+wnHlQw1*yVPSdB zb2PsLC?d&S=UZXu@-#k!_d8M1;Lf9JP0G}62Xb6|P>PgIIYCeOtA(V<6NxhYHqDT; z4oN<E>PWkMs}g6;4=!9rRc{<3!N{ojw4u<isKtI#7WchPt$g*)D+;E-f>%avpMY?Q zvY@o%#uT+(yu4Rj*LO>w?4=+mV67(^_o93*PM3^%0D4#c!kW?NR++ILo?JZk@ZRIG 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≪vAS~oD(a*$MO4h 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 MT|q`7KDz>GQwEy@#`Ky_Lt>+kn>X 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 P>l8f7CHOt~zbF3>*V)Ba literal 0 HcmV?d00001 From baaa49c287c6dc6ddd2c57caedf567105b2c420b Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber <d@danielbachhuber.com> Date: Thu, 17 Apr 2014 06:32:17 -0700 Subject: [PATCH 254/839] Add the code is poetry image as well --- behat-data/codeispoetry.png | Bin 0 -> 506 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 behat-data/codeispoetry.png diff --git a/behat-data/codeispoetry.png b/behat-data/codeispoetry.png new file mode 100644 index 0000000000000000000000000000000000000000..c32981a349317c3e3773b4848f72c2adc5e0662f GIT binary patch literal 506 zcmV<W0R{evP)<h;3K|Lk000e1NJLTq004ym000XJ0{{R3X1>0r0000pP)t-s|NsAH zW@fXqv)S3%_4W0PjEwB;?4Y2agM)*`#l@DEmT+)zsi~>r;^Mr#ym@(f&(F^mn&hYe z00DwYL_t(|Ud@zSkA)x%gr_&|sQ>@hZYmIR4!iF=4^ms^%b-#G7fDGLdmg2kv3kX> z$4l@~nA>L^+{U99*wt|`Tp7qbC8Nv=$i5H2RXfnD^D<>XQ+g4UL}I-hY;=hfS*fY2 zHycnGLt064jlVH+0m>t9%?vO_DYXM3`Bqr;NYos2G0@2|2vmF_gIk{WDv;3OS`$=L zbjFks(5Rn`5FX%Kt_%n<^d0w_6p{cSlK7%|l}-%H6)24q8iCIgjVdd43ipSTamj~k zqzEHxrl={5?XpR-*Xbg9Q>0|yDZrKL_7b<64@R|mrZ7%6@<&P;e?ALcE~R_Ek@lTJ zpj@l&6S(<gJZFk{7Yr$-)qMHPSkK9q<;uh}ML_>dk>0WFH{v=Osv5phaHsfzS|mBX zk>D|NE#rWmaX9A$@buS>shiw%FscG9)3r7<ToiRT_x~c~RVG%iqM2EH0c@`tfH`Ra wFuqgiGgvc=0-Ow2-!32*Ge)x#cJrU;2NKQ<9&$E<MF0Q*07*qoM6N<$f(V`FfB*mh literal 0 HcmV?d00001 From d763b8ba40844ac60af3b48f57b72767fdc1e888 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Thu, 17 Apr 2014 19:40:32 +0300 Subject: [PATCH 255/839] removing myself from footer --- _includes/footer.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/footer.html b/_includes/footer.html index 0f1ad07a..795ddef4 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -1,7 +1,7 @@ </section> </div> - <footer>Initial code by <a href="https://github.com/andreascreten">Andreas Creten</a>. Project maintained by <a href="https://github.com/scribu">Cristi Burcă</a>.</footer> + <footer>Initial code by <a href="https://github.com/andreascreten">Andreas Creten</a></footer> {% include analytics.html %} </body> From a5f464720831672fdb34055d885246bab2781a30 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Thu, 17 Apr 2014 21:27:08 +0300 Subject: [PATCH 256/839] announce new maintainer --- _posts/2014-04-17-new-maintainer-daniel-bachhuber.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 _posts/2014-04-17-new-maintainer-daniel-bachhuber.md diff --git a/_posts/2014-04-17-new-maintainer-daniel-bachhuber.md b/_posts/2014-04-17-new-maintainer-daniel-bachhuber.md new file mode 100644 index 00000000..edf5bb23 --- /dev/null +++ b/_posts/2014-04-17-new-maintainer-daniel-bachhuber.md @@ -0,0 +1,12 @@ +--- +layout: post +author: scribu +title: "New maintainer: Daniel Bachhuber" +--- +Good news everyone! [Daniel Bachhuber](https://github.com/danielbachhuber) is the new maintainer of the WP-CLI project, which means he will be in charge of merging pull requests, releasing new versions and generally making things better. + +When I [started](https://github.com/wp-cli/wp-cli/commit/b481335b4ec1ac31f710567a286fc911b18666e7) contributing to WP-CLI three years ago, it was because I had an itch to scratch. That's no longer the case, since I've stopped using WordPress altogether. + +Unlike me, Daniel is using WordPress and WP-CLI professionally every day, so he has a much better sense of what the paint points are. Besides that, he's a long time contributor and has been leading many other open-source projects in the WordPress ecosystem. Therefore, I'm confident that WP-CLI is in good hands. + +Please join me in welcoming him to this new role :) From 8a7d79c80e1aeda56b06497633ecd60bd8511995 Mon Sep 17 00:00:00 2001 From: scribu <mail@scribu.net> Date: Thu, 17 Apr 2014 21:37:45 +0300 Subject: [PATCH 257/839] fix typo --- _posts/2014-04-17-new-maintainer-daniel-bachhuber.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2014-04-17-new-maintainer-daniel-bachhuber.md b/_posts/2014-04-17-new-maintainer-daniel-bachhuber.md index edf5bb23..3c080c5d 100644 --- a/_posts/2014-04-17-new-maintainer-daniel-bachhuber.md +++ b/_posts/2014-04-17-new-maintainer-daniel-bachhuber.md @@ -7,6 +7,6 @@ Good news everyone! [Daniel Bachhuber](https://github.com/danielbachhuber) is th When I [started](https://github.com/wp-cli/wp-cli/commit/b481335b4ec1ac31f710567a286fc911b18666e7) contributing to WP-CLI three years ago, it was because I had an itch to scratch. That's no longer the case, since I've stopped using WordPress altogether. -Unlike me, Daniel is using WordPress and WP-CLI professionally every day, so he has a much better sense of what the paint points are. Besides that, he's a long time contributor and has been leading many other open-source projects in the WordPress ecosystem. Therefore, I'm confident that WP-CLI is in good hands. +Unlike me, Daniel is using WordPress and WP-CLI professionally every day, so he has a much better sense of what the pain points are. Besides that, he's a long time contributor and has been leading many other open-source projects in the WordPress ecosystem. Therefore, I'm confident that WP-CLI is in good hands. Please join me in welcoming him to this new role :) From 56b70b16f15a5de81ca5a79a37c13979e2e9b4a2 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber <daniel@handbuilt.co> Date: Tue, 29 Apr 2014 10:35:35 -0700 Subject: [PATCH 258/839] Credit where credit is due --- _includes/footer.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/footer.html b/_includes/footer.html index 795ddef4..765991a9 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -1,7 +1,7 @@ </section> </div> - <footer>Initial code by <a href="https://github.com/andreascreten">Andreas Creten</a></footer> + <footer>Project maintained by <a href="https://github.com/danielbachhuber">Daniel Bachhuber</a>. Initial code by <a href="https://github.com/andreascreten">Andreas Creten</a> and <a href="https://github.com/scribu">Cristi Burcă</a>.</footer> {% include analytics.html %} </body> From 4781fc66d5e30cedd0c5bb6f22ab5983b4430959 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber <d@danielbachhuber.com> Date: Tue, 29 Apr 2014 10:41:56 -0700 Subject: [PATCH 259/839] First pass at blog post for survey results --- _posts/2014-04-30-survey-results.md | 40 +++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 _posts/2014-04-30-survey-results.md diff --git a/_posts/2014-04-30-survey-results.md b/_posts/2014-04-30-survey-results.md new file mode 100644 index 00000000..c045b98f --- /dev/null +++ b/_posts/2014-04-30-survey-results.md @@ -0,0 +1,40 @@ +--- +layout: post +author: danielbachhuber +title: "What the survey said" +--- + +Many thanks to the 56 people who took our first user survey. We appreciate your time in helping us understand how WP-CLI is being adopted by the community. + +### By the numbers + +**Almost 3/4 of respondents use WP-CLI actively** + +53% use WP-CLI multiple times per day, 20% use it a couple or few times per week, and 26% use it infrequently or rarely. + +Things that are faster to do in [already open] console than context-switching to WP admin. + +**WP-CLI is largely used to install and update** + +Even with its variety of commands, WP-CLI is largely used to install and update. 37.5% of respondents reported using WP-CLI to install WordPress (with 30.36% using it to update WordPress), and 32.14% reported using it to update plugins and themes. + +After code management, WP-CLI is popularly used (23.21%) to perform migrations. Respondents reported using `wp db export` and `wp db import` in conjunction with `wp search-replace`, or `wp export` and `wp import`. + +A subset of respondents reported using WP-CLI to perform specialized tasks, including: + +* Creating users with [`wp user create`](http://wp-cli.org/commands/user/create/) and [`wp user import-csv`](http://wp-cli.org/commands/user/import-csv/). +* [Deleting options](http://wp-cli.org/commands/option/delete/). +* [Resizing images](http://wp-cli.org/commands/media/regenerate/). +* [Creating posts / pages](http://wp-cli.org/commands/post/create/). +* Quick code execution via [`wp eval`](http://wp-cli.org/commands/eval/), [`wp eval-file`](http://wp-cli.org/commands/eval-file/), and [`wp shell`](http://wp-cli.org/commands/shell/). +* [Writing custom commands](https://github.com/wp-cli/wp-cli/wiki/Commands-Cookbook). + +**Only 38% have used community packages** + +WP-CLI now has 24 community packages listed in its [Package Index](http://wp-cli.org/package-index/). A good 62% percent of respondents will have the good fortune in the future to discover a helpful community package. + +### Feature requests + +**For some reason, respondents would like WP-CLI to prepare their meals** + +A good 7% of you think WP-CLI is capable of making your meals, asking for it to "make breakfast", "make coffee ;-)", or "dishes?". While we can't make any promises, we'll continue to think about WP-CLI over breakfast and see if we get inspired. From 1ee5ca20729b5e94324b1fd196f9a2f45f24e09b Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber <d@danielbachhuber.com> Date: Tue, 29 Apr 2014 11:01:15 -0700 Subject: [PATCH 260/839] Clarify how people use WP-CLI --- _posts/2014-04-30-survey-results.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/_posts/2014-04-30-survey-results.md b/_posts/2014-04-30-survey-results.md index c045b98f..911e5d47 100644 --- a/_posts/2014-04-30-survey-results.md +++ b/_posts/2014-04-30-survey-results.md @@ -10,9 +10,7 @@ Many thanks to the 56 people who took our first user survey. We appreciate your **Almost 3/4 of respondents use WP-CLI actively** -53% use WP-CLI multiple times per day, 20% use it a couple or few times per week, and 26% use it infrequently or rarely. - -Things that are faster to do in [already open] console than context-switching to WP admin. +53% use WP-CLI multiple times per day, 20% use it a couple or few times per week, and 26% use it infrequently or rarely. 46% of respondents use WP-CLI interactively at the command line, 34% have incorporated it into bash scripts, and 18% are using WP-CLI with Puppet, Chef, or another provisioning system. **WP-CLI is largely used to install and update** From c0fde9a2bb76077d5e788905c4e13052f1ff3334 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber <d@danielbachhuber.com> Date: Tue, 29 Apr 2014 11:19:03 -0700 Subject: [PATCH 261/839] Link up all the things --- _posts/2014-04-30-survey-results.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2014-04-30-survey-results.md b/_posts/2014-04-30-survey-results.md index 911e5d47..8f716a5d 100644 --- a/_posts/2014-04-30-survey-results.md +++ b/_posts/2014-04-30-survey-results.md @@ -16,7 +16,7 @@ Many thanks to the 56 people who took our first user survey. We appreciate your Even with its variety of commands, WP-CLI is largely used to install and update. 37.5% of respondents reported using WP-CLI to install WordPress (with 30.36% using it to update WordPress), and 32.14% reported using it to update plugins and themes. -After code management, WP-CLI is popularly used (23.21%) to perform migrations. Respondents reported using `wp db export` and `wp db import` in conjunction with `wp search-replace`, or `wp export` and `wp import`. +After code management, WP-CLI is popularly used (23.21%) to perform migrations. Respondents reported using [`wp db export`](http://wp-cli.org/commands/db/export/) and [`wp db import`](http://wp-cli.org/commands/db/import/) in conjunction with [`wp search-replace`](http://wp-cli.org/commands/search-replace/), or [`wp export`](http://wp-cli.org/commands/export/) and [`wp import`](http://wp-cli.org/commands/import/). A subset of respondents reported using WP-CLI to perform specialized tasks, including: From 21c157e0633728bf15b09f6d1a2abe5b71817c2a Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber <d@danielbachhuber.com> Date: Tue, 29 Apr 2014 11:38:06 -0700 Subject: [PATCH 262/839] Compile some of the feature requests --- _posts/2014-04-30-survey-results.md | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/_posts/2014-04-30-survey-results.md b/_posts/2014-04-30-survey-results.md index 8f716a5d..07988107 100644 --- a/_posts/2014-04-30-survey-results.md +++ b/_posts/2014-04-30-survey-results.md @@ -33,6 +33,28 @@ WP-CLI now has 24 community packages listed in its [Package Index](http://wp-cli ### Feature requests -**For some reason, respondents would like WP-CLI to prepare their meals** +**Remotely manage WordPress instances** + +One common thread amongst respondents is the desire to run WP-CLI commands across multiple machines from one place. Depending on what you have access to, there are a couple of existing ways to do this: + +1. If you have SSH access, X-Team's [WP-CLI SSH](https://github.com/x-team/wp-cli-ssh) uses your SSH connection to run WP-CLI commands on a remote machine. +1. The [WP Remote CLI](https://github.com/humanmade/wp-remote-cli) project proxies a subset of WP-CLI commands through WP Remote. + +**Better documentation** + +A substantial number of users requested better examples for the website. Let this be a call for contributions! Because all of the command documentation is generated from the source code, adding examples or clarifying usage notes is just a pull request away. + +**Grab bag of enhancements** + +If you have time to put together a pull request or community package, here's a short list of requested enhancements: + +* Git awareness: have plugin/core updates result in git commits (with automatically-generated messages). +* Yum integration for `yum install wp-cli`, `yum check-update` and `yum update wp-cli`. +* Faster algorithm for the search-replace command when dealing with large databases. +* Manage file and folder permissions for WordPress installs. +* Reset all users passwords. +* "Break in Windows less." + +**WP-CLI commands to prepare meals** A good 7% of you think WP-CLI is capable of making your meals, asking for it to "make breakfast", "make coffee ;-)", or "dishes?". While we can't make any promises, we'll continue to think about WP-CLI over breakfast and see if we get inspired. From 075e22bafb6793861045ec67697bcd791f480b93 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber <d@danielbachhuber.com> Date: Tue, 29 Apr 2014 11:39:04 -0700 Subject: [PATCH 263/839] Let's push this live today, in fact --- ...{2014-04-30-survey-results.md => 2014-04-29-survey-results.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename _posts/{2014-04-30-survey-results.md => 2014-04-29-survey-results.md} (100%) diff --git a/_posts/2014-04-30-survey-results.md b/_posts/2014-04-29-survey-results.md similarity index 100% rename from _posts/2014-04-30-survey-results.md rename to _posts/2014-04-29-survey-results.md From 039b9d7f55f523e6d95dbe4296b68b9c52ff9098 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber <d@danielbachhuber.com> Date: Tue, 29 Apr 2014 11:48:35 -0700 Subject: [PATCH 264/839] Minor copy edits --- _posts/2014-04-29-survey-results.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/_posts/2014-04-29-survey-results.md b/_posts/2014-04-29-survey-results.md index 07988107..fde9fb5c 100644 --- a/_posts/2014-04-29-survey-results.md +++ b/_posts/2014-04-29-survey-results.md @@ -35,14 +35,16 @@ WP-CLI now has 24 community packages listed in its [Package Index](http://wp-cli **Remotely manage WordPress instances** -One common thread amongst respondents is the desire to run WP-CLI commands across multiple machines from one place. Depending on what you have access to, there are a couple of existing ways to do this: +The most common thread amongst respondents is the desire to run WP-CLI commands in one place across multiple machines. Depending on what you have access to, there are a couple of current ways to do this: 1. If you have SSH access, X-Team's [WP-CLI SSH](https://github.com/x-team/wp-cli-ssh) uses your SSH connection to run WP-CLI commands on a remote machine. 1. The [WP Remote CLI](https://github.com/humanmade/wp-remote-cli) project proxies a subset of WP-CLI commands through WP Remote. **Better documentation** -A substantial number of users requested better examples for the website. Let this be a call for contributions! Because all of the command documentation is generated from the source code, adding examples or clarifying usage notes is just a pull request away. +A substantial number of users requested better examples for the website. Let this be a call for contributions! Because all of the command docs are generated from the source code, adding examples or clarifying usage notes is just a pull request away. + +Alternatively, we could start a wiki page with bash tips, or periodic blog posts about how people have integrated WP-CLI into their workflows. **Grab bag of enhancements** From 9f1205cd44be4970956898b0091eca1c23b205f5 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber <d@danielbachhuber.com> Date: Tue, 29 Apr 2014 11:55:06 -0700 Subject: [PATCH 265/839] A more direct call to action --- _posts/2014-04-29-survey-results.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2014-04-29-survey-results.md b/_posts/2014-04-29-survey-results.md index fde9fb5c..6a897566 100644 --- a/_posts/2014-04-29-survey-results.md +++ b/_posts/2014-04-29-survey-results.md @@ -44,7 +44,7 @@ The most common thread amongst respondents is the desire to run WP-CLI commands A substantial number of users requested better examples for the website. Let this be a call for contributions! Because all of the command docs are generated from the source code, adding examples or clarifying usage notes is just a pull request away. -Alternatively, we could start a wiki page with bash tips, or periodic blog posts about how people have integrated WP-CLI into their workflows. +Alternatively, you can [share your shell tips](https://github.com/wp-cli/wp-cli/wiki/Shell-Tips), or contribute a blog post on how you've integrated WP-CLI into your workflow. **Grab bag of enhancements** From 7e5aded0f1d39240626193d104f3c45bea332133 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=20Burc=C4=83?= <scribu@gmail.com> Date: Fri, 2 May 2014 14:23:28 +0300 Subject: [PATCH 266/839] Clarify config file lookup paths see https://github.com/wp-cli/wp-cli/issues/1170 --- config/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/index.md b/config/index.md index a6dc1685..f4e6f6d1 100644 --- a/config/index.md +++ b/config/index.md @@ -7,8 +7,8 @@ WP-CLI has a series of global parameters which work with all commands. They can The order of precedence, from highest priority to lowest, is: 1. Command-line flags -1. `wp-cli.local.yml` file inside a WordPress install -1. `wp-cli.yml` file inside a WordPress install +1. `wp-cli.local.yml` file inside the current working directory (or upwards) +1. `wp-cli.yml` file inside the current working directory (or upwards) 1. `~/.wp-cli/config.yml` file (path can be changed by setting the `WP_CLI_CONFIG_PATH` environment variable) 1. Defaults From e41e16aa9da001ef6cbcc965a6d0ee5ed4599eb9 Mon Sep 17 00:00:00 2001 From: John Eckman <jeckman@users.noreply.github.com> Date: Sat, 10 May 2014 15:06:18 -0400 Subject: [PATCH 267/839] Update index.md adding -k option to curl to ignore cert warning (cert identifies itself as www.github.com when called as raw.github.com - but we need to call as raw to get the raw output). --- index.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/index.md b/index.md index 7f1995f1..853c9f8d 100644 --- a/index.md +++ b/index.md @@ -15,9 +15,10 @@ title: Command line interface for WordPress First, download [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar) using `wget` or `curl`. For example: ~~~ -curl -L https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar > wp-cli.phar +curl -kL https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar > wp-cli.phar ~~~ + Then, check if it works: ~~~ From 35d5fa155470151e694c471fa14d6b420f13b850 Mon Sep 17 00:00:00 2001 From: Jaime Martinez <jmslbam@gmail.com> Date: Mon, 12 May 2014 08:53:06 +0200 Subject: [PATCH 268/839] Add syntax higlighter Does needs some refactoring of the code blocks. Prism has already has some styling tweaks. --- _includes/footer.html | 1 + _includes/header.html | 1 + assets/css/prism.css | 162 ++++++++++++++++++++++++++++++++++++++++++ assets/js/prism.js | 19 +++++ 4 files changed, 183 insertions(+) create mode 100644 assets/css/prism.css create mode 100755 assets/js/prism.js diff --git a/_includes/footer.html b/_includes/footer.html index 765991a9..ab829ce8 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -3,6 +3,7 @@ <footer>Project maintained by <a href="https://github.com/danielbachhuber">Daniel Bachhuber</a>. Initial code by <a href="https://github.com/andreascreten">Andreas Creten</a> and <a href="https://github.com/scribu">Cristi Burcă</a>.</footer> + <script src="/assets/js/prism.js"></script> {% include analytics.html %} </body> </html> diff --git a/_includes/header.html b/_includes/header.html index 77e3cd53..84e7822d 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -4,6 +4,7 @@ <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <link rel="stylesheet" type="text/css" href="/assets/css/prism.css" media="screen" /> <link rel="stylesheet" type="text/css" href="/assets/css/stylesheet.css" media="screen" /> <link rel="icon" type="image/x-icon" href="//github.com/favicon.ico" /> diff --git a/assets/css/prism.css b/assets/css/prism.css new file mode 100644 index 00000000..11f42cad --- /dev/null +++ b/assets/css/prism.css @@ -0,0 +1,162 @@ +/** + * okaidia theme for JavaScript, CSS and HTML + * Loosely based on Monokai textmate theme by http://www.monokai.nl/ + * @author ocodia + */ +code, +code[class*="language-"], +pre[class*="language-"] { + color: #f8f8f2; + text-shadow: 0 1px rgba(0,0,0,0.3); + font-family: Consolas, Monaco, 'Andale Mono', monospace; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 0.5em; + margin: .5em 0 1.1em 0; + overflow: auto; + border-radius: 0.3em; +} +code, +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #424242; +} + +/* Inline code */ +code, +:not(pre) > code[class*="language-"] { + padding: 0.15em 0.3em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} + +.token.punctuation { + color: #f8f8f2; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.constant, +.token.symbol { + color: #f92672; +} + +.token.boolean, +.token.number{ + color: #ae81ff; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.builtin { + color: #a6e22e; +} + + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string, +.token.variable { + color: #f8f8f2; +} + +.token.email-link { + color: #2EA2CC; +} + +.token.atrule, +.token.attr-value +{ + color: #e6db74; +} + + +.token.keyword{ +color: #66d9ef; +} + +.token.regex, +.token.important { + color: #fd971f; +} + +.token.important { + font-weight: bold; +} + +.token.entity { + cursor: help; +} + +pre.line-numbers { + position: relative; + padding-left: 3.8em; + counter-reset: linenumber; +} + +pre.line-numbers > code { + position: relative; +} + +.line-numbers .line-numbers-rows { + position: absolute; + pointer-events: none; + top: 0; + font-size: 100%; + left: -3.8em; + width: 3em; /* works for line-numbers below 1000 lines */ + letter-spacing: -1px; + border-right: 1px solid #999; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + +} + + .line-numbers-rows > span { + pointer-events: none; + display: block; + counter-increment: linenumber; + } + + .line-numbers-rows > span:before { + content: counter(linenumber); + color: #999; + display: block; + padding-right: 0.8em; + text-align: right; + } +.token a { + color: inherit; +} diff --git a/assets/js/prism.js b/assets/js/prism.js new file mode 100755 index 00000000..6403e7e8 --- /dev/null +++ b/assets/js/prism.js @@ -0,0 +1,19 @@ +/** + * Prism: Lightweight, robust, elegant syntax highlighting + * MIT license http://www.opensource.org/licenses/mit-license.php/ + * @author Lea Verou http://lea.verou.me + */(function(){var e=/\blang(?:uage)?-(?!\*)(\w+)\b/i,t=self.Prism={util:{type:function(e){return Object.prototype.toString.call(e).match(/\[object (\w+)\]/)[1]},clone:function(e){var n=t.util.type(e);switch(n){case"Object":var r={};for(var i in e)e.hasOwnProperty(i)&&(r[i]=t.util.clone(e[i]));return r;case"Array":return e.slice()}return e}},languages:{extend:function(e,n){var r=t.util.clone(t.languages[e]);for(var i in n)r[i]=n[i];return r},insertBefore:function(e,n,r,i){i=i||t.languages;var s=i[e],o={};for(var u in s)if(s.hasOwnProperty(u)){if(u==n)for(var a in r)r.hasOwnProperty(a)&&(o[a]=r[a]);o[u]=s[u]}return i[e]=o},DFS:function(e,n){for(var r in e){n.call(e,r,e[r]);t.util.type(e)==="Object"&&t.languages.DFS(e[r],n)}}},highlightAll:function(e,n){var r=document.querySelectorAll('code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code');for(var i=0,s;s=r[i++];)t.highlightElement(s,e===!0,n)},highlightElement:function(r,i,s){var o,u,a=r;while(a&&!e.test(a.className))a=a.parentNode;if(a){o=(a.className.match(e)||[,""])[1];u=t.languages[o]}if(!u)return;r.className=r.className.replace(e,"").replace(/\s+/g," ")+" language-"+o;a=r.parentNode;/pre/i.test(a.nodeName)&&(a.className=a.className.replace(e,"").replace(/\s+/g," ")+" language-"+o);var f=r.textContent;if(!f)return;f=f.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ");var l={element:r,language:o,grammar:u,code:f};t.hooks.run("before-highlight",l);if(i&&self.Worker){var c=new Worker(t.filename);c.onmessage=function(e){l.highlightedCode=n.stringify(JSON.parse(e.data),o);t.hooks.run("before-insert",l);l.element.innerHTML=l.highlightedCode;s&&s.call(l.element);t.hooks.run("after-highlight",l)};c.postMessage(JSON.stringify({language:l.language,code:l.code}))}else{l.highlightedCode=t.highlight(l.code,l.grammar,l.language);t.hooks.run("before-insert",l);l.element.innerHTML=l.highlightedCode;s&&s.call(r);t.hooks.run("after-highlight",l)}},highlight:function(e,r,i){return n.stringify(t.tokenize(e,r),i)},tokenize:function(e,n,r){var i=t.Token,s=[e],o=n.rest;if(o){for(var u in o)n[u]=o[u];delete n.rest}e:for(var u in n){if(!n.hasOwnProperty(u)||!n[u])continue;var a=n[u],f=a.inside,l=!!a.lookbehind,c=0;a=a.pattern||a;for(var h=0;h<s.length;h++){var p=s[h];if(s.length>e.length)break e;if(p instanceof i)continue;a.lastIndex=0;var d=a.exec(p);if(d){l&&(c=d[1].length);var v=d.index-1+c,d=d[0].slice(c),m=d.length,g=v+m,y=p.slice(0,v+1),b=p.slice(g+1),w=[h,1];y&&w.push(y);var E=new i(u,f?t.tokenize(d,f):d);w.push(E);b&&w.push(b);Array.prototype.splice.apply(s,w)}}}return s},hooks:{all:{},add:function(e,n){var r=t.hooks.all;r[e]=r[e]||[];r[e].push(n)},run:function(e,n){var r=t.hooks.all[e];if(!r||!r.length)return;for(var i=0,s;s=r[i++];)s(n)}}},n=t.Token=function(e,t){this.type=e;this.content=t};n.stringify=function(e,r,i){if(typeof e=="string")return e;if(Object.prototype.toString.call(e)=="[object Array]")return e.map(function(t){return n.stringify(t,r,e)}).join("");var s={type:e.type,content:n.stringify(e.content,r,i),tag:"span",classes:["token",e.type],attributes:{},language:r,parent:i};s.type=="comment"&&(s.attributes.spellcheck="true");t.hooks.run("wrap",s);var o="";for(var u in s.attributes)o+=u+'="'+(s.attributes[u]||"")+'"';return"<"+s.tag+' class="'+s.classes.join(" ")+'" '+o+">"+s.content+"</"+s.tag+">"};if(!self.document){self.addEventListener("message",function(e){var n=JSON.parse(e.data),r=n.language,i=n.code;self.postMessage(JSON.stringify(t.tokenize(i,t.languages[r])));self.close()},!1);return}var r=document.getElementsByTagName("script");r=r[r.length-1];if(r){t.filename=r.src;document.addEventListener&&!r.hasAttribute("data-manual")&&document.addEventListener("DOMContentLoaded",t.highlightAll)}})();; +Prism.languages.markup={comment:/<!--[\w\W]*?-->/g,prolog:/<\?.+?\?>/,doctype:/<!DOCTYPE.+?>/,cdata:/<!\[CDATA\[[\w\W]*?]]>/i,tag:{pattern:/<\/?[\w:-]+\s*(?:\s+[\w:-]+(?:=(?:("|')(\\?[\w\W])*?\1|\w+))?\s*)*\/?>/gi,inside:{tag:{pattern:/^<\/?[\w:-]+/i,inside:{punctuation:/^<\/?/,namespace:/^[\w-]+?:/}},"attr-value":{pattern:/=(?:('|")[\w\W]*?(\1)|[^\s>]+)/gi,inside:{punctuation:/=|>|"/g}},punctuation:/\/?>/g,"attr-name":{pattern:/[\w:-]+/g,inside:{namespace:/^[\w-]+?:/}}}},entity:/&#?[\da-z]{1,8};/gi};Prism.hooks.add("wrap",function(e){e.type==="entity"&&(e.attributes.title=e.content.replace(/&/,"&"))});; +Prism.languages.css={comment:/\/\*[\w\W]*?\*\//g,atrule:{pattern:/@[\w-]+?.*?(;|(?=\s*{))/gi,inside:{punctuation:/[;:]/g}},url:/url\((["']?).*?\1\)/gi,selector:/[^\{\}\s][^\{\};]*(?=\s*\{)/g,property:/(\b|\B)[\w-]+(?=\s*:)/ig,string:/("|')(\\?.)*?\1/g,important:/\B!important\b/gi,ignore:/&(lt|gt|amp);/gi,punctuation:/[\{\};:]/g};Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{style:{pattern:/(<|<)style[\w\W]*?(>|>)[\w\W]*?(<|<)\/style(>|>)/ig,inside:{tag:{pattern:/(<|<)style[\w\W]*?(>|>)|(<|<)\/style(>|>)/ig,inside:Prism.languages.markup.tag.inside},rest:Prism.languages.css}}});; +Prism.languages.clike={comment:{pattern:/(^|[^\\])(\/\*[\w\W]*?\*\/|(^|[^:])\/\/.*?(\r?\n|$))/g,lookbehind:!0},string:/("|')(\\?.)*?\1/g,"class-name":{pattern:/((?:(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/ig,lookbehind:!0,inside:{punctuation:/(\.|\\)/}},keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/g,"boolean":/\b(true|false)\b/g,"function":{pattern:/[a-z0-9_]+\(/ig,inside:{punctuation:/\(/}}, number:/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?)\b/g,operator:/[-+]{1,2}|!|<=?|>=?|={1,3}|(&){1,2}|\|?\||\?|\*|\/|\~|\^|\%/g,ignore:/&(lt|gt|amp);/gi,punctuation:/[{}[\];(),.:]/g}; +; +Prism.languages.javascript=Prism.languages.extend("clike",{keyword:/\b(var|let|if|else|while|do|for|return|in|instanceof|function|get|set|new|with|typeof|try|throw|catch|finally|null|break|continue)\b/g,number:/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?|NaN|-?Infinity)\b/g});Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/g,lookbehind:!0}});Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{script:{pattern:/(<|<)script[\w\W]*?(>|>)[\w\W]*?(<|<)\/script(>|>)/ig,inside:{tag:{pattern:/(<|<)script[\w\W]*?(>|>)|(<|<)\/script(>|>)/ig,inside:Prism.languages.markup.tag.inside},rest:Prism.languages.javascript}}});; +Prism.languages.php=Prism.languages.extend("clike",{keyword:/\b(and|or|xor|array|as|break|case|cfunction|class|const|continue|declare|default|die|do|else|elseif|enddeclare|endfor|endforeach|endif|endswitch|endwhile|extends|for|foreach|function|include|include_once|global|if|new|return|static|switch|use|require|require_once|var|while|abstract|interface|public|implements|extends|private|protected|parent|static|throw|null|echo|print|trait|namespace|use|final|yield|goto|instanceof|finally|try|catch)\b/ig, constant:/\b[A-Z0-9_]{2,}\b/g});Prism.languages.insertBefore("php","keyword",{delimiter:/(\?>|<\?php|<\?)/ig,variable:/(\$\w+)\b/ig,"package":{pattern:/(\\|namespace\s+|use\s+)[\w\\]+/g,lookbehind:!0,inside:{punctuation:/\\/}}});Prism.languages.insertBefore("php","operator",{property:{pattern:/(->)[\w]+/g,lookbehind:!0}}); Prism.languages.markup&&(Prism.hooks.add("before-highlight",function(a){"php"===a.language&&(a.tokenStack=[],a.code=a.code.replace(/(?:<\?php|<\?|<\?php|<\?)[\w\W]*?(?:\?>|\?>)/ig,function(b){a.tokenStack.push(b);return"{{{PHP"+a.tokenStack.length+"}}}"}))}),Prism.hooks.add("after-highlight",function(a){if("php"===a.language){for(var b=0,c;c=a.tokenStack[b];b++)a.highlightedCode=a.highlightedCode.replace("{{{PHP"+(b+1)+"}}}",Prism.highlight(c,a.grammar,"php"));a.element.innerHTML=a.highlightedCode}}), Prism.hooks.add("wrap",function(a){"php"===a.language&&"markup"===a.type&&(a.content=a.content.replace(/(\{\{\{PHP[0-9]+\}\}\})/g,'<span class="token php">$1</span>'))}),Prism.languages.insertBefore("php","comment",{markup:{pattern:/(<|<)[^?]\/?(.*?)(>|>)/g,inside:Prism.languages.markup},php:/\{\{\{PHP[0-9]+\}\}\}/g}));; +Prism.languages.insertBefore("php","variable",{"this":/\$this/g,global:/\$_?(GLOBALS|SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)/g,scope:{pattern:/\b[\w\\]+::/g,inside:{keyword:/(static|self|parent)/,punctuation:/(::|\\)/}}});; +Prism.languages.bash=Prism.languages.extend("clike",{comment:{pattern:/(^|[^"{\\])(#.*?(\r?\n|$))/g,lookbehind:!0},string:{pattern:/("|')(\\?[\s\S])*?\1/g,inside:{property:/\$([a-zA-Z0-9_#\?\-\*!@]+|\{[^\}]+\})/g}},keyword:/\b(if|then|else|elif|fi|for|break|continue|while|in|case|function|select|do|done|until|echo|exit|return|set|declare)\b/g});Prism.languages.insertBefore("bash","keyword",{property:/\$([a-zA-Z0-9_#\?\-\*!@]+|\{[^}]+\})/g});Prism.languages.insertBefore("bash","comment",{important:/(^#!\s*\/bin\/bash)|(^#!\s*\/bin\/sh)/g}); +; +Prism.hooks.add("after-highlight",function(e){var t=e.element.parentNode;if(!t||!/pre/i.test(t.nodeName)||t.className.indexOf("line-numbers")===-1){return}var n=1+e.code.split("\n").length;var r;lines=new Array(n);lines=lines.join("<span></span>");r=document.createElement("span");r.className="line-numbers-rows";r.innerHTML=lines;if(t.hasAttribute("data-start")){t.style.counterReset="linenumber "+(parseInt(t.getAttribute("data-start"),10)-1)}e.element.appendChild(r)}) +; +(function(){if(!self.Prism)return;var e=/\b([a-z]{3,7}:\/\/|tel:)[\w-+%~/.:]+/,t=/\b\S+@[\w.]+[a-z]{2}/,n=/\[([^\]]+)]\(([^)]+)\)/,r=["comment","url","attr-value","string"];for(var i in Prism.languages){var s=Prism.languages[i];Prism.languages.DFS(s,function(i,s){if(r.indexOf(i)>-1){s.pattern||(s=this[i]={pattern:s});s.inside=s.inside||{};i=="comment"&&(s.inside["md-link"]=n);s.inside["url-link"]=e;s.inside["email-link"]=t}});s["url-link"]=e;s["email-link"]=t}Prism.hooks.add("wrap",function(e){if(/-link$/.test(e.type)){e.tag="a";var t=e.content;if(e.type=="email-link")t="mailto:"+t;else if(e.type=="md-link"){var r=e.content.match(n);t=r[2];e.content=r[1]}e.attributes.href=t}})})(); +; +(function(){if(!self.Prism||!self.document||!document.querySelector)return;var e={js:"javascript",html:"markup",svg:"markup"};Array.prototype.slice.call(document.querySelectorAll("pre[data-src]")).forEach(function(t){var n=t.getAttribute("data-src"),r=(n.match(/\.(\w+)$/)||[,""])[1],i=e[r]||r,s=document.createElement("code");s.className="language-"+i;t.textContent="";s.textContent="Loading…";t.appendChild(s);var o=new XMLHttpRequest;o.open("GET",n,!0);o.onreadystatechange=function(){if(o.readyState==4)if(o.status<400&&o.responseText){s.textContent=o.responseText;Prism.highlightElement(s)}else o.status>=400?s.textContent="✖ Error "+o.status+" while fetching file: "+o.statusText:s.textContent="✖ Error: File does not exist or is empty"};o.send(null)})})();; From 9891786e167f557ab136d1d1b183618bd7855a1d Mon Sep 17 00:00:00 2001 From: Jaime Martinez <jmslbam@gmail.com> Date: Mon, 12 May 2014 08:53:49 +0200 Subject: [PATCH 269/839] Add new main navigation markup --- _includes/header.html | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/_includes/header.html b/_includes/header.html index 84e7822d..244fbfbe 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -21,15 +21,17 @@ <h1><a href="/">WP-CLI</a></h1> <h2>A command line interface for WordPress</h2> - <section id="downloads"> - <a href="/commands/" class="btn btn-cmd">Commands</a> - <a href="/config/" class="btn btn-cmd">Configuration</a> - <a href="/package-index/" class="btn btn-cmd">Packages</a> - <a href="/blog/" class="btn btn-blog">Blog</a> - <a href="https://github.com/wp-cli/wp-cli/wiki" class="btn btn-github">Wiki</a> - <a href="https://github.com/wp-cli/wp-cli" class="btn btn-source">Github</a> - <a href="https://twitter.com/wpcli" class="btn btn-twitter">Twitter</a> - </section> + <nav> + <ul> + <li><a href="/commands/" class="btn-cmd">Commands</a></li> + <li><a href="/config/" class="btn-cmd">Configuration</a></li> + <li><a href="/package-index/" class="btn-cmd">Packages</a></li> + <li><a href="/blog/" class="btn-blog">Blog</a></li> + <li><a href="https://github.com/wp-cli/wp-cli/wiki" class="btn-github">Wiki</a></li> + <li><a href="https://github.com/wp-cli/wp-cli" class="btn-source">Github</a></li> + <li><a href="https://twitter.com/wpcli" class="btn-twitter">Twitter</a></li> + </ul> + </nav> </div> </header> From c36826b714d40c9db5759851ce9e1faed8d26521 Mon Sep 17 00:00:00 2001 From: Jaime Martinez <jmslbam@gmail.com> Date: Mon, 12 May 2014 08:54:39 +0200 Subject: [PATCH 270/839] Add local favicon markup Still needs a faviconfile though :) --- _includes/header.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_includes/header.html b/_includes/header.html index 244fbfbe..846df431 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -7,8 +7,8 @@ <link rel="stylesheet" type="text/css" href="/assets/css/prism.css" media="screen" /> <link rel="stylesheet" type="text/css" href="/assets/css/stylesheet.css" media="screen" /> - <link rel="icon" type="image/x-icon" href="//github.com/favicon.ico" /> - + <link rel="icon" type="image/x-icon" href="/assets/img/favicon.ico" /> + <link rel="shortcut icon" href="/assets/img/favicon.ico" /> <link rel="alternate" type="application/atom+xml" href="/atom.xml" title="Atom Feed"> <title>{{ page.title }} | WP-CLI From 32d365e5c0c45fcdb808e3312fedc6cd5a42cfd6 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Mon, 12 May 2014 08:55:39 +0200 Subject: [PATCH 271/839] Merge packaging index styling --- assets/css/stylesheet.css | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 3a184817..f2a91aee 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -313,3 +313,12 @@ article + article { .pagination .next { float: right; } +/* Packaging index */ +.package { + border-bottom: 1px dashed #999; + padding-bottom: 1em; + margin-bottom: 1em; +} +.package th { + width: 150px; +} From 6f914de0c456a86124956e150839ca286f15a692 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Mon, 12 May 2014 09:37:55 +0200 Subject: [PATCH 272/839] Add Gemfile To ease the installation --- .gitignore | 1 + Gemfile | 3 +++ README.md | 3 +-- 3 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 Gemfile diff --git a/.gitignore b/.gitignore index d82d65ac..5ae67303 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ _site +Gemfile.lock composer.lock vendor _drafts/ diff --git a/Gemfile b/Gemfile new file mode 100644 index 00000000..4d3fad9b --- /dev/null +++ b/Gemfile @@ -0,0 +1,3 @@ +source 'https://rubygems.org' +gem 'jekyll' +gem 'kramdown' \ No newline at end of file diff --git a/README.md b/README.md index 55b3713b..57ece493 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,5 @@ vendor/bin/phake ### Preview locally -1. [Install Jekyll](http://jekyllrb.com/docs/installation/). -2. [Install Kramdown](http://jekyllrb.com/docs/extras/#kramdown). +1. [Install Bundler gem](http://jekyllrb.com/docs/installation/): `gem install bundler`. 2. Run `jekyll serve --watch` From 7a48caa3ad4e16f998e9948b0ed989ad9f3700ca Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Mon, 12 May 2014 17:34:03 +0200 Subject: [PATCH 273/839] Add new initial design styling I know commit is too big. Impacts fonts, colors, header and main content elements. --- assets/css/stylesheet.css | 350 ++++++++++++++++++++++++-------------- 1 file changed, 227 insertions(+), 123 deletions(-) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index f2a91aee..9fcb8432 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -1,11 +1,39 @@ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + src: local('Open Sans Light'), local('OpenSans-Light'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/DXI1ORHCpsQm3Vp6mXoaTaRDOzjiPcYnFooOUGCOsRk.woff) format('woff'); +} +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + src: local('Open Sans'), local('OpenSans'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/cJZKeOuBrn4kERxqtaUH3bO3LdcAZYWl9Si6vvxL-qU.woff) format('woff'); +} +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + src: local('Open Sans Bold'), local('OpenSans-Bold'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/k3k702ZOKiLJc3WVjuplzKRDOzjiPcYnFooOUGCOsRk.woff) format('woff'); +} + +html, +body { + min-height: 100%; +} + body { margin: 0; padding: 0; - background: #151515 url("../img/bkg.png") 0 0; - color: #eaeaea; + + background: #f1f1f1; + + font-family: 'Open Sans', "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif; font: 16px; line-height: 1.5; - font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; + color: #333; + + -webkit-font-smoothing: antialiased; } /* General & 'Reset' Stuff */ @@ -22,11 +50,120 @@ section { } h1, h2, h3, h4, h5, h6 { - margin: 0 0 20px; + margin: 1em 0 0 0; + color: #333; +} + +p { + margin: .5em 0 1.1em 0; +} + +dt { + font-style: italic; + margin-top: 20px; +} + +ul li { + list-style: none; +} + +ul li:before { + content: ">>"; + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; + font-size: 13px; + color: #666; + margin-left: -37px; + margin-right: 10px; + line-height: 13px; +} + +nav ul { + list-style: none; + margin: 0; + padding: 0; +} +nav li { + display: inline-block; +} +nav ul li:before { + content: ""; + display: none; +} + +blockquote { + color: #aaa; + padding-left: 10px; + border-left: 1px dotted #666; +} + + +h3 + table { + margin-top: 10px; } -li { - line-height: 1.4; +table { + width: 100%; + margin: 0 0 20px 0; + border-collapse: collapse; +} + table a { + text-decoration: none; + } + +th, td { + vertical-align: top; + padding: 0.5em 1em; +} + +th { + text-align: left; + border-bottom: 1px solid #e3e3e3; +} + +td { + background: #fff; + border-bottom: 1px solid #e3e3e3; +} + + td code { + position: relative; + top: -2px; + background: #777; + } + + + +tr:nth-child(even) td { + background: transparent; +} + +tr td:first-child { + border-left: none; +} + +.horizontal td { + border-bottom: none; +} + +hr { + height: 0; + border: 0; + border-bottom: 1px dashed #999; + color: #b5e853; +} + +/* Links */ +a { + color: #0074A2; + transition-duration: 0.05s; + transition-property: border, background, color; + transition-timing-function: ease-in-out; +} +a:hover, a:active { + color: #2EA2CC; +} +a:focus { + color: #124964; } /* Header,
@@ -36,41 +173,43 @@ li { */ header { - background: rgba(0, 0, 0, 0.1); + background: #292929; width: 100%; - border-bottom: 1px dashed #b5e853; - padding: 20px 0; - margin: 0 0 40px 0; + padding: 20px 0 10px 0; + margin: 0 0 30px 0; } header h1 { font-size: 30px; + color: #fff; line-height: 1.5; margin: 0 0 0 -40px; - font-weight: bold; - font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; - color: #b5e853; - text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1), - 0 0 5px rgba(181, 232, 83, 0.1), - 0 0 10px rgba(181, 232, 83, 0.1); - letter-spacing: -1px; - -webkit-font-smoothing: antialiased; + letter-spacing: 5px; + text-transform: uppercase; + font-weight: 300; + } header h1 a { - color: inherit; + color: #fff; text-decoration: none } +header h1 a:hover, +header h1 a:active { + color: #F7F7F7; +} header h1:before { - content: "./ "; - font-size: 24px; + content: ". / "; + + letter-spacing: 1px; } header h2 { - font-size: 18px; + font-size: 17px; font-weight: 300; - color: #666; + color: #f5f5f5; + margin-bottom: 10px; } footer { @@ -81,11 +220,26 @@ footer { margin: 20px 10px 10px 10px; } -#downloads .btn { - display: inline-block; +nav ul { + list-style: none; +} +nav li { text-align: center; margin: 0; } +nav li:first-child a { + padding-left: 0; +} +nav a { + display: block; + padding: 8px 18px; + color: #7AD03A; + font-weight: 300; + text-decoration: none; +} +nav a:hover { + color: #b5e853; +} /* Main Content */ @@ -100,12 +254,8 @@ section img { h1, h2, h3, h4, h5, h6 { font-weight: normal; - font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; - color: #b5e853; + color: #333; letter-spacing: -0.03em; - text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1), - 0 0 5px rgba(181, 232, 83, 0.1), - 0 0 10px rgba(181, 232, 83, 0.1); } #main_content h1 { @@ -118,108 +268,27 @@ h1, h2, h3, h4, h5, h6 { #main_content h3 { font-size: 18px; - margin-top: 20px; - margin-bottom: -5px; } #main_content h4 { font-size: 14px; + /*margin-top: .3em;*/ } #main_content h5 { font-size: 12px; text-transform: uppercase; - margin: 0 0 5px 0; + /*margin: 0 0 .3em 0;*/ } #main_content h6 { font-size: 12px; text-transform: uppercase; color: #999; - margin: 0 0 5px 0; -} - -dt { - font-style: italic; - margin-top: 20px; -} - -ul li { - list-style: none; -} - -ul li:before { - content: ">>"; - font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; - font-size: 13px; - color: #b5e853; - margin-left: -37px; - margin-right: 21px; - line-height: 16px; -} - -blockquote { - color: #aaa; - padding-left: 10px; - border-left: 1px dotted #666; -} - -code { - background-color: #333; - font-family: monospace; - font-size: 17px; -} - -pre { - background: rgba(0, 0, 0, 0.9); - border: 1px solid rgba(255, 255, 255, 0.15); - padding: 10px; - font-size: 14px; - color: #b5e853; - border-radius: 2px; - -moz-border-radius: 2px; - -webkit-border-radius: 2px; - text-wrap: normal; - overflow: auto; - overflow-y: hidden; -} - -pre code { - background-color: inherit; -} - -h3 + table { - margin-top: 10px; -} - -table { - width: 100%; - margin: 0 0 20px 0; + /*margin: 0 0 .3em 0;*/ } -th, td { - vertical-align: top; - padding: 5px 20px 5px 0; -} -th, td { - text-align: left; - border-bottom: 1px dashed #b5e853; -} - -hr { - height: 0; - border: 0; - border-bottom: 1px dashed #b5e853; - color: #b5e853; -} - -.option { - color: #049DCE; -} -.flag { - color: #50B600; -} /* Buttons */ @@ -236,7 +305,6 @@ hr { font-weight: bold; font-size: 13px; text-decoration: none; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.75); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05); } @@ -257,14 +325,8 @@ hr { background: url("../img/blacktocat.png") 0 0 no-repeat; } -/* Links - a, a:hover, a:visited -*/ -a { - color: #63c0f5; - text-shadow: 0 0 5px rgba(104, 182, 255, 0.5); -} + /* Clearfix */ @@ -284,7 +346,33 @@ a { /* Blog */ article + article { - margin-top: 40px; + margin-top: 30px; +} + +.hentry { + border-bottom: 1px solid #FFFFFF; + position: relative; +} +.hentry:after { + content: ""; + display: block; + height: 1px; + line-height: 1px; + font-size: 1px; + background: #CCC; +} + +.hentry:before { + content: "&"; + display: block; + position: absolute; + background: #f1f1f1; + left: 50%; + top: -44px; + width: 3em; + text-align: center; + color: #bbb; + text-shadow: 1px 0 1px rgba(255, 255, 255, 1); } .post-header { @@ -294,11 +382,18 @@ article + article { .post-header h2 { margin-bottom: 0; } +.post-header a { + text-decoration: none; +} .post-header span { color: #666; } +.post-content { + padding-bottom: 15px; +} + /* Pagination */ .pagination { @@ -313,6 +408,15 @@ article + article { .pagination .next { float: right; } + + +hr { + margin-bottom: 1em; +} +table.horizontal th { + border-bottom: none; +} + /* Packaging index */ .package { border-bottom: 1px dashed #999; From cac0233471b26148b5016c8bdd7192ed4c22c368 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Mon, 12 May 2014 17:36:07 +0200 Subject: [PATCH 274/839] Check if 'desc' key exists So it doesn't throws an notice if missing. --- Phakefile.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Phakefile.php b/Phakefile.php index fa49871e..37fc2d14 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -115,7 +115,7 @@ function gen_cmd_pages( $cmd, $parent = array() ) { $default = json_encode( $details['default'] ); - $description = $details['desc']; + $description = ( isset( $details['desc'] ) ) ? $details['desc'] : ''; $out .= render( 'config.mustache', compact( 'config', 'flag', 'default', 'description' ) ); } From d2d4eaafe42c7ffd69975a9fc88d7e1ce0f88dfc Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Tue, 13 May 2014 08:59:56 +0200 Subject: [PATCH 275/839] Remove Prism highlighting and move to main style Because it didn't add any better view, besides the execptional PHP coding block in 1 or max. 2 blog posts. And when implemented it needed a whole lot of refactoring on the existing code block. So I'm keeping it default for now. --- _includes/footer.html | 1 - _includes/header.html | 1 - assets/css/prism.css | 162 -------------------------------------- assets/css/stylesheet.css | 40 ++++++++++ assets/js/prism.js | 19 ----- 5 files changed, 40 insertions(+), 183 deletions(-) delete mode 100644 assets/css/prism.css delete mode 100755 assets/js/prism.js diff --git a/_includes/footer.html b/_includes/footer.html index ab829ce8..765991a9 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -3,7 +3,6 @@ - {% include analytics.html %} diff --git a/_includes/header.html b/_includes/header.html index 846df431..bd68d9b6 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -4,7 +4,6 @@ - diff --git a/assets/css/prism.css b/assets/css/prism.css deleted file mode 100644 index 11f42cad..00000000 --- a/assets/css/prism.css +++ /dev/null @@ -1,162 +0,0 @@ -/** - * okaidia theme for JavaScript, CSS and HTML - * Loosely based on Monokai textmate theme by http://www.monokai.nl/ - * @author ocodia - */ -code, -code[class*="language-"], -pre[class*="language-"] { - color: #f8f8f2; - text-shadow: 0 1px rgba(0,0,0,0.3); - font-family: Consolas, Monaco, 'Andale Mono', monospace; - direction: ltr; - text-align: left; - white-space: pre; - word-spacing: normal; - word-break: normal; - - -moz-tab-size: 4; - -o-tab-size: 4; - tab-size: 4; - - -webkit-hyphens: none; - -moz-hyphens: none; - -ms-hyphens: none; - hyphens: none; -} - -/* Code blocks */ -pre[class*="language-"] { - padding: 0.5em; - margin: .5em 0 1.1em 0; - overflow: auto; - border-radius: 0.3em; -} -code, -:not(pre) > code[class*="language-"], -pre[class*="language-"] { - background: #424242; -} - -/* Inline code */ -code, -:not(pre) > code[class*="language-"] { - padding: 0.15em 0.3em; - border-radius: .3em; -} - -.token.comment, -.token.prolog, -.token.doctype, -.token.cdata { - color: slategray; -} - -.token.punctuation { - color: #f8f8f2; -} - -.namespace { - opacity: .7; -} - -.token.property, -.token.tag, -.token.constant, -.token.symbol { - color: #f92672; -} - -.token.boolean, -.token.number{ - color: #ae81ff; -} - -.token.selector, -.token.attr-name, -.token.string, -.token.builtin { - color: #a6e22e; -} - - -.token.operator, -.token.entity, -.token.url, -.language-css .token.string, -.style .token.string, -.token.variable { - color: #f8f8f2; -} - -.token.email-link { - color: #2EA2CC; -} - -.token.atrule, -.token.attr-value -{ - color: #e6db74; -} - - -.token.keyword{ -color: #66d9ef; -} - -.token.regex, -.token.important { - color: #fd971f; -} - -.token.important { - font-weight: bold; -} - -.token.entity { - cursor: help; -} - -pre.line-numbers { - position: relative; - padding-left: 3.8em; - counter-reset: linenumber; -} - -pre.line-numbers > code { - position: relative; -} - -.line-numbers .line-numbers-rows { - position: absolute; - pointer-events: none; - top: 0; - font-size: 100%; - left: -3.8em; - width: 3em; /* works for line-numbers below 1000 lines */ - letter-spacing: -1px; - border-right: 1px solid #999; - - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -} - - .line-numbers-rows > span { - pointer-events: none; - display: block; - counter-increment: linenumber; - } - - .line-numbers-rows > span:before { - content: counter(linenumber); - color: #999; - display: block; - padding-right: 0.8em; - text-align: right; - } -.token a { - color: inherit; -} diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 9fcb8432..537a001f 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -166,6 +166,46 @@ a:focus { color: #124964; } +/** + * Coding block + */ +code, +pre { + color: #f8f8f2; + text-shadow: 0 1px rgba(0,0,0,0.3); + font-family: Consolas, Monaco, 'Andale Mono', monospace; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +/* Inline code */ +code { + padding: 0.15em 0.3em; + border-radius: .3em; + + background: #424242; +} + +/* Code blocks */ +pre code { + display: block; + padding: 0.5em; + overflow: auto; + border-radius: 0.3em; +} + /* Header,
header - container h1 - project name diff --git a/assets/js/prism.js b/assets/js/prism.js deleted file mode 100755 index 6403e7e8..00000000 --- a/assets/js/prism.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Prism: Lightweight, robust, elegant syntax highlighting - * MIT license http://www.opensource.org/licenses/mit-license.php/ - * @author Lea Verou http://lea.verou.me - */(function(){var e=/\blang(?:uage)?-(?!\*)(\w+)\b/i,t=self.Prism={util:{type:function(e){return Object.prototype.toString.call(e).match(/\[object (\w+)\]/)[1]},clone:function(e){var n=t.util.type(e);switch(n){case"Object":var r={};for(var i in e)e.hasOwnProperty(i)&&(r[i]=t.util.clone(e[i]));return r;case"Array":return e.slice()}return e}},languages:{extend:function(e,n){var r=t.util.clone(t.languages[e]);for(var i in n)r[i]=n[i];return r},insertBefore:function(e,n,r,i){i=i||t.languages;var s=i[e],o={};for(var u in s)if(s.hasOwnProperty(u)){if(u==n)for(var a in r)r.hasOwnProperty(a)&&(o[a]=r[a]);o[u]=s[u]}return i[e]=o},DFS:function(e,n){for(var r in e){n.call(e,r,e[r]);t.util.type(e)==="Object"&&t.languages.DFS(e[r],n)}}},highlightAll:function(e,n){var r=document.querySelectorAll('code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code');for(var i=0,s;s=r[i++];)t.highlightElement(s,e===!0,n)},highlightElement:function(r,i,s){var o,u,a=r;while(a&&!e.test(a.className))a=a.parentNode;if(a){o=(a.className.match(e)||[,""])[1];u=t.languages[o]}if(!u)return;r.className=r.className.replace(e,"").replace(/\s+/g," ")+" language-"+o;a=r.parentNode;/pre/i.test(a.nodeName)&&(a.className=a.className.replace(e,"").replace(/\s+/g," ")+" language-"+o);var f=r.textContent;if(!f)return;f=f.replace(/&/g,"&").replace(/e.length)break e;if(p instanceof i)continue;a.lastIndex=0;var d=a.exec(p);if(d){l&&(c=d[1].length);var v=d.index-1+c,d=d[0].slice(c),m=d.length,g=v+m,y=p.slice(0,v+1),b=p.slice(g+1),w=[h,1];y&&w.push(y);var E=new i(u,f?t.tokenize(d,f):d);w.push(E);b&&w.push(b);Array.prototype.splice.apply(s,w)}}}return s},hooks:{all:{},add:function(e,n){var r=t.hooks.all;r[e]=r[e]||[];r[e].push(n)},run:function(e,n){var r=t.hooks.all[e];if(!r||!r.length)return;for(var i=0,s;s=r[i++];)s(n)}}},n=t.Token=function(e,t){this.type=e;this.content=t};n.stringify=function(e,r,i){if(typeof e=="string")return e;if(Object.prototype.toString.call(e)=="[object Array]")return e.map(function(t){return n.stringify(t,r,e)}).join("");var s={type:e.type,content:n.stringify(e.content,r,i),tag:"span",classes:["token",e.type],attributes:{},language:r,parent:i};s.type=="comment"&&(s.attributes.spellcheck="true");t.hooks.run("wrap",s);var o="";for(var u in s.attributes)o+=u+'="'+(s.attributes[u]||"")+'"';return"<"+s.tag+' class="'+s.classes.join(" ")+'" '+o+">"+s.content+""};if(!self.document){self.addEventListener("message",function(e){var n=JSON.parse(e.data),r=n.language,i=n.code;self.postMessage(JSON.stringify(t.tokenize(i,t.languages[r])));self.close()},!1);return}var r=document.getElementsByTagName("script");r=r[r.length-1];if(r){t.filename=r.src;document.addEventListener&&!r.hasAttribute("data-manual")&&document.addEventListener("DOMContentLoaded",t.highlightAll)}})();; -Prism.languages.markup={comment:/<!--[\w\W]*?-->/g,prolog:/<\?.+?\?>/,doctype:/<!DOCTYPE.+?>/,cdata:/<!\[CDATA\[[\w\W]*?]]>/i,tag:{pattern:/<\/?[\w:-]+\s*(?:\s+[\w:-]+(?:=(?:("|')(\\?[\w\W])*?\1|\w+))?\s*)*\/?>/gi,inside:{tag:{pattern:/^<\/?[\w:-]+/i,inside:{punctuation:/^<\/?/,namespace:/^[\w-]+?:/}},"attr-value":{pattern:/=(?:('|")[\w\W]*?(\1)|[^\s>]+)/gi,inside:{punctuation:/=|>|"/g}},punctuation:/\/?>/g,"attr-name":{pattern:/[\w:-]+/g,inside:{namespace:/^[\w-]+?:/}}}},entity:/&#?[\da-z]{1,8};/gi};Prism.hooks.add("wrap",function(e){e.type==="entity"&&(e.attributes.title=e.content.replace(/&/,"&"))});; -Prism.languages.css={comment:/\/\*[\w\W]*?\*\//g,atrule:{pattern:/@[\w-]+?.*?(;|(?=\s*{))/gi,inside:{punctuation:/[;:]/g}},url:/url\((["']?).*?\1\)/gi,selector:/[^\{\}\s][^\{\};]*(?=\s*\{)/g,property:/(\b|\B)[\w-]+(?=\s*:)/ig,string:/("|')(\\?.)*?\1/g,important:/\B!important\b/gi,ignore:/&(lt|gt|amp);/gi,punctuation:/[\{\};:]/g};Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{style:{pattern:/(<|<)style[\w\W]*?(>|>)[\w\W]*?(<|<)\/style(>|>)/ig,inside:{tag:{pattern:/(<|<)style[\w\W]*?(>|>)|(<|<)\/style(>|>)/ig,inside:Prism.languages.markup.tag.inside},rest:Prism.languages.css}}});; -Prism.languages.clike={comment:{pattern:/(^|[^\\])(\/\*[\w\W]*?\*\/|(^|[^:])\/\/.*?(\r?\n|$))/g,lookbehind:!0},string:/("|')(\\?.)*?\1/g,"class-name":{pattern:/((?:(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/ig,lookbehind:!0,inside:{punctuation:/(\.|\\)/}},keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/g,"boolean":/\b(true|false)\b/g,"function":{pattern:/[a-z0-9_]+\(/ig,inside:{punctuation:/\(/}}, number:/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?)\b/g,operator:/[-+]{1,2}|!|<=?|>=?|={1,3}|(&){1,2}|\|?\||\?|\*|\/|\~|\^|\%/g,ignore:/&(lt|gt|amp);/gi,punctuation:/[{}[\];(),.:]/g}; -; -Prism.languages.javascript=Prism.languages.extend("clike",{keyword:/\b(var|let|if|else|while|do|for|return|in|instanceof|function|get|set|new|with|typeof|try|throw|catch|finally|null|break|continue)\b/g,number:/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?|NaN|-?Infinity)\b/g});Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/g,lookbehind:!0}});Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{script:{pattern:/(<|<)script[\w\W]*?(>|>)[\w\W]*?(<|<)\/script(>|>)/ig,inside:{tag:{pattern:/(<|<)script[\w\W]*?(>|>)|(<|<)\/script(>|>)/ig,inside:Prism.languages.markup.tag.inside},rest:Prism.languages.javascript}}});; -Prism.languages.php=Prism.languages.extend("clike",{keyword:/\b(and|or|xor|array|as|break|case|cfunction|class|const|continue|declare|default|die|do|else|elseif|enddeclare|endfor|endforeach|endif|endswitch|endwhile|extends|for|foreach|function|include|include_once|global|if|new|return|static|switch|use|require|require_once|var|while|abstract|interface|public|implements|extends|private|protected|parent|static|throw|null|echo|print|trait|namespace|use|final|yield|goto|instanceof|finally|try|catch)\b/ig, constant:/\b[A-Z0-9_]{2,}\b/g});Prism.languages.insertBefore("php","keyword",{delimiter:/(\?>|<\?php|<\?)/ig,variable:/(\$\w+)\b/ig,"package":{pattern:/(\\|namespace\s+|use\s+)[\w\\]+/g,lookbehind:!0,inside:{punctuation:/\\/}}});Prism.languages.insertBefore("php","operator",{property:{pattern:/(->)[\w]+/g,lookbehind:!0}}); Prism.languages.markup&&(Prism.hooks.add("before-highlight",function(a){"php"===a.language&&(a.tokenStack=[],a.code=a.code.replace(/(?:<\?php|<\?|<\?php|<\?)[\w\W]*?(?:\?>|\?>)/ig,function(b){a.tokenStack.push(b);return"{{{PHP"+a.tokenStack.length+"}}}"}))}),Prism.hooks.add("after-highlight",function(a){if("php"===a.language){for(var b=0,c;c=a.tokenStack[b];b++)a.highlightedCode=a.highlightedCode.replace("{{{PHP"+(b+1)+"}}}",Prism.highlight(c,a.grammar,"php"));a.element.innerHTML=a.highlightedCode}}), Prism.hooks.add("wrap",function(a){"php"===a.language&&"markup"===a.type&&(a.content=a.content.replace(/(\{\{\{PHP[0-9]+\}\}\})/g,'$1'))}),Prism.languages.insertBefore("php","comment",{markup:{pattern:/(<|<)[^?]\/?(.*?)(>|>)/g,inside:Prism.languages.markup},php:/\{\{\{PHP[0-9]+\}\}\}/g}));; -Prism.languages.insertBefore("php","variable",{"this":/\$this/g,global:/\$_?(GLOBALS|SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)/g,scope:{pattern:/\b[\w\\]+::/g,inside:{keyword:/(static|self|parent)/,punctuation:/(::|\\)/}}});; -Prism.languages.bash=Prism.languages.extend("clike",{comment:{pattern:/(^|[^"{\\])(#.*?(\r?\n|$))/g,lookbehind:!0},string:{pattern:/("|')(\\?[\s\S])*?\1/g,inside:{property:/\$([a-zA-Z0-9_#\?\-\*!@]+|\{[^\}]+\})/g}},keyword:/\b(if|then|else|elif|fi|for|break|continue|while|in|case|function|select|do|done|until|echo|exit|return|set|declare)\b/g});Prism.languages.insertBefore("bash","keyword",{property:/\$([a-zA-Z0-9_#\?\-\*!@]+|\{[^}]+\})/g});Prism.languages.insertBefore("bash","comment",{important:/(^#!\s*\/bin\/bash)|(^#!\s*\/bin\/sh)/g}); -; -Prism.hooks.add("after-highlight",function(e){var t=e.element.parentNode;if(!t||!/pre/i.test(t.nodeName)||t.className.indexOf("line-numbers")===-1){return}var n=1+e.code.split("\n").length;var r;lines=new Array(n);lines=lines.join("");r=document.createElement("span");r.className="line-numbers-rows";r.innerHTML=lines;if(t.hasAttribute("data-start")){t.style.counterReset="linenumber "+(parseInt(t.getAttribute("data-start"),10)-1)}e.element.appendChild(r)}) -; -(function(){if(!self.Prism)return;var e=/\b([a-z]{3,7}:\/\/|tel:)[\w-+%~/.:]+/,t=/\b\S+@[\w.]+[a-z]{2}/,n=/\[([^\]]+)]\(([^)]+)\)/,r=["comment","url","attr-value","string"];for(var i in Prism.languages){var s=Prism.languages[i];Prism.languages.DFS(s,function(i,s){if(r.indexOf(i)>-1){s.pattern||(s=this[i]={pattern:s});s.inside=s.inside||{};i=="comment"&&(s.inside["md-link"]=n);s.inside["url-link"]=e;s.inside["email-link"]=t}});s["url-link"]=e;s["email-link"]=t}Prism.hooks.add("wrap",function(e){if(/-link$/.test(e.type)){e.tag="a";var t=e.content;if(e.type=="email-link")t="mailto:"+t;else if(e.type=="md-link"){var r=e.content.match(n);t=r[2];e.content=r[1]}e.attributes.href=t}})})(); -; -(function(){if(!self.Prism||!self.document||!document.querySelector)return;var e={js:"javascript",html:"markup",svg:"markup"};Array.prototype.slice.call(document.querySelectorAll("pre[data-src]")).forEach(function(t){var n=t.getAttribute("data-src"),r=(n.match(/\.(\w+)$/)||[,""])[1],i=e[r]||r,s=document.createElement("code");s.className="language-"+i;t.textContent="";s.textContent="Loading…";t.appendChild(s);var o=new XMLHttpRequest;o.open("GET",n,!0);o.onreadystatechange=function(){if(o.readyState==4)if(o.status<400&&o.responseText){s.textContent=o.responseText;Prism.highlightElement(s)}else o.status>=400?s.textContent="✖ Error "+o.status+" while fetching file: "+o.statusText:s.textContent="✖ Error: File does not exist or is empty"};o.send(null)})})();; From 2f1cdae6dc970b3a787241b78c5f48703d540481 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Tue, 13 May 2014 09:01:27 +0200 Subject: [PATCH 276/839] Add missing code margin Should have been commited with the previous commit --- assets/css/stylesheet.css | 1 + 1 file changed, 1 insertion(+) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 537a001f..5a2d5651 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -202,6 +202,7 @@ code { pre code { display: block; padding: 0.5em; + margin: .5em 0 1.1em 0; overflow: auto; border-radius: 0.3em; } From 57999d2e7116e4cfeae98dad43556e3312548ca6 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Tue, 13 May 2014 09:02:40 +0200 Subject: [PATCH 277/839] Reorder CSS So all default HTML styling are together and then common elements / styling like buttons and clearfixes --- assets/css/stylesheet.css | 39 +++++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 5a2d5651..3ca5c3ec 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -152,7 +152,9 @@ hr { color: #b5e853; } -/* Links */ +/** + * Links + */ a { color: #0074A2; transition-duration: 0.05s; @@ -207,6 +209,23 @@ pre code { border-radius: 0.3em; } + +/* Clearfix */ + +.cf:before, .cf:after { + content:""; + display:table; +} + +.cf:after { + clear:both; +} + +.cf { + zoom:1; +} + + /* Header,
header - container h1 - project name @@ -282,7 +301,9 @@ nav a:hover { color: #b5e853; } -/* Main Content */ +/** + * Main Content + */ #main_content { width: 100%; @@ -369,20 +390,6 @@ h1, h2, h3, h4, h5, h6 { -/* Clearfix */ - -.cf:before, .cf:after { - content:""; - display:table; -} - -.cf:after { - clear:both; -} - -.cf { - zoom:1; -} /* Blog */ From 4e3cf994262d59f7e68343ec05c79dad50d2c495 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Tue, 13 May 2014 09:19:02 +0200 Subject: [PATCH 278/839] Use better class selector for specific main nav So it won't interfere with possible other navs --- _includes/header.html | 2 +- assets/css/stylesheet.css | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/_includes/header.html b/_includes/header.html index bd68d9b6..3e3a6f9d 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -20,7 +20,7 @@

WP-CLI

A command line interface for WordPress

-
diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index bf6ef8c4..7cbbeec8 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -280,6 +280,9 @@ footer { margin: 20px 10px 10px 10px; } +.main-nav { + position: relative; +} .main-nav ul { list-style: none; } @@ -301,6 +304,25 @@ footer { color: #b5e853; } +.main-nav [class^="icon-"] { + +} +.main-nav .align-right { + float: right; + margin-left: .5em; +} +.main-nav .rounded { + padding: 0; + width: 1.8em; + height: 1.8em; + line-height: 1.8em; + font-size: 1.3em; + border-radius: 3em; + background: #585858; + color: #292929; + +} + /** * Main Content */ From 66c5c2ca891bfa7acb162ed1085588b3dcdade19 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Tue, 13 May 2014 23:00:28 +0200 Subject: [PATCH 284/839] Open Twitter and Github in new window And make code more readable --- _includes/header.html | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/_includes/header.html b/_includes/header.html index c64e0a8f..9160dab3 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -28,8 +28,12 @@

A command line interface for WordPress

  • Packages
  • Blog
  • Wiki
  • -
  • -
  • +
  • + +
  • +
  • + +
  • From 91001b84c89f7e72423282f66dfd25255ffc3510 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Tue, 13 May 2014 23:31:45 +0200 Subject: [PATCH 285/839] Tweak padding --- assets/css/stylesheet.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 7cbbeec8..c81458e5 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -194,7 +194,7 @@ pre { /* Inline code */ code { - padding: 0.15em 0.3em; + padding: 0.3em 0.3em 0.2em 0.3em; border-radius: .3em; background: #424242; @@ -203,7 +203,7 @@ code { /* Code blocks */ pre code { display: block; - padding: 0.5em; + padding: 0.5em 0.5em 0.3em 0.5em; margin: .5em 0 1.1em 0; overflow: auto; border-radius: 0.3em; @@ -247,13 +247,13 @@ header h1 { letter-spacing: 5px; text-transform: uppercase; font-weight: 300; - } header h1 a { color: #fff; text-decoration: none } + header h1 a:hover, header h1 a:active { color: #F7F7F7; From 24b0346200180cfaf3b766578c4c3ca9de1539f6 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Tue, 13 May 2014 23:32:05 +0200 Subject: [PATCH 286/839] Add hover state to social link in nav --- assets/css/stylesheet.css | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index c81458e5..ed9a3de2 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -320,7 +320,9 @@ footer { border-radius: 3em; background: #585858; color: #292929; - +} +.main-nav .rounded:hover { + color: #7AD03A; } /** From 8556d28937884e9848e3d85425233d885ed8ec2c Mon Sep 17 00:00:00 2001 From: Jack Szwergold Date: Tue, 13 May 2014 20:22:29 -0400 Subject: [PATCH 287/839] The suggested path should be '/usr/local/bin/' and not '/usr/bin/' as '/usr/local/' is for user installed items like this. --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index bed86760..bae0731d 100644 --- a/index.md +++ b/index.md @@ -29,7 +29,7 @@ To be able to type just `wp`, instead of `php wp-cli.phar`, you need to make the ~~~ chmod +x wp-cli.phar -sudo mv wp-cli.phar /usr/bin/wp +sudo mv wp-cli.phar /usr/local/bin/wp ~~~ Now try running `wp --info`. From 0ce91b75ed2a44f16324e3660b4886c93ed4a7da Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 14 May 2014 16:48:43 -0700 Subject: [PATCH 288/839] Release post for v0.15.1 --- _posts/2014-05-14-version-0.15.1.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 _posts/2014-05-14-version-0.15.1.md diff --git a/_posts/2014-05-14-version-0.15.1.md b/_posts/2014-05-14-version-0.15.1.md new file mode 100644 index 00000000..f1347a49 --- /dev/null +++ b/_posts/2014-05-14-version-0.15.1.md @@ -0,0 +1,20 @@ +--- +layout: post +author: danielbachhuber +title: Version 0.15.1 released +--- + +The longer 0.15 soaked, the more bug fixes it saw. It's finally time to get them into a stable release as 0.15.1: + +* persist menu item data when updating a menu item; permit multiple menu items to be deleted at once +* allow widgets to be added to empty sidebars; make sure widget at index=0 is removed from sidebar when deactivated +* ignore `--user` when installing WordPress +* support empty `DB_CHARSET` value when running database commands +* throw a warning when using `wp (theme|plugin) update` without named entities or `--all` +* resolve PHP notices when using `wp core update` with a specified `--version`, or `wp widget add` +* use WordPress' `_n()` instead of `ngettext()` +* fix segmentation fault in PHP 5.5.11/12 (and probably other 5.5.x versions) + +You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?milestone=24&page=1&state=closed) on Github. + +Contributors to this release: [boonebgorges](https://github.com/boonebgorges), [danielbachhuber](https://github.com/danielbachhuber), [jmslbam](https://github.com/jmslbam), [mboynes](https://github.com/mboynes), [szepeviktor](https://github.com/szepeviktor), [westonruter](https://github.com/westonruter) From 3b8b0cb582afec15d16106b495075fda21591070 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Thu, 15 May 2014 08:43:17 +0200 Subject: [PATCH 289/839] Clean-up and add inline comments 2nd nav --- assets/css/stylesheet.css | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index ed9a3de2..206c458a 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -304,9 +304,7 @@ footer { color: #b5e853; } -.main-nav [class^="icon-"] { - -} +/* Secondary main-nav */ .main-nav .align-right { float: right; margin-left: .5em; From d1d35c2b4b11c2484a804ee75d5ed7fcbff0b0ee Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Fri, 16 May 2014 08:53:11 +0200 Subject: [PATCH 290/839] Add read-more link to blog archive --- blog/index.html | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/blog/index.html b/blog/index.html index c5d3c488..782ca3c1 100644 --- a/blog/index.html +++ b/blog/index.html @@ -11,7 +11,12 @@

    {{ post.title }}

    - {{ post.content }} + {% if post.content contains "" %} + {{ post.content | split:"" | first }} + Read more + {% else %} + {{ post.content }} + {% endif %}
    {% endfor %} From 31223e6f87dd360ee38e68b989e8b973f93d86a5 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Sat, 17 May 2014 20:36:39 +0200 Subject: [PATCH 291/839] Add active menu item --- assets/css/stylesheet.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 206c458a..c6d9a7a5 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -304,6 +304,11 @@ footer { color: #b5e853; } +.main-nav .active a { + /* background: #202020; */ /* Not yet */ + color: #f1f1f1; +} + /* Secondary main-nav */ .main-nav .align-right { float: right; From 63f29009e842800bc4f01a928c9e8536bf8f35c4 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Sat, 17 May 2014 20:36:58 +0200 Subject: [PATCH 292/839] Bit better spacing for whole header --- assets/css/stylesheet.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index c6d9a7a5..b7406558 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -269,7 +269,8 @@ header h2 { font-size: 17px; font-weight: 300; color: #f5f5f5; - margin-bottom: 10px; + margin-top: 10px; + margin-bottom: 20px; } footer { From f331b1b2463bdde79b768009495d18b8ad19f7e0 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Sat, 17 May 2014 20:43:09 +0200 Subject: [PATCH 293/839] Add search field for future implementation --- assets/css/stylesheet.css | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index b7406558..858dfd3e 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -329,6 +329,42 @@ footer { color: #7AD03A; } +/* Search in header */ +input.search { + border-radius: 3em; + width: 200px; + background: #292929; + color: #585858; +} + +.main-nav .search { + border: none; + color: #f1f1f1; + font-size: 14px; + line-height: 18px; + padding: 0.4em 0.5em 0.5em 0.5em; + -webkit-transition-duration: 400ms; + -webkit-transition-property: width, background; + -webkit-transition-timing-function: ease; + -moz-transition-duration: 400ms; + -moz-transition-property: width, background; + -moz-transition-timing-function: ease; + -o-transition-duration: 400ms; + -o-transition-property: width, background; + -o-transition-timing-function: ease; +} + +.main-nav .search:hover { + color: #f1f1f1; +} + +.main-nav .search:focus { + width: 180px; +} +.main-nav .btn-search { + display: none; +} + /** * Main Content */ From c47356a0f42b6a2eb7fc55dbf9d73966cc1ff5e4 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Sat, 17 May 2014 23:32:33 +0200 Subject: [PATCH 294/839] generic tabs instead of spaces for now --- assets/css/stylesheet.css | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 858dfd3e..ace66254 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -156,13 +156,13 @@ hr { * Links */ a { - color: #0074A2; - transition-duration: 0.05s; - transition-property: border, background, color; - transition-timing-function: ease-in-out; + color: #0074A2; + transition-duration: 0.05s; + transition-property: border, background, color; + transition-timing-function: ease-in-out; } a:hover, a:active { - color: #2EA2CC; + color: #2EA2CC; } a:focus { color: #124964; From ec3642fda92cb1d43b6483a094f8da40810bac08 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Sun, 18 May 2014 23:46:35 +0200 Subject: [PATCH 295/839] Add forgotten .hentry class Too get the seperator back on the blog archive page. --- blog/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blog/index.html b/blog/index.html index 782ca3c1..3aa11377 100644 --- a/blog/index.html +++ b/blog/index.html @@ -4,7 +4,7 @@ --- {% for post in paginator.posts %} -
    +

    {{ post.title }}

    by {{ post.author }}, on {{ post.date | date_to_string }} From 973f363df0b5866c24f910d0e5a4d2e12202995b Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Mon, 19 May 2014 00:03:12 +0200 Subject: [PATCH 296/839] Style read-more better --- assets/css/stylesheet.css | 6 ++++++ blog/index.html | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index ace66254..ac45e96a 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -487,6 +487,12 @@ article + article { text-shadow: 1px 0 1px rgba(255, 255, 255, 1); } +.read-more { + display: inline-block; + margin-bottom: 0.5em; + text-decoration: none; +} + .post-header { margin-bottom: 20px; } diff --git a/blog/index.html b/blog/index.html index 3aa11377..24af9a6f 100644 --- a/blog/index.html +++ b/blog/index.html @@ -13,7 +13,7 @@

    {{ post.title }}

    {% if post.content contains "" %} {{ post.content | split:"" | first }} - Read more + Read more » {% else %} {{ post.content }} {% endif %} From 5dad23ede28a47c7277c152a62d137e120136317 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Mon, 19 May 2014 00:03:24 +0200 Subject: [PATCH 297/839] Add white space to pagination --- assets/css/stylesheet.css | 1 + 1 file changed, 1 insertion(+) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index ac45e96a..40acb43e 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -517,6 +517,7 @@ article + article { .pagination { display: block; overflow: hidden; + padding: 1em 0 0.5em 0; } .pagination a { From e99171a3b7fb2c656039f9536ed049bf0877265b Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Mon, 19 May 2014 00:03:47 +0200 Subject: [PATCH 298/839] Hide ampersand on first blog-item --- assets/css/stylesheet.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 40acb43e..344a8a17 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -474,7 +474,7 @@ article + article { background: #CCC; } -.hentry:before { +article + article:before { content: "&"; display: block; position: absolute; From 4e3b173c6d5d97258d55c3e68cac601390bdce73 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Mon, 19 May 2014 00:07:22 +0200 Subject: [PATCH 299/839] Keep page from jumping on pages with less content props @szepeviktor --- assets/css/stylesheet.css | 2 ++ 1 file changed, 2 insertions(+) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 344a8a17..44f937c3 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -17,6 +17,8 @@ src: local('Open Sans Bold'), local('OpenSans-Bold'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/k3k702ZOKiLJc3WVjuplzKRDOzjiPcYnFooOUGCOsRk.woff) format('woff'); } +html { overflow-y: scroll; } + html, body { min-height: 100%; From 4f2feadea8e3b6270ece61c3166b8be9f553260a Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Mon, 19 May 2014 08:56:18 +0200 Subject: [PATCH 300/839] Use classes for consistency --- assets/css/stylesheet.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 44f937c3..ee37bf25 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -459,7 +459,7 @@ h1, h2, h3, h4, h5, h6 { /* Blog */ -article + article { +.hentry + .hentry { margin-top: 30px; } @@ -476,7 +476,7 @@ article + article { background: #CCC; } -article + article:before { +.hentry + .hentry:before { content: "&"; display: block; position: absolute; From 5c87bf21b99949e426454a1be0d3ee98c851f764 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Tue, 20 May 2014 08:47:56 +0200 Subject: [PATCH 301/839] Add announcement block styling For breaking and other changes so they get highlighted. Edited the first post to show the changes. --- _posts/2014-02-06-version-0.14.md | 12 ++++++++++-- assets/css/stylesheet.css | 19 ++++++++++++++++++- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/_posts/2014-02-06-version-0.14.md b/_posts/2014-02-06-version-0.14.md index d3334306..1005954b 100644 --- a/_posts/2014-02-06-version-0.14.md +++ b/_posts/2014-02-06-version-0.14.md @@ -28,11 +28,17 @@ Ever used WP-CLI to install a plugin that broke WP-CLI? Well, now there's a 100% You can also skip only particular plugins: `wp --skip-plugins=admin-blocker,complex-beast`. -### Breaking changes +
    + +### Breaking changes * `wp term create`, `wp term update`, `wp term get` and `wp term delete` now accept the taxonomy as the first parameter, just like all the other term subcommands -### Other changes +
    + +
    + +### Other changes * added `wp post url`, `wp comment url` and `wp site url` subcommands * added `wp theme enable` and `wp theme disable` subcommands for multisite installs @@ -56,6 +62,8 @@ You can also skip only particular plugins: `wp --skip-plugins=admin-blocker,comp You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?milestone=20&state=closed) on Github. +
    + Contributors to this release: [bartaakos](https://github.com/bartaakos), [boonebgorges](https://github.com/boonebgorges), [danielbachhuber](https://github.com/danielbachhuber), [eliorivero](https://github.com/eliorivero), [francescolaffi](https://github.com/francescolaffi), [itsananderson](https://github.com/itsananderson), [Japh](https://github.com/Japh), [jmslbam](https://github.com/jmslbam), [johnbillion](https://github.com/johnbillion), [mboynes](https://github.com/mboynes), [mgburns](https://github.com/mgburns), [nb](https://github.com/nb), [rodrigoprimo](https://github.com/rodrigoprimo), [scribu](https://github.com/scribu), [sibprogrammer](https://github.com/sibprogrammer), [simonwheatley](https://github.com/simonwheatley), [SpikesDivZero](https://github.com/SpikesDivZero), [westonruter](https://github.com/westonruter), [ziz](https://github.com/ziz) [subdir]: http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index ee37bf25..65fa9f89 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -511,7 +511,24 @@ h1, h2, h3, h4, h5, h6 { } .post-content { - padding-bottom: 15px; + padding-bottom: 1em; +} + +/* Accouncement within posts */ +.announcement { + padding: 0.3em 1em 0.5em 1em; + margin-bottom: 1em; +} + +.breaking { + background: #eceaeb; +} +.breaking h3 i { + color: #d84f09; +} + +.changes { + background: #eceaeb; } /* Pagination */ From 4ad0dab073a218699008e95b654539d73201f902 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Tue, 20 May 2014 18:51:26 +0200 Subject: [PATCH 302/839] Tweak blocks in header In the future also a other headers, but for now not needed because I want to research of we can apply h1 for home on site title and apply h1 on page title on all other page. --- assets/css/stylesheet.css | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 65fa9f89..2cbde5bf 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -201,6 +201,20 @@ code { background: #424242; } +/* Oh I want SASS here */ +h3 > code { + + display: inline-block; + margin-bottom: 0.5em; + padding-bottom: 0; + padding-top: 0.1em; + + background: none repeat scroll 0 0 #5C5C5C; + + font-size: 17px; +} + + /* Code blocks */ pre code { From 22a8993097b1a7c85dd86803647f842e90acbc0c Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Thu, 22 May 2014 23:30:02 +0200 Subject: [PATCH 303/839] Style package index fix hr package horizontal tables common form elements like a search --- assets/css/stylesheet.css | 59 +++++++++++++++++++++------------------ 1 file changed, 32 insertions(+), 27 deletions(-) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 2cbde5bf..dad8f59e 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -122,6 +122,7 @@ th { border-bottom: 1px solid #e3e3e3; } +.horizontal th, td { background: #fff; border-bottom: 1px solid #e3e3e3; @@ -134,7 +135,7 @@ td { } - +.horizontal tr:nth-child(even) th, tr:nth-child(even) td { background: transparent; } @@ -143,15 +144,14 @@ tr td:first-child { border-left: none; } -.horizontal td { + +table.horizontal th { border-bottom: none; + font-weight: 400px; } -hr { - height: 0; - border: 0; - border-bottom: 1px dashed #999; - color: #b5e853; +table.horizontal td { + border-bottom: none; } /** @@ -225,6 +225,18 @@ pre code { border-radius: 0.3em; } +/* Forms */ +.form-control { + font-size: 14px; + line-height: 18px; + padding: 0.4em 0.5em 0.5em 0.5em; + border: none; + box-shadow: none; +} +input[type="search"] { + -webkit-appearance: none; +} + /* Clearfix */ @@ -346,19 +358,12 @@ footer { } /* Search in header */ -input.search { +.main-nav .search { border-radius: 3em; width: 200px; background: #292929; - color: #585858; -} - -.main-nav .search { - border: none; color: #f1f1f1; - font-size: 14px; - line-height: 18px; - padding: 0.4em 0.5em 0.5em 0.5em; + -webkit-transition-duration: 400ms; -webkit-transition-property: width, background; -webkit-transition-timing-function: ease; @@ -477,10 +482,19 @@ h1, h2, h3, h4, h5, h6 { margin-top: 30px; } +hr, .hentry { border-bottom: 1px solid #FFFFFF; position: relative; } + +hr { + height: 2px; + border: none; + margin-bottom: 1em; +} + +hr:after, .hentry:after { content: ""; display: block; @@ -565,19 +579,10 @@ h1, h2, h3, h4, h5, h6 { float: right; } - -hr { - margin-bottom: 1em; -} -table.horizontal th { - border-bottom: none; -} - /* Packaging index */ .package { - border-bottom: 1px dashed #999; - padding-bottom: 1em; - margin-bottom: 1em; + border-bottom: 1px solid #fff; + margin-bottom: 2em; } .package th { width: 150px; From 3418b0ef2e70fce55bbd43a6a59c702b9b6b424d Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Fri, 23 May 2014 00:50:24 +0200 Subject: [PATCH 304/839] Better package / horizontal table styling --- assets/css/stylesheet.css | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index dad8f59e..38a045ad 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -144,16 +144,14 @@ tr td:first-child { border-left: none; } +table.horizontal { + border-top: 1px solid #e3e3e3; +} table.horizontal th { - border-bottom: none; font-weight: 400px; } -table.horizontal td { - border-bottom: none; -} - /** * Links */ From 4c38f6494beb269ccc5d8b3921959f19aeee2d2e Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Fri, 23 May 2014 00:50:54 +0200 Subject: [PATCH 305/839] Remove unnecessary classes --- _includes/header.html | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/_includes/header.html b/_includes/header.html index 9160dab3..3a580559 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -23,11 +23,11 @@

    A command line interface for WordPress

    diff --git a/_includes/navigation.html b/_includes/navigation.html new file mode 100644 index 00000000..819c0007 --- /dev/null +++ b/_includes/navigation.html @@ -0,0 +1,25 @@ + From f13330c7736e117bf6e1053ebc331d3d9c1bd39b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=20Burc=C4=83?= Date: Mon, 26 May 2014 17:11:31 +0300 Subject: [PATCH 307/839] Add extra-php to example wp-cli.yml See https://github.com/wp-cli/wp-cli/issues/1046#issuecomment-44189268 --- config/index.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/index.md b/config/index.md index f4e6f6d1..16e4efaa 100644 --- a/config/index.md +++ b/config/index.md @@ -40,6 +40,9 @@ Example `wp-cli.yml` file: - plugin install require: - path-to/command.php + extra-php: | + define( 'WP_DEBUG', true ); + define( 'WP_POST_REVISIONS', 50 ); core install: admin_user: billy From 54e3e3b5993e9d692ae0b1db6965a6c24f0a501d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=20Burc=C4=83?= Date: Mon, 26 May 2014 17:13:29 +0300 Subject: [PATCH 308/839] fix indentation --- config/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/index.md b/config/index.md index 16e4efaa..d2b0ddbf 100644 --- a/config/index.md +++ b/config/index.md @@ -42,7 +42,7 @@ Example `wp-cli.yml` file: - path-to/command.php extra-php: | define( 'WP_DEBUG', true ); - define( 'WP_POST_REVISIONS', 50 ); + define( 'WP_POST_REVISIONS', 50 ); core install: admin_user: billy From 3d9bc6c543ae8674443318719fb6039397afa98e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=20Burc=C4=83?= Date: Mon, 26 May 2014 17:17:05 +0300 Subject: [PATCH 309/839] extra-php is only available for 'core config' --- config/index.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/config/index.md b/config/index.md index d2b0ddbf..20101745 100644 --- a/config/index.md +++ b/config/index.md @@ -40,10 +40,8 @@ Example `wp-cli.yml` file: - plugin install require: - path-to/command.php - extra-php: | - define( 'WP_DEBUG', true ); - define( 'WP_POST_REVISIONS', 50 ); - core install: - admin_user: billy - admin_email: billy@example.com + core config: + extra-php: | + define( 'WP_DEBUG', true ); + define( 'WP_POST_REVISIONS', 50 ); From 83231ed42ec38fb70a3b60dfbfba7cb2b9337f47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=20Burc=C4=83?= Date: Mon, 26 May 2014 17:20:01 +0300 Subject: [PATCH 310/839] add dbuser and dbpass config values to config example --- config/index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/index.md b/config/index.md index 20101745..c52a683d 100644 --- a/config/index.md +++ b/config/index.md @@ -42,6 +42,8 @@ Example `wp-cli.yml` file: - path-to/command.php core config: + dbuser: root + dbpass: extra-php: | define( 'WP_DEBUG', true ); define( 'WP_POST_REVISIONS', 50 ); From f9e3d972617384305a51a2fd57d62bbc6a8f1611 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Wed, 28 May 2014 18:14:23 +0200 Subject: [PATCH 311/839] Move Open Sans font to header --- _includes/header.html | 2 +- assets/css/stylesheet.css | 18 ------------------ 2 files changed, 1 insertion(+), 19 deletions(-) diff --git a/_includes/header.html b/_includes/header.html index f45ceb7f..8afc6147 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -3,7 +3,7 @@ - + diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 38a045ad..53379f6a 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -1,21 +1,3 @@ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 300; - src: local('Open Sans Light'), local('OpenSans-Light'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/DXI1ORHCpsQm3Vp6mXoaTaRDOzjiPcYnFooOUGCOsRk.woff) format('woff'); -} -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - src: local('Open Sans'), local('OpenSans'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/cJZKeOuBrn4kERxqtaUH3bO3LdcAZYWl9Si6vvxL-qU.woff) format('woff'); -} -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 700; - src: local('Open Sans Bold'), local('OpenSans-Bold'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/k3k702ZOKiLJc3WVjuplzKRDOzjiPcYnFooOUGCOsRk.woff) format('woff'); -} html { overflow-y: scroll; } From 4ddb64b84a1ea7b1708c512911f1a1f90f1a2f04 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Wed, 28 May 2014 18:27:31 +0200 Subject: [PATCH 312/839] Fix display of text in Chrome https://github.com/wp-cli/wp-cli/issues/1055#issuecomment-44027464 --- assets/css/stylesheet.css | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 53379f6a..14bd4f7f 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -382,7 +382,6 @@ section img { h1, h2, h3, h4, h5, h6 { font-weight: normal; color: #333; - letter-spacing: -0.03em; } #main_content h1 { @@ -567,3 +566,10 @@ hr:after, .package th { width: 150px; } + +@media screen and (-webkit-min-device-pixel-ratio:0) { + header h2, + .main-nav a { + font-weight: 400; + } +} From 7ed9f96088a69e19d5aed40724f811c070b4d1b8 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Wed, 28 May 2014 18:34:41 +0200 Subject: [PATCH 313/839] Add normalize.css Me love normalize, always good startingpoint. --- assets/css/stylesheet.css | 1 + 1 file changed, 1 insertion(+) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 14bd4f7f..b2ed215f 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -1,3 +1,4 @@ +/*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0} html { overflow-y: scroll; } From c68d16dd718df57029dcdc05245f83bd9828d611 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Fri, 30 May 2014 09:05:55 +0200 Subject: [PATCH 314/839] Tweaking code blocks styling --- assets/css/stylesheet.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index b2ed215f..ebc8075a 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -156,7 +156,7 @@ a:focus { */ code, pre { - color: #f8f8f2; + color: #f1f1f1; text-shadow: 0 1px rgba(0,0,0,0.3); font-family: Consolas, Monaco, 'Andale Mono', monospace; direction: ltr; @@ -180,7 +180,7 @@ code { padding: 0.3em 0.3em 0.2em 0.3em; border-radius: .3em; - background: #424242; + background: #444; } /* Oh I want SASS here */ h3 > code { @@ -200,7 +200,7 @@ h3 > code { /* Code blocks */ pre code { display: block; - padding: 0.5em 0.5em 0.3em 0.5em; + padding: 0.4em 0.5em 0.3em 0.5em; margin: .5em 0 1.1em 0; overflow: auto; border-radius: 0.3em; From a86d66e7e12c9deb7e3b0ef1f06ffae4a057c1db Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Fri, 30 May 2014 09:06:34 +0200 Subject: [PATCH 315/839] Font display hackery in Chrome Sad panda... --- assets/css/stylesheet.css | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index ebc8075a..20a3b85b 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -573,4 +573,7 @@ hr:after, .main-nav a { font-weight: 400; } -} + code { + font-weight: bold; + } +} \ No newline at end of file From cfc382bf9006ef9afa3b6505f808219240f5b195 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Fri, 30 May 2014 09:27:44 +0200 Subject: [PATCH 316/839] revert font display hackery --- assets/css/stylesheet.css | 3 --- 1 file changed, 3 deletions(-) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 20a3b85b..d01e3383 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -573,7 +573,4 @@ hr:after, .main-nav a { font-weight: 400; } - code { - font-weight: bold; - } } \ No newline at end of file From 6c085e23c4ca50fb82a5184d3b51b790cc0e2060 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Sun, 1 Jun 2014 02:46:18 +0200 Subject: [PATCH 317/839] Prevent inline code block touching each other... So to maken inline codeblocks not touch each other. Could also make padding on code blocks less but then the text in these blocks would become less readable. --- assets/css/stylesheet.css | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index d01e3383..35b809f2 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -15,8 +15,8 @@ body { font-family: 'Open Sans', "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif; font: 16px; - line-height: 1.5; color: #333; + line-height: 1.6; -webkit-font-smoothing: antialiased; } @@ -61,6 +61,9 @@ ul li:before { margin-right: 10px; line-height: 13px; } +li { + padding: 0 0 0.3em 0; +} nav ul { list-style: none; @@ -179,7 +182,7 @@ pre { code { padding: 0.3em 0.3em 0.2em 0.3em; border-radius: .3em; - + font-size: 1.05em; background: #444; } /* Oh I want SASS here */ @@ -204,6 +207,7 @@ pre code { margin: .5em 0 1.1em 0; overflow: auto; border-radius: 0.3em; + font-size: 1em; } /* Forms */ From a61a89dc7fa3309079c8eee1a76e9038405939aa Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Sun, 1 Jun 2014 02:47:06 +0200 Subject: [PATCH 318/839] Use one "black" --- assets/css/stylesheet.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 35b809f2..2978e985 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -15,8 +15,8 @@ body { font-family: 'Open Sans', "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif; font: 16px; - color: #333; line-height: 1.6; + color: #292929; -webkit-font-smoothing: antialiased; } From 6dc2509224a29042cd7c87d5b6de10ae30cfd390 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Sun, 1 Jun 2014 02:48:38 +0200 Subject: [PATCH 319/839] Remove / merge duplicate CSS --- assets/css/stylesheet.css | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 2978e985..020d315b 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -37,6 +37,9 @@ section { h1, h2, h3, h4, h5, h6 { margin: 1em 0 0 0; color: #333; + font-weight: normal; +} + } p { @@ -222,6 +225,10 @@ input[type="search"] { -webkit-appearance: none; } +/* Images */ +img { + max-width: 100% +} /* Clearfix */ @@ -380,15 +387,6 @@ footer { -webkit-font-smoothing: antialiased; } -section img { - max-width: 100% -} - -h1, h2, h3, h4, h5, h6 { - font-weight: normal; - color: #333; -} - #main_content h1 { font-size: 30px; } From d95cdbb7d4b42e6c3f50e63c35e47a9631b6bbb5 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Sun, 1 Jun 2014 02:49:00 +0200 Subject: [PATCH 320/839] Make h3 more a separator --- assets/css/stylesheet.css | 2 ++ 1 file changed, 2 insertions(+) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 020d315b..083d658b 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -40,6 +40,8 @@ h1, h2, h3, h4, h5, h6 { font-weight: normal; } +h3 { + font-weight: 600; } p { From 020b4688f5c4be6e792ffe5e425b2c69a947f0ea Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Sun, 1 Jun 2014 02:49:27 +0200 Subject: [PATCH 321/839] Make code in tables itsy-bitsy better to read --- assets/css/stylesheet.css | 1 + 1 file changed, 1 insertion(+) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 083d658b..881d676f 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -123,6 +123,7 @@ td { position: relative; top: -2px; background: #777; + font-size: 1em; } From 938bdd7095778abf2204e62e60d1e653c3d9f0c5 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Sun, 1 Jun 2014 02:49:57 +0200 Subject: [PATCH 322/839] Use "better" code font-stack The one that GitHub uses. --- assets/css/stylesheet.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 881d676f..e6a4f2ba 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -167,7 +167,7 @@ code, pre { color: #f1f1f1; text-shadow: 0 1px rgba(0,0,0,0.3); - font-family: Consolas, Monaco, 'Andale Mono', monospace; + font-family: Consolas, "Liberation Mono", Courier, monospace; direction: ltr; text-align: left; white-space: pre; From 8064052b7807ed2505e7702986e47427f513320a Mon Sep 17 00:00:00 2001 From: Leonardo Santagada Date: Sun, 1 Jun 2014 09:24:01 -0300 Subject: [PATCH 323/839] check certs and save with same name curl should check for certs (hence no -k) and not follow redirects (no -L) to improve security a bit, and with -O it saves the a file with the remote name on the current directory, no redirect needed --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index bae0731d..c5c38cb2 100644 --- a/index.md +++ b/index.md @@ -15,7 +15,7 @@ title: Command line interface for WordPress First, download [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar) using `wget` or `curl`. For example: ~~~ -curl -kL https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar > wp-cli.phar +curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar ~~~ From 0d0770999b8a6182a4239a0635158e2d4bd80e76 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Sun, 29 Jun 2014 23:19:24 +0200 Subject: [PATCH 324/839] Fix logo and being cut of on smaller screens and better align socials also compact the menu on really specific width --- assets/css/stylesheet.css | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index e6a4f2ba..ca054c20 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -578,4 +578,19 @@ hr:after, .main-nav a { font-weight: 400; } +} + +@media (max-width: 800px) { + header h1 { + margin-left: 0; + } + + .main-nav .align-right { + float: none; + } +} +@media (max-width: 690px) { + .main-nav li a { + padding-left: 0; + } } \ No newline at end of file From 852fac985bfe535f830631f146a185df583e2547 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Sun, 29 Jun 2014 23:53:48 +0200 Subject: [PATCH 325/839] Add GitHub WP-CLI logo as favicon --- assets/img/favicon.ico | Bin 0 -> 21238 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/img/favicon.ico diff --git a/assets/img/favicon.ico b/assets/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..558a8d4399c5805b4eca789d6f5a61155530fc3a GIT binary patch literal 21238 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 Date: Mon, 30 Jun 2014 17:04:53 -0700 Subject: [PATCH 326/839] First pass at blog post --- _posts/2014-06-30-version-0.16.md | 44 +++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 _posts/2014-06-30-version-0.16.md diff --git a/_posts/2014-06-30-version-0.16.md b/_posts/2014-06-30-version-0.16.md new file mode 100644 index 00000000..bf1aa5bb --- /dev/null +++ b/_posts/2014-06-30-version-0.16.md @@ -0,0 +1,44 @@ +--- +layout: post +author: danielbachhuber +title: Version 0.16 released +--- + +Just in time for your crazy load of summer projects, we have a new version of WP-CLI for you. Here's what's new. + +### Manage WP-Cron + +### Verify core checksums + +To help you ensure the sanctity of your WordPress install, `wp core verify-checksums` downloads checksums from WordPress.org and compares them to your local versions. + +A successful check would look something like this: + + $ wp core verify-checksums + Success: WordPress install verifies against checksums. + +If any core files have been modified, you might see this: + + $ wp core verify-checksums + Warning: File doesn't verify against checksum: readme.html + Error: WordPress install doesn't verify against checksums. + +@todo example of setting this up on a cron job + +### Other changes + +* Fixed non-multisite activation of plugins with `Network: True` header +* Disabled commands no longer appear in usage docs +* Autocompletion file works properly for both bash and ZSH +* `wp (theme|plugin) install`: creates parent directories if they don't yet exist +* `wp * meta delete`: supports passing a value to match against, mimicking core behavior +* `wp core update`: fixed behavior for updating directly from a ZIP file +* `wp post generate`: the `--post_author=` argument supports user ID, login, or email address +* `wp scaffold plugin`: Includes a sample readme.txt +* `wp user create`: added `--first_name=` and `--last_name=` parameters +* `wp user import-csv`: a `--skip-update` flag will prevent updating existing users +* More helpful messages and warnings across the board + +You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?milestone=23&page=1&state=closed) on Github. + +Contributors to this release: [boonebgorges](https://github.com/boonebgorges), [danielbachhuber](https://github.com/danielbachhuber), [jmslbam](https://github.com/jmslbam), [johnbillion](https://github.com/johnbillion), [joshlevinson](https://github.com/joshlevinson), [mboynes](https://github.com/mboynes), [rodrigoprimo](https://github.com/rodrigoprimo), [ryanduff](https://github.com/ryanduff), [scribu](https://github.com/scribu), [szepeviktor](https://github.com/szepeviktor), [westonruter](https://github.com/westonruter) \ No newline at end of file From 13420f4a288a29440c0afaf9282e3677d6e6e825 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 30 Jun 2014 17:31:55 -0700 Subject: [PATCH 327/839] Another pass on the blog post --- _posts/2014-06-30-version-0.16.md | 53 +++++++++++++++++++++++++++---- 1 file changed, 47 insertions(+), 6 deletions(-) diff --git a/_posts/2014-06-30-version-0.16.md b/_posts/2014-06-30-version-0.16.md index bf1aa5bb..a6c9931e 100644 --- a/_posts/2014-06-30-version-0.16.md +++ b/_posts/2014-06-30-version-0.16.md @@ -8,6 +8,40 @@ Just in time for your crazy load of summer projects, we have a new version of WP ### Manage WP-Cron +Ever confused by how WP-Cron is treating you? Wonder no more! + +See all scheduled cron events: + + $ wp cron event list + +-----------------------------+---------------------+-----------------------+------------+ + | hook | next_run_gmt | next_run_relative | recurrence | + +-----------------------------+---------------------+-----------------------+------------+ + | wp_version_check | 2014-07-01 04:05:59 | 3 hours 50 minutes | 12 hours | + | wp_update_plugins | 2014-07-01 04:05:59 | 3 hours 50 minutes | 12 hours | + | wp_update_themes | 2014-07-01 04:05:59 | 3 hours 50 minutes | 12 hours | + | update_network_counts | 2014-07-01 04:06:05 | 3 hours 50 minutes | 12 hours | + | wp_maybe_auto_update | 2014-07-01 07:51:00 | 7 hours 35 minutes | 12 hours | + | wp_scheduled_delete | 2014-07-01 16:06:05 | 15 hours 50 minutes | 1 day | + +-----------------------------+---------------------+-----------------------+------------+ + +Run a particular cron event: + + $ wp cron event run wp_scheduled_delete + Success: Successfully executed the cron event 'wp_scheduled_delete' + +Inspect registered cron schedules: + + $ wp cron schedule list + +------------+-------------+----------+ + | name | display | interval | + +------------+-------------+----------+ + | hourly | Once Hourly | 3600 | + | twicedaily | Twice Daily | 43200 | + | daily | Once Daily | 86400 | + +------------+-------------+----------+ + +Take a look at `wp cron` for the full details. + ### Verify core checksums To help you ensure the sanctity of your WordPress install, `wp core verify-checksums` downloads checksums from WordPress.org and compares them to your local versions. @@ -23,22 +57,29 @@ If any core files have been modified, you might see this: Warning: File doesn't verify against checksum: readme.html Error: WordPress install doesn't verify against checksums. -@todo example of setting this up on a cron job +### A new look + +[WP-CLI.org](http://wp-cli.org) received a much-appreciated fresh coat of paint. [Share the love on Twitter](https://twitter.com/intent/tweet?text=Love%20the%20fresh%20coat%20of%20paint%2C%20%40wpcli%21%20Check%20it%20out%3A%20http%3A%2F%2Fwp-cli.org) (or report any bugs in the issue tracker). ### Other changes -* Fixed non-multisite activation of plugins with `Network: True` header -* Disabled commands no longer appear in usage docs -* Autocompletion file works properly for both bash and ZSH -* `wp (theme|plugin) install`: creates parent directories if they don't yet exist +Additions: + * `wp * meta delete`: supports passing a value to match against, mimicking core behavior -* `wp core update`: fixed behavior for updating directly from a ZIP file * `wp post generate`: the `--post_author=` argument supports user ID, login, or email address * `wp scaffold plugin`: Includes a sample readme.txt +* `wp (theme|plugin) install`: creates parent directories if they don't yet exist * `wp user create`: added `--first_name=` and `--last_name=` parameters * `wp user import-csv`: a `--skip-update` flag will prevent updating existing users * More helpful messages and warnings across the board +Fixes: + +* Fixed non-multisite activation of plugins with `Network: True` header +* Disabled commands no longer appear in usage docs +* Autocompletion file works properly for both bash and ZSH +* `wp core update`: fixed behavior for updating directly from a ZIP file + You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?milestone=23&page=1&state=closed) on Github. Contributors to this release: [boonebgorges](https://github.com/boonebgorges), [danielbachhuber](https://github.com/danielbachhuber), [jmslbam](https://github.com/jmslbam), [johnbillion](https://github.com/johnbillion), [joshlevinson](https://github.com/joshlevinson), [mboynes](https://github.com/mboynes), [rodrigoprimo](https://github.com/rodrigoprimo), [ryanduff](https://github.com/ryanduff), [scribu](https://github.com/scribu), [szepeviktor](https://github.com/szepeviktor), [westonruter](https://github.com/westonruter) \ No newline at end of file From d2600c668f3cb99cb6f918c856f502f7194e734a Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 30 Jun 2014 17:46:34 -0700 Subject: [PATCH 328/839] Edits --- _posts/2014-06-30-version-0.16.md | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/_posts/2014-06-30-version-0.16.md b/_posts/2014-06-30-version-0.16.md index a6c9931e..108bc389 100644 --- a/_posts/2014-06-30-version-0.16.md +++ b/_posts/2014-06-30-version-0.16.md @@ -8,7 +8,7 @@ Just in time for your crazy load of summer projects, we have a new version of WP ### Manage WP-Cron -Ever confused by how WP-Cron is treating you? Wonder no more! +Ever confused by how WP-Cron is acting? Wonder no more! See all scheduled cron events: @@ -24,7 +24,7 @@ See all scheduled cron events: | wp_scheduled_delete | 2014-07-01 16:06:05 | 15 hours 50 minutes | 1 day | +-----------------------------+---------------------+-----------------------+------------+ -Run a particular cron event: +Run a specific cron event: $ wp cron event run wp_scheduled_delete Success: Successfully executed the cron event 'wp_scheduled_delete' @@ -40,18 +40,20 @@ Inspect registered cron schedules: | daily | Once Daily | 86400 | +------------+-------------+----------+ -Take a look at `wp cron` for the full details. +Take a look at `wp help cron` for the full details. ### Verify core checksums -To help you ensure the sanctity of your WordPress install, `wp core verify-checksums` downloads checksums from WordPress.org and compares them to your local versions. +To help you confirm the sanctity of your WordPress install, `wp core verify-checksums` fetches checksums from WordPress.org and compares them to that of your local files. -A successful check would look something like this: +For the layperson, a "checksum" is a calcuation of a file's contents using an algorithm called "MD5". Generating a checksum produces a 32 digit hexadecimal number. WP-CLI's `wp core verify-checksums` command downloads WordPress.org's reported checksums for each core file, and compares those values to the checksum it calculates for each local file. If the values differ, then it's an indication the file's contents differ from what they should be. + +A successful check will look like this: $ wp core verify-checksums Success: WordPress install verifies against checksums. -If any core files have been modified, you might see this: +If any core files have been modified, you'll see something like this: $ wp core verify-checksums Warning: File doesn't verify against checksum: readme.html @@ -65,9 +67,10 @@ If any core files have been modified, you might see this: Additions: +* `wp * meta list`: list meta values for a given post, comment, or user * `wp * meta delete`: supports passing a value to match against, mimicking core behavior * `wp post generate`: the `--post_author=` argument supports user ID, login, or email address -* `wp scaffold plugin`: Includes a sample readme.txt +* `wp scaffold plugin`: includes a sample readme.txt * `wp (theme|plugin) install`: creates parent directories if they don't yet exist * `wp user create`: added `--first_name=` and `--last_name=` parameters * `wp user import-csv`: a `--skip-update` flag will prevent updating existing users From a9ef7c04a9826bc9cf939c6616d57d661b26153b Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 30 Jun 2014 17:53:06 -0700 Subject: [PATCH 329/839] Moar edits --- _posts/2014-06-30-version-0.16.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/_posts/2014-06-30-version-0.16.md b/_posts/2014-06-30-version-0.16.md index 108bc389..a5b4db1c 100644 --- a/_posts/2014-06-30-version-0.16.md +++ b/_posts/2014-06-30-version-0.16.md @@ -8,7 +8,7 @@ Just in time for your crazy load of summer projects, we have a new version of WP ### Manage WP-Cron -Ever confused by how WP-Cron is acting? Wonder no more! +Confused by how WP-Cron is acting? Wonder no more! See all scheduled cron events: @@ -46,7 +46,7 @@ Take a look at `wp help cron` for the full details. To help you confirm the sanctity of your WordPress install, `wp core verify-checksums` fetches checksums from WordPress.org and compares them to that of your local files. -For the layperson, a "checksum" is a calcuation of a file's contents using an algorithm called "MD5". Generating a checksum produces a 32 digit hexadecimal number. WP-CLI's `wp core verify-checksums` command downloads WordPress.org's reported checksums for each core file, and compares those values to the checksum it calculates for each local file. If the values differ, then it's an indication the file's contents differ from what they should be. +For the layperson, a checksum is a calcuation of a file's contents using the MD5 algorithm. To generating a checksum is to produce a 32 digit hexadecimal number that represents the file's state. WP-CLI's `wp core verify-checksums` command downloads WordPress.org's reported checksums for each core file, and then compares those values to the checksum it calculates for each local file. If the values differ, then it's an indication the file's contents differ from what they should be. A successful check will look like this: @@ -74,15 +74,15 @@ Additions: * `wp (theme|plugin) install`: creates parent directories if they don't yet exist * `wp user create`: added `--first_name=` and `--last_name=` parameters * `wp user import-csv`: a `--skip-update` flag will prevent updating existing users -* More helpful messages and warnings across the board +* Clearer, more helpful messages and warnings across the board Fixes: -* Fixed non-multisite activation of plugins with `Network: True` header +* Plugins with `Network: True` header activate without throwing a warning on non-multisite installs * Disabled commands no longer appear in usage docs * Autocompletion file works properly for both bash and ZSH -* `wp core update`: fixed behavior for updating directly from a ZIP file +* `wp core update`: can update directly from a ZIP file You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?milestone=23&page=1&state=closed) on Github. -Contributors to this release: [boonebgorges](https://github.com/boonebgorges), [danielbachhuber](https://github.com/danielbachhuber), [jmslbam](https://github.com/jmslbam), [johnbillion](https://github.com/johnbillion), [joshlevinson](https://github.com/joshlevinson), [mboynes](https://github.com/mboynes), [rodrigoprimo](https://github.com/rodrigoprimo), [ryanduff](https://github.com/ryanduff), [scribu](https://github.com/scribu), [szepeviktor](https://github.com/szepeviktor), [westonruter](https://github.com/westonruter) \ No newline at end of file +Contributors to this release: [boonebgorges](https://github.com/boonebgorges), [danielbachhuber](https://github.com/danielbachhuber), [jmslbam](https://github.com/jmslbam), [johnbillion](https://github.com/johnbillion), [joshlevinson](https://github.com/joshlevinson), [mboynes](https://github.com/mboynes), [rodrigoprimo](https://github.com/rodrigoprimo), [ryanduff](https://github.com/ryanduff), [scribu](https://github.com/scribu), [szepeviktor](https://github.com/szepeviktor), [westonruter](https://github.com/westonruter) From 52c46e9abd4c2d26f4b401d8f76cea4ae55fcb7c Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 30 Jun 2014 17:56:52 -0700 Subject: [PATCH 330/839] Pages for the new commands --- commands/comment/meta/list/index.md | 19 +++++++++++++ commands/core/verify-checksums/index.md | 9 ++++++ commands/cron/event/delete/index.md | 12 ++++++++ commands/cron/event/index.md | 37 +++++++++++++++++++++++++ commands/cron/event/list/index.md | 21 ++++++++++++++ commands/cron/event/run/index.md | 12 ++++++++ commands/cron/event/schedule/index.md | 29 +++++++++++++++++++ commands/cron/index.md | 33 ++++++++++++++++++++++ commands/cron/schedule/index.md | 25 +++++++++++++++++ commands/cron/schedule/list/index.md | 21 ++++++++++++++ commands/cron/test/index.md | 9 ++++++ commands/network/meta/list/index.md | 19 +++++++++++++ commands/post/meta/list/index.md | 19 +++++++++++++ commands/user/meta/list/index.md | 19 +++++++++++++ 14 files changed, 284 insertions(+) create mode 100644 commands/comment/meta/list/index.md create mode 100644 commands/core/verify-checksums/index.md create mode 100644 commands/cron/event/delete/index.md create mode 100644 commands/cron/event/index.md create mode 100644 commands/cron/event/list/index.md create mode 100644 commands/cron/event/run/index.md create mode 100644 commands/cron/event/schedule/index.md create mode 100644 commands/cron/index.md create mode 100644 commands/cron/schedule/index.md create mode 100644 commands/cron/schedule/list/index.md create mode 100644 commands/cron/test/index.md create mode 100644 commands/network/meta/list/index.md create mode 100644 commands/post/meta/list/index.md create mode 100644 commands/user/meta/list/index.md diff --git a/commands/comment/meta/list/index.md b/commands/comment/meta/list/index.md new file mode 100644 index 00000000..4931ab8c --- /dev/null +++ b/commands/comment/meta/list/index.md @@ -0,0 +1,19 @@ +--- +layout: default +title: 'wp comment meta list' +--- + +`wp comment meta list` - List all metadata associated with an object. + +<id> +: ID for the object. + +[\--keys=<keys>] +: Limit output to metadata of specific keys. + +[\--fields=<fields>] +: Limit the output to specific row fields. Defaults to id,meta_key,meta_value. + +[\--format=<format>] +: Accepted values: table, csv, json, count. Default: table + diff --git a/commands/core/verify-checksums/index.md b/commands/core/verify-checksums/index.md new file mode 100644 index 00000000..e5f90d0d --- /dev/null +++ b/commands/core/verify-checksums/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp core verify-checksums' +--- + +`wp core verify-checksums` - Verify WordPress files against WordPress.org's checksums. + + + diff --git a/commands/cron/event/delete/index.md b/commands/cron/event/delete/index.md new file mode 100644 index 00000000..fceee773 --- /dev/null +++ b/commands/cron/event/delete/index.md @@ -0,0 +1,12 @@ +--- +layout: default +title: 'wp cron event delete' +--- + +`wp cron event delete` - Delete the next scheduled cron event for the given hook. + +### OPTIONS + +<hook> +: The hook name + diff --git a/commands/cron/event/index.md b/commands/cron/event/index.md new file mode 100644 index 00000000..34740fe4 --- /dev/null +++ b/commands/cron/event/index.md @@ -0,0 +1,37 @@ +--- +layout: default +title: 'wp cron event' +--- + +`wp cron event` - Manage WP-Cron events. + + + +### SUBCOMMANDS + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescription
    deleteDelete the next scheduled cron event for the given hook.
    listList scheduled cron events.
    runRun the next scheduled cron event for the given hook.
    scheduleSchedule a new cron event.
    diff --git a/commands/cron/event/list/index.md b/commands/cron/event/list/index.md new file mode 100644 index 00000000..91e86b6d --- /dev/null +++ b/commands/cron/event/list/index.md @@ -0,0 +1,21 @@ +--- +layout: default +title: 'wp cron event list' +--- + +`wp cron event list` - List scheduled cron events. + +### OPTIONS + +[\--fields=<fields>] +: Limit the output to specific object fields. Available fields: hook, next_run, next_run_gmt, next_run_relative, recurrence. + +[\--format=<format>] +: Accepted values: table, json, csv, ids. Default: table. + +### EXAMPLES + + wp cron event list + + wp cron event list --fields=hook,next_run --format=json + diff --git a/commands/cron/event/run/index.md b/commands/cron/event/run/index.md new file mode 100644 index 00000000..efc0d961 --- /dev/null +++ b/commands/cron/event/run/index.md @@ -0,0 +1,12 @@ +--- +layout: default +title: 'wp cron event run' +--- + +`wp cron event run` - Run the next scheduled cron event for the given hook. + +### OPTIONS + +<hook> +: The hook name + diff --git a/commands/cron/event/schedule/index.md b/commands/cron/event/schedule/index.md new file mode 100644 index 00000000..908d71b8 --- /dev/null +++ b/commands/cron/event/schedule/index.md @@ -0,0 +1,29 @@ +--- +layout: default +title: 'wp cron event schedule' +--- + +`wp cron event schedule` - Schedule a new cron event. + +### OPTIONS + +<hook> +: The hook name + +[<next-run>] +: A Unix timestamp or an English textual datetime description compatible with `strtotime()`. Defaults to now. + +[<recurrence>] +: How often the event should recur. See `wp cron schedule list` for available schedule names. Defaults to no recurrence. + +[\--<field>=<value>] +: Associative args for the event. + +### EXAMPLES + + wp cron event schedule cron_test + + wp cron event schedule cron_test now hourly + + wp cron event schedule cron_test '+1 hour' --foo=1 --bar=2 + diff --git a/commands/cron/index.md b/commands/cron/index.md new file mode 100644 index 00000000..da96c29e --- /dev/null +++ b/commands/cron/index.md @@ -0,0 +1,33 @@ +--- +layout: default +title: 'wp cron' +--- + +`wp cron` - Manage WP-Cron events and schedules. + + + +### SUBCOMMANDS + + + + + + + + + + + + + + + + + + + + + + +
    NameDescription
    eventManage WP-Cron events.
    scheduleManage WP-Cron schedules.
    testTest the WP Cron spawning system and report back its status.
    diff --git a/commands/cron/schedule/index.md b/commands/cron/schedule/index.md new file mode 100644 index 00000000..71d18ef4 --- /dev/null +++ b/commands/cron/schedule/index.md @@ -0,0 +1,25 @@ +--- +layout: default +title: 'wp cron schedule' +--- + +`wp cron schedule` - Manage WP-Cron schedules. + + + +### SUBCOMMANDS + + + + + + + + + + + + + + +
    NameDescription
    listList available cron schedules.
    diff --git a/commands/cron/schedule/list/index.md b/commands/cron/schedule/list/index.md new file mode 100644 index 00000000..6951b7cf --- /dev/null +++ b/commands/cron/schedule/list/index.md @@ -0,0 +1,21 @@ +--- +layout: default +title: 'wp cron schedule list' +--- + +`wp cron schedule list` - List available cron schedules. + +### OPTIONS + +[\--fields=<fields>] +: Limit the output to specific object fields. Available fields: name, display, interval. + +[\--format=<format>] +: Accepted values: table, json, csv, ids. Default: table. + +### EXAMPLES + + wp cron schedule list + + wp cron schedule list --fields=name --format=ids + diff --git a/commands/cron/test/index.md b/commands/cron/test/index.md new file mode 100644 index 00000000..797a7c80 --- /dev/null +++ b/commands/cron/test/index.md @@ -0,0 +1,9 @@ +--- +layout: default +title: 'wp cron test' +--- + +`wp cron test` - Test the WP Cron spawning system and report back its status. + + + diff --git a/commands/network/meta/list/index.md b/commands/network/meta/list/index.md new file mode 100644 index 00000000..6b3d8a8c --- /dev/null +++ b/commands/network/meta/list/index.md @@ -0,0 +1,19 @@ +--- +layout: default +title: 'wp network meta list' +--- + +`wp network meta list` - List all metadata associated with an object. + +<id> +: ID for the object. + +[\--keys=<keys>] +: Limit output to metadata of specific keys. + +[\--fields=<fields>] +: Limit the output to specific row fields. Defaults to id,meta_key,meta_value. + +[\--format=<format>] +: Accepted values: table, csv, json, count. Default: table + diff --git a/commands/post/meta/list/index.md b/commands/post/meta/list/index.md new file mode 100644 index 00000000..a4bbe646 --- /dev/null +++ b/commands/post/meta/list/index.md @@ -0,0 +1,19 @@ +--- +layout: default +title: 'wp post meta list' +--- + +`wp post meta list` - List all metadata associated with an object. + +<id> +: ID for the object. + +[\--keys=<keys>] +: Limit output to metadata of specific keys. + +[\--fields=<fields>] +: Limit the output to specific row fields. Defaults to id,meta_key,meta_value. + +[\--format=<format>] +: Accepted values: table, csv, json, count. Default: table + diff --git a/commands/user/meta/list/index.md b/commands/user/meta/list/index.md new file mode 100644 index 00000000..c768563d --- /dev/null +++ b/commands/user/meta/list/index.md @@ -0,0 +1,19 @@ +--- +layout: default +title: 'wp user meta list' +--- + +`wp user meta list` - List all metadata associated with an object. + +<id> +: ID for the object. + +[\--keys=<keys>] +: Limit output to metadata of specific keys. + +[\--fields=<fields>] +: Limit the output to specific row fields. Defaults to id,meta_key,meta_value. + +[\--format=<format>] +: Accepted values: table, csv, json, count. Default: table + From 72a80b1b302a82f7f162115d1cb6f2e459ef0f09 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 30 Jun 2014 17:57:59 -0700 Subject: [PATCH 331/839] Update existing pages --- _includes/cmd-list.html | 4 ++++ _includes/param-list.html | 4 ++-- commands/comment/index.md | 3 +++ commands/comment/meta/delete/index.md | 7 +++++++ commands/comment/meta/index.md | 4 ++++ commands/core/index.md | 4 ++++ commands/db/tables/index.md | 4 ++-- commands/export/index.md | 6 +++--- commands/media/import/index.md | 17 ++++++++++------- commands/network/meta/delete/index.md | 7 +++++++ commands/network/meta/index.md | 4 ++++ commands/post/meta/delete/index.md | 7 +++++++ commands/post/meta/index.md | 4 ++++ commands/rewrite/flush/index.md | 10 ++++++++++ commands/rewrite/structure/index.md | 10 ++++++++++ commands/user/create/index.md | 6 ++++++ commands/user/get/index.md | 3 +++ commands/user/import-csv/index.md | 3 +++ commands/user/list/index.md | 2 +- commands/user/meta/delete/index.md | 3 +++ commands/user/meta/index.md | 4 ++++ commands/widget/list/index.md | 2 +- 22 files changed, 102 insertions(+), 16 deletions(-) diff --git a/_includes/cmd-list.html b/_includes/cmd-list.html index 0673db32..19acaa39 100644 --- a/_includes/cmd-list.html +++ b/_includes/cmd-list.html @@ -18,6 +18,10 @@ core Download, install, update and otherwise manage WordPress proper. + + cron + Manage WP-Cron events and schedules. + db Perform basic database operations. diff --git a/_includes/param-list.html b/_includes/param-list.html index 703ce026..5b766af7 100644 --- a/_includes/param-list.html +++ b/_includes/param-list.html @@ -31,10 +31,10 @@ Default value: null - user: <id|login> + user: <id|login|email> - --user=<id|login> + --user=<id|login|email> diff --git a/commands/comment/index.md b/commands/comment/index.md index 758fa8a8..1f9b053a 100644 --- a/commands/comment/index.md +++ b/commands/comment/index.md @@ -5,7 +5,10 @@ title: 'wp comment' `wp comment` - Manage comments. +### EXAMPLES + # delete all spam comments. + wp comment delete $(wp comment list --status=spam --format=ids) ### SUBCOMMANDS diff --git a/commands/comment/meta/delete/index.md b/commands/comment/meta/delete/index.md index cb4aeef5..c42766a8 100644 --- a/commands/comment/meta/delete/index.md +++ b/commands/comment/meta/delete/index.md @@ -5,5 +5,12 @@ title: 'wp comment meta delete' `wp comment meta delete` - Delete a meta field. +<id> +: The ID of the object. +<key> +: The name of the meta field to create. + +[<value>] +: The value to delete. If omitted, all rows with key will deleted. diff --git a/commands/comment/meta/index.md b/commands/comment/meta/index.md index 008c2bca..8db3f142 100644 --- a/commands/comment/meta/index.md +++ b/commands/comment/meta/index.md @@ -36,6 +36,10 @@ title: 'wp comment meta' get Get meta field value. + + list + List all metadata associated with an object. + update Update a meta field. diff --git a/commands/core/index.md b/commands/core/index.md index aa302179..84fd9aeb 100644 --- a/commands/core/index.md +++ b/commands/core/index.md @@ -49,6 +49,10 @@ title: 'wp core' update-db Update the WordPress database. + + verify-checksums + Verify WordPress files against WordPress.org's checksums. + version Display the WordPress version. diff --git a/commands/db/tables/index.md b/commands/db/tables/index.md index dc8c9874..f7379163 100644 --- a/commands/db/tables/index.md +++ b/commands/db/tables/index.md @@ -12,6 +12,6 @@ title: 'wp db tables' ### EXAMPLES -# Export only tables for a single site -wp db export --tables=$(wp db tables --url=sub.example.com | tr '\n' ',') + # Export only tables for a single site + wp db export --tables=$(wp db tables --url=sub.example.com | tr '\n' ',') diff --git a/commands/export/index.md b/commands/export/index.md index 26a9a221..b040f864 100644 --- a/commands/export/index.md +++ b/commands/export/index.md @@ -20,13 +20,13 @@ to current working directory. ### FILTERS [\--start_date=<date>] -: Export only posts newer than this date, in format YYYY-MM-DD. +: Export only posts published after this date, in format YYYY-MM-DD. [\--end_date=<date>] -: Export only posts older than this date, in format YYYY-MM-DD. +: Export only posts published before this date, in format YYYY-MM-DD. [\--post_type=<post-type>] -: Export only posts with this post_type. +: Export only posts with this post_type. Defaults to all. [\--post__in=<pid>] : Export all posts specified as a comma-separated list of IDs. diff --git a/commands/media/import/index.md b/commands/media/import/index.md index d6701f91..3a7347ee 100644 --- a/commands/media/import/index.md +++ b/commands/media/import/index.md @@ -7,29 +7,32 @@ title: 'wp media import' ### OPTIONS -<file> +<file>... : Path to file or files to be imported. Supports the glob(3) capabilities of the current shell. If file is recognized as a URL (for example, with a scheme of http or ftp), the file will be downloaded to a temp file before being sideloaded. -\--post_id=<post_id> +[\--post_id=<post_id>] : ID of the post to attach the imported files to -\--title=<title> +[\--title=<title>] : Attachment title (post title field) -\--caption=<caption> +[\--caption=<caption>] : Caption for attachent (post excerpt field) -\--alt=<alt_text> +[\--alt=<alt_text>] : Alt text for image (saved as post meta) -\--desc=<description> +[\--desc=<description>] : "Description" field (post content) of attachment post -\--featured_image +[\--featured_image] : If set, set the imported image as the Featured Image of the post its attached to. +[\--porcelain] +: Output just the new attachment id. + ### EXAMPLES # Import all jpgs in the current user's "Pictures" directory, not attached to any post diff --git a/commands/network/meta/delete/index.md b/commands/network/meta/delete/index.md index d0c8543d..6451409e 100644 --- a/commands/network/meta/delete/index.md +++ b/commands/network/meta/delete/index.md @@ -5,5 +5,12 @@ title: 'wp network meta delete' `wp network meta delete` - Delete a meta field. +<id> +: The ID of the object. +<key> +: The name of the meta field to create. + +[<value>] +: The value to delete. If omitted, all rows with key will deleted. diff --git a/commands/network/meta/index.md b/commands/network/meta/index.md index 24a1d8f7..2bbc7ea2 100644 --- a/commands/network/meta/index.md +++ b/commands/network/meta/index.md @@ -40,6 +40,10 @@ title: 'wp network meta' get Get meta field value. + + list + List all metadata associated with an object. + update Update a meta field. diff --git a/commands/post/meta/delete/index.md b/commands/post/meta/delete/index.md index 87ed37c2..fc0c83bd 100644 --- a/commands/post/meta/delete/index.md +++ b/commands/post/meta/delete/index.md @@ -5,5 +5,12 @@ title: 'wp post meta delete' `wp post meta delete` - Delete a meta field. +<id> +: The ID of the object. +<key> +: The name of the meta field to create. + +[<value>] +: The value to delete. If omitted, all rows with key will deleted. diff --git a/commands/post/meta/index.md b/commands/post/meta/index.md index bd457ecf..70d1abc5 100644 --- a/commands/post/meta/index.md +++ b/commands/post/meta/index.md @@ -36,6 +36,10 @@ title: 'wp post meta' get Get meta field value. + + list + List all metadata associated with an object. + update Update a meta field. diff --git a/commands/rewrite/flush/index.md b/commands/rewrite/flush/index.md index 2417294b..9bf4124c 100644 --- a/commands/rewrite/flush/index.md +++ b/commands/rewrite/flush/index.md @@ -5,6 +5,16 @@ title: 'wp rewrite flush' `wp rewrite flush` - Flush rewrite rules. +### DESCRIPTION + +Resets WordPress' rewrite rules based on registered post types, etc. + +To regenerate a .htaccess file with WP-CLI, you'll need to add the mod_rewrite module +to your wp-cli.yml or config.yml. For example: + +apache_modules: + - mod_rewrite + ### OPTIONS [\--hard] diff --git a/commands/rewrite/structure/index.md b/commands/rewrite/structure/index.md index 12aa3cd8..44952ae8 100644 --- a/commands/rewrite/structure/index.md +++ b/commands/rewrite/structure/index.md @@ -5,6 +5,16 @@ title: 'wp rewrite structure' `wp rewrite structure` - Update the permalink structure. +### DESCRIPTION + +Updates the post permalink structure. + +To regenerate a .htaccess file with WP-CLI, you'll need to add the mod_rewrite module +to your wp-cli.yml or config.yml. For example: + +apache_modules: + - mod_rewrite + ### OPTIONS <permastruct> diff --git a/commands/user/create/index.md b/commands/user/create/index.md index 20449ca9..6535e4d0 100644 --- a/commands/user/create/index.md +++ b/commands/user/create/index.md @@ -25,6 +25,12 @@ title: 'wp user create' [\--display_name=<name>] : The display name. +[\--first_name=<first_name>] +: The user's first name. + +[\--last_name=<last_name>] +: The user's last name. + [\--send-email] : Send an email to the user with their new account details. diff --git a/commands/user/get/index.md b/commands/user/get/index.md index 92c60af2..acfa5c30 100644 --- a/commands/user/get/index.md +++ b/commands/user/get/index.md @@ -13,6 +13,9 @@ title: 'wp user get' [\--field=<field>] : Instead of returning the whole user, returns the value of a single field. +[\--fields=<fields>] +: Get a specific subset of the user's fields. + [\--format=<format>] : Accepted values: table, json. Default: table diff --git a/commands/user/import-csv/index.md b/commands/user/import-csv/index.md index dd0c8e2c..6f549a78 100644 --- a/commands/user/import-csv/index.md +++ b/commands/user/import-csv/index.md @@ -13,6 +13,9 @@ title: 'wp user import-csv' [\--send-email] : Send an email to new users with their account details. +[\--skip-update] +: Don't update users that already exist. + ### EXAMPLES wp user import-csv /path/to/users.csv diff --git a/commands/user/list/index.md b/commands/user/list/index.md index ffca9e12..3de719dc 100644 --- a/commands/user/list/index.md +++ b/commands/user/list/index.md @@ -11,7 +11,7 @@ title: 'wp user list' : Only display users with a certain role. [\--<field>=<value>] -: Filter by one or more fields. For accepted fields, see get_users(). +: Control output by one or more arguments of get_users(). [\--field=<field>] : Prints the value of a single field for each user. diff --git a/commands/user/meta/delete/index.md b/commands/user/meta/delete/index.md index 9cee0b0e..927aa366 100644 --- a/commands/user/meta/delete/index.md +++ b/commands/user/meta/delete/index.md @@ -11,3 +11,6 @@ title: 'wp user meta delete' <key> : The metadata key. +[<value>] +: The value to delete. If omitted, all rows with key will deleted. + diff --git a/commands/user/meta/index.md b/commands/user/meta/index.md index ea196b2b..c6665665 100644 --- a/commands/user/meta/index.md +++ b/commands/user/meta/index.md @@ -38,6 +38,10 @@ title: 'wp user meta' get Get meta field value. + + list + List all metadata associated with an object. + update Update a meta field. diff --git a/commands/widget/list/index.md b/commands/widget/list/index.md index 0b7e6ddf..ed8513fe 100644 --- a/commands/widget/list/index.md +++ b/commands/widget/list/index.md @@ -12,7 +12,7 @@ title: 'wp widget list' : Limit the output to specific object fields. Defaults to name, id, description [\--format=<format>] -: Accepted values: table, csv, json, count. Default: table +: Accepted values: table, csv, json, count, ids. Default: table ### EXAMPLES From 17f17d4dccb4b303072f5a8ccc128af8bdb2c6a5 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 30 Jun 2014 18:04:26 -0700 Subject: [PATCH 332/839] Fix incorrect double-encoding of quotes inside of code blocks --- Phakefile.php | 1 + commands/comment/create/index.md | 2 +- commands/comment/meta/index.md | 2 +- commands/import/index.md | 2 +- commands/media/import/index.md | 8 ++++---- commands/menu/create/index.md | 2 +- commands/menu/delete/index.md | 2 +- commands/menu/index.md | 2 +- commands/menu/item/add-post/index.md | 2 +- commands/menu/item/index.md | 2 +- commands/option/index.md | 2 +- commands/role/create/index.md | 2 +- commands/term/create/index.md | 2 +- commands/theme/enable/index.md | 2 +- commands/theme/path/index.md | 4 ++-- commands/user/meta/index.md | 4 ++-- commands/widget/add/index.md | 2 +- commands/widget/index.md | 2 +- commands/widget/update/index.md | 2 +- 19 files changed, 24 insertions(+), 23 deletions(-) diff --git a/Phakefile.php b/Phakefile.php index 37fc2d14..4240bc06 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -59,6 +59,7 @@ function gen_cmd_pages( $cmd, $parent = array() ) { $docs = preg_replace( '/ < /', ' < ', $docs ); $docs = preg_replace( '/ > /', ' > ', $docs ); $docs = preg_replace( '/ <</', ' <<', $docs ); + $docs = preg_replace( '/"/', '"', $docs ); $binding['docs'] = $docs; } diff --git a/commands/comment/create/index.md b/commands/comment/create/index.md index 2ea6e3f9..23b6ac3f 100644 --- a/commands/comment/create/index.md +++ b/commands/comment/create/index.md @@ -15,5 +15,5 @@ title: 'wp comment create' ### EXAMPLES - wp comment create --comment_post_ID=15 --comment_content="hello blog" --comment_author="wp-cli" + wp comment create --comment_post_ID=15 --comment_content="hello blog" --comment_author="wp-cli" diff --git a/commands/comment/meta/index.md b/commands/comment/meta/index.md index 8db3f142..a5af8923 100644 --- a/commands/comment/meta/index.md +++ b/commands/comment/meta/index.md @@ -12,7 +12,7 @@ title: 'wp comment meta' ### EXAMPLES - wp comment meta set 123 description "Mary is a WordPress developer." + wp comment meta set 123 description "Mary is a WordPress developer." ### SUBCOMMANDS diff --git a/commands/import/index.md b/commands/import/index.md index c8a90041..64f17dbe 100644 --- a/commands/import/index.md +++ b/commands/import/index.md @@ -11,7 +11,7 @@ title: 'wp import' : Path to one or more valid WXR files for importing. \--authors=<authors> -: How the author mapping should be handled. Options are 'create', 'mapping.csv', or 'skip'. The first will create any non-existent users from the WXR file. The second will read author mapping associations from a CSV, or create a CSV for editing if the file path doesn't exist. The CSV requires two columns, and a header row like "old_user_login,new_user_login". The last option will skip any author mapping. +: How the author mapping should be handled. Options are 'create', 'mapping.csv', or 'skip'. The first will create any non-existent users from the WXR file. The second will read author mapping associations from a CSV, or create a CSV for editing if the file path doesn't exist. The CSV requires two columns, and a header row like "old_user_login,new_user_login". The last option will skip any author mapping. [\--skip=<data-type>] : Skip importing specific data. Supported options are: 'attachment' and 'image_resize' (skip time-consuming thumbnail generation). diff --git a/commands/media/import/index.md b/commands/media/import/index.md index 3a7347ee..d7ac8f69 100644 --- a/commands/media/import/index.md +++ b/commands/media/import/index.md @@ -25,7 +25,7 @@ title: 'wp media import' : Alt text for image (saved as post meta) [\--desc=<description>] -: "Description" field (post content) of attachment post +: "Description" field (post content) of attachment post [\--featured_image] : If set, set the imported image as the Featured Image of the post its attached to. @@ -35,12 +35,12 @@ title: 'wp media import' ### EXAMPLES - # Import all jpgs in the current user's "Pictures" directory, not attached to any post + # Import all jpgs in the current user's "Pictures" directory, not attached to any post wp media import ~/Pictures/**\/*.jpg # Import a local image and set it to be the post thumbnail for a post - wp media import ~/Downloads/image.png --post_id=123 --title="A downloaded picture" --featured_image + wp media import ~/Downloads/image.png --post_id=123 --title="A downloaded picture" --featured_image # Import an image from the web - wp media import http://s.wordpress.org/style/images/wp-header-logo.png --title='The WordPress logo' --alt="Semantic personal publishing" + wp media import http://s.wordpress.org/style/images/wp-header-logo.png --title='The WordPress logo' --alt="Semantic personal publishing" diff --git a/commands/menu/create/index.md b/commands/menu/create/index.md index 86b64607..aa152aba 100644 --- a/commands/menu/create/index.md +++ b/commands/menu/create/index.md @@ -13,5 +13,5 @@ title: 'wp menu create' ### EXAMPLES - wp menu create "My Menu" + wp menu create "My Menu" diff --git a/commands/menu/delete/index.md b/commands/menu/delete/index.md index 3260dc73..3d1668ee 100644 --- a/commands/menu/delete/index.md +++ b/commands/menu/delete/index.md @@ -10,5 +10,5 @@ title: 'wp menu delete' ### EXAMPLES - wp menu delete "My Menu" + wp menu delete "My Menu" diff --git a/commands/menu/index.md b/commands/menu/index.md index dc5f9b9b..4e9662f4 100644 --- a/commands/menu/index.md +++ b/commands/menu/index.md @@ -8,7 +8,7 @@ title: 'wp menu' ### EXAMPLES # Create a new menu - wp menu create "My Menu" + wp menu create "My Menu" # List existing menus wp menu list diff --git a/commands/menu/item/add-post/index.md b/commands/menu/item/add-post/index.md index b1c46f58..01187919 100644 --- a/commands/menu/item/add-post/index.md +++ b/commands/menu/item/add-post/index.md @@ -40,5 +40,5 @@ title: 'wp menu item add-post' ### EXAMPLES - wp menu item add-post sidebar-menu 33 --title="Custom Test Post" + wp menu item add-post sidebar-menu 33 --title="Custom Test Post" diff --git a/commands/menu/item/index.md b/commands/menu/item/index.md index 4138d9cf..23bd460e 100644 --- a/commands/menu/item/index.md +++ b/commands/menu/item/index.md @@ -8,7 +8,7 @@ title: 'wp menu item' ### EXAMPLES # Add an existing post to an existing menu - wp menu item add-post sidebar-menu 33 --title="Custom Test Post" + wp menu item add-post sidebar-menu 33 --title="Custom Test Post" # Create a new menu link item wp menu item add-custom sidebar-menu Apple http://apple.com --porcelain diff --git a/commands/option/index.md b/commands/option/index.md index 86ca4c3f..d9fa7d9f 100644 --- a/commands/option/index.md +++ b/commands/option/index.md @@ -16,7 +16,7 @@ title: 'wp option' wp option add my_option foobar - wp option update my_option '{"foo": "bar"}' --format=json + wp option update my_option '{"foo": "bar"}' --format=json wp option delete my_option diff --git a/commands/role/create/index.md b/commands/role/create/index.md index f9bbfea6..1b092c92 100644 --- a/commands/role/create/index.md +++ b/commands/role/create/index.md @@ -17,5 +17,5 @@ title: 'wp role create' wp role create approver Approver - wp role create productadmin "Product Administrator" + wp role create productadmin "Product Administrator" diff --git a/commands/term/create/index.md b/commands/term/create/index.md index 5d481e78..e2bb1081 100644 --- a/commands/term/create/index.md +++ b/commands/term/create/index.md @@ -27,5 +27,5 @@ title: 'wp term create' ### EXAMPLES - wp term create category Apple --description="A type of fruit" + wp term create category Apple --description="A type of fruit" diff --git a/commands/theme/enable/index.md b/commands/theme/enable/index.md index 881e34c4..854893fd 100644 --- a/commands/theme/enable/index.md +++ b/commands/theme/enable/index.md @@ -15,7 +15,7 @@ title: 'wp theme enable' [\--activate] : If set, the theme is activated for the current site. Note that -the "network" flag has no influence on this. +the "network" flag has no influence on this. ### EXAMPLES diff --git a/commands/theme/path/index.md b/commands/theme/path/index.md index 3b8f36dd..ecd10efd 100644 --- a/commands/theme/path/index.md +++ b/commands/theme/path/index.md @@ -8,12 +8,12 @@ title: 'wp theme path' ### OPTIONS [<theme>] -: The theme to get the path to. Path includes "style.css" file. +: The theme to get the path to. Path includes "style.css" file. If not set, will return the path to the themes directory. [\--dir] : If set, get the path to the closest parent directory, instead of the -theme's "style.css" file. +theme's "style.css" file. ### EXAMPLES diff --git a/commands/user/meta/index.md b/commands/user/meta/index.md index c6665665..4a2cbd17 100644 --- a/commands/user/meta/index.md +++ b/commands/user/meta/index.md @@ -12,9 +12,9 @@ title: 'wp user meta' ### EXAMPLES - wp user meta set 123 description "Mary is a WordPress developer." + wp user meta set 123 description "Mary is a WordPress developer." - wp user meta update admin first_name "George" + wp user meta update admin first_name "George" ### SUBCOMMANDS diff --git a/commands/widget/add/index.md b/commands/widget/add/index.md index 64078c4d..a6feb9b2 100644 --- a/commands/widget/add/index.md +++ b/commands/widget/add/index.md @@ -19,5 +19,5 @@ title: 'wp widget add' ### EXAMPLES - wp widget add calendar sidebar-1 2 --title="Calendar" + wp widget add calendar sidebar-1 2 --title="Calendar" diff --git a/commands/widget/index.md b/commands/widget/index.md index ce1df192..350ae6d0 100644 --- a/commands/widget/index.md +++ b/commands/widget/index.md @@ -14,7 +14,7 @@ title: 'wp widget' wp widget add calendar sidebar-1 2 # Update option(s) associated with a given widget - wp widget update calendar-1 --title="Calendar" + wp widget update calendar-1 --title="Calendar" # Delete one or more widgets entirely wp widget delete calendar-2 archive-1 diff --git a/commands/widget/update/index.md b/commands/widget/update/index.md index eab48058..0ff4e712 100644 --- a/commands/widget/update/index.md +++ b/commands/widget/update/index.md @@ -13,5 +13,5 @@ title: 'wp widget update' ### EXAMPLES - wp widget update calendar-1 --title="Calendar" + wp widget update calendar-1 --title="Calendar" From df14a73c7125c51fd7c4035fa352a6d317964e17 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 30 Jun 2014 18:07:21 -0700 Subject: [PATCH 333/839] Bump stylesheet version --- _includes/header.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/header.html b/_includes/header.html index 8afc6147..55631e79 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -4,7 +4,7 @@ - + From b21b8bbe7a46503bfb65c905ac7674b896bc1c6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=20Burc=C4=83?= Date: Tue, 1 Jul 2014 14:01:45 +0300 Subject: [PATCH 334/839] minor grammar fix --- _posts/2014-06-30-version-0.16.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2014-06-30-version-0.16.md b/_posts/2014-06-30-version-0.16.md index a5b4db1c..80e62236 100644 --- a/_posts/2014-06-30-version-0.16.md +++ b/_posts/2014-06-30-version-0.16.md @@ -46,7 +46,7 @@ Take a look at `wp help cron` for the full details. To help you confirm the sanctity of your WordPress install, `wp core verify-checksums` fetches checksums from WordPress.org and compares them to that of your local files. -For the layperson, a checksum is a calcuation of a file's contents using the MD5 algorithm. To generating a checksum is to produce a 32 digit hexadecimal number that represents the file's state. WP-CLI's `wp core verify-checksums` command downloads WordPress.org's reported checksums for each core file, and then compares those values to the checksum it calculates for each local file. If the values differ, then it's an indication the file's contents differ from what they should be. +For the layperson, a checksum is a calcuation of a file's contents using the MD5 algorithm. To generate a checksum is to produce a 32 digit hexadecimal number that represents the file's state. WP-CLI's `wp core verify-checksums` command downloads WordPress.org's reported checksums for each core file, and then compares those values to the checksum it calculates for each local file. If the values differ, then it's an indication the file's contents differ from what they should be. A successful check will look like this: From 2c37940c9988bda75e45ef05589f626cb07a2862 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sz=C3=A9pe=20Viktor?= Date: Thu, 3 Jul 2014 07:54:41 +0200 Subject: [PATCH 335/839] called sourcing --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index c5c38cb2..cab30e94 100644 --- a/index.md +++ b/index.md @@ -47,7 +47,7 @@ More resources:

    Tab completions

    -WP-CLI also comes with a tab completion script for Bash. Just download [wp-completion.bash](https://github.com/wp-cli/wp-cli/raw/master/utils/wp-completion.bash) and load it from `~/.bash_profile`: +WP-CLI also comes with a tab completion script for Bash. Just download [wp-completion.bash](https://github.com/wp-cli/wp-cli/raw/master/utils/wp-completion.bash) and source it from `~/.bash_profile`: ~~~ source /FULL/PATH/TO/wp-completion.bash From b86f9e43d025262069220a46b0ec5a527b636b7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sz=C3=A9pe=20Viktor?= Date: Thu, 3 Jul 2014 08:06:31 +0200 Subject: [PATCH 336/839] issues the github page has NO issue tracker --- _posts/2014-06-30-version-0.16.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2014-06-30-version-0.16.md b/_posts/2014-06-30-version-0.16.md index 80e62236..fdc0598b 100644 --- a/_posts/2014-06-30-version-0.16.md +++ b/_posts/2014-06-30-version-0.16.md @@ -46,7 +46,7 @@ Take a look at `wp help cron` for the full details. To help you confirm the sanctity of your WordPress install, `wp core verify-checksums` fetches checksums from WordPress.org and compares them to that of your local files. -For the layperson, a checksum is a calcuation of a file's contents using the MD5 algorithm. To generate a checksum is to produce a 32 digit hexadecimal number that represents the file's state. WP-CLI's `wp core verify-checksums` command downloads WordPress.org's reported checksums for each core file, and then compares those values to the checksum it calculates for each local file. If the values differ, then it's an indication the file's contents differ from what they should be. +For the layperson, a checksum is a calculation of a file's contents using the MD5 algorithm. To generate a checksum is to produce a 32 digit hexadecimal number that represents the file's state. WP-CLI's `wp core verify-checksums` command downloads WordPress.org's reported checksums for each core file, and then compares those values to the checksum it calculates for each local file. If the values differ, then it's an indication the file's contents differ from what they should be. A successful check will look like this: @@ -61,7 +61,7 @@ If any core files have been modified, you'll see something like this: ### A new look -[WP-CLI.org](http://wp-cli.org) received a much-appreciated fresh coat of paint. [Share the love on Twitter](https://twitter.com/intent/tweet?text=Love%20the%20fresh%20coat%20of%20paint%2C%20%40wpcli%21%20Check%20it%20out%3A%20http%3A%2F%2Fwp-cli.org) (or report any bugs in the issue tracker). +[WP-CLI.org](http://wp-cli.org) received a much-appreciated fresh coat of paint. [Share the love on Twitter](https://twitter.com/intent/tweet?text=Love%20the%20fresh%20coat%20of%20paint%2C%20%40wpcli%21%20Check%20it%20out%3A%20http%3A%2F%2Fwp-cli.org) (or report any bugs in the [issue tracker](https://github.com/wp-cli/wp-cli/issues/new)). ### Other changes From f2fa942ceeee0fbb9c9c911eb6fe763aa5bbb391 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Date: Thu, 3 Jul 2014 21:58:48 +0200 Subject: [PATCH 337/839] Remove latin-extended charset --- _includes/header.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/header.html b/_includes/header.html index 55631e79..96b9c55d 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -3,7 +3,7 @@ - + From 2ba5fcd0e53aeb314d4565bff71b72ef06011ea0 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Jul 2014 05:45:38 -0700 Subject: [PATCH 338/839] install.sh is no longer offered or supported --- installer.sh | 102 --------------------------------------------------- 1 file changed, 102 deletions(-) delete mode 100755 installer.sh diff --git a/installer.sh b/installer.sh deleted file mode 100755 index ff6ecc5a..00000000 --- a/installer.sh +++ /dev/null @@ -1,102 +0,0 @@ -#!/usr/bin/env bash - -find_php() { - read -r -d '' AMP_PATHS < /dev/null || { - echo "invalid PHP binary: $WP_CLI_PHP" 1>&2 - exit 1 - } -fi - -mkdir -p "$INSTALL_DIR" -cd "$INSTALL_DIR" - -# install Composer -if [ ! -x composer.phar ]; then - echo "Installing Composer in $INSTALL_DIR" - echo "-------------------" - curl -sS https://getcomposer.org/installer | $WP_CLI_PHP - if [ $? -gt 0 ]; then - exit 1 - fi -fi - -COMPOSER="$WP_CLI_PHP composer.phar" - -# set up global composer.json file -if [ ! -f composer.json ]; then - $COMPOSER init --stability dev --no-interaction - $COMPOSER config bin-dir bin - $COMPOSER config vendor-dir vendor - $COMPOSER config repositories.wp-cli composer http://wp-cli.org/package-index/ -fi - -command -v bin/wp > /dev/null || { - echo - echo "Installing WP-CLI in $INSTALL_DIR" - echo "-----------------" - $COMPOSER require --prefer-source wp-cli/wp-cli="$VERSION" - if [ $? -gt 0 ]; then - echo "WP-CLI was not successfully installed." - exit 1 - else - echo - echo "WP-CLI files have been successfully installed." - fi -} - -cat < Date: Thu, 11 Sep 2014 16:45:58 -0700 Subject: [PATCH 339/839] Rebuild docs for 0.17.0 --- _includes/param-list.html | 2 +- commands/cli/check-update/index.md | 24 +++++++++++++++ commands/cli/index.md | 4 +++ commands/comment/list/index.md | 25 ++++++++++++++- commands/core/check-update/index.md | 24 +++++++++++++++ commands/core/config/index.md | 2 +- commands/core/index.md | 8 +++++ commands/core/language/activate/index.md | 10 ++++++ commands/core/language/index.md | 37 +++++++++++++++++++++++ commands/core/language/install/index.md | 10 ++++++ commands/core/language/list/index.md | 28 +++++++++++++++++ commands/core/language/uninstall/index.md | 10 ++++++ commands/cron/event/list/index.md | 18 ++++++++++- commands/cron/schedule/list/index.md | 12 +++++++- commands/import/index.md | 2 +- commands/menu/item/list/index.md | 25 ++++++++++++++- commands/menu/list/index.md | 20 +++++++++++- commands/menu/location/list/index.md | 7 +++++ commands/option/update/index.md | 3 ++ commands/plugin/list/index.md | 19 +++++++++++- commands/post/create/index.md | 2 +- commands/post/list/index.md | 34 ++++++++++++++++++++- commands/role/list/index.md | 11 ++++++- commands/scaffold/index.md | 4 +++ commands/scaffold/package-tests/index.md | 32 ++++++++++++++++++++ commands/search-replace/index.md | 3 ++ commands/sidebar/list/index.md | 18 ++++++++++- commands/site/list/index.md | 21 +++++++++++++ commands/term/delete/index.md | 2 +- commands/term/list/index.md | 22 +++++++++++--- commands/theme/list/index.md | 19 +++++++++++- commands/user/import-csv/index.md | 3 +- commands/user/list/index.md | 27 ++++++++++++++++- commands/widget/list/index.md | 13 +++++++- 34 files changed, 479 insertions(+), 22 deletions(-) create mode 100644 commands/cli/check-update/index.md create mode 100644 commands/core/check-update/index.md create mode 100644 commands/core/language/activate/index.md create mode 100644 commands/core/language/index.md create mode 100644 commands/core/language/install/index.md create mode 100644 commands/core/language/list/index.md create mode 100644 commands/core/language/uninstall/index.md create mode 100644 commands/scaffold/package-tests/index.md diff --git a/_includes/param-list.html b/_includes/param-list.html index 5b766af7..39d68c25 100644 --- a/_includes/param-list.html +++ b/_includes/param-list.html @@ -13,7 +13,7 @@ - Pretend request came from given URL + Pretend request came from given URL. In multisite, this argument is how the target site is specified.
    Default value: null diff --git a/commands/cli/check-update/index.md b/commands/cli/check-update/index.md new file mode 100644 index 00000000..5f6d58ec --- /dev/null +++ b/commands/cli/check-update/index.md @@ -0,0 +1,24 @@ +--- +layout: default +title: 'wp cli check-update' +--- + +`wp cli check-update` - Check for update via Github API. Returns the available versions if there are updates, or empty if no update available. + +### OPTIONS + +[\--patch] +: Compare only the first two parts of the version number. + +[\--minor] +: Compare only the first part of the version number. + +[\--field=<field>] +: Prints the value of a single field for each update. + +[\--fields=<fields>] +: Limit the output to specific object fields. Defaults to version,update_type,package_url. + +[\--format=<format>] +: Accepted values: table, csv, json, count. Default: table + diff --git a/commands/cli/index.md b/commands/cli/index.md index 7d3d43f5..0245a207 100644 --- a/commands/cli/index.md +++ b/commands/cli/index.md @@ -17,6 +17,10 @@ title: 'wp cli' + + check-update + Check for update via Github API. Returns the available versions if there are updates, or empty if no update available. + cmd-dump Dump the list of installed commands, as JSON. diff --git a/commands/comment/list/index.md b/commands/comment/list/index.md index 8d029bd4..04fc49f5 100644 --- a/commands/comment/list/index.md +++ b/commands/comment/list/index.md @@ -14,11 +14,34 @@ title: 'wp comment list' : Prints the value of a single field for each comment. [\--fields=<fields>] -: Limit the output to specific object fields. Defaults to comment_ID,comment_post_ID,comment_date,comment_approved,comment_author,comment_author_email +: Limit the output to specific object fields. [\--format=<format>] : Accepted values: table, csv, json, count. Default: table +### AVAILABLE FIELDS + +These fields will be displayed by default for each comment: + +* comment_ID +* comment_post_ID +* comment_date +* comment_approved +* comment_author +* comment_author_email + +These fields are optionally available: + +* comment_author_url +* comment_author_IP +* comment_date_gmt +* comment_content +* comment_karma +* comment_agent +* comment_type +* comment_parent +* user_id + ### EXAMPLES wp comment list --field=ID diff --git a/commands/core/check-update/index.md b/commands/core/check-update/index.md new file mode 100644 index 00000000..f01de6a6 --- /dev/null +++ b/commands/core/check-update/index.md @@ -0,0 +1,24 @@ +--- +layout: default +title: 'wp core check-update' +--- + +`wp core check-update` - Check for update via Version Check API. Returns latest version if there's an update, or empty if no update available. + +### OPTIONS + +[\--minor] +: Compare only the first two parts of the version number. + +[\--major] +: Compare only the first part of the version number. + +[\--field=<field>] +: Prints the value of a single field for each update. + +[\--fields=<fields>] +: Limit the output to specific object fields. Defaults to version,update_type,package_url. + +[\--format=<format>] +: Accepted values: table, csv, json. Default: table + diff --git a/commands/core/config/index.md b/commands/core/config/index.md index a6271bbf..cfe4a75b 100644 --- a/commands/core/config/index.md +++ b/commands/core/config/index.md @@ -32,7 +32,7 @@ title: 'wp core config' : Set the WPLANG constant. Defaults to $wp_local_package variable. [\--extra-php] -: If set, the command reads additional PHP code from STDIN. +: If set, the command copies additional PHP code into wp-config.php from STDIN. [\--skip-salts] : If set, keys and salts won't be generated, but should instead be passed via `--extra-php`. diff --git a/commands/core/index.md b/commands/core/index.md index 84fd9aeb..d1dab540 100644 --- a/commands/core/index.md +++ b/commands/core/index.md @@ -17,6 +17,10 @@ title: 'wp core' + + check-update + Check for update via Version Check API. Returns latest version if there's an update, or empty if no update available. + config Generate a wp-config.php file. @@ -33,6 +37,10 @@ title: 'wp core' is-installed Determine if the WordPress tables are installed. + + language + + multisite-convert Transform a single-site install into a multi-site install. diff --git a/commands/core/language/activate/index.md b/commands/core/language/activate/index.md new file mode 100644 index 00000000..59a98351 --- /dev/null +++ b/commands/core/language/activate/index.md @@ -0,0 +1,10 @@ +--- +layout: default +title: 'wp core language activate' +--- + +`wp core language activate` - Activate a given language. + +<language> +: Language code to activate. + diff --git a/commands/core/language/index.md b/commands/core/language/index.md new file mode 100644 index 00000000..2ead41d9 --- /dev/null +++ b/commands/core/language/index.md @@ -0,0 +1,37 @@ +--- +layout: default +title: 'wp core language' +--- + +`wp core language` - + + + +### SUBCOMMANDS + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescription
    activateActivate a given language.
    installInstall a given language.
    listList all languages available.
    uninstallUninstall a given language.
    diff --git a/commands/core/language/install/index.md b/commands/core/language/install/index.md new file mode 100644 index 00000000..aded0175 --- /dev/null +++ b/commands/core/language/install/index.md @@ -0,0 +1,10 @@ +--- +layout: default +title: 'wp core language install' +--- + +`wp core language install` - Install a given language. + +<language> +: Language code to install. + diff --git a/commands/core/language/list/index.md b/commands/core/language/list/index.md new file mode 100644 index 00000000..7abc63c7 --- /dev/null +++ b/commands/core/language/list/index.md @@ -0,0 +1,28 @@ +--- +layout: default +title: 'wp core language list' +--- + +`wp core language list` - List all languages available. + +[\--fields=<fields>] +: Limit the output to specific fields. + +[\--format=<format>] +: Accepted values: table, csv, json. Default: table + +### AVAILABLE FIELDS + +These fields will be displayed by default for each translation: + +* language +* english_name +* native_name +* status +* updated + +These fields are optionally available: + +* version +* package + diff --git a/commands/core/language/uninstall/index.md b/commands/core/language/uninstall/index.md new file mode 100644 index 00000000..ae10263a --- /dev/null +++ b/commands/core/language/uninstall/index.md @@ -0,0 +1,10 @@ +--- +layout: default +title: 'wp core language uninstall' +--- + +`wp core language uninstall` - Uninstall a given language. + +<language> +: Language code to uninstall. + diff --git a/commands/cron/event/list/index.md b/commands/cron/event/list/index.md index 91e86b6d..a2ca3b01 100644 --- a/commands/cron/event/list/index.md +++ b/commands/cron/event/list/index.md @@ -8,11 +8,27 @@ title: 'wp cron event list' ### OPTIONS [\--fields=<fields>] -: Limit the output to specific object fields. Available fields: hook, next_run, next_run_gmt, next_run_relative, recurrence. +: Limit the output to specific object fields. [\--format=<format>] : Accepted values: table, json, csv, ids. Default: table. +### AVAILABLE FIELDS + +These fields will be displayed by default for each cron event: +* hook +* next_run_gmt +* next_run_relative +* recurrence + +These fields are optionally available: +* time +* sig +* args +* schedule +* interval +* next_run + ### EXAMPLES wp cron event list diff --git a/commands/cron/schedule/list/index.md b/commands/cron/schedule/list/index.md index 6951b7cf..aac5f11d 100644 --- a/commands/cron/schedule/list/index.md +++ b/commands/cron/schedule/list/index.md @@ -8,11 +8,21 @@ title: 'wp cron schedule list' ### OPTIONS [\--fields=<fields>] -: Limit the output to specific object fields. Available fields: name, display, interval. +: Limit the output to specific object fields. [\--format=<format>] : Accepted values: table, json, csv, ids. Default: table. +### AVAILABLE FIELDS + +These fields will be displayed by default for each cron schedule: + +* name +* display +* interval + +There are no additional fields. + ### EXAMPLES wp cron schedule list diff --git a/commands/import/index.md b/commands/import/index.md index 64f17dbe..8723a003 100644 --- a/commands/import/index.md +++ b/commands/import/index.md @@ -8,7 +8,7 @@ title: 'wp import' ### OPTIONS <file>... -: Path to one or more valid WXR files for importing. +: Path to one or more valid WXR files for importing. Directories are also accepted. \--authors=<authors> : How the author mapping should be handled. Options are 'create', 'mapping.csv', or 'skip'. The first will create any non-existent users from the WXR file. The second will read author mapping associations from a CSV, or create a CSV for editing if the file path doesn't exist. The CSV requires two columns, and a header row like "old_user_login,new_user_login". The last option will skip any author mapping. diff --git a/commands/menu/item/list/index.md b/commands/menu/item/list/index.md index f7c207ad..7f50e5d4 100644 --- a/commands/menu/item/list/index.md +++ b/commands/menu/item/list/index.md @@ -11,11 +11,34 @@ title: 'wp menu item list' : The name, slug, or term ID for the menu [\--fields=<fields>] -: Limit the output to specific object fields. Defaults to db_id,type,title,link +: Limit the output to specific object fields. [\--format=<format>] : Accepted values: table, csv, json, count, ids. Default: table +### AVAILABLE FIELDS + +These fields will be displayed by default for each menu item: + +* db_id +* type +* title +* link +* position + +These fields are optionally available: + +* menu_item_parent +* object_id +* object +* type +* type_label +* target +* attr_title +* description +* classes +* xfn + ### EXAMPLES wp menu item list <menu> diff --git a/commands/menu/list/index.md b/commands/menu/list/index.md index f53da12e..606683d3 100644 --- a/commands/menu/list/index.md +++ b/commands/menu/list/index.md @@ -8,11 +8,29 @@ title: 'wp menu list' ### OPTIONS [\--fields=<fields>] -: Limit the output to specific object fields. Defaults to term_id,name,slug,count +: Limit the output to specific object fields. [\--format=<format>] : Accepted values: table, csv, json, count, ids. Default: table +### AVAILABLE FIELDS + +These fields will be displayed by default for each menu: + +* term_id +* name +* slug +* count + +These fields are optionally available: + +* term_group +* term_taxonomy_id +* taxonomy +* description +* parent +* locations + ### EXAMPLES wp menu list diff --git a/commands/menu/location/list/index.md b/commands/menu/location/list/index.md index af62ed2e..e3169cab 100644 --- a/commands/menu/location/list/index.md +++ b/commands/menu/location/list/index.md @@ -8,6 +8,13 @@ title: 'wp menu location list' [\--format=<format>] : Accepted values: table, csv, json, count, ids. Default: table +### AVAILABLE FIELDS + +These fields will be displayed by default for each location: + +* name +* description + ### EXAMPLES wp menu location list diff --git a/commands/option/update/index.md b/commands/option/update/index.md index 82cc985b..052176d0 100644 --- a/commands/option/update/index.md +++ b/commands/option/update/index.md @@ -21,3 +21,6 @@ title: 'wp option update' # Update an option by reading from a file wp option update my_option < value.txt + # Update one option on multiple sites using xargs + wp site list --field=url | xargs -n1 -I {} sh -c 'wp --url={} option update <key> <value>' + diff --git a/commands/plugin/list/index.md b/commands/plugin/list/index.md index 9e0cc445..071219a2 100644 --- a/commands/plugin/list/index.md +++ b/commands/plugin/list/index.md @@ -14,11 +14,28 @@ title: 'wp plugin list' : Prints the value of a single field for each plugin. [\--fields=<fields>] -: Limit the output to specific object fields. Defaults to name,status,update,version. +: Limit the output to specific object fields. [\--format=<format>] : Accepted values: table, csv, json, count. Default: table +### AVAILABLE FIELDS + +These fields will be displayed by default for each plugin: + +* name +* status +* update +* version + +These fields are optionally available: + +* update_version +* update_package +* update_id +* title +* description + ### EXAMPLES wp plugin list --status=active --format=json diff --git a/commands/post/create/index.md b/commands/post/create/index.md index 0c423337..3b85932b 100644 --- a/commands/post/create/index.md +++ b/commands/post/create/index.md @@ -28,7 +28,7 @@ title: 'wp post create' ### EXAMPLES - wp post create --post_type=page --post_status=publish --post_title='A future post' --post-status=future --post_date='2020-12-01 07:00:00' + wp post create --post_type=page --post_title='A future post' --post_status=future --post_date='2020-12-01 07:00:00' wp post create ./post-content.txt --post_category=201,345 --post_title='Post from file' diff --git a/commands/post/list/index.md b/commands/post/list/index.md index 838bb10e..16983110 100644 --- a/commands/post/list/index.md +++ b/commands/post/list/index.md @@ -14,11 +14,43 @@ title: 'wp post list' : Prints the value of a single field for each post. [\--fields=<fields>] -: Limit the output to specific object fields. Defaults to ID,post_title,post_name,post_date,post_status. +: Limit the output to specific object fields. [\--format=<format>] : Accepted values: table, csv, json, count, ids. Default: table +### AVAILABLE FIELDS + +These fields will be displayed by default for each post: + +* ID +* post_title +* post_name +* post_date +* post_status + +These fields are optionally available: + +* post_author +* post_date_gmt +* post_content +* post_excerpt +* comment_status +* ping_status +* post_password +* to_ping +* pinged +* post_modified +* post_modified_gmt +* post_content_filtered +* post_parent +* guid +* menu_order +* post_type +* post_mime_type +* comment_count +* filter + ### EXAMPLES wp post list --field=ID diff --git a/commands/role/list/index.md b/commands/role/list/index.md index aeb1a51e..7b30f15e 100644 --- a/commands/role/list/index.md +++ b/commands/role/list/index.md @@ -8,11 +8,20 @@ title: 'wp role list' ### OPTIONS [\--fields=<fields>] -: Limit the output to specific object fields. Defaults to name,role. +: Limit the output to specific object fields. [\--format=<format>] : Accepted values: table, csv, json, count. Default: table +### AVAILABLE FIELDS + +These fields will be displayed by default for each role: + +* name +* role + +There are no optional fields. + ### EXAMPLES wp role list --fields=role --format=csv diff --git a/commands/scaffold/index.md b/commands/scaffold/index.md index ca133658..67c0e150 100644 --- a/commands/scaffold/index.md +++ b/commands/scaffold/index.md @@ -25,6 +25,10 @@ title: 'wp scaffold' child-theme Generate empty child theme. + + package-tests + Generate files needed for writing Behat tests for your command. + plugin Generate starter code for a plugin. diff --git a/commands/scaffold/package-tests/index.md b/commands/scaffold/package-tests/index.md new file mode 100644 index 00000000..9fbfa3a1 --- /dev/null +++ b/commands/scaffold/package-tests/index.md @@ -0,0 +1,32 @@ +--- +layout: default +title: 'wp scaffold package-tests' +--- + +`wp scaffold package-tests` - Generate files needed for writing Behat tests for your command. + +### DESCRIPTION + +These are the files that are generated: + +* `.travis.yml` is the configuration file for Travis CI +* `bin/install-package-tests.sh` will configure environment to run tests. Script expects WP_CLI_BIN_DIR and WP_CLI_CONFIG_PATH environment variables. +* `features/load-wp-cli.feature` is a basic test to confirm WP-CLI can load. +* `features/bootstrap`, `features/steps`, `features/extra` are Behat configuration files. +* `utils/generate-package-require-from-composer.php` generates a test config.yml file from your package's composer.json + +### ENVIRONMENT + +The `features/bootstrap/FeatureContext.php` file expects the WP_CLI_BIN_DIR and WP_CLI_CONFIG_PATH environment variables. + +WP-CLI Behat framework uses Behat ~2.5. + +### OPTIONS + +<dir> +: The package directory to generate tests for. + +### EXAMPLE + + wp scaffold package-tests /path/to/command/dir/ + diff --git a/commands/search-replace/index.md b/commands/search-replace/index.md index a24c5394..9c20db2c 100644 --- a/commands/search-replace/index.md +++ b/commands/search-replace/index.md @@ -32,6 +32,9 @@ It will correctly handle serialized values, and will not change primary key valu [\--dry-run] : Show report, but don't perform the changes. +[\--precise] +: Force the use of PHP (instead of SQL) which is more thorough, but slower. Use if you see issues with serialized data. + [\--recurse-objects] : Enable recursing into objects to replace strings diff --git a/commands/sidebar/list/index.md b/commands/sidebar/list/index.md index 5f174da3..f1291dad 100644 --- a/commands/sidebar/list/index.md +++ b/commands/sidebar/list/index.md @@ -8,11 +8,27 @@ title: 'wp sidebar list' ### OPTIONS [\--fields=<fields>] -: Limit the output to specific object fields. Defaults to name, id, description +: Limit the output to specific object fields. [\--format=<format>] : Accepted values: table, csv, json, count. Default: table +### AVAILABLE FIELDS + +These fields will be displayed by default for each sidebar: + +* name +* id +* description + +These fields are optionally available: + +* class +* before_widget +* after_widget +* before_title +* after_title + ### EXAMPLES wp sidebar list --fields=name,id --format=csv diff --git a/commands/site/list/index.md b/commands/site/list/index.md index 3622373a..18d1e0f1 100644 --- a/commands/site/list/index.md +++ b/commands/site/list/index.md @@ -19,6 +19,27 @@ title: 'wp site list' [\--format=<format>] : Accepted values: table, csv, json, count. Default: table +### AVAILABLE FIELDS + +These fields will be displayed by default for each site: + +* blog_id +* url +* last_updated +* registered + +These fields are optionally available: + +* site_id +* domain +* path +* public +* archived +* mature +* spam +* deleted +* lang_id + ### EXAMPLES # Output a simple list of site URLs diff --git a/commands/term/delete/index.md b/commands/term/delete/index.md index 83d2caa9..4d3938cb 100644 --- a/commands/term/delete/index.md +++ b/commands/term/delete/index.md @@ -16,5 +16,5 @@ title: 'wp term delete' ### EXAMPLES # delete all post tags - wp term list post_tag --field=ID | xargs wp term delete post_tag + wp term list post_tag --field=term_id | xargs wp term delete post_tag diff --git a/commands/term/list/index.md b/commands/term/list/index.md index 727a4481..c7d9d812 100644 --- a/commands/term/list/index.md +++ b/commands/term/list/index.md @@ -7,21 +7,35 @@ title: 'wp term list' ### OPTIONS -<taxonomy> -: List terms of a given taxonomy. +<taxonomy>... +: List terms of one or more taxonomies [\--<field>=<value>] -: Filter by one or more fields. For accepted fields, see get_terms(). +: Filter by one or more fields. [\--field=<field>] : Prints the value of a single field for each term. [\--fields=<fields>] -: Limit the output to specific object fields. Defaults to all of the term object fields. +: Limit the output to specific object fields. [\--format=<format>] : Accepted values: table, csv, json, count. Default: table +### AVAILABLE FIELDS + +These fields will be displayed by default for each term: + +* term_id +* term_taxonomy_id +* name +* slug +* description +* parent +* count + +There are no optionally available fields. + ### EXAMPLES wp term list category --format=csv diff --git a/commands/theme/list/index.md b/commands/theme/list/index.md index 0a03227f..28eaa5b5 100644 --- a/commands/theme/list/index.md +++ b/commands/theme/list/index.md @@ -14,11 +14,28 @@ title: 'wp theme list' : Prints the value of a single field for each theme. [\--fields=<fields>] -: Limit the output to specific object fields. Defaults to name,status,update,version. +: Limit the output to specific object fields. [\--format=<format>] : Accepted values: table, json. Default: table +### AVAILABLE FIELDS + +These fields will be displayed by default for each theme: + +* name +* status +* update +* version + +These fields are optionally available: + +* update_version +* update_package +* update_id +* title +* description + ### EXAMPLES wp theme list --status=inactive --format=csv diff --git a/commands/user/import-csv/index.md b/commands/user/import-csv/index.md index 6f549a78..0f10ef57 100644 --- a/commands/user/import-csv/index.md +++ b/commands/user/import-csv/index.md @@ -8,7 +8,7 @@ title: 'wp user import-csv' ### OPTIONS <file> -: The CSV file of users to import. +: The local or remote CSV file of users to import. [\--send-email] : Send an email to new users with their account details. @@ -19,6 +19,7 @@ title: 'wp user import-csv' ### EXAMPLES wp user import-csv /path/to/users.csv + wp user import-csv http://example.com/users.csv Sample users.csv file: diff --git a/commands/user/list/index.md b/commands/user/list/index.md index 3de719dc..0b877c2f 100644 --- a/commands/user/list/index.md +++ b/commands/user/list/index.md @@ -17,11 +17,36 @@ title: 'wp user list' : Prints the value of a single field for each user. [\--fields=<fields>] -: Limit the output to specific object fields. Defaults to ID,user_login,display_name,user_email,user_registered,roles +: Limit the output to specific object fields. [\--format=<format>] : Accepted values: table, csv, json, count. Default: table +### AVAILABLE FIELDS + +These fields will be displayed by default for each user: + +* ID +* user_login +* display_name +* user_email +* user_registered +* roles + +These fields are optionally available: + +* user_pass +* user_nicename +* user_url +* user_activation_key +* user_status +* spam +* deleted +* caps +* cap_key +* allcaps +* filter + ### EXAMPLES wp user list --field=ID diff --git a/commands/widget/list/index.md b/commands/widget/list/index.md index ed8513fe..cde0cb58 100644 --- a/commands/widget/list/index.md +++ b/commands/widget/list/index.md @@ -9,11 +9,22 @@ title: 'wp widget list' : ID for the corresponding sidebar. [\--fields=<fields>] -: Limit the output to specific object fields. Defaults to name, id, description +: Limit the output to specific object fields. [\--format=<format>] : Accepted values: table, csv, json, count, ids. Default: table +### AVAILABLE FIELDS + +These fields will be displayed by default for each widget: + +* name +* id +* position +* options + +There are no optionally available fields. + ### EXAMPLES wp sidebar widget list <sidebar-id> --fields=name --format=csv From f256103afca9a0125070fe368c3adbbd0d96c54e Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 11 Sep 2014 17:46:42 -0700 Subject: [PATCH 340/839] First draft of 0.17.0 release post --- _posts/2014-09-11-version-0.17.md | 85 +++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 _posts/2014-09-11-version-0.17.md diff --git a/_posts/2014-09-11-version-0.17.md b/_posts/2014-09-11-version-0.17.md new file mode 100644 index 00000000..a8af0baa --- /dev/null +++ b/_posts/2014-09-11-version-0.17.md @@ -0,0 +1,85 @@ +--- +layout: post +author: danielbachhuber +title: Version 0.17 released +--- + +### Speed!!! + +Use `wp search-replace` while migrating large databases? You should submit a pull request to WP-CLI with your newly-found free time :) + +Historically, this command performed the search and replace operation in PHP, as to not break arrays and objects serialized in the database. + +Now, this command performs a check to see if there is any serialized data in the column it's about to transform. If there isn't, the command will perform a SQL search and replace. If there is serialized data, the command falls back to PHP search and replace. + +One happy developer reported this new approach took 20 minutes on a large test database, compared to 8-12 hours previously — a 3,000% performance increase. + +### Checking updates + +Version 0.17.0 introduces two commands for checking for updates. + +WP-CLI: + + $ wp cli version + WP-CLI 0.16.0 + $ wp cli check-update + +---------+-------------+-------------------------------------------------------------------------------+ + | version | update_type | package_url | + +---------+-------------+-------------------------------------------------------------------------------+ + | 0.17.0 | minor | https://github.com/wp-cli/wp-cli/releases/download/v0.17.0/wp-cli.phar | + +---------+-------------+-------------------------------------------------------------------------------+ + +WordPress core: + + $ wp core version + 3.9.1 + $ wp core check-update + +---------+-------------+-------------------------------------------+ + | version | update_type | package_url | + +---------+-------------+-------------------------------------------+ + | 4.0 | major | https://wordpress.org/wordpress-4.0.zip | + | 3.9.2 | minor | https://wordpress.org/wordpress-3.9.2.zip | + +---------+-------------+-------------------------------------------+ + +### php-cli-tools v0.10.0/1 + +In the recent past, we took over maintainership of [php-cli-tools](https://github.com/wp-cli/php-cli-tools). WP-CLI makes use of many of its features, so we were honored to be considered when [jlogsdon](https://github.com/jlogsdon) was looking for a new home for the project. + +During the course of this release cycle, we released two new versions of php-cli-tools, v0.10.0 and v0.10.1. Together, the changeset includes: + +* `cli\prompt()` includes an option to hide input (useful for passwords, etc.). +* `cli\Table` auto-wraps contents of a cell based on TTY width. +* `SHELL_PIPE` environment variable can be defined for determining whether TTY is piped. +* Fix: Add fallback for `mb_strlen()` when PHP mbstring extension isn't enabled (bug introduced in v0.9.5) +* Fix: `cli\Colors::length()` now returns correct lengths for for colorized strings + +Going forward, php-cli-tools' release cycle will be tied to WP-CLI's — and WP-CLI will run php-cli-tools `dev-master` to help test out new features. + +### Other changes + +Additions: + +* Compatibility with WordPress 4.0. +* `wp core update`: Caches package locally, for improved performance when updating multiple sites on the same server. +* `wp import`: Import a directory of WXR files. +* `wp scaffold package-tests`: Use WP-CLI's Behat framework to add functional tests to your own command. [See wiki for implementation details](https://github.com/wp-cli/wp-cli/wiki/Package-Functional-Tests). +* `wp search-replace`: Supports `--quiet` flag for verbosity. +* `wp term list`: List terms for multiple taxonomies +* `WP_CLI::launch_self()`: Optionally return the execution output (e.g. `STDOUT` or `STDERR`). Introduces a new `\WP_CLI\Process` class for executing system commands. +* Uploads directory will be created when installing core, if it doesn't exist. +* If a parameter missing, the description for the parameter will be shown in the error message. +* Greatly increased PHPdoc coverage for WP-CLI internals. + +Fixes: + +* Persists db collation when using `wp db reset`. +* Running `wp search-replace` will no longer clobber other WP installs in the same database. +* Prevents loading a required file twice if both global config and project config files require it. +* When creating a user, the generated password will display again. +* Fix fatal error in `wp scaffold _s`. +* The `--post__in` argument works again for `wp export`. +* Thanks to improvements in php-cli-tools, long strings in tables will be wrapped, instead of breaking output. See in action with `wp theme get twentyfourteen`. + +You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.17.0+is%3Aclosed) on Github. + +Contributors to this release: [danielbachhuber](https://github.com/danielbachhuber), [dlh01](https://github.com/dlh01), [jeichorn](https://github.com/jeichorn), [johnbillion](https://github.com/johnbillion), [lkwdwrd](https://github.com/lkwdwrd), [mattheu](https://github.com/mattheu), [nschoenholtz](https://github.com/nschoenholtz), [phh](https://github.com/phh), [rodrigoprimo](https://github.com/rodrigoprimo), [santagada](https://github.com/santagada), [scribu](https://github.com/scribu), [szepeviktor](https://github.com/szepeviktor), [tddewey](https://github.com/tddewey), [trepmal](https://github.com/trepmal), [willmot](https://github.com/willmot). From cc8202c7b350bb53287706db12c6548161b8e715 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 11 Sep 2014 17:53:02 -0700 Subject: [PATCH 341/839] Intro --- _posts/2014-09-11-version-0.17.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_posts/2014-09-11-version-0.17.md b/_posts/2014-09-11-version-0.17.md index a8af0baa..56fd106a 100644 --- a/_posts/2014-09-11-version-0.17.md +++ b/_posts/2014-09-11-version-0.17.md @@ -4,6 +4,8 @@ author: danielbachhuber title: Version 0.17 released --- +For the fourth WP-CLI release of 2014, we have a number of enhancements that will make you go "oooh" and "ahhh". + ### Speed!!! Use `wp search-replace` while migrating large databases? You should submit a pull request to WP-CLI with your newly-found free time :) From 045864b5658cf899d885447d4fa0aca4f9a35ccb Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 11 Sep 2014 17:59:45 -0700 Subject: [PATCH 342/839] Mention languages --- _posts/2014-09-11-version-0.17.md | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/_posts/2014-09-11-version-0.17.md b/_posts/2014-09-11-version-0.17.md index 56fd106a..62ea3b72 100644 --- a/_posts/2014-09-11-version-0.17.md +++ b/_posts/2014-09-11-version-0.17.md @@ -16,11 +16,30 @@ Now, this command performs a check to see if there is any serialized data in the One happy developer reported this new approach took 20 minutes on a large test database, compared to 8-12 hours previously — a 3,000% performance increase. +### Manage languages + +WordPress 4.0 lets a user pick a language on installation, or later through General Settings. WP-CLI now lets you see available languages, and install / activate one of your choosing. + + $ wp core language list + +----------+-----------------------+---------------------+-------------+---------------------+ + | language | english_name | native_name | status | updated | + +----------+-----------------------+---------------------+-------------+---------------------+ + | az | Azerbaijani | Azərbaycan dili | installed | 2014-09-06 09:50:59 | + | bs_BA | Bosnian | Bosanski | uninstalled | 2014-09-04 15:47:16 | + | ca | Catalan | Català | uninstalled | 2014-09-07 17:14:09 | + | cy | Welsh | Cymraeg | uninstalled | 2014-09-04 16:43:49 | + | da_DK | Danish | Dansk | uninstalled | 2014-09-04 20:59:54 | + | de_DE | German | Deutsch | uninstalled | 2014-09-05 15:23:15 | + | en_AU | English (Australia) | English (Australia) | uninstalled | 2014-09-06 00:56:37 | + | en_GB | English (UK) | English (UK) | installed | 2014-09-04 08:52:52 | + | en_CA | English (Canada) | English (Canada) | uninstalled | 2014-09-05 00:31:07 | + | en_PR | English (Pirate) | English (Pirate) | active | 2014-09-05 00:31:07 | + ### Checking updates -Version 0.17.0 introduces two commands for checking for updates. +v0.17.0 introduces two commands for checking for updates. -WP-CLI: +For WP-CLI: $ wp cli version WP-CLI 0.16.0 @@ -31,7 +50,7 @@ WP-CLI: | 0.17.0 | minor | https://github.com/wp-cli/wp-cli/releases/download/v0.17.0/wp-cli.phar | +---------+-------------+-------------------------------------------------------------------------------+ -WordPress core: +Or for WordPress core: $ wp core version 3.9.1 From 48b9764cb5ba7240067116868ca34e1e55db1d0c Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 11 Sep 2014 18:02:27 -0700 Subject: [PATCH 343/839] Fix typo. Props @tollmanz --- _posts/2014-09-11-version-0.17.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2014-09-11-version-0.17.md b/_posts/2014-09-11-version-0.17.md index 62ea3b72..a834b186 100644 --- a/_posts/2014-09-11-version-0.17.md +++ b/_posts/2014-09-11-version-0.17.md @@ -72,7 +72,7 @@ During the course of this release cycle, we released two new versions of php-cli * `cli\Table` auto-wraps contents of a cell based on TTY width. * `SHELL_PIPE` environment variable can be defined for determining whether TTY is piped. * Fix: Add fallback for `mb_strlen()` when PHP mbstring extension isn't enabled (bug introduced in v0.9.5) -* Fix: `cli\Colors::length()` now returns correct lengths for for colorized strings +* Fix: `cli\Colors::length()` now returns correct lengths for colorized strings Going forward, php-cli-tools' release cycle will be tied to WP-CLI's — and WP-CLI will run php-cli-tools `dev-master` to help test out new features. From 3605f6dd96e7f4b69c2b69f480f1452a31b16751 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 11 Sep 2014 18:02:37 -0700 Subject: [PATCH 344/839] Few more things that have been changed --- _posts/2014-09-11-version-0.17.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/_posts/2014-09-11-version-0.17.md b/_posts/2014-09-11-version-0.17.md index a834b186..da8aaef7 100644 --- a/_posts/2014-09-11-version-0.17.md +++ b/_posts/2014-09-11-version-0.17.md @@ -99,6 +99,9 @@ Fixes: * When creating a user, the generated password will display again. * Fix fatal error in `wp scaffold _s`. * The `--post__in` argument works again for `wp export`. +* Themes and plugins can be listed with their `update_version`. +* When running or deleting cron events, all matching events will be affected (instead of just the first). +* GUIDs are escaped as URLs for `wp export`. * Thanks to improvements in php-cli-tools, long strings in tables will be wrapped, instead of breaking output. See in action with `wp theme get twentyfourteen`. You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.17.0+is%3Aclosed) on Github. From 3759bcc0bde47a4683f2e06d572efc0e56826b09 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 11 Sep 2014 18:04:18 -0700 Subject: [PATCH 345/839] More update tweaks --- _posts/2014-09-11-version-0.17.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/_posts/2014-09-11-version-0.17.md b/_posts/2014-09-11-version-0.17.md index da8aaef7..174ee5b3 100644 --- a/_posts/2014-09-11-version-0.17.md +++ b/_posts/2014-09-11-version-0.17.md @@ -80,12 +80,13 @@ Going forward, php-cli-tools' release cycle will be tied to WP-CLI's — and WP- Additions: -* Compatibility with WordPress 4.0. +* Full compatibility with WordPress 4.0. * `wp core update`: Caches package locally, for improved performance when updating multiple sites on the same server. * `wp import`: Import a directory of WXR files. * `wp scaffold package-tests`: Use WP-CLI's Behat framework to add functional tests to your own command. [See wiki for implementation details](https://github.com/wp-cli/wp-cli/wiki/Package-Functional-Tests). * `wp search-replace`: Supports `--quiet` flag for verbosity. -* `wp term list`: List terms for multiple taxonomies +* `wp term list`: List terms for multiple taxonomies. +* `wp user import-csv`: Create users from a remote CSV (e.g. stored in Dropbox or Google Drive). * `WP_CLI::launch_self()`: Optionally return the execution output (e.g. `STDOUT` or `STDERR`). Introduces a new `\WP_CLI\Process` class for executing system commands. * Uploads directory will be created when installing core, if it doesn't exist. * If a parameter missing, the description for the parameter will be shown in the error message. From 2aad85fa6d3ff96ba9bafaabf770e9cfbd073456 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 11 Sep 2014 18:07:26 -0700 Subject: [PATCH 346/839] Zack gets props too --- _posts/2014-09-11-version-0.17.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2014-09-11-version-0.17.md b/_posts/2014-09-11-version-0.17.md index 174ee5b3..c94e3214 100644 --- a/_posts/2014-09-11-version-0.17.md +++ b/_posts/2014-09-11-version-0.17.md @@ -107,4 +107,4 @@ Fixes: You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.17.0+is%3Aclosed) on Github. -Contributors to this release: [danielbachhuber](https://github.com/danielbachhuber), [dlh01](https://github.com/dlh01), [jeichorn](https://github.com/jeichorn), [johnbillion](https://github.com/johnbillion), [lkwdwrd](https://github.com/lkwdwrd), [mattheu](https://github.com/mattheu), [nschoenholtz](https://github.com/nschoenholtz), [phh](https://github.com/phh), [rodrigoprimo](https://github.com/rodrigoprimo), [santagada](https://github.com/santagada), [scribu](https://github.com/scribu), [szepeviktor](https://github.com/szepeviktor), [tddewey](https://github.com/tddewey), [trepmal](https://github.com/trepmal), [willmot](https://github.com/willmot). +Contributors to this release: [danielbachhuber](https://github.com/danielbachhuber), [dlh01](https://github.com/dlh01), [jeichorn](https://github.com/jeichorn), [johnbillion](https://github.com/johnbillion), [lkwdwrd](https://github.com/lkwdwrd), [mattheu](https://github.com/mattheu), [nschoenholtz](https://github.com/nschoenholtz), [phh](https://github.com/phh), [rodrigoprimo](https://github.com/rodrigoprimo), [santagada](https://github.com/santagada), [scribu](https://github.com/scribu), [szepeviktor](https://github.com/szepeviktor), [tddewey](https://github.com/tddewey), [tollmanz](https://github.com/tollmanz), [trepmal](https://github.com/trepmal), [willmot](https://github.com/willmot). From 6d3ac1f0d5b99691a82a68cc38023c1745cd6e21 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 10 Nov 2014 16:02:19 -0800 Subject: [PATCH 347/839] Remove /packages/ until the second coming --- _config.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/_config.yml b/_config.yml index 93c65aff..c67bafb8 100644 --- a/_config.yml +++ b/_config.yml @@ -17,8 +17,6 @@ navigation: url: /commands/ - text: Configuration url: /config/ -- text: Packages - url: /package-index/ - text: Blog url: /blog/ - layout: post \ No newline at end of file + layout: post From 074f239ed1ebfc78bbfedb094109ebd99403b292 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 18 Nov 2014 06:51:26 -0800 Subject: [PATCH 348/839] Blog post for v0.17.1 --- _posts/2014-11-18-version-0.17.1.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 _posts/2014-11-18-version-0.17.1.md diff --git a/_posts/2014-11-18-version-0.17.1.md b/_posts/2014-11-18-version-0.17.1.md new file mode 100644 index 00000000..9a66ef62 --- /dev/null +++ b/_posts/2014-11-18-version-0.17.1.md @@ -0,0 +1,22 @@ +-- +layout: post +author: danielbachhuber +title: Version 0.17.1 released +-- + +Consider yourself lucky there were less bugs in 0.17 than sugar ants in our kitchen. The changelog for 0.17.1: + +* Fixes use of `wp plugin uninstall --no-delete` by changing it to `wp plugin uninstall --skip-delete`. `--no-*` is a special class of argument which negates a flag, and the behavior for `--no-delete` had been broken for several releases. +* Fixes creating and editing posts in Vim or another system editor. +* Fixes use of `mkdir` on Windows. +* Fixes activating and deactivating plugins located in the same directory. +* Plugin and theme names with HTML-encoded characters are decoded for presentation. +* PHP magic methods like `__construct()` and `__destruct()` are ignored as subcommands. You can still use `__invoke()` to register one command to a class. +* Forces https for requests to WordPress.org. +* Fixes blank response for `wp comment list --format-ids`. +* Adds error handling to `Core_Command::_read()`, for when WordPress.org returns bad responses. +* php-cli-tools v0.10.2: Fixes supplying empty array to `cli\Table`, and incorrect lengths for colorized strings in `cli\Table` + +You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?milestone=27&page=1&state=closed) on Github. + +Contributors to this release: [borekb](https://github.com/borekb], [danielbachhuber](https://github.com/danielbachhuber), [szepeviktor](https://github.com/szepeviktor), [wturrell](https://github.com/wturrell) From 4afb05a20a2a3ab4b12121b47ccb021a3e0a201f Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 18 Nov 2014 06:52:10 -0800 Subject: [PATCH 349/839] Update docs --- commands/plugin/uninstall/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/commands/plugin/uninstall/index.md b/commands/plugin/uninstall/index.md index 4080a4a7..7c06388b 100644 --- a/commands/plugin/uninstall/index.md +++ b/commands/plugin/uninstall/index.md @@ -10,7 +10,7 @@ title: 'wp plugin uninstall' <plugin>... : One or more plugins to uninstall. -[\--no-delete] +[\--skip-delete] : If set, the plugin files will not be deleted. Only the uninstall procedure will be run. From ebf7376b3aa040f7794779b82cdf62ec651d0e60 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 18 Nov 2014 06:55:15 -0800 Subject: [PATCH 350/839] Fix table formatting --- _posts/2014-11-18-version-0.17.1.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2014-11-18-version-0.17.1.md b/_posts/2014-11-18-version-0.17.1.md index 9a66ef62..f82e2212 100644 --- a/_posts/2014-11-18-version-0.17.1.md +++ b/_posts/2014-11-18-version-0.17.1.md @@ -1,8 +1,8 @@ --- +--- layout: post author: danielbachhuber title: Version 0.17.1 released --- +--- Consider yourself lucky there were less bugs in 0.17 than sugar ants in our kitchen. The changelog for 0.17.1: From 76e2709bdb4b324773a20d3bb39e959cdc07e75c Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 18 Nov 2014 06:55:56 -0800 Subject: [PATCH 351/839] Fix broken link --- _posts/2014-11-18-version-0.17.1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2014-11-18-version-0.17.1.md b/_posts/2014-11-18-version-0.17.1.md index f82e2212..a4d0da4a 100644 --- a/_posts/2014-11-18-version-0.17.1.md +++ b/_posts/2014-11-18-version-0.17.1.md @@ -19,4 +19,4 @@ Consider yourself lucky there were less bugs in 0.17 than sugar ants in our kitc You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?milestone=27&page=1&state=closed) on Github. -Contributors to this release: [borekb](https://github.com/borekb], [danielbachhuber](https://github.com/danielbachhuber), [szepeviktor](https://github.com/szepeviktor), [wturrell](https://github.com/wturrell) +Contributors to this release: [borekb](https://github.com/borekb), [danielbachhuber](https://github.com/danielbachhuber), [szepeviktor](https://github.com/szepeviktor), [wturrell](https://github.com/wturrell) From a608e3996bb21484f168bcf0fd3ff402ec0ad7f0 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 14 Jan 2015 04:55:56 -0800 Subject: [PATCH 352/839] Update docs for v0.18.0 --- _includes/param-list.html | 13 ++++ commands/cache/add/index.md | 34 ++++++++++ commands/cache/decr/index.md | 34 ++++++++++ commands/cache/delete/index.md | 34 ++++++++++ commands/cache/flush/index.md | 34 ++++++++++ commands/cache/get/index.md | 34 ++++++++++ commands/cache/incr/index.md | 34 ++++++++++ commands/cache/index.md | 34 ++++++++++ commands/cache/replace/index.md | 34 ++++++++++ commands/cache/set/index.md | 34 ++++++++++ commands/cache/type/index.md | 34 ++++++++++ commands/cap/add/index.md | 34 ++++++++++ commands/cap/index.md | 34 ++++++++++ commands/cap/list/index.md | 34 ++++++++++ commands/cap/remove/index.md | 34 ++++++++++ commands/cli/check-update/index.md | 38 ++++++++++- commands/cli/cmd-dump/index.md | 34 ++++++++++ commands/cli/completions/index.md | 34 ++++++++++ commands/cli/index.md | 38 +++++++++++ commands/cli/info/index.md | 34 ++++++++++ commands/cli/param-dump/index.md | 34 ++++++++++ commands/cli/update/index.md | 52 +++++++++++++++ commands/cli/version/index.md | 34 ++++++++++ commands/comment/approve/index.md | 34 ++++++++++ commands/comment/count/index.md | 34 ++++++++++ commands/comment/create/index.md | 34 ++++++++++ commands/comment/delete/index.md | 34 ++++++++++ commands/comment/exists/index.md | 34 ++++++++++ commands/comment/get/index.md | 39 +++++++++++- commands/comment/index.md | 34 ++++++++++ commands/comment/list/index.md | 34 ++++++++++ commands/comment/meta/add/index.md | 34 ++++++++++ commands/comment/meta/delete/index.md | 34 ++++++++++ commands/comment/meta/get/index.md | 34 ++++++++++ commands/comment/meta/index.md | 34 ++++++++++ commands/comment/meta/list/index.md | 34 ++++++++++ commands/comment/meta/update/index.md | 34 ++++++++++ commands/comment/spam/index.md | 34 ++++++++++ commands/comment/status/index.md | 34 ++++++++++ commands/comment/trash/index.md | 34 ++++++++++ commands/comment/unapprove/index.md | 34 ++++++++++ commands/comment/unspam/index.md | 34 ++++++++++ commands/comment/untrash/index.md | 34 ++++++++++ commands/comment/update/index.md | 34 ++++++++++ commands/comment/url/index.md | 34 ++++++++++ commands/core/check-update/index.md | 34 ++++++++++ commands/core/config/index.md | 34 ++++++++++ commands/core/download/index.md | 34 ++++++++++ commands/core/index.md | 34 ++++++++++ commands/core/install/index.md | 34 ++++++++++ commands/core/is-installed/index.md | 34 ++++++++++ commands/core/language/activate/index.md | 34 ++++++++++ commands/core/language/index.md | 34 ++++++++++ commands/core/language/install/index.md | 37 +++++++++++ commands/core/language/list/index.md | 40 ++++++++++++ commands/core/language/uninstall/index.md | 34 ++++++++++ commands/core/multisite-convert/index.md | 36 ++++++++++- commands/core/multisite-install/index.md | 36 ++++++++++- commands/core/update-db/index.md | 34 ++++++++++ commands/core/update/index.md | 34 ++++++++++ commands/core/verify-checksums/index.md | 34 ++++++++++ commands/core/version/index.md | 34 ++++++++++ commands/cron/event/delete/index.md | 34 ++++++++++ commands/cron/event/index.md | 34 ++++++++++ commands/cron/event/list/index.md | 34 ++++++++++ commands/cron/event/run/index.md | 34 ++++++++++ commands/cron/event/schedule/index.md | 34 ++++++++++ commands/cron/index.md | 34 ++++++++++ commands/cron/schedule/index.md | 34 ++++++++++ commands/cron/schedule/list/index.md | 34 ++++++++++ commands/cron/test/index.md | 34 ++++++++++ commands/db/cli/index.md | 34 ++++++++++ commands/db/create/index.md | 34 ++++++++++ commands/db/drop/index.md | 34 ++++++++++ commands/db/export/index.md | 34 ++++++++++ commands/db/import/index.md | 34 ++++++++++ commands/db/index.md | 34 ++++++++++ commands/db/optimize/index.md | 34 ++++++++++ commands/db/query/index.md | 37 +++++++++++ commands/db/repair/index.md | 34 ++++++++++ commands/db/reset/index.md | 34 ++++++++++ commands/db/tables/index.md | 34 ++++++++++ commands/eval-file/index.md | 34 ++++++++++ commands/eval/index.md | 34 ++++++++++ commands/export/index.md | 34 ++++++++++ commands/help/index.md | 34 ++++++++++ commands/import/index.md | 34 ++++++++++ commands/media/import/index.md | 34 ++++++++++ commands/media/index.md | 34 ++++++++++ commands/media/regenerate/index.md | 34 ++++++++++ commands/menu/create/index.md | 34 ++++++++++ commands/menu/delete/index.md | 34 ++++++++++ commands/menu/index.md | 34 ++++++++++ commands/menu/item/add-custom/index.md | 34 ++++++++++ commands/menu/item/add-post/index.md | 34 ++++++++++ commands/menu/item/add-term/index.md | 34 ++++++++++ commands/menu/item/delete/index.md | 34 ++++++++++ commands/menu/item/index.md | 34 ++++++++++ commands/menu/item/list/index.md | 34 ++++++++++ commands/menu/item/update/index.md | 34 ++++++++++ commands/menu/list/index.md | 34 ++++++++++ commands/menu/location/assign/index.md | 34 ++++++++++ commands/menu/location/index.md | 34 ++++++++++ commands/menu/location/list/index.md | 34 ++++++++++ commands/menu/location/remove/index.md | 34 ++++++++++ commands/network/index.md | 34 ++++++++++ commands/network/meta/add/index.md | 34 ++++++++++ commands/network/meta/delete/index.md | 34 ++++++++++ commands/network/meta/get/index.md | 34 ++++++++++ commands/network/meta/index.md | 34 ++++++++++ commands/network/meta/list/index.md | 34 ++++++++++ commands/network/meta/update/index.md | 34 ++++++++++ commands/option/add/index.md | 34 ++++++++++ commands/option/delete/index.md | 34 ++++++++++ commands/option/get/index.md | 34 ++++++++++ commands/option/index.md | 34 ++++++++++ commands/option/update/index.md | 34 ++++++++++ commands/plugin/activate/index.md | 39 +++++++++++- commands/plugin/deactivate/index.md | 34 ++++++++++ commands/plugin/delete/index.md | 34 ++++++++++ commands/plugin/get/index.md | 39 +++++++++++- commands/plugin/index.md | 34 ++++++++++ commands/plugin/install/index.md | 34 ++++++++++ commands/plugin/is-installed/index.md | 34 ++++++++++ commands/plugin/list/index.md | 34 ++++++++++ commands/plugin/path/index.md | 34 ++++++++++ commands/plugin/search/index.md | 34 ++++++++++ commands/plugin/status/index.md | 34 ++++++++++ commands/plugin/toggle/index.md | 34 ++++++++++ commands/plugin/uninstall/index.md | 34 ++++++++++ commands/plugin/update/index.md | 37 ++++++++++- commands/post/create/index.md | 34 ++++++++++ commands/post/delete/index.md | 34 ++++++++++ commands/post/edit/index.md | 34 ++++++++++ commands/post/generate/index.md | 34 ++++++++++ commands/post/get/index.md | 39 +++++++++++- commands/post/index.md | 38 +++++++++++ commands/post/list/index.md | 34 ++++++++++ commands/post/meta/add/index.md | 34 ++++++++++ commands/post/meta/delete/index.md | 34 ++++++++++ commands/post/meta/get/index.md | 34 ++++++++++ commands/post/meta/index.md | 34 ++++++++++ commands/post/meta/list/index.md | 34 ++++++++++ commands/post/meta/update/index.md | 34 ++++++++++ commands/post/term/add/index.md | 50 +++++++++++++++ commands/post/term/index.md | 73 ++++++++++++++++++++++ commands/post/term/list/index.md | 70 +++++++++++++++++++++ commands/post/term/remove/index.md | 50 +++++++++++++++ commands/post/term/set/index.md | 50 +++++++++++++++ commands/post/update/index.md | 41 ++++++++++++ commands/post/url/index.md | 34 ++++++++++ commands/rewrite/flush/index.md | 34 ++++++++++ commands/rewrite/index.md | 34 ++++++++++ commands/rewrite/list/index.md | 34 ++++++++++ commands/rewrite/structure/index.md | 34 ++++++++++ commands/role/create/index.md | 34 ++++++++++ commands/role/delete/index.md | 34 ++++++++++ commands/role/exists/index.md | 34 ++++++++++ commands/role/index.md | 34 ++++++++++ commands/role/list/index.md | 34 ++++++++++ commands/role/reset/index.md | 34 ++++++++++ commands/scaffold/_s/index.md | 34 ++++++++++ commands/scaffold/child-theme/index.md | 34 ++++++++++ commands/scaffold/index.md | 34 ++++++++++ commands/scaffold/package-tests/index.md | 34 ++++++++++ commands/scaffold/plugin-tests/index.md | 34 ++++++++++ commands/scaffold/plugin/index.md | 34 ++++++++++ commands/scaffold/post-type/index.md | 34 ++++++++++ commands/scaffold/taxonomy/index.md | 34 ++++++++++ commands/search-replace/index.md | 37 +++++++++++ commands/shell/index.md | 34 ++++++++++ commands/sidebar/index.md | 34 ++++++++++ commands/sidebar/list/index.md | 34 ++++++++++ commands/site/create/index.md | 34 ++++++++++ commands/site/delete/index.md | 34 ++++++++++ commands/site/empty/index.md | 34 ++++++++++ commands/site/index.md | 34 ++++++++++ commands/site/list/index.md | 34 ++++++++++ commands/site/url/index.md | 34 ++++++++++ commands/super-admin/add/index.md | 34 ++++++++++ commands/super-admin/index.md | 34 ++++++++++ commands/super-admin/list/index.md | 34 ++++++++++ commands/super-admin/remove/index.md | 34 ++++++++++ commands/term/create/index.md | 34 ++++++++++ commands/term/delete/index.md | 34 ++++++++++ commands/term/generate/index.md | 34 ++++++++++ commands/term/get/index.md | 39 +++++++++++- commands/term/index.md | 34 ++++++++++ commands/term/list/index.md | 34 ++++++++++ commands/term/update/index.md | 34 ++++++++++ commands/term/url/index.md | 34 ++++++++++ commands/theme/activate/index.md | 34 ++++++++++ commands/theme/delete/index.md | 34 ++++++++++ commands/theme/disable/index.md | 34 ++++++++++ commands/theme/enable/index.md | 34 ++++++++++ commands/theme/get/index.md | 39 +++++++++++- commands/theme/index.md | 34 ++++++++++ commands/theme/install/index.md | 34 ++++++++++ commands/theme/is-installed/index.md | 34 ++++++++++ commands/theme/list/index.md | 34 ++++++++++ commands/theme/mod/get/index.md | 34 ++++++++++ commands/theme/mod/index.md | 34 ++++++++++ commands/theme/mod/remove/index.md | 34 ++++++++++ commands/theme/mod/set/index.md | 34 ++++++++++ commands/theme/path/index.md | 34 ++++++++++ commands/theme/search/index.md | 34 ++++++++++ commands/theme/status/index.md | 34 ++++++++++ commands/theme/update/index.md | 37 ++++++++++- commands/transient/delete-all/index.md | 34 ++++++++++ commands/transient/delete-expired/index.md | 34 ++++++++++ commands/transient/delete/index.md | 34 ++++++++++ commands/transient/get/index.md | 34 ++++++++++ commands/transient/index.md | 34 ++++++++++ commands/transient/set/index.md | 34 ++++++++++ commands/transient/type/index.md | 34 ++++++++++ commands/user/add-cap/index.md | 34 ++++++++++ commands/user/add-role/index.md | 34 ++++++++++ commands/user/create/index.md | 34 ++++++++++ commands/user/delete/index.md | 34 ++++++++++ commands/user/generate/index.md | 34 ++++++++++ commands/user/get/index.md | 36 ++++++++++- commands/user/import-csv/index.md | 34 ++++++++++ commands/user/index.md | 38 +++++++++++ commands/user/list-caps/index.md | 34 ++++++++++ commands/user/list/index.md | 37 +++++++++++ commands/user/meta/add/index.md | 34 ++++++++++ commands/user/meta/delete/index.md | 34 ++++++++++ commands/user/meta/get/index.md | 34 ++++++++++ commands/user/meta/index.md | 34 ++++++++++ commands/user/meta/list/index.md | 34 ++++++++++ commands/user/meta/update/index.md | 34 ++++++++++ commands/user/remove-cap/index.md | 34 ++++++++++ commands/user/remove-role/index.md | 34 ++++++++++ commands/user/set-role/index.md | 34 ++++++++++ commands/user/term/add/index.md | 50 +++++++++++++++ commands/user/term/index.md | 73 ++++++++++++++++++++++ commands/user/term/list/index.md | 70 +++++++++++++++++++++ commands/user/term/remove/index.md | 50 +++++++++++++++ commands/user/term/set/index.md | 50 +++++++++++++++ commands/user/update/index.md | 34 ++++++++++ commands/widget/add/index.md | 34 ++++++++++ commands/widget/deactivate/index.md | 34 ++++++++++ commands/widget/delete/index.md | 34 ++++++++++ commands/widget/index.md | 34 ++++++++++ commands/widget/list/index.md | 34 ++++++++++ commands/widget/move/index.md | 34 ++++++++++ commands/widget/update/index.md | 34 ++++++++++ 247 files changed, 8709 insertions(+), 15 deletions(-) create mode 100644 commands/cli/update/index.md create mode 100644 commands/post/term/add/index.md create mode 100644 commands/post/term/index.md create mode 100644 commands/post/term/list/index.md create mode 100644 commands/post/term/remove/index.md create mode 100644 commands/post/term/set/index.md create mode 100644 commands/user/term/add/index.md create mode 100644 commands/user/term/index.md create mode 100644 commands/user/term/list/index.md create mode 100644 commands/user/term/remove/index.md create mode 100644 commands/user/term/set/index.md diff --git a/_includes/param-list.html b/_includes/param-list.html index 39d68c25..17c4c1e1 100644 --- a/_includes/param-list.html +++ b/_includes/param-list.html @@ -50,6 +50,19 @@ --skip-plugins[=<plugin>] + + + Skip loading all or some themes +
    + Default value: "" + + + skip-themes: <list> + + + --skip-themes[=<theme>] + + Load PHP file before running the command (may be used more than once) diff --git a/commands/cache/add/index.md b/commands/cache/add/index.md index 338e9e1d..8721fcc8 100644 --- a/commands/cache/add/index.md +++ b/commands/cache/add/index.md @@ -7,3 +7,37 @@ title: 'wp cache add' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/cache/decr/index.md b/commands/cache/decr/index.md index 0086dde7..86f13b94 100644 --- a/commands/cache/decr/index.md +++ b/commands/cache/decr/index.md @@ -7,3 +7,37 @@ title: 'wp cache decr' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/cache/delete/index.md b/commands/cache/delete/index.md index 13524acd..8aad36c3 100644 --- a/commands/cache/delete/index.md +++ b/commands/cache/delete/index.md @@ -7,3 +7,37 @@ title: 'wp cache delete' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/cache/flush/index.md b/commands/cache/flush/index.md index e4351821..984841cc 100644 --- a/commands/cache/flush/index.md +++ b/commands/cache/flush/index.md @@ -7,3 +7,37 @@ title: 'wp cache flush' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/cache/get/index.md b/commands/cache/get/index.md index fd69d46c..79129cc8 100644 --- a/commands/cache/get/index.md +++ b/commands/cache/get/index.md @@ -7,3 +7,37 @@ title: 'wp cache get' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/cache/incr/index.md b/commands/cache/incr/index.md index 02bc098c..1e875cfc 100644 --- a/commands/cache/incr/index.md +++ b/commands/cache/incr/index.md @@ -7,3 +7,37 @@ title: 'wp cache incr' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/cache/index.md b/commands/cache/index.md index 2d116ab8..6fc8bb75 100644 --- a/commands/cache/index.md +++ b/commands/cache/index.md @@ -11,6 +11,40 @@ title: 'wp cache' wp cache get my_key my_group +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS diff --git a/commands/cache/replace/index.md b/commands/cache/replace/index.md index 6475f419..1d8d57b4 100644 --- a/commands/cache/replace/index.md +++ b/commands/cache/replace/index.md @@ -7,3 +7,37 @@ title: 'wp cache replace' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/cache/set/index.md b/commands/cache/set/index.md index 21561b26..2496b981 100644 --- a/commands/cache/set/index.md +++ b/commands/cache/set/index.md @@ -7,3 +7,37 @@ title: 'wp cache set' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/cache/type/index.md b/commands/cache/type/index.md index bcebd50e..ed21e101 100644 --- a/commands/cache/type/index.md +++ b/commands/cache/type/index.md @@ -9,3 +9,37 @@ Note that the guesses made by this function are based on the WP_Object_Cache cla that define the 3rd party object cache extension. Changes to those classes could render problems with this function's ability to determine which object cache is being used. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/cap/add/index.md b/commands/cap/add/index.md index 84e27652..95dd5cc3 100644 --- a/commands/cap/add/index.md +++ b/commands/cap/add/index.md @@ -7,3 +7,37 @@ title: 'wp cap add' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/cap/index.md b/commands/cap/index.md index f82baa57..d5d87887 100644 --- a/commands/cap/index.md +++ b/commands/cap/index.md @@ -16,6 +16,40 @@ title: 'wp cap' # Remove all caps from 'editor' role that also appear in 'author' role wp cap list 'author' | xargs wp cap remove 'editor' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS
    diff --git a/commands/cap/list/index.md b/commands/cap/list/index.md index 173a30b5..47eee99d 100644 --- a/commands/cap/list/index.md +++ b/commands/cap/list/index.md @@ -10,3 +10,37 @@ title: 'wp cap list' # Display alphabetical list of bbPress moderator capabilities wp cap list 'bbp_moderator' | sort +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/cap/remove/index.md b/commands/cap/remove/index.md index ec43de82..93b6b0fb 100644 --- a/commands/cap/remove/index.md +++ b/commands/cap/remove/index.md @@ -7,3 +7,37 @@ title: 'wp cap remove' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/cli/check-update/index.md b/commands/cli/check-update/index.md index 5f6d58ec..b7582c3b 100644 --- a/commands/cli/check-update/index.md +++ b/commands/cli/check-update/index.md @@ -8,10 +8,10 @@ title: 'wp cli check-update' ### OPTIONS [\--patch] -: Compare only the first two parts of the version number. +: Only list patch updates [\--minor] -: Compare only the first part of the version number. +: Only list minor updates [\--field=<field>] : Prints the value of a single field for each update. @@ -22,3 +22,37 @@ title: 'wp cli check-update' [\--format=<format>] : Accepted values: table, csv, json, count. Default: table +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/cli/cmd-dump/index.md b/commands/cli/cmd-dump/index.md index b9057949..d0b23003 100644 --- a/commands/cli/cmd-dump/index.md +++ b/commands/cli/cmd-dump/index.md @@ -7,3 +7,37 @@ title: 'wp cli cmd-dump' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/cli/completions/index.md b/commands/cli/completions/index.md index 16ec4852..0ec1dfd1 100644 --- a/commands/cli/completions/index.md +++ b/commands/cli/completions/index.md @@ -13,3 +13,37 @@ title: 'wp cli completions' \--point=<point> : The index to the current cursor position relative to the beginning of the command +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/cli/index.md b/commands/cli/index.md index 0245a207..1839f3e0 100644 --- a/commands/cli/index.md +++ b/commands/cli/index.md @@ -7,6 +7,40 @@ title: 'wp cli' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS
    @@ -37,6 +71,10 @@ title: 'wp cli' + + + + diff --git a/commands/cli/info/index.md b/commands/cli/info/index.md index 6ee59af4..653fffcd 100644 --- a/commands/cli/info/index.md +++ b/commands/cli/info/index.md @@ -10,3 +10,37 @@ title: 'wp cli info' [\--format=<format>] : Accepted values: json +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/cli/param-dump/index.md b/commands/cli/param-dump/index.md index 3956280c..db90d7f1 100644 --- a/commands/cli/param-dump/index.md +++ b/commands/cli/param-dump/index.md @@ -7,3 +7,37 @@ title: 'wp cli param-dump' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/cli/update/index.md b/commands/cli/update/index.md new file mode 100644 index 00000000..5d629b1d --- /dev/null +++ b/commands/cli/update/index.md @@ -0,0 +1,52 @@ +--- +layout: default +title: 'wp cli update' +--- + +`wp cli update` - Fetch most recent update matching the requirements. Returns the available versions if there are updates, or empty if no update available. + +### OPTIONS + +[\--patch] +: Only perform patch updates + +[\--minor] +: Only perform minor updates + +[\--yes] +: Do not prompt for confirmation + +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/cli/version/index.md b/commands/cli/version/index.md index e109a7da..feacfe7c 100644 --- a/commands/cli/version/index.md +++ b/commands/cli/version/index.md @@ -7,3 +7,37 @@ title: 'wp cli version' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/comment/approve/index.md b/commands/comment/approve/index.md index 35aa81a8..3314c2cf 100644 --- a/commands/comment/approve/index.md +++ b/commands/comment/approve/index.md @@ -14,3 +14,37 @@ title: 'wp comment approve' wp comment approve 1337 +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/comment/count/index.md b/commands/comment/count/index.md index cf7017ed..f7a7d055 100644 --- a/commands/comment/count/index.md +++ b/commands/comment/count/index.md @@ -15,3 +15,37 @@ title: 'wp comment count' wp comment count wp comment count 42 +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/comment/create/index.md b/commands/comment/create/index.md index 23b6ac3f..58243a9c 100644 --- a/commands/comment/create/index.md +++ b/commands/comment/create/index.md @@ -17,3 +17,37 @@ title: 'wp comment create' wp comment create --comment_post_ID=15 --comment_content="hello blog" --comment_author="wp-cli" +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/comment/delete/index.md b/commands/comment/delete/index.md index bf1fa2dd..fdd672eb 100644 --- a/commands/comment/delete/index.md +++ b/commands/comment/delete/index.md @@ -19,3 +19,37 @@ title: 'wp comment delete' wp comment delete 1337 2341 --force +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/comment/exists/index.md b/commands/comment/exists/index.md index 6293f44a..575bd26f 100644 --- a/commands/comment/exists/index.md +++ b/commands/comment/exists/index.md @@ -14,3 +14,37 @@ title: 'wp comment exists' wp comment exists 1337 +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/comment/get/index.md b/commands/comment/get/index.md index 5981f434..a7b75ae7 100644 --- a/commands/comment/get/index.md +++ b/commands/comment/get/index.md @@ -13,10 +13,47 @@ title: 'wp comment get' [\--field=<field>] : Instead of returning the whole comment, returns the value of a single field. +[\--fields=<fields>] +: Limit the output to specific fields. Defaults to all fields. + [\--format=<format>] -: Accepted values: table, json. Default: table +: Accepted values: table, json, csv. Default: table ### EXAMPLES wp comment get 1 --field=content +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/comment/index.md b/commands/comment/index.md index 1f9b053a..641413ed 100644 --- a/commands/comment/index.md +++ b/commands/comment/index.md @@ -10,6 +10,40 @@ title: 'wp comment' # delete all spam comments. wp comment delete $(wp comment list --status=spam --format=ids) +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS
    param-dump Dump the list of global parameters, as JSON.
    updateFetch most recent update matching the requirements. Returns the available versions if there are updates, or empty if no update available.
    version Print WP-CLI version.
    diff --git a/commands/comment/list/index.md b/commands/comment/list/index.md index 04fc49f5..3fb54e81 100644 --- a/commands/comment/list/index.md +++ b/commands/comment/list/index.md @@ -50,3 +50,37 @@ These fields are optionally available: wp comment list --number=20 --status=approve +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/comment/meta/add/index.md b/commands/comment/meta/add/index.md index 34da8dd7..5886a0b6 100644 --- a/commands/comment/meta/add/index.md +++ b/commands/comment/meta/add/index.md @@ -19,3 +19,37 @@ title: 'wp comment meta add' [\--format=<format>] : The serialization format for the value. Default is plaintext. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/comment/meta/delete/index.md b/commands/comment/meta/delete/index.md index c42766a8..0400f621 100644 --- a/commands/comment/meta/delete/index.md +++ b/commands/comment/meta/delete/index.md @@ -14,3 +14,37 @@ title: 'wp comment meta delete' [<value>] : The value to delete. If omitted, all rows with key will deleted. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/comment/meta/get/index.md b/commands/comment/meta/get/index.md index 87255364..9b07b0db 100644 --- a/commands/comment/meta/get/index.md +++ b/commands/comment/meta/get/index.md @@ -7,3 +7,37 @@ title: 'wp comment meta get' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/comment/meta/index.md b/commands/comment/meta/index.md index a5af8923..eec3daf6 100644 --- a/commands/comment/meta/index.md +++ b/commands/comment/meta/index.md @@ -14,6 +14,40 @@ title: 'wp comment meta' wp comment meta set 123 description "Mary is a WordPress developer." +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS
    diff --git a/commands/comment/meta/list/index.md b/commands/comment/meta/list/index.md index 4931ab8c..7159816e 100644 --- a/commands/comment/meta/list/index.md +++ b/commands/comment/meta/list/index.md @@ -17,3 +17,37 @@ title: 'wp comment meta list' [\--format=<format>] : Accepted values: table, csv, json, count. Default: table +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/comment/meta/update/index.md b/commands/comment/meta/update/index.md index cc466fca..0c3ad582 100644 --- a/commands/comment/meta/update/index.md +++ b/commands/comment/meta/update/index.md @@ -19,3 +19,37 @@ title: 'wp comment meta update' [\--format=<format>] : The serialization format for the value. Default is plaintext. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/comment/spam/index.md b/commands/comment/spam/index.md index 9cc406ce..5f3130c1 100644 --- a/commands/comment/spam/index.md +++ b/commands/comment/spam/index.md @@ -14,3 +14,37 @@ title: 'wp comment spam' wp comment spam 1337 +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/comment/status/index.md b/commands/comment/status/index.md index c6b1509e..fef2258a 100644 --- a/commands/comment/status/index.md +++ b/commands/comment/status/index.md @@ -14,3 +14,37 @@ title: 'wp comment status' wp comment status 1337 +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/comment/trash/index.md b/commands/comment/trash/index.md index cddda0e1..abf924c8 100644 --- a/commands/comment/trash/index.md +++ b/commands/comment/trash/index.md @@ -14,3 +14,37 @@ title: 'wp comment trash' wp comment trash 1337 +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/comment/unapprove/index.md b/commands/comment/unapprove/index.md index 9c245b5d..f1a6df56 100644 --- a/commands/comment/unapprove/index.md +++ b/commands/comment/unapprove/index.md @@ -14,3 +14,37 @@ title: 'wp comment unapprove' wp comment unapprove 1337 +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/comment/unspam/index.md b/commands/comment/unspam/index.md index 0c31abc3..9eb303fa 100644 --- a/commands/comment/unspam/index.md +++ b/commands/comment/unspam/index.md @@ -14,3 +14,37 @@ title: 'wp comment unspam' wp comment unspam 1337 +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/comment/untrash/index.md b/commands/comment/untrash/index.md index 885510d1..55625274 100644 --- a/commands/comment/untrash/index.md +++ b/commands/comment/untrash/index.md @@ -14,3 +14,37 @@ title: 'wp comment untrash' wp comment untrash 1337 +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/comment/update/index.md b/commands/comment/update/index.md index d33c8526..e47f67a5 100644 --- a/commands/comment/update/index.md +++ b/commands/comment/update/index.md @@ -17,3 +17,37 @@ title: 'wp comment update' wp comment update 123 --comment_author='That Guy' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/comment/url/index.md b/commands/comment/url/index.md index b96c4836..150b1935 100644 --- a/commands/comment/url/index.md +++ b/commands/comment/url/index.md @@ -14,3 +14,37 @@ title: 'wp comment url' wp comment url 123 +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/core/check-update/index.md b/commands/core/check-update/index.md index f01de6a6..089db558 100644 --- a/commands/core/check-update/index.md +++ b/commands/core/check-update/index.md @@ -22,3 +22,37 @@ title: 'wp core check-update' [\--format=<format>] : Accepted values: table, csv, json. Default: table +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/core/config/index.md b/commands/core/config/index.md index cfe4a75b..0ec69109 100644 --- a/commands/core/config/index.md +++ b/commands/core/config/index.md @@ -51,3 +51,37 @@ title: 'wp core config' define( 'WP_DEBUG_LOG', true ); PHP +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/core/download/index.md b/commands/core/download/index.md index eab986a0..32ce4975 100644 --- a/commands/core/download/index.md +++ b/commands/core/download/index.md @@ -23,3 +23,37 @@ title: 'wp core download' wp core download --locale=nl_NL +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/core/index.md b/commands/core/index.md index d1dab540..e4559a93 100644 --- a/commands/core/index.md +++ b/commands/core/index.md @@ -7,6 +7,40 @@ title: 'wp core' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS
    diff --git a/commands/core/install/index.md b/commands/core/install/index.md index aa3ec2e9..c1298d0e 100644 --- a/commands/core/install/index.md +++ b/commands/core/install/index.md @@ -22,3 +22,37 @@ title: 'wp core install' \--admin_email=<email> : The email address for the admin user. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/core/is-installed/index.md b/commands/core/is-installed/index.md index 86f9b4be..dcaa15a8 100644 --- a/commands/core/is-installed/index.md +++ b/commands/core/is-installed/index.md @@ -14,3 +14,37 @@ title: 'wp core is-installed' wp core install fi +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/core/language/activate/index.md b/commands/core/language/activate/index.md index 59a98351..a48d819b 100644 --- a/commands/core/language/activate/index.md +++ b/commands/core/language/activate/index.md @@ -8,3 +8,37 @@ title: 'wp core language activate' <language> : Language code to activate. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/core/language/index.md b/commands/core/language/index.md index 2ead41d9..10eee9b5 100644 --- a/commands/core/language/index.md +++ b/commands/core/language/index.md @@ -7,6 +7,40 @@ title: 'wp core language' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS
    diff --git a/commands/core/language/install/index.md b/commands/core/language/install/index.md index aded0175..f7375309 100644 --- a/commands/core/language/install/index.md +++ b/commands/core/language/install/index.md @@ -8,3 +8,40 @@ title: 'wp core language install' <language> : Language code to install. +[\--activate] +: If set, the language will be activated immediately after install. + +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/core/language/list/index.md b/commands/core/language/list/index.md index 7abc63c7..fd354c04 100644 --- a/commands/core/language/list/index.md +++ b/commands/core/language/list/index.md @@ -5,6 +5,12 @@ title: 'wp core language list' `wp core language list` - List all languages available. +[\--field=<field>] +: Display the value of a single field + +[\--<field>=<value>] +: Filter results by key=value pairs. + [\--fields=<fields>] : Limit the output to specific fields. @@ -26,3 +32,37 @@ These fields are optionally available: * version * package +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/core/language/uninstall/index.md b/commands/core/language/uninstall/index.md index ae10263a..37f60d9b 100644 --- a/commands/core/language/uninstall/index.md +++ b/commands/core/language/uninstall/index.md @@ -8,3 +8,37 @@ title: 'wp core language uninstall' <language> : Language code to uninstall. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/core/multisite-convert/index.md b/commands/core/multisite-convert/index.md index 4f9eb6ad..434eb613 100644 --- a/commands/core/multisite-convert/index.md +++ b/commands/core/multisite-convert/index.md @@ -15,5 +15,39 @@ title: 'wp core multisite-convert' Default: '/' [\--subdomains] -: If passed, the network will use subdomains, instead of subdirectories. +: If passed, the network will use subdomains, instead of subdirectories. Doesn't work with 'localhost'. + +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + diff --git a/commands/core/multisite-install/index.md b/commands/core/multisite-install/index.md index 12f5b4fe..0650f562 100644 --- a/commands/core/multisite-install/index.md +++ b/commands/core/multisite-install/index.md @@ -15,7 +15,7 @@ title: 'wp core multisite-install' Default: '/' [\--subdomains] -: If passed, the network will use subdomains, instead of subdirectories. +: If passed, the network will use subdomains, instead of subdirectories. Doesn't work with 'localhost'. \--title=<site-title> : The title of the new site. @@ -29,3 +29,37 @@ Default: '/' \--admin_email=<email> : The email address for the admin user. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/core/update-db/index.md b/commands/core/update-db/index.md index 3ba7891c..f38a4fb8 100644 --- a/commands/core/update-db/index.md +++ b/commands/core/update-db/index.md @@ -7,3 +7,37 @@ title: 'wp core update-db' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/core/update/index.md b/commands/core/update/index.md index 5d4cf7e7..c4f1b0eb 100644 --- a/commands/core/update/index.md +++ b/commands/core/update/index.md @@ -27,3 +27,37 @@ title: 'wp core update' wp core update --version=3.1 --force +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/core/verify-checksums/index.md b/commands/core/verify-checksums/index.md index e5f90d0d..3aea3974 100644 --- a/commands/core/verify-checksums/index.md +++ b/commands/core/verify-checksums/index.md @@ -7,3 +7,37 @@ title: 'wp core verify-checksums' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/core/version/index.md b/commands/core/version/index.md index c590b59b..3e30d015 100644 --- a/commands/core/version/index.md +++ b/commands/core/version/index.md @@ -10,3 +10,37 @@ title: 'wp core version' [\--extra] : Show extended version information. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/cron/event/delete/index.md b/commands/cron/event/delete/index.md index fceee773..1d821f10 100644 --- a/commands/cron/event/delete/index.md +++ b/commands/cron/event/delete/index.md @@ -10,3 +10,37 @@ title: 'wp cron event delete' <hook> : The hook name +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/cron/event/index.md b/commands/cron/event/index.md index 34740fe4..a90af579 100644 --- a/commands/cron/event/index.md +++ b/commands/cron/event/index.md @@ -7,6 +7,40 @@ title: 'wp cron event' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS
    diff --git a/commands/cron/event/list/index.md b/commands/cron/event/list/index.md index a2ca3b01..ff0c9c04 100644 --- a/commands/cron/event/list/index.md +++ b/commands/cron/event/list/index.md @@ -35,3 +35,37 @@ These fields are optionally available: wp cron event list --fields=hook,next_run --format=json +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/cron/event/run/index.md b/commands/cron/event/run/index.md index efc0d961..359da910 100644 --- a/commands/cron/event/run/index.md +++ b/commands/cron/event/run/index.md @@ -10,3 +10,37 @@ title: 'wp cron event run' <hook> : The hook name +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/cron/event/schedule/index.md b/commands/cron/event/schedule/index.md index 908d71b8..01dfdee8 100644 --- a/commands/cron/event/schedule/index.md +++ b/commands/cron/event/schedule/index.md @@ -27,3 +27,37 @@ title: 'wp cron event schedule' wp cron event schedule cron_test '+1 hour' --foo=1 --bar=2 +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/cron/index.md b/commands/cron/index.md index da96c29e..54d122bc 100644 --- a/commands/cron/index.md +++ b/commands/cron/index.md @@ -7,6 +7,40 @@ title: 'wp cron' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS
    diff --git a/commands/cron/schedule/index.md b/commands/cron/schedule/index.md index 71d18ef4..2855ccd6 100644 --- a/commands/cron/schedule/index.md +++ b/commands/cron/schedule/index.md @@ -7,6 +7,40 @@ title: 'wp cron schedule' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS
    diff --git a/commands/cron/schedule/list/index.md b/commands/cron/schedule/list/index.md index aac5f11d..68c0a2b7 100644 --- a/commands/cron/schedule/list/index.md +++ b/commands/cron/schedule/list/index.md @@ -29,3 +29,37 @@ There are no additional fields. wp cron schedule list --fields=name --format=ids +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/cron/test/index.md b/commands/cron/test/index.md index 797a7c80..48e64992 100644 --- a/commands/cron/test/index.md +++ b/commands/cron/test/index.md @@ -7,3 +7,37 @@ title: 'wp cron test' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/db/cli/index.md b/commands/db/cli/index.md index 3e08d7b8..d467d1cc 100644 --- a/commands/db/cli/index.md +++ b/commands/db/cli/index.md @@ -7,3 +7,37 @@ title: 'wp db cli' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/db/create/index.md b/commands/db/create/index.md index 8cd18832..e5274a5c 100644 --- a/commands/db/create/index.md +++ b/commands/db/create/index.md @@ -7,3 +7,37 @@ title: 'wp db create' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/db/drop/index.md b/commands/db/drop/index.md index ff04958e..374d09bc 100644 --- a/commands/db/drop/index.md +++ b/commands/db/drop/index.md @@ -10,3 +10,37 @@ title: 'wp db drop' [\--yes] : Answer yes to the confirmation message. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/db/export/index.md b/commands/db/export/index.md index cd986abd..ee3de15f 100644 --- a/commands/db/export/index.md +++ b/commands/db/export/index.md @@ -21,3 +21,37 @@ title: 'wp db export' wp db export --add-drop-table wp db export --tables=wp_options,wp_users +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/db/import/index.md b/commands/db/import/index.md index 2da8ecde..73d1796a 100644 --- a/commands/db/import/index.md +++ b/commands/db/import/index.md @@ -10,3 +10,37 @@ title: 'wp db import' [<file>] : The name of the SQL file to import. If '-', then reads from STDIN. If omitted, it will look for '{dbname}.sql'. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/db/index.md b/commands/db/index.md index 45cf52ef..887e73a0 100644 --- a/commands/db/index.md +++ b/commands/db/index.md @@ -7,6 +7,40 @@ title: 'wp db' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS
    diff --git a/commands/db/optimize/index.md b/commands/db/optimize/index.md index e44c5764..1933c7b7 100644 --- a/commands/db/optimize/index.md +++ b/commands/db/optimize/index.md @@ -7,3 +7,37 @@ title: 'wp db optimize' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/db/query/index.md b/commands/db/query/index.md index 5d071e1a..a3713a5a 100644 --- a/commands/db/query/index.md +++ b/commands/db/query/index.md @@ -15,3 +15,40 @@ title: 'wp db query' # execute a query stored in a file wp db query < debug.sql + # check all tables in the database + wp db query "CHECK TABLE $(wp db tables | paste -s -d',');" + +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/db/repair/index.md b/commands/db/repair/index.md index ee88ec98..5d1edfad 100644 --- a/commands/db/repair/index.md +++ b/commands/db/repair/index.md @@ -7,3 +7,37 @@ title: 'wp db repair' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/db/reset/index.md b/commands/db/reset/index.md index 2477d2c4..e0a5a912 100644 --- a/commands/db/reset/index.md +++ b/commands/db/reset/index.md @@ -10,3 +10,37 @@ title: 'wp db reset' [\--yes] : Answer yes to the confirmation message. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/db/tables/index.md b/commands/db/tables/index.md index f7379163..75894eaa 100644 --- a/commands/db/tables/index.md +++ b/commands/db/tables/index.md @@ -15,3 +15,37 @@ title: 'wp db tables' # Export only tables for a single site wp db export --tables=$(wp db tables --url=sub.example.com | tr '\n' ',') +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/eval-file/index.md b/commands/eval-file/index.md index 142d6410..076482be 100644 --- a/commands/eval-file/index.md +++ b/commands/eval-file/index.md @@ -17,3 +17,37 @@ title: 'wp eval-file' wp eval-file my-code.php value1 value2 +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/eval/index.md b/commands/eval/index.md index ddc41027..1e7129e7 100644 --- a/commands/eval/index.md +++ b/commands/eval/index.md @@ -9,3 +9,37 @@ title: 'wp eval' wp eval 'echo WP_CONTENT_DIR;' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/export/index.md b/commands/export/index.md index b040f864..11355d2a 100644 --- a/commands/export/index.md +++ b/commands/export/index.md @@ -46,3 +46,37 @@ to current working directory. wp export --dir=/tmp/ --post__in=123,124,125 +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/help/index.md b/commands/help/index.md index 5d97db4f..41936587 100644 --- a/commands/help/index.md +++ b/commands/help/index.md @@ -13,3 +13,37 @@ title: 'wp help' # get help for `core download` subcommand wp help core download +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/import/index.md b/commands/import/index.md index 8723a003..3002b635 100644 --- a/commands/import/index.md +++ b/commands/import/index.md @@ -16,3 +16,37 @@ title: 'wp import' [\--skip=<data-type>] : Skip importing specific data. Supported options are: 'attachment' and 'image_resize' (skip time-consuming thumbnail generation). +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/media/import/index.md b/commands/media/import/index.md index d7ac8f69..aa3e82ed 100644 --- a/commands/media/import/index.md +++ b/commands/media/import/index.md @@ -44,3 +44,37 @@ title: 'wp media import' # Import an image from the web wp media import http://s.wordpress.org/style/images/wp-header-logo.png --title='The WordPress logo' --alt="Semantic personal publishing" +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/media/index.md b/commands/media/index.md index 654eafd4..64c2872c 100644 --- a/commands/media/index.md +++ b/commands/media/index.md @@ -7,6 +7,40 @@ title: 'wp media' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS
    diff --git a/commands/media/regenerate/index.md b/commands/media/regenerate/index.md index dbd2e01f..359e86a7 100644 --- a/commands/media/regenerate/index.md +++ b/commands/media/regenerate/index.md @@ -21,3 +21,37 @@ title: 'wp media regenerate' # re-generate all thumbnails that have IDs between 1000 and 2000 seq 1000 2000 | xargs wp media regenerate +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/menu/create/index.md b/commands/menu/create/index.md index aa152aba..d2fd3a97 100644 --- a/commands/menu/create/index.md +++ b/commands/menu/create/index.md @@ -15,3 +15,37 @@ title: 'wp menu create' wp menu create "My Menu" +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/menu/delete/index.md b/commands/menu/delete/index.md index 3d1668ee..f61b7c60 100644 --- a/commands/menu/delete/index.md +++ b/commands/menu/delete/index.md @@ -12,3 +12,37 @@ title: 'wp menu delete' wp menu delete "My Menu" +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/menu/index.md b/commands/menu/index.md index 4e9662f4..4f9aac6b 100644 --- a/commands/menu/index.md +++ b/commands/menu/index.md @@ -19,6 +19,40 @@ title: 'wp menu' # Assign the 'primary-menu' menu to the 'primary' location wp menu location assign primary-menu primary +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS
    diff --git a/commands/menu/item/add-custom/index.md b/commands/menu/item/add-custom/index.md index fd038e1d..f9b7ec51 100644 --- a/commands/menu/item/add-custom/index.md +++ b/commands/menu/item/add-custom/index.md @@ -39,3 +39,37 @@ title: 'wp menu item add-custom' wp menu item add-custom sidebar-menu Apple http://apple.com --porcelain +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/menu/item/add-post/index.md b/commands/menu/item/add-post/index.md index 01187919..a1738287 100644 --- a/commands/menu/item/add-post/index.md +++ b/commands/menu/item/add-post/index.md @@ -42,3 +42,37 @@ title: 'wp menu item add-post' wp menu item add-post sidebar-menu 33 --title="Custom Test Post" +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/menu/item/add-term/index.md b/commands/menu/item/add-term/index.md index f35eb9ce..52c70e08 100644 --- a/commands/menu/item/add-term/index.md +++ b/commands/menu/item/add-term/index.md @@ -45,3 +45,37 @@ title: 'wp menu item add-term' wp menu item add-term sidebar-menu post_tag 24 +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/menu/item/delete/index.md b/commands/menu/item/delete/index.md index b2f0f872..ff90279d 100644 --- a/commands/menu/item/delete/index.md +++ b/commands/menu/item/delete/index.md @@ -12,3 +12,37 @@ title: 'wp menu item delete' wp menu item remove 45 +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/menu/item/index.md b/commands/menu/item/index.md index 23bd460e..c32d644b 100644 --- a/commands/menu/item/index.md +++ b/commands/menu/item/index.md @@ -13,6 +13,40 @@ title: 'wp menu item' # Create a new menu link item wp menu item add-custom sidebar-menu Apple http://apple.com --porcelain +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS
    diff --git a/commands/menu/item/list/index.md b/commands/menu/item/list/index.md index 7f50e5d4..ee01e84e 100644 --- a/commands/menu/item/list/index.md +++ b/commands/menu/item/list/index.md @@ -43,3 +43,37 @@ These fields are optionally available: wp menu item list <menu> +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/menu/item/update/index.md b/commands/menu/item/update/index.md index 1b0fff33..441f4243 100644 --- a/commands/menu/item/update/index.md +++ b/commands/menu/item/update/index.md @@ -36,3 +36,37 @@ title: 'wp menu item update' wp menu item update 45 --title=WordPress --link='http://wordpress.org' --target=_blank --position=2 +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/menu/list/index.md b/commands/menu/list/index.md index 606683d3..1866fdad 100644 --- a/commands/menu/list/index.md +++ b/commands/menu/list/index.md @@ -35,3 +35,37 @@ These fields are optionally available: wp menu list +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/menu/location/assign/index.md b/commands/menu/location/assign/index.md index db140ab4..0a0a2855 100644 --- a/commands/menu/location/assign/index.md +++ b/commands/menu/location/assign/index.md @@ -15,3 +15,37 @@ title: 'wp menu location assign' wp menu location assign primary-menu primary +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/menu/location/index.md b/commands/menu/location/index.md index a64862a5..7e883c0d 100644 --- a/commands/menu/location/index.md +++ b/commands/menu/location/index.md @@ -16,6 +16,40 @@ title: 'wp menu location' # Remove the 'primary-menu' menu from the 'primary' location wp menu location remove primary-menu primary +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS
    diff --git a/commands/menu/location/list/index.md b/commands/menu/location/list/index.md index e3169cab..9592310a 100644 --- a/commands/menu/location/list/index.md +++ b/commands/menu/location/list/index.md @@ -19,3 +19,37 @@ These fields will be displayed by default for each location: wp menu location list +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/menu/location/remove/index.md b/commands/menu/location/remove/index.md index 44813bfb..43407823 100644 --- a/commands/menu/location/remove/index.md +++ b/commands/menu/location/remove/index.md @@ -15,3 +15,37 @@ title: 'wp menu location remove' wp menu location remove primary-menu primary +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/network/index.md b/commands/network/index.md index 595e0e17..11bc2e33 100644 --- a/commands/network/index.md +++ b/commands/network/index.md @@ -7,6 +7,40 @@ title: 'wp network' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS
    diff --git a/commands/network/meta/add/index.md b/commands/network/meta/add/index.md index f92f91dd..832bb821 100644 --- a/commands/network/meta/add/index.md +++ b/commands/network/meta/add/index.md @@ -19,3 +19,37 @@ title: 'wp network meta add' [\--format=<format>] : The serialization format for the value. Default is plaintext. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/network/meta/delete/index.md b/commands/network/meta/delete/index.md index 6451409e..a627294a 100644 --- a/commands/network/meta/delete/index.md +++ b/commands/network/meta/delete/index.md @@ -14,3 +14,37 @@ title: 'wp network meta delete' [<value>] : The value to delete. If omitted, all rows with key will deleted. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/network/meta/get/index.md b/commands/network/meta/get/index.md index 465f7cc7..a4ad5c47 100644 --- a/commands/network/meta/get/index.md +++ b/commands/network/meta/get/index.md @@ -7,3 +7,37 @@ title: 'wp network meta get' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/network/meta/index.md b/commands/network/meta/index.md index 2bbc7ea2..f795cda4 100644 --- a/commands/network/meta/index.md +++ b/commands/network/meta/index.md @@ -18,6 +18,40 @@ title: 'wp network meta' # get a list of super-admins wp network meta get 1 site_admins +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS
    diff --git a/commands/network/meta/list/index.md b/commands/network/meta/list/index.md index 6b3d8a8c..9fabc45d 100644 --- a/commands/network/meta/list/index.md +++ b/commands/network/meta/list/index.md @@ -17,3 +17,37 @@ title: 'wp network meta list' [\--format=<format>] : Accepted values: table, csv, json, count. Default: table +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/network/meta/update/index.md b/commands/network/meta/update/index.md index 228cfda5..2873f2f2 100644 --- a/commands/network/meta/update/index.md +++ b/commands/network/meta/update/index.md @@ -19,3 +19,37 @@ title: 'wp network meta update' [\--format=<format>] : The serialization format for the value. Default is plaintext. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/option/add/index.md b/commands/option/add/index.md index 24fb20f5..d43f70bc 100644 --- a/commands/option/add/index.md +++ b/commands/option/add/index.md @@ -24,3 +24,37 @@ title: 'wp option add' # Create an option by reading a JSON file wp option add my_option --format=json < config.json +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/option/delete/index.md b/commands/option/delete/index.md index ca3a9458..ec664542 100644 --- a/commands/option/delete/index.md +++ b/commands/option/delete/index.md @@ -7,3 +7,37 @@ title: 'wp option delete' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/option/get/index.md b/commands/option/get/index.md index 04b75f14..89a1ab91 100644 --- a/commands/option/get/index.md +++ b/commands/option/get/index.md @@ -7,3 +7,37 @@ title: 'wp option get' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/option/index.md b/commands/option/index.md index d9fa7d9f..83ff3153 100644 --- a/commands/option/index.md +++ b/commands/option/index.md @@ -20,6 +20,40 @@ title: 'wp option' wp option delete my_option +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS
    diff --git a/commands/option/update/index.md b/commands/option/update/index.md index 052176d0..35c65001 100644 --- a/commands/option/update/index.md +++ b/commands/option/update/index.md @@ -24,3 +24,37 @@ title: 'wp option update' # Update one option on multiple sites using xargs wp site list --field=url | xargs -n1 -I {} sh -c 'wp --url={} option update <key> <value>' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/plugin/activate/index.md b/commands/plugin/activate/index.md index c97ba9a3..efc93faf 100644 --- a/commands/plugin/activate/index.md +++ b/commands/plugin/activate/index.md @@ -7,9 +7,46 @@ title: 'wp plugin activate' ### OPTIONS -<plugin>... +[<plugin>...] : One or more plugins to activate. +[\--all] +: If set, all plugins will be activated. + [\--network] : If set, the plugin will be activated for the entire multisite network. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/plugin/deactivate/index.md b/commands/plugin/deactivate/index.md index 97aa529e..ba64429c 100644 --- a/commands/plugin/deactivate/index.md +++ b/commands/plugin/deactivate/index.md @@ -16,3 +16,37 @@ title: 'wp plugin deactivate' [\--network] : If set, the plugin will be deactivated for the entire multisite network. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/plugin/delete/index.md b/commands/plugin/delete/index.md index a6d9f8c8..6a9fdbae 100644 --- a/commands/plugin/delete/index.md +++ b/commands/plugin/delete/index.md @@ -14,3 +14,37 @@ title: 'wp plugin delete' wp plugin delete hello +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/plugin/get/index.md b/commands/plugin/get/index.md index 854101e8..015a1d15 100644 --- a/commands/plugin/get/index.md +++ b/commands/plugin/get/index.md @@ -13,10 +13,47 @@ title: 'wp plugin get' [\--field=<field>] : Instead of returning the whole plugin, returns the value of a single field. +[\--fields=<fields>] +: Limit the output to specific fields. Defaults to all fields. + [\--format=<format>] -: Output list as table or JSON. Defaults to table. +: Output list as table, json, CSV. Defaults to table. ### EXAMPLES wp plugin get bbpress --format=json +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/plugin/index.md b/commands/plugin/index.md index 555266f6..c0d9539c 100644 --- a/commands/plugin/index.md +++ b/commands/plugin/index.md @@ -7,6 +7,40 @@ title: 'wp plugin' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS
    diff --git a/commands/plugin/install/index.md b/commands/plugin/install/index.md index d1d3eb88..af578249 100644 --- a/commands/plugin/install/index.md +++ b/commands/plugin/install/index.md @@ -38,3 +38,37 @@ for confirmation. # Install from a remote zip file wp plugin install http://s3.amazonaws.com/bucketname/my-plugin.zip?AWSAccessKeyId=123&Expires=456&Signature=abcdef +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/plugin/is-installed/index.md b/commands/plugin/is-installed/index.md index 53b1803f..c29cc8ed 100644 --- a/commands/plugin/is-installed/index.md +++ b/commands/plugin/is-installed/index.md @@ -14,3 +14,37 @@ title: 'wp plugin is-installed' wp plugin is-installed hello +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/plugin/list/index.md b/commands/plugin/list/index.md index 071219a2..f8f481d4 100644 --- a/commands/plugin/list/index.md +++ b/commands/plugin/list/index.md @@ -40,3 +40,37 @@ These fields are optionally available: wp plugin list --status=active --format=json +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/plugin/path/index.md b/commands/plugin/path/index.md index 11257b8f..d785b763 100644 --- a/commands/plugin/path/index.md +++ b/commands/plugin/path/index.md @@ -19,3 +19,37 @@ plugin file. cd $(wp plugin path) +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/plugin/search/index.md b/commands/plugin/search/index.md index 2dc2c1da..0b379bd7 100644 --- a/commands/plugin/search/index.md +++ b/commands/plugin/search/index.md @@ -43,3 +43,37 @@ title: 'wp plugin search' wp plugin search dsgnwrks --fields=name,version,slug,rating,num_ratings +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/plugin/status/index.md b/commands/plugin/status/index.md index d3b6a265..a38fb103 100644 --- a/commands/plugin/status/index.md +++ b/commands/plugin/status/index.md @@ -10,3 +10,37 @@ title: 'wp plugin status' [<plugin>] : A particular plugin to show the status for. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/plugin/toggle/index.md b/commands/plugin/toggle/index.md index a2db0d1c..2dae79fe 100644 --- a/commands/plugin/toggle/index.md +++ b/commands/plugin/toggle/index.md @@ -13,3 +13,37 @@ title: 'wp plugin toggle' [\--network] : If set, the plugin will be toggled for the entire multisite network. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/plugin/uninstall/index.md b/commands/plugin/uninstall/index.md index 7c06388b..0207838f 100644 --- a/commands/plugin/uninstall/index.md +++ b/commands/plugin/uninstall/index.md @@ -18,3 +18,37 @@ will be run. wp plugin uninstall hello +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/plugin/update/index.md b/commands/plugin/update/index.md index c15cca4a..7f4c3d42 100644 --- a/commands/plugin/update/index.md +++ b/commands/plugin/update/index.md @@ -14,8 +14,7 @@ title: 'wp plugin update' : If set, all plugins that have updates will be updated. [\--version=<version>] -: If set, the plugin will be updated to the latest development version, -regardless of what version is currently installed. +: If set, the plugin will be updated to the specified version. [\--dry-run] : Preview which plugins would be updated. @@ -26,3 +25,37 @@ regardless of what version is currently installed. wp plugin update --all +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/post/create/index.md b/commands/post/create/index.md index 3b85932b..1475d55e 100644 --- a/commands/post/create/index.md +++ b/commands/post/create/index.md @@ -32,3 +32,37 @@ title: 'wp post create' wp post create ./post-content.txt --post_category=201,345 --post_title='Post from file' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/post/delete/index.md b/commands/post/delete/index.md index f0709571..6d2fe061 100644 --- a/commands/post/delete/index.md +++ b/commands/post/delete/index.md @@ -19,3 +19,37 @@ title: 'wp post delete' wp post delete $(wp post list --post_type='page' --format=ids) +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/post/edit/index.md b/commands/post/edit/index.md index 58e62ffd..3bf2bf6f 100644 --- a/commands/post/edit/index.md +++ b/commands/post/edit/index.md @@ -14,3 +14,37 @@ title: 'wp post edit' wp post edit 123 +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/post/generate/index.md b/commands/post/generate/index.md index 220fb96e..f7ffceba 100644 --- a/commands/post/generate/index.md +++ b/commands/post/generate/index.md @@ -33,3 +33,37 @@ title: 'wp post generate' wp post generate --count=10 --post_type=page --post_date=1999-01-04 curl http://loripsum.net/api/5 | wp post generate --post_content --count=10 +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/post/get/index.md b/commands/post/get/index.md index 889668ae..cb125b7e 100644 --- a/commands/post/get/index.md +++ b/commands/post/get/index.md @@ -13,11 +13,48 @@ title: 'wp post get' [\--field=<field>] : Instead of returning the whole post, returns the value of a single field. +[\--fields=<fields>] +: Limit the output to specific fields. Defaults to all fields. + [\--format=<format>] -: Accepted values: table, json. Default: table +: Accepted values: table, json, csv. Default: table ### EXAMPLES # save the post content to a file wp post get 12 --field=content > file.txt +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/post/index.md b/commands/post/index.md index 72865bfa..4907d3dc 100644 --- a/commands/post/index.md +++ b/commands/post/index.md @@ -7,6 +7,40 @@ title: 'wp post' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS
    @@ -45,6 +79,10 @@ title: 'wp post' + + + + diff --git a/commands/post/list/index.md b/commands/post/list/index.md index 16983110..f8c96ef7 100644 --- a/commands/post/list/index.md +++ b/commands/post/list/index.md @@ -61,3 +61,37 @@ These fields are optionally available: wp post list --post_type=page,post --format=ids +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/post/meta/add/index.md b/commands/post/meta/add/index.md index 8f512f10..921e5213 100644 --- a/commands/post/meta/add/index.md +++ b/commands/post/meta/add/index.md @@ -19,3 +19,37 @@ title: 'wp post meta add' [\--format=<format>] : The serialization format for the value. Default is plaintext. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/post/meta/delete/index.md b/commands/post/meta/delete/index.md index fc0c83bd..dafa01bb 100644 --- a/commands/post/meta/delete/index.md +++ b/commands/post/meta/delete/index.md @@ -14,3 +14,37 @@ title: 'wp post meta delete' [<value>] : The value to delete. If omitted, all rows with key will deleted. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/post/meta/get/index.md b/commands/post/meta/get/index.md index 7388c5e4..cc5835e8 100644 --- a/commands/post/meta/get/index.md +++ b/commands/post/meta/get/index.md @@ -7,3 +7,37 @@ title: 'wp post meta get' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/post/meta/index.md b/commands/post/meta/index.md index 70d1abc5..2e9d643e 100644 --- a/commands/post/meta/index.md +++ b/commands/post/meta/index.md @@ -14,6 +14,40 @@ title: 'wp post meta' wp post meta set 123 _wp_page_template about.php +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS
    meta Manage post custom fields.
    termManage post terms.
    update Update one or more posts.
    diff --git a/commands/post/meta/list/index.md b/commands/post/meta/list/index.md index a4bbe646..367db96e 100644 --- a/commands/post/meta/list/index.md +++ b/commands/post/meta/list/index.md @@ -17,3 +17,37 @@ title: 'wp post meta list' [\--format=<format>] : Accepted values: table, csv, json, count. Default: table +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/post/meta/update/index.md b/commands/post/meta/update/index.md index e0fff32b..3324ae33 100644 --- a/commands/post/meta/update/index.md +++ b/commands/post/meta/update/index.md @@ -19,3 +19,37 @@ title: 'wp post meta update' [\--format=<format>] : The serialization format for the value. Default is plaintext. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/post/term/add/index.md b/commands/post/term/add/index.md new file mode 100644 index 00000000..e678716f --- /dev/null +++ b/commands/post/term/add/index.md @@ -0,0 +1,50 @@ +--- +layout: default +title: 'wp post term add' +--- + +`wp post term add` - Add a term. Appends to existed + +<id> +: The ID of the object. + +<taxonomy> +: The name of the taxonomy type to be added. + +<term>... +: The name of the term or terms to be added. + +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/post/term/index.md b/commands/post/term/index.md new file mode 100644 index 00000000..7bed94d1 --- /dev/null +++ b/commands/post/term/index.md @@ -0,0 +1,73 @@ +--- +layout: default +title: 'wp post term' +--- + +`wp post term` - Manage post terms. + +### EXAMPLES + + wp post term set 123 test category + +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + +### SUBCOMMANDS + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescription
    addAdd a term. Appends to existed
    listList all terms associated with an object.
    removeRemove a term.
    setSet terms. Replaces existing terms
    diff --git a/commands/post/term/list/index.md b/commands/post/term/list/index.md new file mode 100644 index 00000000..893297bf --- /dev/null +++ b/commands/post/term/list/index.md @@ -0,0 +1,70 @@ +--- +layout: default +title: 'wp post term list' +--- + +`wp post term list` - List all terms associated with an object. + +<id> +: ID for the object. + +<taxonomy>... +: One or more taxonomies to list. + +[\--fields=<fields>] +: Limit the output to specific row fields. + +[\--format=<format>] +: Accepted values: table, csv, json, count. Default: table + +### AVAILABLE FIELDS + +These fields will be displayed by default for each term: + +* term_id +* name +* slug +* taxonomy + +These fields are optionally available: + +* term_taxonomy_id +* description +* term_group +* parent +* count + +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/post/term/remove/index.md b/commands/post/term/remove/index.md new file mode 100644 index 00000000..a31a240e --- /dev/null +++ b/commands/post/term/remove/index.md @@ -0,0 +1,50 @@ +--- +layout: default +title: 'wp post term remove' +--- + +`wp post term remove` - Remove a term. + +<id> +: The ID of the object. + +<taxonomy> +: The name of the taxonomy type to deleted. + +<term>... +: The name of the term or terms to deleted. + +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/post/term/set/index.md b/commands/post/term/set/index.md new file mode 100644 index 00000000..5c2503d9 --- /dev/null +++ b/commands/post/term/set/index.md @@ -0,0 +1,50 @@ +--- +layout: default +title: 'wp post term set' +--- + +`wp post term set` - Set terms. Replaces existing terms + +<id> +: The ID of the object. + +<taxonomy> +: The name of the taxonomy type to be updated. + +<term>... +: The name of the term or terms to be updated. + +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/post/update/index.md b/commands/post/update/index.md index 2a63ac9f..da95753d 100644 --- a/commands/post/update/index.md +++ b/commands/post/update/index.md @@ -10,6 +10,13 @@ title: 'wp post update' <id>... : One or more IDs of posts to update. +[<file>] +: Read post content from <file>. If this value is present, the + `--post_content` argument will be ignored. + + Passing `-` as the filename will cause post content to + be read from STDIN. + \--<field>=<value> : One or more fields to update. See wp_update_post(). @@ -17,3 +24,37 @@ title: 'wp post update' wp post update 123 --post_name=something --post_status=draft +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/post/url/index.md b/commands/post/url/index.md index 34cc9df5..eee9e11b 100644 --- a/commands/post/url/index.md +++ b/commands/post/url/index.md @@ -16,3 +16,37 @@ title: 'wp post url' wp post url 123 324 +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/rewrite/flush/index.md b/commands/rewrite/flush/index.md index 9bf4124c..7fb2b571 100644 --- a/commands/rewrite/flush/index.md +++ b/commands/rewrite/flush/index.md @@ -20,3 +20,37 @@ apache_modules: [\--hard] : Perform a hard flush - update `.htaccess` rules as well as rewrite rules in database. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/rewrite/index.md b/commands/rewrite/index.md index 6e8fd19f..9cd21ad8 100644 --- a/commands/rewrite/index.md +++ b/commands/rewrite/index.md @@ -7,6 +7,40 @@ title: 'wp rewrite' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS diff --git a/commands/rewrite/list/index.md b/commands/rewrite/list/index.md index a5a7a191..fbfc88ed 100644 --- a/commands/rewrite/list/index.md +++ b/commands/rewrite/list/index.md @@ -20,3 +20,37 @@ title: 'wp rewrite list' wp rewrite list --format=csv +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/rewrite/structure/index.md b/commands/rewrite/structure/index.md index 44952ae8..a87fe435 100644 --- a/commands/rewrite/structure/index.md +++ b/commands/rewrite/structure/index.md @@ -33,3 +33,37 @@ apache_modules: wp rewrite structure '/%year%/%monthnum%/%postname%' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/role/create/index.md b/commands/role/create/index.md index 1b092c92..7be1b598 100644 --- a/commands/role/create/index.md +++ b/commands/role/create/index.md @@ -19,3 +19,37 @@ title: 'wp role create' wp role create productadmin "Product Administrator" +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/role/delete/index.md b/commands/role/delete/index.md index 264a04d0..8b1049d7 100644 --- a/commands/role/delete/index.md +++ b/commands/role/delete/index.md @@ -16,3 +16,37 @@ title: 'wp role delete' wp role delete productadmin +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/role/exists/index.md b/commands/role/exists/index.md index 0bb0a51c..9a925065 100644 --- a/commands/role/exists/index.md +++ b/commands/role/exists/index.md @@ -18,3 +18,37 @@ Will exit with status 0 if the role exists, 1 if it does not. wp role exists editor +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/role/index.md b/commands/role/index.md index f3e8bae4..a8ad1135 100644 --- a/commands/role/index.md +++ b/commands/role/index.md @@ -7,6 +7,40 @@ title: 'wp role' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS
    diff --git a/commands/role/list/index.md b/commands/role/list/index.md index 7b30f15e..8b0beb8e 100644 --- a/commands/role/list/index.md +++ b/commands/role/list/index.md @@ -26,3 +26,37 @@ There are no optional fields. wp role list --fields=role --format=csv +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/role/reset/index.md b/commands/role/reset/index.md index 8b0590cf..eeff9307 100644 --- a/commands/role/reset/index.md +++ b/commands/role/reset/index.md @@ -19,3 +19,37 @@ title: 'wp role reset' wp role reset --all +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/scaffold/_s/index.md b/commands/scaffold/_s/index.md index 245f5663..f405c248 100644 --- a/commands/scaffold/_s/index.md +++ b/commands/scaffold/_s/index.md @@ -22,3 +22,37 @@ title: 'wp scaffold _s' [\--author_uri=<uri>] : What to put in the 'Author URI:' header in style.css +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/scaffold/child-theme/index.md b/commands/scaffold/child-theme/index.md index a75dbcc5..7065ab3e 100644 --- a/commands/scaffold/child-theme/index.md +++ b/commands/scaffold/child-theme/index.md @@ -28,3 +28,37 @@ title: 'wp scaffold child-theme' [\--activate] : Activate the newly created child theme. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/scaffold/index.md b/commands/scaffold/index.md index 67c0e150..09590c1e 100644 --- a/commands/scaffold/index.md +++ b/commands/scaffold/index.md @@ -7,6 +7,40 @@ title: 'wp scaffold' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS
    diff --git a/commands/scaffold/package-tests/index.md b/commands/scaffold/package-tests/index.md index 9fbfa3a1..5790acc1 100644 --- a/commands/scaffold/package-tests/index.md +++ b/commands/scaffold/package-tests/index.md @@ -30,3 +30,37 @@ WP-CLI Behat framework uses Behat ~2.5. wp scaffold package-tests /path/to/command/dir/ +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/scaffold/plugin-tests/index.md b/commands/scaffold/plugin-tests/index.md index a1b2604d..b29506fa 100644 --- a/commands/scaffold/plugin-tests/index.md +++ b/commands/scaffold/plugin-tests/index.md @@ -28,3 +28,37 @@ variable. wp scaffold plugin-tests hello +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/scaffold/plugin/index.md b/commands/scaffold/plugin/index.md index 8875869e..6d490811 100644 --- a/commands/scaffold/plugin/index.md +++ b/commands/scaffold/plugin/index.md @@ -19,3 +19,37 @@ title: 'wp scaffold plugin' [\--activate] : Activate the newly generated plugin. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/scaffold/post-type/index.md b/commands/scaffold/post-type/index.md index 40487eb5..39380d11 100644 --- a/commands/scaffold/post-type/index.md +++ b/commands/scaffold/post-type/index.md @@ -26,3 +26,37 @@ STDOUT. Specify a theme with `--theme=<theme>` to have the file placed in [\--raw] : Just generate the `register_post_type()` call and nothing else. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/scaffold/taxonomy/index.md b/commands/scaffold/taxonomy/index.md index 11c2ca0f..7ef21f9f 100644 --- a/commands/scaffold/taxonomy/index.md +++ b/commands/scaffold/taxonomy/index.md @@ -33,3 +33,37 @@ STDOUT. Specify a theme with `--theme=<theme>` to have the file placed in wp scaffold taxonomy venue --post_types=event,presentation +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/search-replace/index.md b/commands/search-replace/index.md index 9c20db2c..7cc020ff 100644 --- a/commands/search-replace/index.md +++ b/commands/search-replace/index.md @@ -44,3 +44,40 @@ It will correctly handle serialized values, and will not change primary key valu wp search-replace 'foo' 'bar' wp_posts wp_postmeta wp_terms --dry-run + # Turn your production database into a local database + wp search-replace --url=example.com example.com example.dev + +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/shell/index.md b/commands/shell/index.md index 9fe82d2a..296c1f03 100644 --- a/commands/shell/index.md +++ b/commands/shell/index.md @@ -14,3 +14,37 @@ title: 'wp shell' [\--basic] : Start in fail-safe mode, even if Boris is available. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/sidebar/index.md b/commands/sidebar/index.md index d11cd5b1..28e215d5 100644 --- a/commands/sidebar/index.md +++ b/commands/sidebar/index.md @@ -7,6 +7,40 @@ title: 'wp sidebar' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS
    diff --git a/commands/sidebar/list/index.md b/commands/sidebar/list/index.md index f1291dad..09e48eb9 100644 --- a/commands/sidebar/list/index.md +++ b/commands/sidebar/list/index.md @@ -33,3 +33,37 @@ These fields are optionally available: wp sidebar list --fields=name,id --format=csv +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/site/create/index.md b/commands/site/create/index.md index 578bcd92..1de1006c 100644 --- a/commands/site/create/index.md +++ b/commands/site/create/index.md @@ -25,3 +25,37 @@ title: 'wp site create' \--porcelain : If set, only the site id will be output on success. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/site/delete/index.md b/commands/site/delete/index.md index fc656f3e..0ecb8069 100644 --- a/commands/site/delete/index.md +++ b/commands/site/delete/index.md @@ -19,3 +19,37 @@ title: 'wp site delete' [\--keep-tables] : Delete the blog from the list, but don't drop it's tables. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/site/empty/index.md b/commands/site/empty/index.md index 0b787135..d8804efb 100644 --- a/commands/site/empty/index.md +++ b/commands/site/empty/index.md @@ -10,3 +10,37 @@ title: 'wp site empty' [\--yes] : Proceed to empty the site without a confirmation prompt. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/site/index.md b/commands/site/index.md index 9bc2e970..737ea7c2 100644 --- a/commands/site/index.md +++ b/commands/site/index.md @@ -7,6 +7,40 @@ title: 'wp site' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS
    diff --git a/commands/site/list/index.md b/commands/site/list/index.md index 18d1e0f1..f3407574 100644 --- a/commands/site/list/index.md +++ b/commands/site/list/index.md @@ -45,3 +45,37 @@ These fields are optionally available: # Output a simple list of site URLs wp site list --field=url +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/site/url/index.md b/commands/site/url/index.md index 4486c501..0f3377a2 100644 --- a/commands/site/url/index.md +++ b/commands/site/url/index.md @@ -14,3 +14,37 @@ title: 'wp site url' wp site url 123 +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/super-admin/add/index.md b/commands/super-admin/add/index.md index cab1fda4..491ab302 100644 --- a/commands/super-admin/add/index.md +++ b/commands/super-admin/add/index.md @@ -8,3 +8,37 @@ title: 'wp super-admin add' <user>... : One or more user IDs, user emails, or user logins. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/super-admin/index.md b/commands/super-admin/index.md index d6483a19..f2afe0cd 100644 --- a/commands/super-admin/index.md +++ b/commands/super-admin/index.md @@ -7,6 +7,40 @@ title: 'wp super-admin' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS
    diff --git a/commands/super-admin/list/index.md b/commands/super-admin/list/index.md index f0c7d22a..0cd4da1b 100644 --- a/commands/super-admin/list/index.md +++ b/commands/super-admin/list/index.md @@ -7,3 +7,37 @@ title: 'wp super-admin list' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/super-admin/remove/index.md b/commands/super-admin/remove/index.md index 481c9b7b..ebbe100d 100644 --- a/commands/super-admin/remove/index.md +++ b/commands/super-admin/remove/index.md @@ -8,3 +8,37 @@ title: 'wp super-admin remove' <user>... : One or more user IDs, user emails, or user logins. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/term/create/index.md b/commands/term/create/index.md index e2bb1081..2dd72d9e 100644 --- a/commands/term/create/index.md +++ b/commands/term/create/index.md @@ -29,3 +29,37 @@ title: 'wp term create' wp term create category Apple --description="A type of fruit" +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/term/delete/index.md b/commands/term/delete/index.md index 4d3938cb..fef36b57 100644 --- a/commands/term/delete/index.md +++ b/commands/term/delete/index.md @@ -18,3 +18,37 @@ title: 'wp term delete' # delete all post tags wp term list post_tag --field=term_id | xargs wp term delete post_tag +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/term/generate/index.md b/commands/term/generate/index.md index 59345d5d..2c91e367 100644 --- a/commands/term/generate/index.md +++ b/commands/term/generate/index.md @@ -20,3 +20,37 @@ title: 'wp term generate' wp term generate --count=10 +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/term/get/index.md b/commands/term/get/index.md index 1788a68d..0e457bb4 100644 --- a/commands/term/get/index.md +++ b/commands/term/get/index.md @@ -16,10 +16,47 @@ title: 'wp term get' [\--field=<field>] : Instead of returning the whole term, returns the value of a single field. +[\--fields=<fields>] +: Limit the output to specific fields. Defaults to all fields. + [\--format=<format>] -: Accepted values: table, json. Default: table +: Accepted values: table, json, csv. Default: table ### EXAMPLES wp term get category 1 --format=json +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/term/index.md b/commands/term/index.md index 58776a16..7ffd976a 100644 --- a/commands/term/index.md +++ b/commands/term/index.md @@ -7,6 +7,40 @@ title: 'wp term' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS
    diff --git a/commands/term/list/index.md b/commands/term/list/index.md index c7d9d812..e37a0fbc 100644 --- a/commands/term/list/index.md +++ b/commands/term/list/index.md @@ -42,3 +42,37 @@ There are no optionally available fields. wp term list post_tag --fields=name,slug +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/term/update/index.md b/commands/term/update/index.md index 5d99e134..2582f53c 100644 --- a/commands/term/update/index.md +++ b/commands/term/update/index.md @@ -29,3 +29,37 @@ title: 'wp term update' wp term update category 15 --name=Apple +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/term/url/index.md b/commands/term/url/index.md index c2b37db5..73114513 100644 --- a/commands/term/url/index.md +++ b/commands/term/url/index.md @@ -19,3 +19,37 @@ title: 'wp term url' wp term url post_tag 123 324 +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/theme/activate/index.md b/commands/theme/activate/index.md index 181296ec..54246a65 100644 --- a/commands/theme/activate/index.md +++ b/commands/theme/activate/index.md @@ -10,3 +10,37 @@ title: 'wp theme activate' <theme> : The theme to activate. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/theme/delete/index.md b/commands/theme/delete/index.md index a4b7ff02..1642bd23 100644 --- a/commands/theme/delete/index.md +++ b/commands/theme/delete/index.md @@ -14,3 +14,37 @@ title: 'wp theme delete' wp theme delete twentyeleven +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/theme/disable/index.md b/commands/theme/disable/index.md index 8798a8c3..1482868e 100644 --- a/commands/theme/disable/index.md +++ b/commands/theme/disable/index.md @@ -21,3 +21,37 @@ enabled for them independently. wp theme disable twentythirteen --network +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/theme/enable/index.md b/commands/theme/enable/index.md index 854893fd..fe873cca 100644 --- a/commands/theme/enable/index.md +++ b/commands/theme/enable/index.md @@ -25,3 +25,37 @@ the "network" flag has no influence on this. wp theme enable twentythirteen --activate +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/theme/get/index.md b/commands/theme/get/index.md index 0d2084ad..8932a2c6 100644 --- a/commands/theme/get/index.md +++ b/commands/theme/get/index.md @@ -13,10 +13,47 @@ title: 'wp theme get' [\--field=<field>] : Instead of returning the whole theme, returns the value of a single field. +[\--fields=<fields>] +: Limit the output to specific fields. Defaults to all fields. + [\--format=<format>] -: Accepted values: table, json. Default: table +: Accepted values: table, json, csv. Default: table ### EXAMPLES wp theme get twentytwelve --format=json +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/theme/index.md b/commands/theme/index.md index 704856e2..cc3ce02e 100644 --- a/commands/theme/index.md +++ b/commands/theme/index.md @@ -7,6 +7,40 @@ title: 'wp theme' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS
    diff --git a/commands/theme/install/index.md b/commands/theme/install/index.md index d48e1e73..ac419e5b 100644 --- a/commands/theme/install/index.md +++ b/commands/theme/install/index.md @@ -32,3 +32,37 @@ for confirmation. # Install from a remote zip file wp theme install http://s3.amazonaws.com/bucketname/my-theme.zip?AWSAccessKeyId=123&Expires=456&Signature=abcdef +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/theme/is-installed/index.md b/commands/theme/is-installed/index.md index a844f050..1e0d3df0 100644 --- a/commands/theme/is-installed/index.md +++ b/commands/theme/is-installed/index.md @@ -14,3 +14,37 @@ title: 'wp theme is-installed' wp theme is-installed twentytwelve +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/theme/list/index.md b/commands/theme/list/index.md index 28eaa5b5..3306c704 100644 --- a/commands/theme/list/index.md +++ b/commands/theme/list/index.md @@ -40,3 +40,37 @@ These fields are optionally available: wp theme list --status=inactive --format=csv +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/theme/mod/get/index.md b/commands/theme/mod/get/index.md index 8923ebf6..c6944a97 100644 --- a/commands/theme/mod/get/index.md +++ b/commands/theme/mod/get/index.md @@ -22,3 +22,37 @@ title: 'wp theme mod get' wp theme mod get background_color --format=json wp theme mod get background_color header_textcolor +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/theme/mod/index.md b/commands/theme/mod/index.md index ebcdbea1..8e5eff60 100644 --- a/commands/theme/mod/index.md +++ b/commands/theme/mod/index.md @@ -7,6 +7,40 @@ title: 'wp theme mod' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS
    diff --git a/commands/theme/mod/remove/index.md b/commands/theme/mod/remove/index.md index 05692d0f..03cdc805 100644 --- a/commands/theme/mod/remove/index.md +++ b/commands/theme/mod/remove/index.md @@ -19,3 +19,37 @@ title: 'wp theme mod remove' wp theme mod remove background_color wp theme mod remove background_color header_textcolor +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/theme/mod/set/index.md b/commands/theme/mod/set/index.md index 5c0c58e1..08a87dd5 100644 --- a/commands/theme/mod/set/index.md +++ b/commands/theme/mod/set/index.md @@ -17,3 +17,37 @@ title: 'wp theme mod set' wp theme mod set background_color 000000 +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/theme/path/index.md b/commands/theme/path/index.md index ecd10efd..e2abd7b4 100644 --- a/commands/theme/path/index.md +++ b/commands/theme/path/index.md @@ -19,3 +19,37 @@ theme's "style.css" file. cd $(wp theme path) +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/theme/search/index.md b/commands/theme/search/index.md index 182336a1..1af29a32 100644 --- a/commands/theme/search/index.md +++ b/commands/theme/search/index.md @@ -39,3 +39,37 @@ title: 'wp theme search' wp theme search automattic --fields=name,version,slug,rating,num_ratings,description +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/theme/status/index.md b/commands/theme/status/index.md index bab206fb..dc1b172a 100644 --- a/commands/theme/status/index.md +++ b/commands/theme/status/index.md @@ -10,3 +10,37 @@ title: 'wp theme status' [<theme>] : A particular theme to show the status for. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/theme/update/index.md b/commands/theme/update/index.md index d6e423c6..d9d81b34 100644 --- a/commands/theme/update/index.md +++ b/commands/theme/update/index.md @@ -14,8 +14,7 @@ title: 'wp theme update' : If set, all themes that have updates will be updated. [\--version=<version>] -: If set, the theme will be updated to the latest development version, -regardless of what version is currently installed. +: If set, the plugin will be updated to the specified version. [\--dry-run] : Preview which themes would be updated. @@ -26,3 +25,37 @@ regardless of what version is currently installed. wp theme update --all +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/transient/delete-all/index.md b/commands/transient/delete-all/index.md index a86c41fe..e48fe474 100644 --- a/commands/transient/delete-all/index.md +++ b/commands/transient/delete-all/index.md @@ -7,3 +7,37 @@ title: 'wp transient delete-all' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/transient/delete-expired/index.md b/commands/transient/delete-expired/index.md index 7a45fc3a..de0e4468 100644 --- a/commands/transient/delete-expired/index.md +++ b/commands/transient/delete-expired/index.md @@ -7,3 +7,37 @@ title: 'wp transient delete-expired' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/transient/delete/index.md b/commands/transient/delete/index.md index 7a96fa5a..cbcdd0f4 100644 --- a/commands/transient/delete/index.md +++ b/commands/transient/delete/index.md @@ -7,3 +7,37 @@ title: 'wp transient delete' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/transient/get/index.md b/commands/transient/get/index.md index 2cfa2ec1..1e3ac0f7 100644 --- a/commands/transient/get/index.md +++ b/commands/transient/get/index.md @@ -7,3 +7,37 @@ title: 'wp transient get' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/transient/index.md b/commands/transient/index.md index d141f55b..46e2d289 100644 --- a/commands/transient/index.md +++ b/commands/transient/index.md @@ -9,6 +9,40 @@ title: 'wp transient' wp transient set my_key my_value 300 +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS
    diff --git a/commands/transient/set/index.md b/commands/transient/set/index.md index 4b2f5df0..fe525112 100644 --- a/commands/transient/set/index.md +++ b/commands/transient/set/index.md @@ -7,3 +7,37 @@ title: 'wp transient set' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/transient/type/index.md b/commands/transient/type/index.md index ea8a83a6..9e3ca736 100644 --- a/commands/transient/type/index.md +++ b/commands/transient/type/index.md @@ -7,3 +7,37 @@ title: 'wp transient type' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/user/add-cap/index.md b/commands/user/add-cap/index.md index e7a118fd..224c977a 100644 --- a/commands/user/add-cap/index.md +++ b/commands/user/add-cap/index.md @@ -18,3 +18,37 @@ title: 'wp user add-cap' wp user add-cap john create_premium_item wp user add-cap 15 edit_product +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/user/add-role/index.md b/commands/user/add-role/index.md index 11996b6d..d63cc04c 100644 --- a/commands/user/add-role/index.md +++ b/commands/user/add-role/index.md @@ -18,3 +18,37 @@ title: 'wp user add-role' wp user add-role bob author wp user add-role 12 author +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/user/create/index.md b/commands/user/create/index.md index 6535e4d0..e2d8712e 100644 --- a/commands/user/create/index.md +++ b/commands/user/create/index.md @@ -41,3 +41,37 @@ title: 'wp user create' wp user create bob bob@example.com --role=author +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/user/delete/index.md b/commands/user/delete/index.md index 36a4df72..21ab8e7b 100644 --- a/commands/user/delete/index.md +++ b/commands/user/delete/index.md @@ -24,3 +24,37 @@ title: 'wp user delete' # Delete user 123 and reassign posts to user 567 wp user delete 123 --reassign=567 +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/user/generate/index.md b/commands/user/generate/index.md index 6a97c6a3..d80ac8e4 100644 --- a/commands/user/generate/index.md +++ b/commands/user/generate/index.md @@ -13,3 +13,37 @@ title: 'wp user generate' [\--role=<role>] : The role of the generated users. Default: default role from WP +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/user/get/index.md b/commands/user/get/index.md index acfa5c30..69a24065 100644 --- a/commands/user/get/index.md +++ b/commands/user/get/index.md @@ -17,7 +17,7 @@ title: 'wp user get' : Get a specific subset of the user's fields. [\--format=<format>] -: Accepted values: table, json. Default: table +: Accepted values: table, json, csv. Default: table ### EXAMPLES @@ -25,3 +25,37 @@ title: 'wp user get' wp user get bob --format=json > bob.json +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/user/import-csv/index.md b/commands/user/import-csv/index.md index 0f10ef57..2dfce379 100644 --- a/commands/user/import-csv/index.md +++ b/commands/user/import-csv/index.md @@ -28,3 +28,37 @@ title: 'wp user import-csv' newuser1,newuser1@domain.com,New User,author existinguser,existinguser@domain.com,Existing User,administrator +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/user/index.md b/commands/user/index.md index ff7a9874..61c4dcad 100644 --- a/commands/user/index.md +++ b/commands/user/index.md @@ -7,6 +7,40 @@ title: 'wp user' +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS
    @@ -69,6 +103,10 @@ title: 'wp user' + + + + diff --git a/commands/user/list-caps/index.md b/commands/user/list-caps/index.md index 524c060f..68f8267e 100644 --- a/commands/user/list-caps/index.md +++ b/commands/user/list-caps/index.md @@ -15,3 +15,37 @@ title: 'wp user list-caps' wp user list-caps admin wp user list-caps 21 +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/user/list/index.md b/commands/user/list/index.md index 0b877c2f..dff4f8b7 100644 --- a/commands/user/list/index.md +++ b/commands/user/list/index.md @@ -13,6 +13,9 @@ title: 'wp user list' [\--<field>=<value>] : Control output by one or more arguments of get_users(). +[\--network] +: List all users in the network for multisite. + [\--field=<field>] : Prints the value of a single field for each user. @@ -55,3 +58,37 @@ These fields are optionally available: wp user list --fields=display_name,user_email --format=json +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/user/meta/add/index.md b/commands/user/meta/add/index.md index a6b72b0c..5bc686e7 100644 --- a/commands/user/meta/add/index.md +++ b/commands/user/meta/add/index.md @@ -14,3 +14,37 @@ title: 'wp user meta add' <value> : The new metadata value. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/user/meta/delete/index.md b/commands/user/meta/delete/index.md index 927aa366..33c2ca11 100644 --- a/commands/user/meta/delete/index.md +++ b/commands/user/meta/delete/index.md @@ -14,3 +14,37 @@ title: 'wp user meta delete' [<value>] : The value to delete. If omitted, all rows with key will deleted. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/user/meta/get/index.md b/commands/user/meta/get/index.md index 47dd0bc5..1936d8a6 100644 --- a/commands/user/meta/get/index.md +++ b/commands/user/meta/get/index.md @@ -16,3 +16,37 @@ title: 'wp user meta get' [\--format=<format>] : Accepted values: table, json. Default: table +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/user/meta/index.md b/commands/user/meta/index.md index 4a2cbd17..faff3fe4 100644 --- a/commands/user/meta/index.md +++ b/commands/user/meta/index.md @@ -16,6 +16,40 @@ title: 'wp user meta' wp user meta update admin first_name "George" +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS
    set-role Set the user role (for a particular blog).
    termManage user terms.
    update Update a user.
    diff --git a/commands/user/meta/list/index.md b/commands/user/meta/list/index.md index c768563d..09b45835 100644 --- a/commands/user/meta/list/index.md +++ b/commands/user/meta/list/index.md @@ -17,3 +17,37 @@ title: 'wp user meta list' [\--format=<format>] : Accepted values: table, csv, json, count. Default: table +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/user/meta/update/index.md b/commands/user/meta/update/index.md index 2aa3dca8..8f89faee 100644 --- a/commands/user/meta/update/index.md +++ b/commands/user/meta/update/index.md @@ -14,3 +14,37 @@ title: 'wp user meta update' <value> : The new metadata value. +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/user/remove-cap/index.md b/commands/user/remove-cap/index.md index 3b9d051b..d2991eb1 100644 --- a/commands/user/remove-cap/index.md +++ b/commands/user/remove-cap/index.md @@ -18,3 +18,37 @@ title: 'wp user remove-cap' wp user remove-cap bob edit_themes wp user remove-cap 11 publish_newsletters +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/user/remove-role/index.md b/commands/user/remove-role/index.md index 938a74f0..dbeb33d5 100644 --- a/commands/user/remove-role/index.md +++ b/commands/user/remove-role/index.md @@ -18,3 +18,37 @@ title: 'wp user remove-role' wp user remove-role bob wp user remove-role 12 editor +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/user/set-role/index.md b/commands/user/set-role/index.md index 4b513bfa..532dc962 100644 --- a/commands/user/set-role/index.md +++ b/commands/user/set-role/index.md @@ -19,3 +19,37 @@ used. wp user set-role bob author wp user set-role 12 author +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/user/term/add/index.md b/commands/user/term/add/index.md new file mode 100644 index 00000000..f26fbe06 --- /dev/null +++ b/commands/user/term/add/index.md @@ -0,0 +1,50 @@ +--- +layout: default +title: 'wp user term add' +--- + +`wp user term add` - Add a term. Appends to existed + +<id> +: The ID of the object. + +<taxonomy> +: The name of the taxonomy type to be added. + +<term>... +: The name of the term or terms to be added. + +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/user/term/index.md b/commands/user/term/index.md new file mode 100644 index 00000000..4f4c54c1 --- /dev/null +++ b/commands/user/term/index.md @@ -0,0 +1,73 @@ +--- +layout: default +title: 'wp user term' +--- + +`wp user term` - Manage user terms. + +### EXAMPLES + + wp user term set 123 test category + +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + +### SUBCOMMANDS + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescription
    addAdd a term. Appends to existed
    listList all terms associated with an object.
    removeRemove a term.
    setSet terms. Replaces existing terms
    diff --git a/commands/user/term/list/index.md b/commands/user/term/list/index.md new file mode 100644 index 00000000..a12b9e56 --- /dev/null +++ b/commands/user/term/list/index.md @@ -0,0 +1,70 @@ +--- +layout: default +title: 'wp user term list' +--- + +`wp user term list` - List all terms associated with an object. + +<id> +: ID for the object. + +<taxonomy>... +: One or more taxonomies to list. + +[\--fields=<fields>] +: Limit the output to specific row fields. + +[\--format=<format>] +: Accepted values: table, csv, json, count. Default: table + +### AVAILABLE FIELDS + +These fields will be displayed by default for each term: + +* term_id +* name +* slug +* taxonomy + +These fields are optionally available: + +* term_taxonomy_id +* description +* term_group +* parent +* count + +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/user/term/remove/index.md b/commands/user/term/remove/index.md new file mode 100644 index 00000000..669102ea --- /dev/null +++ b/commands/user/term/remove/index.md @@ -0,0 +1,50 @@ +--- +layout: default +title: 'wp user term remove' +--- + +`wp user term remove` - Remove a term. + +<id> +: The ID of the object. + +<taxonomy> +: The name of the taxonomy type to deleted. + +<term>... +: The name of the term or terms to deleted. + +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/user/term/set/index.md b/commands/user/term/set/index.md new file mode 100644 index 00000000..6754cd3d --- /dev/null +++ b/commands/user/term/set/index.md @@ -0,0 +1,50 @@ +--- +layout: default +title: 'wp user term set' +--- + +`wp user term set` - Set terms. Replaces existing terms + +<id> +: The ID of the object. + +<taxonomy> +: The name of the taxonomy type to be updated. + +<term>... +: The name of the term or terms to be updated. + +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/user/update/index.md b/commands/user/update/index.md index 5c9cc617..dce43f40 100644 --- a/commands/user/update/index.md +++ b/commands/user/update/index.md @@ -17,3 +17,37 @@ title: 'wp user update' wp user update 123 --display_name=Mary --user_pass=marypass +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/widget/add/index.md b/commands/widget/add/index.md index a6feb9b2..0621fd37 100644 --- a/commands/widget/add/index.md +++ b/commands/widget/add/index.md @@ -21,3 +21,37 @@ title: 'wp widget add' wp widget add calendar sidebar-1 2 --title="Calendar" +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/widget/deactivate/index.md b/commands/widget/deactivate/index.md index fdd58c42..39507d78 100644 --- a/commands/widget/deactivate/index.md +++ b/commands/widget/deactivate/index.md @@ -12,3 +12,37 @@ title: 'wp widget deactivate' wp widget deactivate recent-comments-2 +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/widget/delete/index.md b/commands/widget/delete/index.md index 083ca9b9..13df6872 100644 --- a/commands/widget/delete/index.md +++ b/commands/widget/delete/index.md @@ -12,3 +12,37 @@ title: 'wp widget delete' wp widget delete recent-comments-2 +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/widget/index.md b/commands/widget/index.md index 350ae6d0..ee507759 100644 --- a/commands/widget/index.md +++ b/commands/widget/index.md @@ -19,6 +19,40 @@ title: 'wp widget' # Delete one or more widgets entirely wp widget delete calendar-2 archive-1 +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + ### SUBCOMMANDS diff --git a/commands/widget/list/index.md b/commands/widget/list/index.md index cde0cb58..bcc7ac04 100644 --- a/commands/widget/list/index.md +++ b/commands/widget/list/index.md @@ -29,3 +29,37 @@ There are no optionally available fields. wp sidebar widget list <sidebar-id> --fields=name --format=csv +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/widget/move/index.md b/commands/widget/move/index.md index a58cffbe..71a2f236 100644 --- a/commands/widget/move/index.md +++ b/commands/widget/move/index.md @@ -20,3 +20,37 @@ title: 'wp widget move' wp widget move recent-comments-2 --sidebar-id=wp_inactive_widgets +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + diff --git a/commands/widget/update/index.md b/commands/widget/update/index.md index 0ff4e712..8934e398 100644 --- a/commands/widget/update/index.md +++ b/commands/widget/update/index.md @@ -15,3 +15,37 @@ title: 'wp widget update' wp widget update calendar-1 --title="Calendar" +### GLOBAL PARAMETERS + + --path=<path> + Path to the WordPress files + + --url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + --user=<id|login|email> + Set the WordPress user + + --skip-plugins[=<plugin>] + Skip loading all or some plugins + + --skip-themes[=<theme>] + Skip loading all or some themes + + --require=<path> + Load PHP file before running the command (may be used more than once) + + --[no-]color + Whether to colorize the output + + --debug + Show all PHP errors + + --prompt + Prompt the user to enter values for all command arguments + + --quiet + Suppress informational messages + + + From 9ae87b27f15b39d5e31f8a6298d36232e1d41617 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 14 Jan 2015 06:27:54 -0800 Subject: [PATCH 353/839] First pass at v0.18.0 release post --- _posts/2015-01-14-version-0.18.0.md | 99 +++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 _posts/2015-01-14-version-0.18.0.md diff --git a/_posts/2015-01-14-version-0.18.0.md b/_posts/2015-01-14-version-0.18.0.md new file mode 100644 index 00000000..94db58b4 --- /dev/null +++ b/_posts/2015-01-14-version-0.18.0.md @@ -0,0 +1,99 @@ +--- +layout: post +author: danielbachhuber +title: Version 0.18.0 released +--- + +Hello 2015! Here's your first release for the new year. + +### Update WP-CLI using WP-CLI + +We've made it even easier to keep WP-CLI up to date. If you're using the Phar distribution mechanism and WP-CLI is writable, you can use `wp cli update` to install the latest version. + +``` +$ ./wp-cli.0.17.1.phar cli update +You have version 0.17.1. Would you like to update to 0.18.0? [y/n] y +Downloading from https://github.com/wp-cli/wp-cli/releases/download/v0.18.0/wp-cli.phar... +New version works. Proceeding to replace. +Success: Updated WP-CLI to 0.18.0 +``` + +Of course, if you've installed WP-CLI with Composer, or via Git, you should run master to always use the latest and greatest. + +### Manage post and user terms + +You can now use WP-CLI to manage terms associated with posts and users: + +``` +$ wp post term add 1 post_tag foo +Success: Added term. +$ wp post term add 1 post_tag bar +Success: Added term. +$ wp post term list 1 post_tag ++---------+------+------+----------+ +| term_id | name | slug | taxonomy | ++---------+------+------+----------+ +| 4 | bar | bar | post_tag | +| 3 | foo | foo | post_tag | ++---------+------+------+----------+ +$ wp post term remove 1 post_tag foo bar +Success: Deleted term. +``` + +### More consistent behavor for plugin activation and deactivation + +We've cleaned up the behavior when activating and deactivating plugins on your network: + +* If a plugin is already active, it's allowed to become network active. +* If a plugin is already network active, it's *not* allowed to become active. +* Network active plugins must be deactivated with --network flag. +* Throws a warning when an inactive plugin is attempted to be deactivated. + +Previously, the behavior was a bit all over the map. + +### What's coming in 2015 + +If I may editorialize a bit, I think 2015 could be an interesting year for WP-CLI. + +The [WP-API project](http://github.com/wp-api/wp-api) has more overlap than you may think. The task of building a RESTful API for WordPress is also a task of preparing a useful abstraction for the API to interact with WordPress internals. Instead of directly calling `wp_update_post()`, the API uses `WP_JSON_Posts_Controller::update_item()`, which is a consistent interface with `WP_JSON_Terms_Controller::update_item()` and `WP_JSON_Users_Controller::update_item()`. + +In the course of developing WP-CLI, we too have had to invent our own pattern of abstraction for interacting with WordPress internals. It would be nice if we could drop much of our code, and leverage WP-API instead. Synergy! + +Plus, I'd think it would be quiet useful to have feature parity between what I can do locally with WP-CLI, and what I can do against a remote site via WP-API. + +### Other changes + +Enhancements: + +* Migrate users between sites in one go — `wp user import-csv ` supports CSV produced by `wp user list --format=csv > `. +* Use `wp user list --network` to list all users in your network. +* All subcommand help docs also include global parameters, to give those global parameters more visibility. +* If `--help` flag is passed, a command will now show the help screen instead of erroring on invalid parameters. Useful for solving those errored parameters. +* Similar to `--skip-plugins=,`, the `--skip-themes` global parameter allows you to skip loading specific themes when using WP-CLI. Useful for the problematic themes with built-in caching, etc. +* `wp core language`: Use `wp core language list --fields=language --status=active` to get the active language; install and activate a language with `wp core language install --activate`; active language can't be uninstalled. +* `wp (post|comment|term|user) get ` supports `--fields` parameter for getting specific fields. +* Use `wp post update ` to update a post's content from a file ``. +* Activate all plugins at once with `wp plugin activate --all`. +* `wp plugin list` will indicate version numbers for mu plugins if they have properly formatted plugin headers. +* Added support for specifying a full version for `wp plugin update ... --version=`. Previously, the parameter only supported 'dev'. +* `wp option update ` will supply a friendly message when the option is already set to the supplied value. +* Added alias from `wp theme uninstall` to `wp theme delete`, giving greater parity between theme and plugin interfaces. +* Adopted a Debian package build script. + +Bug fixes: + +* Resolved as nasty file cache collision between `wp core update` and `wp core download`. `WP_CLI\CoreUpgrader` was renaming ZIP files to `.tar.gz`, which `wp core download` would then attempt to use. +* If a file required by `wp-cli.yml` or `--require` is missing, WP-CLI will throw a human-friendly error instead of fataling. +* `wp cli info` now runs early to protect from invalid runtime configurations. +* `wp core config` will only define WPLANG for WP < 4.0. +* `/bin/install-wp-tests.sh`: Properly marked executable when scaffolding plugin unit tests; works on older versions of Bash; added support for `WP_CORE_DIR` environment variable. +* `wp comment (approve|unapprove)` will properly change comment status. +* `wp_is_mobile()` is defined, avoiding fatals in some themes and plugins. +* Windows: Disabled colors by default; allows deleting plugins that aren't in folders (e.g. Hello Dolly). +* Throws an error when getting meta on a missing object, instead of silently failing. +* Throws an error when trying to install multisite when domain is `localhost`. +* Doesn't force update check on `wp plugin install` to reduce dependency on WordPress.org. + +You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.18.0+is%3Aclosed) on Github. + +Contributors to this release: From 8b3a59cb9fdc9ff4b458c381949cf147c2063631 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 14 Jan 2015 08:12:55 -0800 Subject: [PATCH 354/839] Update contributor list --- _posts/2015-01-14-version-0.18.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2015-01-14-version-0.18.0.md b/_posts/2015-01-14-version-0.18.0.md index 94db58b4..e02643b2 100644 --- a/_posts/2015-01-14-version-0.18.0.md +++ b/_posts/2015-01-14-version-0.18.0.md @@ -96,4 +96,4 @@ Bug fixes: You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.18.0+is%3Aclosed) on Github. -Contributors to this release: +Contributors to this release: [Alex Mills](https://github.com/viper007bond), [boonebgorges](https://github.com/boonebgorges), [borekb](https://github.com/borekb), [Brad Parbs](https://github.com/bradp), [danielbachhuber](https://github.com/danielbachhuber), [mikey dubs](https://github.com/here), [miya0001](https://github.com/miya0001), [nyordanov](https://github.com/nyordanov), [oneumyvakin](https://github.com/oneumyvakin), [ozh](https://github.com/ozh), [Pippin Williamson](https://github.com/pippinsplugins), [rodrigoprimo](https://github.com/rodrigoprimo), [spacedmonkey](https://github.com/spacedmonkey), [Stephen Edgar](https://github.com/ntwb), [Svetoslav Marinov (Slavi)](https://github.com/lordspace), [szepeviktor](https://github.com/szepeviktor), [tiagohillebrandt](https://github.com/tiagohillebrandt), [William Turrell](https://github.com/wturrell) From 6ce5d72d5253e160c31a74ec7d4731280b704903 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 14 Jan 2015 08:33:42 -0800 Subject: [PATCH 355/839] Edits --- _posts/2015-01-14-version-0.18.0.md | 53 +++++++++++++++-------------- 1 file changed, 28 insertions(+), 25 deletions(-) diff --git a/_posts/2015-01-14-version-0.18.0.md b/_posts/2015-01-14-version-0.18.0.md index e02643b2..5ea9d6a6 100644 --- a/_posts/2015-01-14-version-0.18.0.md +++ b/_posts/2015-01-14-version-0.18.0.md @@ -8,7 +8,7 @@ Hello 2015! Here's your first release for the new year. ### Update WP-CLI using WP-CLI -We've made it even easier to keep WP-CLI up to date. If you're using the Phar distribution mechanism and WP-CLI is writable, you can use `wp cli update` to install the latest version. +We've made it even easier to keep WP-CLI up to date. If you're using the Phar file and it's writable, you can call `wp cli update` to install the latest version. ``` $ ./wp-cli.0.17.1.phar cli update @@ -18,17 +18,19 @@ New version works. Proceeding to replace. Success: Updated WP-CLI to 0.18.0 ``` -Of course, if you've installed WP-CLI with Composer, or via Git, you should run master to always use the latest and greatest. +Of course, if you've installed WP-CLI via Composer or Git, you should run master to always get the latest and greatest. ### Manage post and user terms -You can now use WP-CLI to manage terms associated with posts and users: +WP-CLI supports managing terms associated with posts and users: ``` $ wp post term add 1 post_tag foo Success: Added term. + $ wp post term add 1 post_tag bar Success: Added term. + $ wp post term list 1 post_tag +---------+------+------+----------+ | term_id | name | slug | taxonomy | @@ -36,28 +38,29 @@ $ wp post term list 1 post_tag | 4 | bar | bar | post_tag | | 3 | foo | foo | post_tag | +---------+------+------+----------+ + $ wp post term remove 1 post_tag foo bar Success: Deleted term. ``` -### More consistent behavor for plugin activation and deactivation +### Consistent behavor for plugin activation and deactivation -We've cleaned up the behavior when activating and deactivating plugins on your network: +We've cleaned up the behavior for activating and deactivating plugins: * If a plugin is already active, it's allowed to become network active. * If a plugin is already network active, it's *not* allowed to become active. -* Network active plugins must be deactivated with --network flag. -* Throws a warning when an inactive plugin is attempted to be deactivated. +* Network active plugins must be deactivated with the `--network` flag. +* A warning will be thrown when an inactive plugin is attempted to be deactivated. -Previously, the behavior was a bit all over the map. +Previously, the behavior was quite inconsistent — sometimes you'd get errors, sometimes silent success, etc. ### What's coming in 2015 If I may editorialize a bit, I think 2015 could be an interesting year for WP-CLI. -The [WP-API project](http://github.com/wp-api/wp-api) has more overlap than you may think. The task of building a RESTful API for WordPress is also a task of preparing a useful abstraction for the API to interact with WordPress internals. Instead of directly calling `wp_update_post()`, the API uses `WP_JSON_Posts_Controller::update_item()`, which is a consistent interface with `WP_JSON_Terms_Controller::update_item()` and `WP_JSON_Users_Controller::update_item()`. +The [WP-API project](http://github.com/wp-api/wp-api) has more overlap than you may think. The task of building a RESTful API for WordPress is also a task of preparing a useful abstraction to interact with WordPress internals. Instead of directly calling `wp_update_post()`, the API uses `WP_JSON_Posts_Controller::update_item()`, which is a consistent interface with `WP_JSON_Terms_Controller::update_item()` and `WP_JSON_Users_Controller::update_item()`. -In the course of developing WP-CLI, we too have had to invent our own pattern of abstraction for interacting with WordPress internals. It would be nice if we could drop much of our code, and leverage WP-API instead. Synergy! +Similarly, we too have had to invent our own pattern of abstraction for interacting with WordPress internals. It would be nice if we could drop much of our code, and leverage WP-API instead. And, what if `WP_JSON_Controller` was the pattern we adopted for listing, getting, creating, updating, or deleting any WordPress primitive (including custom post types)? Plus, I'd think it would be quiet useful to have feature parity between what I can do locally with WP-CLI, and what I can do against a remote site via WP-API. @@ -68,32 +71,32 @@ Enhancements: * Migrate users between sites in one go — `wp user import-csv ` supports CSV produced by `wp user list --format=csv > `. * Use `wp user list --network` to list all users in your network. * All subcommand help docs also include global parameters, to give those global parameters more visibility. -* If `--help` flag is passed, a command will now show the help screen instead of erroring on invalid parameters. Useful for solving those errored parameters. -* Similar to `--skip-plugins=,`, the `--skip-themes` global parameter allows you to skip loading specific themes when using WP-CLI. Useful for the problematic themes with built-in caching, etc. -* `wp core language`: Use `wp core language list --fields=language --status=active` to get the active language; install and activate a language with `wp core language install --activate`; active language can't be uninstalled. +* If `--help` flag is passed, a command will now show the help screen instead of erroring on invalid parameters. Useful for debugging aforementioned errored parameters. +* Similar to `--skip-plugins=,`, the `--skip-themes` global parameter allows you to skip loading specific themes when using WP-CLI. If you run a hosting company, this can be a useful way to blacklist known problem themes when performing maintenance. +* `wp core language` improvements: Use `wp core language list --fields=language --status=active` to get the active language; install and activate a language with `wp core language install --activate`; active language can't be uninstalled. * `wp (post|comment|term|user) get ` supports `--fields` parameter for getting specific fields. -* Use `wp post update ` to update a post's content from a file ``. -* Activate all plugins at once with `wp plugin activate --all`. -* `wp plugin list` will indicate version numbers for mu plugins if they have properly formatted plugin headers. -* Added support for specifying a full version for `wp plugin update ... --version=`. Previously, the parameter only supported 'dev'. +* Use `wp post update ` to update a post's content from a ``. +* Activate all installed plugins at once with `wp plugin activate --all`. +* `wp plugin list` now indicates version numbers for mu plugins when they have properly formatted plugin headers. +* Added support for specifying any version for `wp plugin update ... --version=`. Previously, the parameter only supported 'dev'. * `wp option update ` will supply a friendly message when the option is already set to the supplied value. * Added alias from `wp theme uninstall` to `wp theme delete`, giving greater parity between theme and plugin interfaces. * Adopted a Debian package build script. Bug fixes: -* Resolved as nasty file cache collision between `wp core update` and `wp core download`. `WP_CLI\CoreUpgrader` was renaming ZIP files to `.tar.gz`, which `wp core download` would then attempt to use. +* Resolved a nasty file cache collision between `wp core update` and `wp core download`. `WP_CLI\CoreUpgrader` was renaming ZIP files to `.tar.gz`, which `wp core download` would then attempt to use. * If a file required by `wp-cli.yml` or `--require` is missing, WP-CLI will throw a human-friendly error instead of fataling. -* `wp cli info` now runs early to protect from invalid runtime configurations. +* `wp cli info` runs early to protect from invalid runtime configurations. * `wp core config` will only define WPLANG for WP < 4.0. -* `/bin/install-wp-tests.sh`: Properly marked executable when scaffolding plugin unit tests; works on older versions of Bash; added support for `WP_CORE_DIR` environment variable. -* `wp comment (approve|unapprove)` will properly change comment status. +* `/bin/install-wp-tests.sh` fixes: Properly marked executable when scaffolding plugin unit tests; works on older versions of Bash; added support for `WP_CORE_DIR` environment variable. +* `wp comment (approve|unapprove)` will actually change comment status. * `wp_is_mobile()` is defined, avoiding fatals in some themes and plugins. -* Windows: Disabled colors by default; allows deleting plugins that aren't in folders (e.g. Hello Dolly). -* Throws an error when getting meta on a missing object, instead of silently failing. -* Throws an error when trying to install multisite when domain is `localhost`. +* Windows fixes: disabled colors by default; allows deleting plugins that aren't in folders (e.g. Hello Dolly). +* Throws an error when trying to get meta on a missing object, instead of silently failing. +* Throws an error when trying to install multisite with subdomains when domain is `localhost`. * Doesn't force update check on `wp plugin install` to reduce dependency on WordPress.org. You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.18.0+is%3Aclosed) on Github. -Contributors to this release: [Alex Mills](https://github.com/viper007bond), [boonebgorges](https://github.com/boonebgorges), [borekb](https://github.com/borekb), [Brad Parbs](https://github.com/bradp), [danielbachhuber](https://github.com/danielbachhuber), [mikey dubs](https://github.com/here), [miya0001](https://github.com/miya0001), [nyordanov](https://github.com/nyordanov), [oneumyvakin](https://github.com/oneumyvakin), [ozh](https://github.com/ozh), [Pippin Williamson](https://github.com/pippinsplugins), [rodrigoprimo](https://github.com/rodrigoprimo), [spacedmonkey](https://github.com/spacedmonkey), [Stephen Edgar](https://github.com/ntwb), [Svetoslav Marinov (Slavi)](https://github.com/lordspace), [szepeviktor](https://github.com/szepeviktor), [tiagohillebrandt](https://github.com/tiagohillebrandt), [William Turrell](https://github.com/wturrell) +Contributors to this release: [viper007bond](https://github.com/viper007bond), [boonebgorges](https://github.com/boonebgorges), [borekb](https://github.com/borekb), [bparbs](https://github.com/bradp), [danielbachhuber](https://github.com/danielbachhuber), [here](https://github.com/here), [miya0001](https://github.com/miya0001), [nyordanov](https://github.com/nyordanov), [oneumyvakin](https://github.com/oneumyvakin), [ozh](https://github.com/ozh), [pippinsplugins](https://github.com/pippinsplugins), [rodrigoprimo](https://github.com/rodrigoprimo), [spacedmonkey](https://github.com/spacedmonkey), [ntwb](https://github.com/ntwb), [lordspace](https://github.com/lordspace), [szepeviktor](https://github.com/szepeviktor), [tiagohillebrandt](https://github.com/tiagohillebrandt), [wturrell](https://github.com/wturrell) From 9084ce6c509276c9243c2dff8a90cbcff5abb2e6 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 14 Jan 2015 08:51:24 -0800 Subject: [PATCH 356/839] Close the loop --- _posts/2015-01-14-version-0.18.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2015-01-14-version-0.18.0.md b/_posts/2015-01-14-version-0.18.0.md index 5ea9d6a6..1e8034b0 100644 --- a/_posts/2015-01-14-version-0.18.0.md +++ b/_posts/2015-01-14-version-0.18.0.md @@ -60,7 +60,7 @@ If I may editorialize a bit, I think 2015 could be an interesting year for WP-CL The [WP-API project](http://github.com/wp-api/wp-api) has more overlap than you may think. The task of building a RESTful API for WordPress is also a task of preparing a useful abstraction to interact with WordPress internals. Instead of directly calling `wp_update_post()`, the API uses `WP_JSON_Posts_Controller::update_item()`, which is a consistent interface with `WP_JSON_Terms_Controller::update_item()` and `WP_JSON_Users_Controller::update_item()`. -Similarly, we too have had to invent our own pattern of abstraction for interacting with WordPress internals. It would be nice if we could drop much of our code, and leverage WP-API instead. And, what if `WP_JSON_Controller` was the pattern we adopted for listing, getting, creating, updating, or deleting any WordPress primitive (including custom post types)? +Similarly, we too have had to invent our own pattern of abstraction for interacting with WordPress internals. It would be nice if we could drop much of our code, and leverage WP-API instead. And, what if `WP_JSON_Controller` was the pattern we adopted for listing, getting, creating, updating, or deleting any WordPress primitive, which means that plugins implementing it would automatically have WP-CLI commands? Plus, I'd think it would be quiet useful to have feature parity between what I can do locally with WP-CLI, and what I can do against a remote site via WP-API. From 264da48b263d6eaaff8e282392faa70c0d0b44a4 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 14 Jan 2015 08:59:16 -0800 Subject: [PATCH 357/839] Fix code blocks --- _posts/2015-01-14-version-0.18.0.md | 47 ++++++++++++++--------------- 1 file changed, 22 insertions(+), 25 deletions(-) diff --git a/_posts/2015-01-14-version-0.18.0.md b/_posts/2015-01-14-version-0.18.0.md index 1e8034b0..0de80a63 100644 --- a/_posts/2015-01-14-version-0.18.0.md +++ b/_posts/2015-01-14-version-0.18.0.md @@ -10,13 +10,12 @@ Hello 2015! Here's your first release for the new year. We've made it even easier to keep WP-CLI up to date. If you're using the Phar file and it's writable, you can call `wp cli update` to install the latest version. -``` -$ ./wp-cli.0.17.1.phar cli update -You have version 0.17.1. Would you like to update to 0.18.0? [y/n] y -Downloading from https://github.com/wp-cli/wp-cli/releases/download/v0.18.0/wp-cli.phar... -New version works. Proceeding to replace. -Success: Updated WP-CLI to 0.18.0 -``` + + $ ./wp-cli.0.17.1.phar cli update + You have version 0.17.1. Would you like to update to 0.18.0? [y/n] y + Downloading from https://github.com/wp-cli/wp-cli/releases/download/v0.18.0/wp-cli.phar... + New version works. Proceeding to replace. + Success: Updated WP-CLI to 0.18.0 Of course, if you've installed WP-CLI via Composer or Git, you should run master to always get the latest and greatest. @@ -24,24 +23,22 @@ Of course, if you've installed WP-CLI via Composer or Git, you should run master WP-CLI supports managing terms associated with posts and users: -``` -$ wp post term add 1 post_tag foo -Success: Added term. - -$ wp post term add 1 post_tag bar -Success: Added term. - -$ wp post term list 1 post_tag -+---------+------+------+----------+ -| term_id | name | slug | taxonomy | -+---------+------+------+----------+ -| 4 | bar | bar | post_tag | -| 3 | foo | foo | post_tag | -+---------+------+------+----------+ - -$ wp post term remove 1 post_tag foo bar -Success: Deleted term. -``` + $ wp post term add 1 post_tag foo + Success: Added term. + + $ wp post term add 1 post_tag bar + Success: Added term. + + $ wp post term list 1 post_tag + +---------+------+------+----------+ + | term_id | name | slug | taxonomy | + +---------+------+------+----------+ + | 4 | bar | bar | post_tag | + | 3 | foo | foo | post_tag | + +---------+------+------+----------+ + + $ wp post term remove 1 post_tag foo bar + Success: Deleted term. ### Consistent behavor for plugin activation and deactivation From 218335cb3634485ea67fbd849c1af3b81155c0bf Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 1 Apr 2015 12:25:11 -0700 Subject: [PATCH 358/839] Escape global parameters --- Phakefile.php | 1 + commands/cache/add/index.md | 20 ++++++++++---------- commands/cache/decr/index.md | 20 ++++++++++---------- commands/cache/delete/index.md | 20 ++++++++++---------- commands/cache/flush/index.md | 20 ++++++++++---------- commands/cache/get/index.md | 20 ++++++++++---------- commands/cache/incr/index.md | 20 ++++++++++---------- commands/cache/index.md | 20 ++++++++++---------- commands/cache/replace/index.md | 20 ++++++++++---------- commands/cache/set/index.md | 20 ++++++++++---------- commands/cache/type/index.md | 20 ++++++++++---------- commands/cap/add/index.md | 20 ++++++++++---------- commands/cap/index.md | 20 ++++++++++---------- commands/cap/list/index.md | 20 ++++++++++---------- commands/cap/remove/index.md | 20 ++++++++++---------- commands/cli/check-update/index.md | 20 ++++++++++---------- commands/cli/cmd-dump/index.md | 20 ++++++++++---------- commands/cli/completions/index.md | 20 ++++++++++---------- commands/cli/index.md | 20 ++++++++++---------- commands/cli/info/index.md | 20 ++++++++++---------- commands/cli/param-dump/index.md | 20 ++++++++++---------- commands/cli/update/index.md | 20 ++++++++++---------- commands/cli/version/index.md | 20 ++++++++++---------- commands/comment/approve/index.md | 20 ++++++++++---------- commands/comment/count/index.md | 20 ++++++++++---------- commands/comment/create/index.md | 20 ++++++++++---------- commands/comment/delete/index.md | 20 ++++++++++---------- commands/comment/exists/index.md | 20 ++++++++++---------- commands/comment/get/index.md | 20 ++++++++++---------- commands/comment/index.md | 20 ++++++++++---------- commands/comment/list/index.md | 20 ++++++++++---------- commands/comment/meta/add/index.md | 20 ++++++++++---------- commands/comment/meta/delete/index.md | 20 ++++++++++---------- commands/comment/meta/get/index.md | 20 ++++++++++---------- commands/comment/meta/index.md | 20 ++++++++++---------- commands/comment/meta/list/index.md | 20 ++++++++++---------- commands/comment/meta/update/index.md | 20 ++++++++++---------- commands/comment/spam/index.md | 20 ++++++++++---------- commands/comment/status/index.md | 20 ++++++++++---------- commands/comment/trash/index.md | 20 ++++++++++---------- commands/comment/unapprove/index.md | 20 ++++++++++---------- commands/comment/unspam/index.md | 20 ++++++++++---------- commands/comment/untrash/index.md | 20 ++++++++++---------- commands/comment/update/index.md | 20 ++++++++++---------- commands/comment/url/index.md | 20 ++++++++++---------- commands/core/check-update/index.md | 20 ++++++++++---------- commands/core/config/index.md | 20 ++++++++++---------- commands/core/download/index.md | 20 ++++++++++---------- commands/core/index.md | 20 ++++++++++---------- commands/core/install/index.md | 20 ++++++++++---------- commands/core/is-installed/index.md | 20 ++++++++++---------- commands/core/language/activate/index.md | 20 ++++++++++---------- commands/core/language/index.md | 20 ++++++++++---------- commands/core/language/install/index.md | 20 ++++++++++---------- commands/core/language/list/index.md | 20 ++++++++++---------- commands/core/language/uninstall/index.md | 20 ++++++++++---------- commands/core/multisite-convert/index.md | 20 ++++++++++---------- commands/core/multisite-install/index.md | 20 ++++++++++---------- commands/core/update-db/index.md | 20 ++++++++++---------- commands/core/update/index.md | 20 ++++++++++---------- commands/core/verify-checksums/index.md | 20 ++++++++++---------- commands/core/version/index.md | 20 ++++++++++---------- commands/cron/event/delete/index.md | 20 ++++++++++---------- commands/cron/event/index.md | 20 ++++++++++---------- commands/cron/event/list/index.md | 20 ++++++++++---------- commands/cron/event/run/index.md | 20 ++++++++++---------- commands/cron/event/schedule/index.md | 20 ++++++++++---------- commands/cron/index.md | 20 ++++++++++---------- commands/cron/schedule/index.md | 20 ++++++++++---------- commands/cron/schedule/list/index.md | 20 ++++++++++---------- commands/cron/test/index.md | 20 ++++++++++---------- commands/db/cli/index.md | 20 ++++++++++---------- commands/db/create/index.md | 20 ++++++++++---------- commands/db/drop/index.md | 20 ++++++++++---------- commands/db/export/index.md | 20 ++++++++++---------- commands/db/import/index.md | 20 ++++++++++---------- commands/db/index.md | 20 ++++++++++---------- commands/db/optimize/index.md | 20 ++++++++++---------- commands/db/query/index.md | 20 ++++++++++---------- commands/db/repair/index.md | 20 ++++++++++---------- commands/db/reset/index.md | 20 ++++++++++---------- commands/db/tables/index.md | 20 ++++++++++---------- commands/eval-file/index.md | 20 ++++++++++---------- commands/eval/index.md | 20 ++++++++++---------- commands/export/index.md | 20 ++++++++++---------- commands/help/index.md | 20 ++++++++++---------- commands/import/index.md | 20 ++++++++++---------- commands/media/import/index.md | 20 ++++++++++---------- commands/media/index.md | 20 ++++++++++---------- commands/media/regenerate/index.md | 20 ++++++++++---------- commands/menu/create/index.md | 20 ++++++++++---------- commands/menu/delete/index.md | 20 ++++++++++---------- commands/menu/index.md | 20 ++++++++++---------- commands/menu/item/add-custom/index.md | 20 ++++++++++---------- commands/menu/item/add-post/index.md | 20 ++++++++++---------- commands/menu/item/add-term/index.md | 20 ++++++++++---------- commands/menu/item/delete/index.md | 20 ++++++++++---------- commands/menu/item/index.md | 20 ++++++++++---------- commands/menu/item/list/index.md | 20 ++++++++++---------- commands/menu/item/update/index.md | 20 ++++++++++---------- commands/menu/list/index.md | 20 ++++++++++---------- commands/menu/location/assign/index.md | 20 ++++++++++---------- commands/menu/location/index.md | 20 ++++++++++---------- commands/menu/location/list/index.md | 20 ++++++++++---------- commands/menu/location/remove/index.md | 20 ++++++++++---------- commands/network/index.md | 20 ++++++++++---------- commands/network/meta/add/index.md | 20 ++++++++++---------- commands/network/meta/delete/index.md | 20 ++++++++++---------- commands/network/meta/get/index.md | 20 ++++++++++---------- commands/network/meta/index.md | 20 ++++++++++---------- commands/network/meta/list/index.md | 20 ++++++++++---------- commands/network/meta/update/index.md | 20 ++++++++++---------- commands/option/add/index.md | 20 ++++++++++---------- commands/option/delete/index.md | 20 ++++++++++---------- commands/option/get/index.md | 20 ++++++++++---------- commands/option/index.md | 20 ++++++++++---------- commands/option/update/index.md | 20 ++++++++++---------- commands/plugin/activate/index.md | 20 ++++++++++---------- commands/plugin/deactivate/index.md | 20 ++++++++++---------- commands/plugin/delete/index.md | 20 ++++++++++---------- commands/plugin/get/index.md | 20 ++++++++++---------- commands/plugin/index.md | 20 ++++++++++---------- commands/plugin/install/index.md | 20 ++++++++++---------- commands/plugin/is-installed/index.md | 20 ++++++++++---------- commands/plugin/list/index.md | 20 ++++++++++---------- commands/plugin/path/index.md | 20 ++++++++++---------- commands/plugin/search/index.md | 20 ++++++++++---------- commands/plugin/status/index.md | 20 ++++++++++---------- commands/plugin/toggle/index.md | 20 ++++++++++---------- commands/plugin/uninstall/index.md | 20 ++++++++++---------- commands/plugin/update/index.md | 20 ++++++++++---------- commands/post/create/index.md | 20 ++++++++++---------- commands/post/delete/index.md | 20 ++++++++++---------- commands/post/edit/index.md | 20 ++++++++++---------- commands/post/generate/index.md | 20 ++++++++++---------- commands/post/get/index.md | 20 ++++++++++---------- commands/post/index.md | 20 ++++++++++---------- commands/post/list/index.md | 20 ++++++++++---------- commands/post/meta/add/index.md | 20 ++++++++++---------- commands/post/meta/delete/index.md | 20 ++++++++++---------- commands/post/meta/get/index.md | 20 ++++++++++---------- commands/post/meta/index.md | 20 ++++++++++---------- commands/post/meta/list/index.md | 20 ++++++++++---------- commands/post/meta/update/index.md | 20 ++++++++++---------- commands/post/term/add/index.md | 20 ++++++++++---------- commands/post/term/index.md | 20 ++++++++++---------- commands/post/term/list/index.md | 20 ++++++++++---------- commands/post/term/remove/index.md | 20 ++++++++++---------- commands/post/term/set/index.md | 20 ++++++++++---------- commands/post/update/index.md | 20 ++++++++++---------- commands/post/url/index.md | 20 ++++++++++---------- commands/rewrite/flush/index.md | 20 ++++++++++---------- commands/rewrite/index.md | 20 ++++++++++---------- commands/rewrite/list/index.md | 20 ++++++++++---------- commands/rewrite/structure/index.md | 20 ++++++++++---------- commands/role/create/index.md | 20 ++++++++++---------- commands/role/delete/index.md | 20 ++++++++++---------- commands/role/exists/index.md | 20 ++++++++++---------- commands/role/index.md | 20 ++++++++++---------- commands/role/list/index.md | 20 ++++++++++---------- commands/role/reset/index.md | 20 ++++++++++---------- commands/scaffold/_s/index.md | 20 ++++++++++---------- commands/scaffold/child-theme/index.md | 20 ++++++++++---------- commands/scaffold/index.md | 20 ++++++++++---------- commands/scaffold/package-tests/index.md | 20 ++++++++++---------- commands/scaffold/plugin-tests/index.md | 20 ++++++++++---------- commands/scaffold/plugin/index.md | 20 ++++++++++---------- commands/scaffold/post-type/index.md | 20 ++++++++++---------- commands/scaffold/taxonomy/index.md | 20 ++++++++++---------- commands/search-replace/index.md | 20 ++++++++++---------- commands/shell/index.md | 20 ++++++++++---------- commands/sidebar/index.md | 20 ++++++++++---------- commands/sidebar/list/index.md | 20 ++++++++++---------- commands/site/create/index.md | 20 ++++++++++---------- commands/site/delete/index.md | 20 ++++++++++---------- commands/site/empty/index.md | 20 ++++++++++---------- commands/site/index.md | 20 ++++++++++---------- commands/site/list/index.md | 20 ++++++++++---------- commands/site/url/index.md | 20 ++++++++++---------- commands/super-admin/add/index.md | 20 ++++++++++---------- commands/super-admin/index.md | 20 ++++++++++---------- commands/super-admin/list/index.md | 20 ++++++++++---------- commands/super-admin/remove/index.md | 20 ++++++++++---------- commands/term/create/index.md | 20 ++++++++++---------- commands/term/delete/index.md | 20 ++++++++++---------- commands/term/generate/index.md | 20 ++++++++++---------- commands/term/get/index.md | 20 ++++++++++---------- commands/term/index.md | 20 ++++++++++---------- commands/term/list/index.md | 20 ++++++++++---------- commands/term/update/index.md | 20 ++++++++++---------- commands/term/url/index.md | 20 ++++++++++---------- commands/theme/activate/index.md | 20 ++++++++++---------- commands/theme/delete/index.md | 20 ++++++++++---------- commands/theme/disable/index.md | 20 ++++++++++---------- commands/theme/enable/index.md | 20 ++++++++++---------- commands/theme/get/index.md | 20 ++++++++++---------- commands/theme/index.md | 20 ++++++++++---------- commands/theme/install/index.md | 20 ++++++++++---------- commands/theme/is-installed/index.md | 20 ++++++++++---------- commands/theme/list/index.md | 20 ++++++++++---------- commands/theme/mod/get/index.md | 20 ++++++++++---------- commands/theme/mod/index.md | 20 ++++++++++---------- commands/theme/mod/remove/index.md | 20 ++++++++++---------- commands/theme/mod/set/index.md | 20 ++++++++++---------- commands/theme/path/index.md | 20 ++++++++++---------- commands/theme/search/index.md | 20 ++++++++++---------- commands/theme/status/index.md | 20 ++++++++++---------- commands/theme/update/index.md | 20 ++++++++++---------- commands/transient/delete-all/index.md | 20 ++++++++++---------- commands/transient/delete-expired/index.md | 20 ++++++++++---------- commands/transient/delete/index.md | 20 ++++++++++---------- commands/transient/get/index.md | 20 ++++++++++---------- commands/transient/index.md | 20 ++++++++++---------- commands/transient/set/index.md | 20 ++++++++++---------- commands/transient/type/index.md | 20 ++++++++++---------- commands/user/add-cap/index.md | 20 ++++++++++---------- commands/user/add-role/index.md | 20 ++++++++++---------- commands/user/create/index.md | 20 ++++++++++---------- commands/user/delete/index.md | 20 ++++++++++---------- commands/user/generate/index.md | 20 ++++++++++---------- commands/user/get/index.md | 20 ++++++++++---------- commands/user/import-csv/index.md | 20 ++++++++++---------- commands/user/index.md | 20 ++++++++++---------- commands/user/list-caps/index.md | 20 ++++++++++---------- commands/user/list/index.md | 20 ++++++++++---------- commands/user/meta/add/index.md | 20 ++++++++++---------- commands/user/meta/delete/index.md | 20 ++++++++++---------- commands/user/meta/get/index.md | 20 ++++++++++---------- commands/user/meta/index.md | 20 ++++++++++---------- commands/user/meta/list/index.md | 20 ++++++++++---------- commands/user/meta/update/index.md | 20 ++++++++++---------- commands/user/remove-cap/index.md | 20 ++++++++++---------- commands/user/remove-role/index.md | 20 ++++++++++---------- commands/user/set-role/index.md | 20 ++++++++++---------- commands/user/term/add/index.md | 20 ++++++++++---------- commands/user/term/index.md | 20 ++++++++++---------- commands/user/term/list/index.md | 20 ++++++++++---------- commands/user/term/remove/index.md | 20 ++++++++++---------- commands/user/term/set/index.md | 20 ++++++++++---------- commands/user/update/index.md | 20 ++++++++++---------- commands/widget/add/index.md | 20 ++++++++++---------- commands/widget/deactivate/index.md | 20 ++++++++++---------- commands/widget/delete/index.md | 20 ++++++++++---------- commands/widget/index.md | 20 ++++++++++---------- commands/widget/list/index.md | 20 ++++++++++---------- commands/widget/move/index.md | 20 ++++++++++---------- commands/widget/update/index.md | 20 ++++++++++---------- 247 files changed, 2461 insertions(+), 2460 deletions(-) diff --git a/Phakefile.php b/Phakefile.php index 4240bc06..1969c9d1 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -54,6 +54,7 @@ function gen_cmd_pages( $cmd, $parent = array() ) { // escape `--` so that it doesn't get converted into `—` $docs = preg_replace( '/^(\[?)--/m', '\1\--', $docs ); + $docs = preg_replace( '/^\s\s--/m', ' \1\--', $docs ); // hack to prevent double encoding in code blocks $docs = preg_replace( '/ < /', ' < ', $docs ); diff --git a/commands/cache/add/index.md b/commands/cache/add/index.md index 8721fcc8..a52faac3 100644 --- a/commands/cache/add/index.md +++ b/commands/cache/add/index.md @@ -9,34 +9,34 @@ title: 'wp cache add' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/cache/decr/index.md b/commands/cache/decr/index.md index 86f13b94..43d013d3 100644 --- a/commands/cache/decr/index.md +++ b/commands/cache/decr/index.md @@ -9,34 +9,34 @@ title: 'wp cache decr' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/cache/delete/index.md b/commands/cache/delete/index.md index 8aad36c3..8d952b2a 100644 --- a/commands/cache/delete/index.md +++ b/commands/cache/delete/index.md @@ -9,34 +9,34 @@ title: 'wp cache delete' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/cache/flush/index.md b/commands/cache/flush/index.md index 984841cc..bfb32bd0 100644 --- a/commands/cache/flush/index.md +++ b/commands/cache/flush/index.md @@ -9,34 +9,34 @@ title: 'wp cache flush' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/cache/get/index.md b/commands/cache/get/index.md index 79129cc8..ec312b86 100644 --- a/commands/cache/get/index.md +++ b/commands/cache/get/index.md @@ -9,34 +9,34 @@ title: 'wp cache get' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/cache/incr/index.md b/commands/cache/incr/index.md index 1e875cfc..6ab6df24 100644 --- a/commands/cache/incr/index.md +++ b/commands/cache/incr/index.md @@ -9,34 +9,34 @@ title: 'wp cache incr' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/cache/index.md b/commands/cache/index.md index 6fc8bb75..c88dc85c 100644 --- a/commands/cache/index.md +++ b/commands/cache/index.md @@ -13,34 +13,34 @@ title: 'wp cache' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/cache/replace/index.md b/commands/cache/replace/index.md index 1d8d57b4..cb91e882 100644 --- a/commands/cache/replace/index.md +++ b/commands/cache/replace/index.md @@ -9,34 +9,34 @@ title: 'wp cache replace' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/cache/set/index.md b/commands/cache/set/index.md index 2496b981..10203583 100644 --- a/commands/cache/set/index.md +++ b/commands/cache/set/index.md @@ -9,34 +9,34 @@ title: 'wp cache set' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/cache/type/index.md b/commands/cache/type/index.md index ed21e101..67970c4b 100644 --- a/commands/cache/type/index.md +++ b/commands/cache/type/index.md @@ -11,34 +11,34 @@ problems with this function's ability to determine which object cache is being u ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/cap/add/index.md b/commands/cap/add/index.md index 95dd5cc3..fb5e0a0c 100644 --- a/commands/cap/add/index.md +++ b/commands/cap/add/index.md @@ -9,34 +9,34 @@ title: 'wp cap add' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/cap/index.md b/commands/cap/index.md index d5d87887..75459949 100644 --- a/commands/cap/index.md +++ b/commands/cap/index.md @@ -18,34 +18,34 @@ title: 'wp cap' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/cap/list/index.md b/commands/cap/list/index.md index 47eee99d..7328973a 100644 --- a/commands/cap/list/index.md +++ b/commands/cap/list/index.md @@ -12,34 +12,34 @@ title: 'wp cap list' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/cap/remove/index.md b/commands/cap/remove/index.md index 93b6b0fb..6d7490d4 100644 --- a/commands/cap/remove/index.md +++ b/commands/cap/remove/index.md @@ -9,34 +9,34 @@ title: 'wp cap remove' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/cli/check-update/index.md b/commands/cli/check-update/index.md index b7582c3b..7ac0aae1 100644 --- a/commands/cli/check-update/index.md +++ b/commands/cli/check-update/index.md @@ -24,34 +24,34 @@ title: 'wp cli check-update' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/cli/cmd-dump/index.md b/commands/cli/cmd-dump/index.md index d0b23003..c84dc6c6 100644 --- a/commands/cli/cmd-dump/index.md +++ b/commands/cli/cmd-dump/index.md @@ -9,34 +9,34 @@ title: 'wp cli cmd-dump' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/cli/completions/index.md b/commands/cli/completions/index.md index 0ec1dfd1..fb410115 100644 --- a/commands/cli/completions/index.md +++ b/commands/cli/completions/index.md @@ -15,34 +15,34 @@ title: 'wp cli completions' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/cli/index.md b/commands/cli/index.md index 1839f3e0..082f6d7d 100644 --- a/commands/cli/index.md +++ b/commands/cli/index.md @@ -9,34 +9,34 @@ title: 'wp cli' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/cli/info/index.md b/commands/cli/info/index.md index 653fffcd..508816b5 100644 --- a/commands/cli/info/index.md +++ b/commands/cli/info/index.md @@ -12,34 +12,34 @@ title: 'wp cli info' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/cli/param-dump/index.md b/commands/cli/param-dump/index.md index db90d7f1..daa56c81 100644 --- a/commands/cli/param-dump/index.md +++ b/commands/cli/param-dump/index.md @@ -9,34 +9,34 @@ title: 'wp cli param-dump' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/cli/update/index.md b/commands/cli/update/index.md index 5d629b1d..1b2f0e83 100644 --- a/commands/cli/update/index.md +++ b/commands/cli/update/index.md @@ -18,34 +18,34 @@ title: 'wp cli update' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/cli/version/index.md b/commands/cli/version/index.md index feacfe7c..825fdce2 100644 --- a/commands/cli/version/index.md +++ b/commands/cli/version/index.md @@ -9,34 +9,34 @@ title: 'wp cli version' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/comment/approve/index.md b/commands/comment/approve/index.md index 3314c2cf..cf0e6cce 100644 --- a/commands/comment/approve/index.md +++ b/commands/comment/approve/index.md @@ -16,34 +16,34 @@ title: 'wp comment approve' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/comment/count/index.md b/commands/comment/count/index.md index f7a7d055..37802fb4 100644 --- a/commands/comment/count/index.md +++ b/commands/comment/count/index.md @@ -17,34 +17,34 @@ title: 'wp comment count' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/comment/create/index.md b/commands/comment/create/index.md index 58243a9c..ae307086 100644 --- a/commands/comment/create/index.md +++ b/commands/comment/create/index.md @@ -19,34 +19,34 @@ title: 'wp comment create' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/comment/delete/index.md b/commands/comment/delete/index.md index fdd672eb..4a894da9 100644 --- a/commands/comment/delete/index.md +++ b/commands/comment/delete/index.md @@ -21,34 +21,34 @@ title: 'wp comment delete' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/comment/exists/index.md b/commands/comment/exists/index.md index 575bd26f..df9a9d1d 100644 --- a/commands/comment/exists/index.md +++ b/commands/comment/exists/index.md @@ -16,34 +16,34 @@ title: 'wp comment exists' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/comment/get/index.md b/commands/comment/get/index.md index a7b75ae7..b97ba043 100644 --- a/commands/comment/get/index.md +++ b/commands/comment/get/index.md @@ -25,34 +25,34 @@ title: 'wp comment get' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/comment/index.md b/commands/comment/index.md index 641413ed..a3f4a830 100644 --- a/commands/comment/index.md +++ b/commands/comment/index.md @@ -12,34 +12,34 @@ title: 'wp comment' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/comment/list/index.md b/commands/comment/list/index.md index 3fb54e81..64276c3a 100644 --- a/commands/comment/list/index.md +++ b/commands/comment/list/index.md @@ -52,34 +52,34 @@ These fields are optionally available: ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/comment/meta/add/index.md b/commands/comment/meta/add/index.md index 5886a0b6..8e4554f2 100644 --- a/commands/comment/meta/add/index.md +++ b/commands/comment/meta/add/index.md @@ -21,34 +21,34 @@ title: 'wp comment meta add' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/comment/meta/delete/index.md b/commands/comment/meta/delete/index.md index 0400f621..2ff17853 100644 --- a/commands/comment/meta/delete/index.md +++ b/commands/comment/meta/delete/index.md @@ -16,34 +16,34 @@ title: 'wp comment meta delete' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/comment/meta/get/index.md b/commands/comment/meta/get/index.md index 9b07b0db..14e3dfeb 100644 --- a/commands/comment/meta/get/index.md +++ b/commands/comment/meta/get/index.md @@ -9,34 +9,34 @@ title: 'wp comment meta get' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/comment/meta/index.md b/commands/comment/meta/index.md index eec3daf6..df2c2352 100644 --- a/commands/comment/meta/index.md +++ b/commands/comment/meta/index.md @@ -16,34 +16,34 @@ title: 'wp comment meta' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/comment/meta/list/index.md b/commands/comment/meta/list/index.md index 7159816e..55f08a27 100644 --- a/commands/comment/meta/list/index.md +++ b/commands/comment/meta/list/index.md @@ -19,34 +19,34 @@ title: 'wp comment meta list' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/comment/meta/update/index.md b/commands/comment/meta/update/index.md index 0c3ad582..3723d272 100644 --- a/commands/comment/meta/update/index.md +++ b/commands/comment/meta/update/index.md @@ -21,34 +21,34 @@ title: 'wp comment meta update' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/comment/spam/index.md b/commands/comment/spam/index.md index 5f3130c1..39e06650 100644 --- a/commands/comment/spam/index.md +++ b/commands/comment/spam/index.md @@ -16,34 +16,34 @@ title: 'wp comment spam' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/comment/status/index.md b/commands/comment/status/index.md index fef2258a..facf8dd4 100644 --- a/commands/comment/status/index.md +++ b/commands/comment/status/index.md @@ -16,34 +16,34 @@ title: 'wp comment status' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/comment/trash/index.md b/commands/comment/trash/index.md index abf924c8..b796425f 100644 --- a/commands/comment/trash/index.md +++ b/commands/comment/trash/index.md @@ -16,34 +16,34 @@ title: 'wp comment trash' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/comment/unapprove/index.md b/commands/comment/unapprove/index.md index f1a6df56..950d85e7 100644 --- a/commands/comment/unapprove/index.md +++ b/commands/comment/unapprove/index.md @@ -16,34 +16,34 @@ title: 'wp comment unapprove' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/comment/unspam/index.md b/commands/comment/unspam/index.md index 9eb303fa..a25391bf 100644 --- a/commands/comment/unspam/index.md +++ b/commands/comment/unspam/index.md @@ -16,34 +16,34 @@ title: 'wp comment unspam' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/comment/untrash/index.md b/commands/comment/untrash/index.md index 55625274..50a84402 100644 --- a/commands/comment/untrash/index.md +++ b/commands/comment/untrash/index.md @@ -16,34 +16,34 @@ title: 'wp comment untrash' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/comment/update/index.md b/commands/comment/update/index.md index e47f67a5..593095a1 100644 --- a/commands/comment/update/index.md +++ b/commands/comment/update/index.md @@ -19,34 +19,34 @@ title: 'wp comment update' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/comment/url/index.md b/commands/comment/url/index.md index 150b1935..3fc27320 100644 --- a/commands/comment/url/index.md +++ b/commands/comment/url/index.md @@ -16,34 +16,34 @@ title: 'wp comment url' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/core/check-update/index.md b/commands/core/check-update/index.md index 089db558..5fe9253d 100644 --- a/commands/core/check-update/index.md +++ b/commands/core/check-update/index.md @@ -24,34 +24,34 @@ title: 'wp core check-update' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/core/config/index.md b/commands/core/config/index.md index 0ec69109..9aca3711 100644 --- a/commands/core/config/index.md +++ b/commands/core/config/index.md @@ -53,34 +53,34 @@ title: 'wp core config' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/core/download/index.md b/commands/core/download/index.md index 32ce4975..f532da43 100644 --- a/commands/core/download/index.md +++ b/commands/core/download/index.md @@ -25,34 +25,34 @@ title: 'wp core download' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/core/index.md b/commands/core/index.md index e4559a93..7f6ca80f 100644 --- a/commands/core/index.md +++ b/commands/core/index.md @@ -9,34 +9,34 @@ title: 'wp core' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/core/install/index.md b/commands/core/install/index.md index c1298d0e..de1f36d4 100644 --- a/commands/core/install/index.md +++ b/commands/core/install/index.md @@ -24,34 +24,34 @@ title: 'wp core install' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/core/is-installed/index.md b/commands/core/is-installed/index.md index dcaa15a8..d824a4a9 100644 --- a/commands/core/is-installed/index.md +++ b/commands/core/is-installed/index.md @@ -16,34 +16,34 @@ title: 'wp core is-installed' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/core/language/activate/index.md b/commands/core/language/activate/index.md index a48d819b..3ee727b9 100644 --- a/commands/core/language/activate/index.md +++ b/commands/core/language/activate/index.md @@ -10,34 +10,34 @@ title: 'wp core language activate' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/core/language/index.md b/commands/core/language/index.md index 10eee9b5..f76dfef4 100644 --- a/commands/core/language/index.md +++ b/commands/core/language/index.md @@ -9,34 +9,34 @@ title: 'wp core language' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/core/language/install/index.md b/commands/core/language/install/index.md index f7375309..301a5ee0 100644 --- a/commands/core/language/install/index.md +++ b/commands/core/language/install/index.md @@ -13,34 +13,34 @@ title: 'wp core language install' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/core/language/list/index.md b/commands/core/language/list/index.md index fd354c04..dad58b8c 100644 --- a/commands/core/language/list/index.md +++ b/commands/core/language/list/index.md @@ -34,34 +34,34 @@ These fields are optionally available: ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/core/language/uninstall/index.md b/commands/core/language/uninstall/index.md index 37f60d9b..9c3e382f 100644 --- a/commands/core/language/uninstall/index.md +++ b/commands/core/language/uninstall/index.md @@ -10,34 +10,34 @@ title: 'wp core language uninstall' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/core/multisite-convert/index.md b/commands/core/multisite-convert/index.md index 434eb613..5577f72b 100644 --- a/commands/core/multisite-convert/index.md +++ b/commands/core/multisite-convert/index.md @@ -19,34 +19,34 @@ Default: '/' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/core/multisite-install/index.md b/commands/core/multisite-install/index.md index 0650f562..d831eb93 100644 --- a/commands/core/multisite-install/index.md +++ b/commands/core/multisite-install/index.md @@ -31,34 +31,34 @@ Default: '/' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/core/update-db/index.md b/commands/core/update-db/index.md index f38a4fb8..aafcdc3f 100644 --- a/commands/core/update-db/index.md +++ b/commands/core/update-db/index.md @@ -9,34 +9,34 @@ title: 'wp core update-db' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/core/update/index.md b/commands/core/update/index.md index c4f1b0eb..e7ffb220 100644 --- a/commands/core/update/index.md +++ b/commands/core/update/index.md @@ -29,34 +29,34 @@ title: 'wp core update' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/core/verify-checksums/index.md b/commands/core/verify-checksums/index.md index 3aea3974..833edbdb 100644 --- a/commands/core/verify-checksums/index.md +++ b/commands/core/verify-checksums/index.md @@ -9,34 +9,34 @@ title: 'wp core verify-checksums' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/core/version/index.md b/commands/core/version/index.md index 3e30d015..49809f83 100644 --- a/commands/core/version/index.md +++ b/commands/core/version/index.md @@ -12,34 +12,34 @@ title: 'wp core version' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/cron/event/delete/index.md b/commands/cron/event/delete/index.md index 1d821f10..4a55d716 100644 --- a/commands/cron/event/delete/index.md +++ b/commands/cron/event/delete/index.md @@ -12,34 +12,34 @@ title: 'wp cron event delete' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/cron/event/index.md b/commands/cron/event/index.md index a90af579..c2a2eb94 100644 --- a/commands/cron/event/index.md +++ b/commands/cron/event/index.md @@ -9,34 +9,34 @@ title: 'wp cron event' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/cron/event/list/index.md b/commands/cron/event/list/index.md index ff0c9c04..4bc92121 100644 --- a/commands/cron/event/list/index.md +++ b/commands/cron/event/list/index.md @@ -37,34 +37,34 @@ These fields are optionally available: ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/cron/event/run/index.md b/commands/cron/event/run/index.md index 359da910..d06adda2 100644 --- a/commands/cron/event/run/index.md +++ b/commands/cron/event/run/index.md @@ -12,34 +12,34 @@ title: 'wp cron event run' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/cron/event/schedule/index.md b/commands/cron/event/schedule/index.md index 01dfdee8..4c626bcc 100644 --- a/commands/cron/event/schedule/index.md +++ b/commands/cron/event/schedule/index.md @@ -29,34 +29,34 @@ title: 'wp cron event schedule' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/cron/index.md b/commands/cron/index.md index 54d122bc..7f946002 100644 --- a/commands/cron/index.md +++ b/commands/cron/index.md @@ -9,34 +9,34 @@ title: 'wp cron' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/cron/schedule/index.md b/commands/cron/schedule/index.md index 2855ccd6..b8f072ce 100644 --- a/commands/cron/schedule/index.md +++ b/commands/cron/schedule/index.md @@ -9,34 +9,34 @@ title: 'wp cron schedule' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/cron/schedule/list/index.md b/commands/cron/schedule/list/index.md index 68c0a2b7..b4adb2bf 100644 --- a/commands/cron/schedule/list/index.md +++ b/commands/cron/schedule/list/index.md @@ -31,34 +31,34 @@ There are no additional fields. ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/cron/test/index.md b/commands/cron/test/index.md index 48e64992..fac20fd4 100644 --- a/commands/cron/test/index.md +++ b/commands/cron/test/index.md @@ -9,34 +9,34 @@ title: 'wp cron test' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/db/cli/index.md b/commands/db/cli/index.md index d467d1cc..1fea156c 100644 --- a/commands/db/cli/index.md +++ b/commands/db/cli/index.md @@ -9,34 +9,34 @@ title: 'wp db cli' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/db/create/index.md b/commands/db/create/index.md index e5274a5c..a913b489 100644 --- a/commands/db/create/index.md +++ b/commands/db/create/index.md @@ -9,34 +9,34 @@ title: 'wp db create' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/db/drop/index.md b/commands/db/drop/index.md index 374d09bc..e45d07bd 100644 --- a/commands/db/drop/index.md +++ b/commands/db/drop/index.md @@ -12,34 +12,34 @@ title: 'wp db drop' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/db/export/index.md b/commands/db/export/index.md index ee3de15f..6a9704df 100644 --- a/commands/db/export/index.md +++ b/commands/db/export/index.md @@ -23,34 +23,34 @@ title: 'wp db export' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/db/import/index.md b/commands/db/import/index.md index 73d1796a..e90cff02 100644 --- a/commands/db/import/index.md +++ b/commands/db/import/index.md @@ -12,34 +12,34 @@ title: 'wp db import' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/db/index.md b/commands/db/index.md index 887e73a0..85f603d8 100644 --- a/commands/db/index.md +++ b/commands/db/index.md @@ -9,34 +9,34 @@ title: 'wp db' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/db/optimize/index.md b/commands/db/optimize/index.md index 1933c7b7..a8ed375d 100644 --- a/commands/db/optimize/index.md +++ b/commands/db/optimize/index.md @@ -9,34 +9,34 @@ title: 'wp db optimize' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/db/query/index.md b/commands/db/query/index.md index a3713a5a..8138a772 100644 --- a/commands/db/query/index.md +++ b/commands/db/query/index.md @@ -20,34 +20,34 @@ title: 'wp db query' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/db/repair/index.md b/commands/db/repair/index.md index 5d1edfad..d13a0554 100644 --- a/commands/db/repair/index.md +++ b/commands/db/repair/index.md @@ -9,34 +9,34 @@ title: 'wp db repair' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/db/reset/index.md b/commands/db/reset/index.md index e0a5a912..a59e245a 100644 --- a/commands/db/reset/index.md +++ b/commands/db/reset/index.md @@ -12,34 +12,34 @@ title: 'wp db reset' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/db/tables/index.md b/commands/db/tables/index.md index 75894eaa..cdca27af 100644 --- a/commands/db/tables/index.md +++ b/commands/db/tables/index.md @@ -17,34 +17,34 @@ title: 'wp db tables' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/eval-file/index.md b/commands/eval-file/index.md index 076482be..02fe045a 100644 --- a/commands/eval-file/index.md +++ b/commands/eval-file/index.md @@ -19,34 +19,34 @@ title: 'wp eval-file' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/eval/index.md b/commands/eval/index.md index 1e7129e7..f6ca3007 100644 --- a/commands/eval/index.md +++ b/commands/eval/index.md @@ -11,34 +11,34 @@ title: 'wp eval' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/export/index.md b/commands/export/index.md index 11355d2a..bdb141fd 100644 --- a/commands/export/index.md +++ b/commands/export/index.md @@ -48,34 +48,34 @@ to current working directory. ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/help/index.md b/commands/help/index.md index 41936587..ab9aa2fb 100644 --- a/commands/help/index.md +++ b/commands/help/index.md @@ -15,34 +15,34 @@ title: 'wp help' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/import/index.md b/commands/import/index.md index 3002b635..3a06b75e 100644 --- a/commands/import/index.md +++ b/commands/import/index.md @@ -18,34 +18,34 @@ title: 'wp import' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/media/import/index.md b/commands/media/import/index.md index aa3e82ed..66cfae28 100644 --- a/commands/media/import/index.md +++ b/commands/media/import/index.md @@ -46,34 +46,34 @@ title: 'wp media import' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/media/index.md b/commands/media/index.md index 64c2872c..e8cc301c 100644 --- a/commands/media/index.md +++ b/commands/media/index.md @@ -9,34 +9,34 @@ title: 'wp media' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/media/regenerate/index.md b/commands/media/regenerate/index.md index 359e86a7..a74044a2 100644 --- a/commands/media/regenerate/index.md +++ b/commands/media/regenerate/index.md @@ -23,34 +23,34 @@ title: 'wp media regenerate' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/menu/create/index.md b/commands/menu/create/index.md index d2fd3a97..43cfbc48 100644 --- a/commands/menu/create/index.md +++ b/commands/menu/create/index.md @@ -17,34 +17,34 @@ title: 'wp menu create' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/menu/delete/index.md b/commands/menu/delete/index.md index f61b7c60..b67f1fd0 100644 --- a/commands/menu/delete/index.md +++ b/commands/menu/delete/index.md @@ -14,34 +14,34 @@ title: 'wp menu delete' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/menu/index.md b/commands/menu/index.md index 4f9aac6b..2f35a3e8 100644 --- a/commands/menu/index.md +++ b/commands/menu/index.md @@ -21,34 +21,34 @@ title: 'wp menu' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/menu/item/add-custom/index.md b/commands/menu/item/add-custom/index.md index f9b7ec51..e051fd19 100644 --- a/commands/menu/item/add-custom/index.md +++ b/commands/menu/item/add-custom/index.md @@ -41,34 +41,34 @@ title: 'wp menu item add-custom' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/menu/item/add-post/index.md b/commands/menu/item/add-post/index.md index a1738287..e08068d4 100644 --- a/commands/menu/item/add-post/index.md +++ b/commands/menu/item/add-post/index.md @@ -44,34 +44,34 @@ title: 'wp menu item add-post' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/menu/item/add-term/index.md b/commands/menu/item/add-term/index.md index 52c70e08..96942d53 100644 --- a/commands/menu/item/add-term/index.md +++ b/commands/menu/item/add-term/index.md @@ -47,34 +47,34 @@ title: 'wp menu item add-term' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/menu/item/delete/index.md b/commands/menu/item/delete/index.md index ff90279d..a88686c7 100644 --- a/commands/menu/item/delete/index.md +++ b/commands/menu/item/delete/index.md @@ -14,34 +14,34 @@ title: 'wp menu item delete' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/menu/item/index.md b/commands/menu/item/index.md index c32d644b..f9ab07d7 100644 --- a/commands/menu/item/index.md +++ b/commands/menu/item/index.md @@ -15,34 +15,34 @@ title: 'wp menu item' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/menu/item/list/index.md b/commands/menu/item/list/index.md index ee01e84e..0f8f5d81 100644 --- a/commands/menu/item/list/index.md +++ b/commands/menu/item/list/index.md @@ -45,34 +45,34 @@ These fields are optionally available: ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/menu/item/update/index.md b/commands/menu/item/update/index.md index 441f4243..2cf0289c 100644 --- a/commands/menu/item/update/index.md +++ b/commands/menu/item/update/index.md @@ -38,34 +38,34 @@ title: 'wp menu item update' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/menu/list/index.md b/commands/menu/list/index.md index 1866fdad..77e889b5 100644 --- a/commands/menu/list/index.md +++ b/commands/menu/list/index.md @@ -37,34 +37,34 @@ These fields are optionally available: ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/menu/location/assign/index.md b/commands/menu/location/assign/index.md index 0a0a2855..a2fa1283 100644 --- a/commands/menu/location/assign/index.md +++ b/commands/menu/location/assign/index.md @@ -17,34 +17,34 @@ title: 'wp menu location assign' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/menu/location/index.md b/commands/menu/location/index.md index 7e883c0d..9fbb12d3 100644 --- a/commands/menu/location/index.md +++ b/commands/menu/location/index.md @@ -18,34 +18,34 @@ title: 'wp menu location' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/menu/location/list/index.md b/commands/menu/location/list/index.md index 9592310a..6fce29a2 100644 --- a/commands/menu/location/list/index.md +++ b/commands/menu/location/list/index.md @@ -21,34 +21,34 @@ These fields will be displayed by default for each location: ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/menu/location/remove/index.md b/commands/menu/location/remove/index.md index 43407823..6118d15f 100644 --- a/commands/menu/location/remove/index.md +++ b/commands/menu/location/remove/index.md @@ -17,34 +17,34 @@ title: 'wp menu location remove' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/network/index.md b/commands/network/index.md index 11bc2e33..db01b824 100644 --- a/commands/network/index.md +++ b/commands/network/index.md @@ -9,34 +9,34 @@ title: 'wp network' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/network/meta/add/index.md b/commands/network/meta/add/index.md index 832bb821..b3738058 100644 --- a/commands/network/meta/add/index.md +++ b/commands/network/meta/add/index.md @@ -21,34 +21,34 @@ title: 'wp network meta add' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/network/meta/delete/index.md b/commands/network/meta/delete/index.md index a627294a..95e00878 100644 --- a/commands/network/meta/delete/index.md +++ b/commands/network/meta/delete/index.md @@ -16,34 +16,34 @@ title: 'wp network meta delete' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/network/meta/get/index.md b/commands/network/meta/get/index.md index a4ad5c47..3b6f6684 100644 --- a/commands/network/meta/get/index.md +++ b/commands/network/meta/get/index.md @@ -9,34 +9,34 @@ title: 'wp network meta get' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/network/meta/index.md b/commands/network/meta/index.md index f795cda4..8cf5ac57 100644 --- a/commands/network/meta/index.md +++ b/commands/network/meta/index.md @@ -20,34 +20,34 @@ title: 'wp network meta' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/network/meta/list/index.md b/commands/network/meta/list/index.md index 9fabc45d..b3b7ef69 100644 --- a/commands/network/meta/list/index.md +++ b/commands/network/meta/list/index.md @@ -19,34 +19,34 @@ title: 'wp network meta list' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/network/meta/update/index.md b/commands/network/meta/update/index.md index 2873f2f2..4772f53b 100644 --- a/commands/network/meta/update/index.md +++ b/commands/network/meta/update/index.md @@ -21,34 +21,34 @@ title: 'wp network meta update' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/option/add/index.md b/commands/option/add/index.md index d43f70bc..59175bd4 100644 --- a/commands/option/add/index.md +++ b/commands/option/add/index.md @@ -26,34 +26,34 @@ title: 'wp option add' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/option/delete/index.md b/commands/option/delete/index.md index ec664542..29c477fd 100644 --- a/commands/option/delete/index.md +++ b/commands/option/delete/index.md @@ -9,34 +9,34 @@ title: 'wp option delete' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/option/get/index.md b/commands/option/get/index.md index 89a1ab91..7274833f 100644 --- a/commands/option/get/index.md +++ b/commands/option/get/index.md @@ -9,34 +9,34 @@ title: 'wp option get' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/option/index.md b/commands/option/index.md index 83ff3153..9d9a3880 100644 --- a/commands/option/index.md +++ b/commands/option/index.md @@ -22,34 +22,34 @@ title: 'wp option' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/option/update/index.md b/commands/option/update/index.md index 35c65001..7300a145 100644 --- a/commands/option/update/index.md +++ b/commands/option/update/index.md @@ -26,34 +26,34 @@ title: 'wp option update' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/plugin/activate/index.md b/commands/plugin/activate/index.md index efc93faf..439b8fc5 100644 --- a/commands/plugin/activate/index.md +++ b/commands/plugin/activate/index.md @@ -18,34 +18,34 @@ title: 'wp plugin activate' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/plugin/deactivate/index.md b/commands/plugin/deactivate/index.md index ba64429c..9e440e2e 100644 --- a/commands/plugin/deactivate/index.md +++ b/commands/plugin/deactivate/index.md @@ -18,34 +18,34 @@ title: 'wp plugin deactivate' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/plugin/delete/index.md b/commands/plugin/delete/index.md index 6a9fdbae..77610822 100644 --- a/commands/plugin/delete/index.md +++ b/commands/plugin/delete/index.md @@ -16,34 +16,34 @@ title: 'wp plugin delete' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/plugin/get/index.md b/commands/plugin/get/index.md index 015a1d15..8a60fdce 100644 --- a/commands/plugin/get/index.md +++ b/commands/plugin/get/index.md @@ -25,34 +25,34 @@ title: 'wp plugin get' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/plugin/index.md b/commands/plugin/index.md index c0d9539c..1fe057e5 100644 --- a/commands/plugin/index.md +++ b/commands/plugin/index.md @@ -9,34 +9,34 @@ title: 'wp plugin' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/plugin/install/index.md b/commands/plugin/install/index.md index af578249..c1da2031 100644 --- a/commands/plugin/install/index.md +++ b/commands/plugin/install/index.md @@ -40,34 +40,34 @@ for confirmation. ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/plugin/is-installed/index.md b/commands/plugin/is-installed/index.md index c29cc8ed..2404d588 100644 --- a/commands/plugin/is-installed/index.md +++ b/commands/plugin/is-installed/index.md @@ -16,34 +16,34 @@ title: 'wp plugin is-installed' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/plugin/list/index.md b/commands/plugin/list/index.md index f8f481d4..396bcef7 100644 --- a/commands/plugin/list/index.md +++ b/commands/plugin/list/index.md @@ -42,34 +42,34 @@ These fields are optionally available: ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/plugin/path/index.md b/commands/plugin/path/index.md index d785b763..74c05a9f 100644 --- a/commands/plugin/path/index.md +++ b/commands/plugin/path/index.md @@ -21,34 +21,34 @@ plugin file. ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/plugin/search/index.md b/commands/plugin/search/index.md index 0b379bd7..1d514af6 100644 --- a/commands/plugin/search/index.md +++ b/commands/plugin/search/index.md @@ -45,34 +45,34 @@ title: 'wp plugin search' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/plugin/status/index.md b/commands/plugin/status/index.md index a38fb103..a1736fc6 100644 --- a/commands/plugin/status/index.md +++ b/commands/plugin/status/index.md @@ -12,34 +12,34 @@ title: 'wp plugin status' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/plugin/toggle/index.md b/commands/plugin/toggle/index.md index 2dae79fe..b4018672 100644 --- a/commands/plugin/toggle/index.md +++ b/commands/plugin/toggle/index.md @@ -15,34 +15,34 @@ title: 'wp plugin toggle' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/plugin/uninstall/index.md b/commands/plugin/uninstall/index.md index 0207838f..6fea4f29 100644 --- a/commands/plugin/uninstall/index.md +++ b/commands/plugin/uninstall/index.md @@ -20,34 +20,34 @@ will be run. ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/plugin/update/index.md b/commands/plugin/update/index.md index 7f4c3d42..0d6df183 100644 --- a/commands/plugin/update/index.md +++ b/commands/plugin/update/index.md @@ -27,34 +27,34 @@ title: 'wp plugin update' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/post/create/index.md b/commands/post/create/index.md index 1475d55e..a65c873a 100644 --- a/commands/post/create/index.md +++ b/commands/post/create/index.md @@ -34,34 +34,34 @@ title: 'wp post create' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/post/delete/index.md b/commands/post/delete/index.md index 6d2fe061..c36b219e 100644 --- a/commands/post/delete/index.md +++ b/commands/post/delete/index.md @@ -21,34 +21,34 @@ title: 'wp post delete' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/post/edit/index.md b/commands/post/edit/index.md index 3bf2bf6f..7bc0d0af 100644 --- a/commands/post/edit/index.md +++ b/commands/post/edit/index.md @@ -16,34 +16,34 @@ title: 'wp post edit' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/post/generate/index.md b/commands/post/generate/index.md index f7ffceba..dac08bcf 100644 --- a/commands/post/generate/index.md +++ b/commands/post/generate/index.md @@ -35,34 +35,34 @@ title: 'wp post generate' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/post/get/index.md b/commands/post/get/index.md index cb125b7e..bf638693 100644 --- a/commands/post/get/index.md +++ b/commands/post/get/index.md @@ -26,34 +26,34 @@ title: 'wp post get' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/post/index.md b/commands/post/index.md index 4907d3dc..83d90505 100644 --- a/commands/post/index.md +++ b/commands/post/index.md @@ -9,34 +9,34 @@ title: 'wp post' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/post/list/index.md b/commands/post/list/index.md index f8c96ef7..7baca557 100644 --- a/commands/post/list/index.md +++ b/commands/post/list/index.md @@ -63,34 +63,34 @@ These fields are optionally available: ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/post/meta/add/index.md b/commands/post/meta/add/index.md index 921e5213..c084729e 100644 --- a/commands/post/meta/add/index.md +++ b/commands/post/meta/add/index.md @@ -21,34 +21,34 @@ title: 'wp post meta add' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/post/meta/delete/index.md b/commands/post/meta/delete/index.md index dafa01bb..e2294229 100644 --- a/commands/post/meta/delete/index.md +++ b/commands/post/meta/delete/index.md @@ -16,34 +16,34 @@ title: 'wp post meta delete' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/post/meta/get/index.md b/commands/post/meta/get/index.md index cc5835e8..d8038b7b 100644 --- a/commands/post/meta/get/index.md +++ b/commands/post/meta/get/index.md @@ -9,34 +9,34 @@ title: 'wp post meta get' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/post/meta/index.md b/commands/post/meta/index.md index 2e9d643e..9ed5a9e2 100644 --- a/commands/post/meta/index.md +++ b/commands/post/meta/index.md @@ -16,34 +16,34 @@ title: 'wp post meta' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/post/meta/list/index.md b/commands/post/meta/list/index.md index 367db96e..30167ab1 100644 --- a/commands/post/meta/list/index.md +++ b/commands/post/meta/list/index.md @@ -19,34 +19,34 @@ title: 'wp post meta list' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/post/meta/update/index.md b/commands/post/meta/update/index.md index 3324ae33..5a817966 100644 --- a/commands/post/meta/update/index.md +++ b/commands/post/meta/update/index.md @@ -21,34 +21,34 @@ title: 'wp post meta update' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/post/term/add/index.md b/commands/post/term/add/index.md index e678716f..9eb41a9e 100644 --- a/commands/post/term/add/index.md +++ b/commands/post/term/add/index.md @@ -16,34 +16,34 @@ title: 'wp post term add' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/post/term/index.md b/commands/post/term/index.md index 7bed94d1..1a9272f0 100644 --- a/commands/post/term/index.md +++ b/commands/post/term/index.md @@ -11,34 +11,34 @@ title: 'wp post term' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/post/term/list/index.md b/commands/post/term/list/index.md index 893297bf..f4c8706d 100644 --- a/commands/post/term/list/index.md +++ b/commands/post/term/list/index.md @@ -36,34 +36,34 @@ These fields are optionally available: ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/post/term/remove/index.md b/commands/post/term/remove/index.md index a31a240e..22101ccd 100644 --- a/commands/post/term/remove/index.md +++ b/commands/post/term/remove/index.md @@ -16,34 +16,34 @@ title: 'wp post term remove' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/post/term/set/index.md b/commands/post/term/set/index.md index 5c2503d9..46e12a32 100644 --- a/commands/post/term/set/index.md +++ b/commands/post/term/set/index.md @@ -16,34 +16,34 @@ title: 'wp post term set' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/post/update/index.md b/commands/post/update/index.md index da95753d..fe517143 100644 --- a/commands/post/update/index.md +++ b/commands/post/update/index.md @@ -26,34 +26,34 @@ title: 'wp post update' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/post/url/index.md b/commands/post/url/index.md index eee9e11b..59d32847 100644 --- a/commands/post/url/index.md +++ b/commands/post/url/index.md @@ -18,34 +18,34 @@ title: 'wp post url' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/rewrite/flush/index.md b/commands/rewrite/flush/index.md index 7fb2b571..a97548a1 100644 --- a/commands/rewrite/flush/index.md +++ b/commands/rewrite/flush/index.md @@ -22,34 +22,34 @@ apache_modules: ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/rewrite/index.md b/commands/rewrite/index.md index 9cd21ad8..2bf4c073 100644 --- a/commands/rewrite/index.md +++ b/commands/rewrite/index.md @@ -9,34 +9,34 @@ title: 'wp rewrite' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/rewrite/list/index.md b/commands/rewrite/list/index.md index fbfc88ed..8079d22a 100644 --- a/commands/rewrite/list/index.md +++ b/commands/rewrite/list/index.md @@ -22,34 +22,34 @@ title: 'wp rewrite list' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/rewrite/structure/index.md b/commands/rewrite/structure/index.md index a87fe435..2f3644ce 100644 --- a/commands/rewrite/structure/index.md +++ b/commands/rewrite/structure/index.md @@ -35,34 +35,34 @@ apache_modules: ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/role/create/index.md b/commands/role/create/index.md index 7be1b598..bb1ffd42 100644 --- a/commands/role/create/index.md +++ b/commands/role/create/index.md @@ -21,34 +21,34 @@ title: 'wp role create' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/role/delete/index.md b/commands/role/delete/index.md index 8b1049d7..476f3014 100644 --- a/commands/role/delete/index.md +++ b/commands/role/delete/index.md @@ -18,34 +18,34 @@ title: 'wp role delete' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/role/exists/index.md b/commands/role/exists/index.md index 9a925065..59b5b0e1 100644 --- a/commands/role/exists/index.md +++ b/commands/role/exists/index.md @@ -20,34 +20,34 @@ Will exit with status 0 if the role exists, 1 if it does not. ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/role/index.md b/commands/role/index.md index a8ad1135..6c2b6c49 100644 --- a/commands/role/index.md +++ b/commands/role/index.md @@ -9,34 +9,34 @@ title: 'wp role' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/role/list/index.md b/commands/role/list/index.md index 8b0beb8e..5d4d11e7 100644 --- a/commands/role/list/index.md +++ b/commands/role/list/index.md @@ -28,34 +28,34 @@ There are no optional fields. ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/role/reset/index.md b/commands/role/reset/index.md index eeff9307..b5e7308d 100644 --- a/commands/role/reset/index.md +++ b/commands/role/reset/index.md @@ -21,34 +21,34 @@ title: 'wp role reset' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/scaffold/_s/index.md b/commands/scaffold/_s/index.md index f405c248..f5712964 100644 --- a/commands/scaffold/_s/index.md +++ b/commands/scaffold/_s/index.md @@ -24,34 +24,34 @@ title: 'wp scaffold _s' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/scaffold/child-theme/index.md b/commands/scaffold/child-theme/index.md index 7065ab3e..1d0d5e65 100644 --- a/commands/scaffold/child-theme/index.md +++ b/commands/scaffold/child-theme/index.md @@ -30,34 +30,34 @@ title: 'wp scaffold child-theme' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/scaffold/index.md b/commands/scaffold/index.md index 09590c1e..50de8c71 100644 --- a/commands/scaffold/index.md +++ b/commands/scaffold/index.md @@ -9,34 +9,34 @@ title: 'wp scaffold' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/scaffold/package-tests/index.md b/commands/scaffold/package-tests/index.md index 5790acc1..dc8fca87 100644 --- a/commands/scaffold/package-tests/index.md +++ b/commands/scaffold/package-tests/index.md @@ -32,34 +32,34 @@ WP-CLI Behat framework uses Behat ~2.5. ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/scaffold/plugin-tests/index.md b/commands/scaffold/plugin-tests/index.md index b29506fa..7f2f7522 100644 --- a/commands/scaffold/plugin-tests/index.md +++ b/commands/scaffold/plugin-tests/index.md @@ -30,34 +30,34 @@ variable. ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/scaffold/plugin/index.md b/commands/scaffold/plugin/index.md index 6d490811..e96d01b8 100644 --- a/commands/scaffold/plugin/index.md +++ b/commands/scaffold/plugin/index.md @@ -21,34 +21,34 @@ title: 'wp scaffold plugin' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/scaffold/post-type/index.md b/commands/scaffold/post-type/index.md index 39380d11..403da2ac 100644 --- a/commands/scaffold/post-type/index.md +++ b/commands/scaffold/post-type/index.md @@ -28,34 +28,34 @@ STDOUT. Specify a theme with `--theme=<theme>` to have the file placed in ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/scaffold/taxonomy/index.md b/commands/scaffold/taxonomy/index.md index 7ef21f9f..da090fa4 100644 --- a/commands/scaffold/taxonomy/index.md +++ b/commands/scaffold/taxonomy/index.md @@ -35,34 +35,34 @@ STDOUT. Specify a theme with `--theme=<theme>` to have the file placed in ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/search-replace/index.md b/commands/search-replace/index.md index 7cc020ff..9db83804 100644 --- a/commands/search-replace/index.md +++ b/commands/search-replace/index.md @@ -49,34 +49,34 @@ It will correctly handle serialized values, and will not change primary key valu ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/shell/index.md b/commands/shell/index.md index 296c1f03..c4a43a7c 100644 --- a/commands/shell/index.md +++ b/commands/shell/index.md @@ -16,34 +16,34 @@ title: 'wp shell' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/sidebar/index.md b/commands/sidebar/index.md index 28e215d5..856051b7 100644 --- a/commands/sidebar/index.md +++ b/commands/sidebar/index.md @@ -9,34 +9,34 @@ title: 'wp sidebar' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/sidebar/list/index.md b/commands/sidebar/list/index.md index 09e48eb9..e3d57db0 100644 --- a/commands/sidebar/list/index.md +++ b/commands/sidebar/list/index.md @@ -35,34 +35,34 @@ These fields are optionally available: ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/site/create/index.md b/commands/site/create/index.md index 1de1006c..2baa4597 100644 --- a/commands/site/create/index.md +++ b/commands/site/create/index.md @@ -27,34 +27,34 @@ title: 'wp site create' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/site/delete/index.md b/commands/site/delete/index.md index 0ecb8069..67459a3e 100644 --- a/commands/site/delete/index.md +++ b/commands/site/delete/index.md @@ -21,34 +21,34 @@ title: 'wp site delete' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/site/empty/index.md b/commands/site/empty/index.md index d8804efb..d2cac4f9 100644 --- a/commands/site/empty/index.md +++ b/commands/site/empty/index.md @@ -12,34 +12,34 @@ title: 'wp site empty' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/site/index.md b/commands/site/index.md index 737ea7c2..031e5571 100644 --- a/commands/site/index.md +++ b/commands/site/index.md @@ -9,34 +9,34 @@ title: 'wp site' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/site/list/index.md b/commands/site/list/index.md index f3407574..a83daa2b 100644 --- a/commands/site/list/index.md +++ b/commands/site/list/index.md @@ -47,34 +47,34 @@ These fields are optionally available: ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/site/url/index.md b/commands/site/url/index.md index 0f3377a2..413d2e9d 100644 --- a/commands/site/url/index.md +++ b/commands/site/url/index.md @@ -16,34 +16,34 @@ title: 'wp site url' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/super-admin/add/index.md b/commands/super-admin/add/index.md index 491ab302..ea1fbe32 100644 --- a/commands/super-admin/add/index.md +++ b/commands/super-admin/add/index.md @@ -10,34 +10,34 @@ title: 'wp super-admin add' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/super-admin/index.md b/commands/super-admin/index.md index f2afe0cd..7407b079 100644 --- a/commands/super-admin/index.md +++ b/commands/super-admin/index.md @@ -9,34 +9,34 @@ title: 'wp super-admin' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/super-admin/list/index.md b/commands/super-admin/list/index.md index 0cd4da1b..0239ddcc 100644 --- a/commands/super-admin/list/index.md +++ b/commands/super-admin/list/index.md @@ -9,34 +9,34 @@ title: 'wp super-admin list' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/super-admin/remove/index.md b/commands/super-admin/remove/index.md index ebbe100d..0119964e 100644 --- a/commands/super-admin/remove/index.md +++ b/commands/super-admin/remove/index.md @@ -10,34 +10,34 @@ title: 'wp super-admin remove' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/term/create/index.md b/commands/term/create/index.md index 2dd72d9e..b51061cf 100644 --- a/commands/term/create/index.md +++ b/commands/term/create/index.md @@ -31,34 +31,34 @@ title: 'wp term create' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/term/delete/index.md b/commands/term/delete/index.md index fef36b57..251dccbc 100644 --- a/commands/term/delete/index.md +++ b/commands/term/delete/index.md @@ -20,34 +20,34 @@ title: 'wp term delete' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/term/generate/index.md b/commands/term/generate/index.md index 2c91e367..bfbd355d 100644 --- a/commands/term/generate/index.md +++ b/commands/term/generate/index.md @@ -22,34 +22,34 @@ title: 'wp term generate' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/term/get/index.md b/commands/term/get/index.md index 0e457bb4..8604f6fd 100644 --- a/commands/term/get/index.md +++ b/commands/term/get/index.md @@ -28,34 +28,34 @@ title: 'wp term get' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/term/index.md b/commands/term/index.md index 7ffd976a..2c434e2f 100644 --- a/commands/term/index.md +++ b/commands/term/index.md @@ -9,34 +9,34 @@ title: 'wp term' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/term/list/index.md b/commands/term/list/index.md index e37a0fbc..b76da34b 100644 --- a/commands/term/list/index.md +++ b/commands/term/list/index.md @@ -44,34 +44,34 @@ There are no optionally available fields. ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/term/update/index.md b/commands/term/update/index.md index 2582f53c..27a63a9b 100644 --- a/commands/term/update/index.md +++ b/commands/term/update/index.md @@ -31,34 +31,34 @@ title: 'wp term update' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/term/url/index.md b/commands/term/url/index.md index 73114513..2aa50219 100644 --- a/commands/term/url/index.md +++ b/commands/term/url/index.md @@ -21,34 +21,34 @@ title: 'wp term url' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/theme/activate/index.md b/commands/theme/activate/index.md index 54246a65..5d2993d1 100644 --- a/commands/theme/activate/index.md +++ b/commands/theme/activate/index.md @@ -12,34 +12,34 @@ title: 'wp theme activate' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/theme/delete/index.md b/commands/theme/delete/index.md index 1642bd23..9a481507 100644 --- a/commands/theme/delete/index.md +++ b/commands/theme/delete/index.md @@ -16,34 +16,34 @@ title: 'wp theme delete' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/theme/disable/index.md b/commands/theme/disable/index.md index 1482868e..187f74a3 100644 --- a/commands/theme/disable/index.md +++ b/commands/theme/disable/index.md @@ -23,34 +23,34 @@ enabled for them independently. ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/theme/enable/index.md b/commands/theme/enable/index.md index fe873cca..de1deb5e 100644 --- a/commands/theme/enable/index.md +++ b/commands/theme/enable/index.md @@ -27,34 +27,34 @@ the "network" flag has no influence on this. ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/theme/get/index.md b/commands/theme/get/index.md index 8932a2c6..ff16aabc 100644 --- a/commands/theme/get/index.md +++ b/commands/theme/get/index.md @@ -25,34 +25,34 @@ title: 'wp theme get' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/theme/index.md b/commands/theme/index.md index cc3ce02e..f1ab9ed8 100644 --- a/commands/theme/index.md +++ b/commands/theme/index.md @@ -9,34 +9,34 @@ title: 'wp theme' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/theme/install/index.md b/commands/theme/install/index.md index ac419e5b..4093b1cb 100644 --- a/commands/theme/install/index.md +++ b/commands/theme/install/index.md @@ -34,34 +34,34 @@ for confirmation. ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/theme/is-installed/index.md b/commands/theme/is-installed/index.md index 1e0d3df0..17ea7132 100644 --- a/commands/theme/is-installed/index.md +++ b/commands/theme/is-installed/index.md @@ -16,34 +16,34 @@ title: 'wp theme is-installed' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/theme/list/index.md b/commands/theme/list/index.md index 3306c704..28eb6862 100644 --- a/commands/theme/list/index.md +++ b/commands/theme/list/index.md @@ -42,34 +42,34 @@ These fields are optionally available: ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/theme/mod/get/index.md b/commands/theme/mod/get/index.md index c6944a97..bc37c0f3 100644 --- a/commands/theme/mod/get/index.md +++ b/commands/theme/mod/get/index.md @@ -24,34 +24,34 @@ title: 'wp theme mod get' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/theme/mod/index.md b/commands/theme/mod/index.md index 8e5eff60..05b3aae8 100644 --- a/commands/theme/mod/index.md +++ b/commands/theme/mod/index.md @@ -9,34 +9,34 @@ title: 'wp theme mod' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/theme/mod/remove/index.md b/commands/theme/mod/remove/index.md index 03cdc805..53645805 100644 --- a/commands/theme/mod/remove/index.md +++ b/commands/theme/mod/remove/index.md @@ -21,34 +21,34 @@ title: 'wp theme mod remove' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/theme/mod/set/index.md b/commands/theme/mod/set/index.md index 08a87dd5..4782ecb1 100644 --- a/commands/theme/mod/set/index.md +++ b/commands/theme/mod/set/index.md @@ -19,34 +19,34 @@ title: 'wp theme mod set' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/theme/path/index.md b/commands/theme/path/index.md index e2abd7b4..b91e108e 100644 --- a/commands/theme/path/index.md +++ b/commands/theme/path/index.md @@ -21,34 +21,34 @@ theme's "style.css" file. ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/theme/search/index.md b/commands/theme/search/index.md index 1af29a32..421875cb 100644 --- a/commands/theme/search/index.md +++ b/commands/theme/search/index.md @@ -41,34 +41,34 @@ title: 'wp theme search' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/theme/status/index.md b/commands/theme/status/index.md index dc1b172a..5ddc7d77 100644 --- a/commands/theme/status/index.md +++ b/commands/theme/status/index.md @@ -12,34 +12,34 @@ title: 'wp theme status' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/theme/update/index.md b/commands/theme/update/index.md index d9d81b34..1e62605c 100644 --- a/commands/theme/update/index.md +++ b/commands/theme/update/index.md @@ -27,34 +27,34 @@ title: 'wp theme update' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/transient/delete-all/index.md b/commands/transient/delete-all/index.md index e48fe474..fed29c55 100644 --- a/commands/transient/delete-all/index.md +++ b/commands/transient/delete-all/index.md @@ -9,34 +9,34 @@ title: 'wp transient delete-all' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/transient/delete-expired/index.md b/commands/transient/delete-expired/index.md index de0e4468..06e8d9b5 100644 --- a/commands/transient/delete-expired/index.md +++ b/commands/transient/delete-expired/index.md @@ -9,34 +9,34 @@ title: 'wp transient delete-expired' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/transient/delete/index.md b/commands/transient/delete/index.md index cbcdd0f4..09b49062 100644 --- a/commands/transient/delete/index.md +++ b/commands/transient/delete/index.md @@ -9,34 +9,34 @@ title: 'wp transient delete' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/transient/get/index.md b/commands/transient/get/index.md index 1e3ac0f7..23e52af3 100644 --- a/commands/transient/get/index.md +++ b/commands/transient/get/index.md @@ -9,34 +9,34 @@ title: 'wp transient get' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/transient/index.md b/commands/transient/index.md index 46e2d289..b24974f6 100644 --- a/commands/transient/index.md +++ b/commands/transient/index.md @@ -11,34 +11,34 @@ title: 'wp transient' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/transient/set/index.md b/commands/transient/set/index.md index fe525112..cbbb6b69 100644 --- a/commands/transient/set/index.md +++ b/commands/transient/set/index.md @@ -9,34 +9,34 @@ title: 'wp transient set' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/transient/type/index.md b/commands/transient/type/index.md index 9e3ca736..70b7f1eb 100644 --- a/commands/transient/type/index.md +++ b/commands/transient/type/index.md @@ -9,34 +9,34 @@ title: 'wp transient type' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/user/add-cap/index.md b/commands/user/add-cap/index.md index 224c977a..54ad3fe7 100644 --- a/commands/user/add-cap/index.md +++ b/commands/user/add-cap/index.md @@ -20,34 +20,34 @@ title: 'wp user add-cap' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/user/add-role/index.md b/commands/user/add-role/index.md index d63cc04c..4f60bea9 100644 --- a/commands/user/add-role/index.md +++ b/commands/user/add-role/index.md @@ -20,34 +20,34 @@ title: 'wp user add-role' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/user/create/index.md b/commands/user/create/index.md index e2d8712e..c9e0d547 100644 --- a/commands/user/create/index.md +++ b/commands/user/create/index.md @@ -43,34 +43,34 @@ title: 'wp user create' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/user/delete/index.md b/commands/user/delete/index.md index 21ab8e7b..7b71600a 100644 --- a/commands/user/delete/index.md +++ b/commands/user/delete/index.md @@ -26,34 +26,34 @@ title: 'wp user delete' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/user/generate/index.md b/commands/user/generate/index.md index d80ac8e4..34620790 100644 --- a/commands/user/generate/index.md +++ b/commands/user/generate/index.md @@ -15,34 +15,34 @@ title: 'wp user generate' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/user/get/index.md b/commands/user/get/index.md index 69a24065..eb4a4e25 100644 --- a/commands/user/get/index.md +++ b/commands/user/get/index.md @@ -27,34 +27,34 @@ title: 'wp user get' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/user/import-csv/index.md b/commands/user/import-csv/index.md index 2dfce379..35b43e5e 100644 --- a/commands/user/import-csv/index.md +++ b/commands/user/import-csv/index.md @@ -30,34 +30,34 @@ title: 'wp user import-csv' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/user/index.md b/commands/user/index.md index 61c4dcad..cbf3ae98 100644 --- a/commands/user/index.md +++ b/commands/user/index.md @@ -9,34 +9,34 @@ title: 'wp user' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/user/list-caps/index.md b/commands/user/list-caps/index.md index 68f8267e..115f1025 100644 --- a/commands/user/list-caps/index.md +++ b/commands/user/list-caps/index.md @@ -17,34 +17,34 @@ title: 'wp user list-caps' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/user/list/index.md b/commands/user/list/index.md index dff4f8b7..b96cf3e4 100644 --- a/commands/user/list/index.md +++ b/commands/user/list/index.md @@ -60,34 +60,34 @@ These fields are optionally available: ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/user/meta/add/index.md b/commands/user/meta/add/index.md index 5bc686e7..a26ec3a5 100644 --- a/commands/user/meta/add/index.md +++ b/commands/user/meta/add/index.md @@ -16,34 +16,34 @@ title: 'wp user meta add' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/user/meta/delete/index.md b/commands/user/meta/delete/index.md index 33c2ca11..8ffbf68f 100644 --- a/commands/user/meta/delete/index.md +++ b/commands/user/meta/delete/index.md @@ -16,34 +16,34 @@ title: 'wp user meta delete' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/user/meta/get/index.md b/commands/user/meta/get/index.md index 1936d8a6..3d46e98e 100644 --- a/commands/user/meta/get/index.md +++ b/commands/user/meta/get/index.md @@ -18,34 +18,34 @@ title: 'wp user meta get' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/user/meta/index.md b/commands/user/meta/index.md index faff3fe4..e3e62ee2 100644 --- a/commands/user/meta/index.md +++ b/commands/user/meta/index.md @@ -18,34 +18,34 @@ title: 'wp user meta' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/user/meta/list/index.md b/commands/user/meta/list/index.md index 09b45835..dd9a3d67 100644 --- a/commands/user/meta/list/index.md +++ b/commands/user/meta/list/index.md @@ -19,34 +19,34 @@ title: 'wp user meta list' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/user/meta/update/index.md b/commands/user/meta/update/index.md index 8f89faee..3ac46a62 100644 --- a/commands/user/meta/update/index.md +++ b/commands/user/meta/update/index.md @@ -16,34 +16,34 @@ title: 'wp user meta update' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/user/remove-cap/index.md b/commands/user/remove-cap/index.md index d2991eb1..f4d6906f 100644 --- a/commands/user/remove-cap/index.md +++ b/commands/user/remove-cap/index.md @@ -20,34 +20,34 @@ title: 'wp user remove-cap' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/user/remove-role/index.md b/commands/user/remove-role/index.md index dbeb33d5..228472d7 100644 --- a/commands/user/remove-role/index.md +++ b/commands/user/remove-role/index.md @@ -20,34 +20,34 @@ title: 'wp user remove-role' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/user/set-role/index.md b/commands/user/set-role/index.md index 532dc962..4468a08e 100644 --- a/commands/user/set-role/index.md +++ b/commands/user/set-role/index.md @@ -21,34 +21,34 @@ used. ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/user/term/add/index.md b/commands/user/term/add/index.md index f26fbe06..83506d8e 100644 --- a/commands/user/term/add/index.md +++ b/commands/user/term/add/index.md @@ -16,34 +16,34 @@ title: 'wp user term add' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/user/term/index.md b/commands/user/term/index.md index 4f4c54c1..814bd023 100644 --- a/commands/user/term/index.md +++ b/commands/user/term/index.md @@ -11,34 +11,34 @@ title: 'wp user term' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/user/term/list/index.md b/commands/user/term/list/index.md index a12b9e56..d2f27179 100644 --- a/commands/user/term/list/index.md +++ b/commands/user/term/list/index.md @@ -36,34 +36,34 @@ These fields are optionally available: ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/user/term/remove/index.md b/commands/user/term/remove/index.md index 669102ea..3f8e94cd 100644 --- a/commands/user/term/remove/index.md +++ b/commands/user/term/remove/index.md @@ -16,34 +16,34 @@ title: 'wp user term remove' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/user/term/set/index.md b/commands/user/term/set/index.md index 6754cd3d..48846e97 100644 --- a/commands/user/term/set/index.md +++ b/commands/user/term/set/index.md @@ -16,34 +16,34 @@ title: 'wp user term set' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/user/update/index.md b/commands/user/update/index.md index dce43f40..7b7c3662 100644 --- a/commands/user/update/index.md +++ b/commands/user/update/index.md @@ -19,34 +19,34 @@ title: 'wp user update' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/widget/add/index.md b/commands/widget/add/index.md index 0621fd37..c8390555 100644 --- a/commands/widget/add/index.md +++ b/commands/widget/add/index.md @@ -23,34 +23,34 @@ title: 'wp widget add' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/widget/deactivate/index.md b/commands/widget/deactivate/index.md index 39507d78..40cc80f2 100644 --- a/commands/widget/deactivate/index.md +++ b/commands/widget/deactivate/index.md @@ -14,34 +14,34 @@ title: 'wp widget deactivate' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/widget/delete/index.md b/commands/widget/delete/index.md index 13df6872..13f8dcb1 100644 --- a/commands/widget/delete/index.md +++ b/commands/widget/delete/index.md @@ -14,34 +14,34 @@ title: 'wp widget delete' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/widget/index.md b/commands/widget/index.md index ee507759..2b6c413f 100644 --- a/commands/widget/index.md +++ b/commands/widget/index.md @@ -21,34 +21,34 @@ title: 'wp widget' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/widget/list/index.md b/commands/widget/list/index.md index bcc7ac04..3ddbb2e7 100644 --- a/commands/widget/list/index.md +++ b/commands/widget/list/index.md @@ -31,34 +31,34 @@ There are no optionally available fields. ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/widget/move/index.md b/commands/widget/move/index.md index 71a2f236..8548500b 100644 --- a/commands/widget/move/index.md +++ b/commands/widget/move/index.md @@ -22,34 +22,34 @@ title: 'wp widget move' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages diff --git a/commands/widget/update/index.md b/commands/widget/update/index.md index 8934e398..3f877aec 100644 --- a/commands/widget/update/index.md +++ b/commands/widget/update/index.md @@ -17,34 +17,34 @@ title: 'wp widget update' ### GLOBAL PARAMETERS - --path=<path> + \--path=<path> Path to the WordPress files - --url=<url> + \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. - --user=<id|login|email> + \--user=<id|login|email> Set the WordPress user - --skip-plugins[=<plugin>] + \--skip-plugins[=<plugin>] Skip loading all or some plugins - --skip-themes[=<theme>] + \--skip-themes[=<theme>] Skip loading all or some themes - --require=<path> + \--require=<path> Load PHP file before running the command (may be used more than once) - --[no-]color + \--[no-]color Whether to colorize the output - --debug + \--debug Show all PHP errors - --prompt + \--prompt Prompt the user to enter values for all command arguments - --quiet + \--quiet Suppress informational messages From 86a13ef42c433d0ca30af64a88bc90112d845fcc Mon Sep 17 00:00:00 2001 From: Andrey Savchenko Date: Tue, 14 Apr 2015 11:10:30 +0300 Subject: [PATCH 359/839] Added possibility of running on Windows to requirements See https://github.com/wp-cli/wp-cli/issues/1759 --- index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/index.md b/index.md index cab30e94..8ca01dc6 100644 --- a/index.md +++ b/index.md @@ -7,6 +7,7 @@ title: Command line interface for WordPress

    Requirements

    * UNIX-like environment (OS X, Linux, FreeBSD, Cygwin) + * or with limited functionality in Windows environment * PHP 5.3.2 or later * WordPress 3.5.2 or later From e783de7bef1e6f6eba14b5fc70a0150d76303f2f Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 14 Apr 2015 05:04:39 -0700 Subject: [PATCH 360/839] Consolidate to one line because website doesn't like two --- index.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/index.md b/index.md index 8ca01dc6..ff830b16 100644 --- a/index.md +++ b/index.md @@ -6,8 +6,7 @@ title: Command line interface for WordPress

    Requirements

    -* UNIX-like environment (OS X, Linux, FreeBSD, Cygwin) - * or with limited functionality in Windows environment +* UNIX-like environment (OS X, Linux, FreeBSD, Cygwin); limited support in Windows environment * PHP 5.3.2 or later * WordPress 3.5.2 or later From 0678f9f7e3bb472273c378969426834b204a4652 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 15 Apr 2015 15:52:20 -0700 Subject: [PATCH 361/839] Clarify where command documentation comes from --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 57ece493..7cf95602 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +These files comprise wp-cli.org. However, all command documentation is dynamically generated from the PHPDoc for each command. If you'd like to suggest command documentation changes, please submit a pull request against the [primary repo](https://github.com/wp-cli/wp-cli). Command documentation changes are deployed to the website with each release. + ### Setup 1. Install [Composer](http://getcomposer.org/). From 5c1708571940fe5019cad17e8162ad53f54aa789 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Sat, 25 Apr 2015 13:41:33 -0700 Subject: [PATCH 362/839] First pass at release post for v0.19.0 --- _posts/2015-4-25-version-0.19.0.md | 47 ++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 _posts/2015-4-25-version-0.19.0.md diff --git a/_posts/2015-4-25-version-0.19.0.md b/_posts/2015-4-25-version-0.19.0.md new file mode 100644 index 00000000..dfe8ae19 --- /dev/null +++ b/_posts/2015-4-25-version-0.19.0.md @@ -0,0 +1,47 @@ +--- +layout: post +author: danielbachhuber +title: Version 0.19.0 released +--- + +Enhancements: + +* `wp option list` permits listing all options, or searching based on a pattern. Use `--format=total_bytes` to get the total bytes for the matching options. +* Use `--all-tables` flag for `wp search-replace` to perform replacements against all tables in the database. In 0.17.0, we changed the behavior of `wp search-replace` to only affect tables registered to `$wpdb`. This new flag permits users to opt-in to all tables. +* When scaffolding a plugin, we've made a few improvements: `install-wp-tests.sh` will use either cURL or wget; added `--activate-network` flag; use `--dir` to scaffold to an arbitrary directory (e.g. mu-plugins or a theme folder); creates default Gruntfile with two helpful tasks, `readme` and `i18n`; increased max tested PHP version to 5.5. +* When scaffolding a child theme, the parent theme's stylesheet is properly enqueued, instead of being loaded via `@import`. +* Added `wp core language update` to update language files. +* Introduced `\WP_CLI\Utils\get_flag_value()` helper function. +* Added a `--dashicon` argument to `wp scaffold post-type` which will specify the icon for the post type. +* Added a `--sassify` argument to `wp scaffold _s` to download the SASS version of `_s`. +* MySQL binary commands execute with `--no-auto-rehash` for a substantial performance boost on larger databases. +* On export, taxonomy terms missing parents are explicitly identified to make them easier to fix. +* When updating an option or post/user/comment meta and the supplied option is the same as the stored option, the success message indicates as such. +* Added `--format=ids` to `wp post term list`. +* Added `--skip-delete` flag to `wp media regenerate`. This is helpful on sites where thumbnails might've been linked to within post content. Skipping deletion prevents broken images. +* Added `after_invoke` hook for any post-command execution tasks. +* Supports filtering by site value in `wp site list`. +* Added archive/unarchive, activate/deactivate and spam/not-spam subcommands to `wp site`. +* Added a summary table to output of `wp theme update` and `wp plugin update`. This makes it easier to parse the final results when you're updating a number of themes or plugins in one go. +* On multisite, user creation is run through `wpmu_validate_user_signup()` and `wpmu_create_user()`, which perform different validation rules. +* Object cache is periodically cleared on import to prevent excess memory usage. +* Nightly builds are accompanied by checksums. +* WP-CLI now provides checksums for nightly builds. + +Bug fixes: + +* Provides a human-friendly error when an invalid class is specified for a command. The prior behavior was to fatal error. +* Correctly sets `sslverify` argument when testing WP-Cron. +* Importer throws a hard error if importing a file returns `WP_Error`. `create_author_mapping_file()` uses `WP_Error` to report that an author mapping file needs to be updated. However, when importing a directory of WXR files, only using `WP_CLI::warning()` means the second file will use the author mapping file of the first, which should've been edited. +* Comment meta values are wrapped in CDATA tags on export. +* `wp core multisite-install` and `wp core multisite-convert` will properly include `define( 'WP_ALLOW_MULTISITE', true );` constant. +* Honors https scheme on `--url` argument. +* `wp post term list` displays error for an invalid taxonomy. +* `WP_CLI::error()` respects `$exit` argument. +* Provides a human-friendly error when an incorrect version or locale was supplied for `wp core download` The prior behavior was to fatal error. +* `wp cron event schedule` respects the `` argument. +* Doesn't permit child themes to be activated without their parent installed. +* Themes are network enabled based on stylesheet value, not template. Previously, it wasn't possible to network-enable a child theme because of this bug. + + +You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.19.0+is%3Aclosed) on Github. From 9097ad4df5e8de5bbebf80f84e74e5c6683601dd Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Sat, 25 Apr 2015 13:43:43 -0700 Subject: [PATCH 363/839] Update documentation --- commands/core/language/index.md | 4 ++ commands/core/language/list/index.md | 1 + commands/core/language/update/index.md | 44 ++++++++++++++ commands/db/export/index.md | 2 +- commands/media/regenerate/index.md | 3 + commands/option/index.md | 4 ++ commands/option/list/index.md | 78 +++++++++++++++++++++++++ commands/plugin/deactivate/index.md | 3 + commands/plugin/uninstall/index.md | 3 + commands/post/delete/index.md | 3 + commands/post/term/list/index.md | 2 +- commands/scaffold/_s/index.md | 6 ++ commands/scaffold/child-theme/index.md | 3 + commands/scaffold/plugin-tests/index.md | 5 +- commands/scaffold/plugin/index.md | 6 ++ commands/scaffold/post-type/index.md | 3 + commands/search-replace/index.md | 6 ++ commands/site/activate/index.md | 50 ++++++++++++++++ commands/site/archive/index.md | 50 ++++++++++++++++ commands/site/deactivate/index.md | 50 ++++++++++++++++ commands/site/index.md | 24 ++++++++ commands/site/list/index.md | 3 + commands/site/spam/index.md | 50 ++++++++++++++++ commands/site/unarchive/index.md | 50 ++++++++++++++++ commands/site/unspam/index.md | 50 ++++++++++++++++ commands/user/import-csv/index.md | 6 +- commands/user/term/list/index.md | 2 +- 27 files changed, 504 insertions(+), 7 deletions(-) create mode 100644 commands/core/language/update/index.md create mode 100644 commands/option/list/index.md create mode 100644 commands/site/activate/index.md create mode 100644 commands/site/archive/index.md create mode 100644 commands/site/deactivate/index.md create mode 100644 commands/site/spam/index.md create mode 100644 commands/site/unarchive/index.md create mode 100644 commands/site/unspam/index.md diff --git a/commands/core/language/index.md b/commands/core/language/index.md index f76dfef4..0c995979 100644 --- a/commands/core/language/index.md +++ b/commands/core/language/index.md @@ -67,5 +67,9 @@ title: 'wp core language'
    + + + +
    uninstall Uninstall a given language.
    updateUpdates the active translation of core, plugins, and themes.
    diff --git a/commands/core/language/list/index.md b/commands/core/language/list/index.md index dad58b8c..9c538049 100644 --- a/commands/core/language/list/index.md +++ b/commands/core/language/list/index.md @@ -25,6 +25,7 @@ These fields will be displayed by default for each translation: * english_name * native_name * status +* update * updated These fields are optionally available: diff --git a/commands/core/language/update/index.md b/commands/core/language/update/index.md new file mode 100644 index 00000000..d1ace238 --- /dev/null +++ b/commands/core/language/update/index.md @@ -0,0 +1,44 @@ +--- +layout: default +title: 'wp core language update' +--- + +`wp core language update` - Updates the active translation of core, plugins, and themes. + +[\--dry-run] +: Preview which translations would be updated. + +### GLOBAL PARAMETERS + + \--path=<path> + Path to the WordPress files + + \--url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + \--user=<id|login|email> + Set the WordPress user + + \--skip-plugins[=<plugin>] + Skip loading all or some plugins + + \--skip-themes[=<theme>] + Skip loading all or some themes + + \--require=<path> + Load PHP file before running the command (may be used more than once) + + \--[no-]color + Whether to colorize the output + + \--debug + Show all PHP errors + + \--prompt + Prompt the user to enter values for all command arguments + + \--quiet + Suppress informational messages + + + diff --git a/commands/db/export/index.md b/commands/db/export/index.md index 6a9704df..7af21371 100644 --- a/commands/db/export/index.md +++ b/commands/db/export/index.md @@ -14,7 +14,7 @@ title: 'wp db export' : Extra arguments to pass to mysqldump [\--tables=<tables>] -: The comma separated list of specific tables to export. Excluding this parameter will export all tables +: The comma separated list of specific tables to export. Excluding this parameter will export all tables in the database. ### EXAMPLES diff --git a/commands/media/regenerate/index.md b/commands/media/regenerate/index.md index a74044a2..ebcc442a 100644 --- a/commands/media/regenerate/index.md +++ b/commands/media/regenerate/index.md @@ -10,6 +10,9 @@ title: 'wp media regenerate' [<attachment-id>...] : One or more IDs of the attachments to regenerate. +[\--skip-delete] +: Skip deletion of the original thumbnails. If your thumbnails are linked from sources outside your control, it's likely best to leave them around. Defaults to false. + [\--yes] : Answer yes to the confirmation message. diff --git a/commands/option/index.md b/commands/option/index.md index 9d9a3880..9bcf9371 100644 --- a/commands/option/index.md +++ b/commands/option/index.md @@ -76,6 +76,10 @@ title: 'wp option' get Get an option. + + list + List options. + update Update an option. diff --git a/commands/option/list/index.md b/commands/option/list/index.md new file mode 100644 index 00000000..4a564213 --- /dev/null +++ b/commands/option/list/index.md @@ -0,0 +1,78 @@ +--- +layout: default +title: 'wp option list' +--- + +`wp option list` - List options. + +[\--search=<pattern>] +: Use wildcards ( * and ? ) to match option name. + +[\--autoload=<value>] +: Match only autoload options when value is on, and only not-autoload option when off. + +[\--fields=<fields>] +: Limit the output to specific object fields. + +[\--format=<format>] +: The serialization format for the value. +: total_bytes displays the total size of matching options in bytes. +: Accepted values: table, json, csv, count, total_bytes. Default: table + +### EXAMPLES + + # Get the total size of all autoload options + wp option list --autoload=on --format=total_bytes + + # Find biggest transients + wp option list --search="*_transient_*" --fields=option_name,size_bytes | sort -n -k 2 | tail + + # List all options begining with "i2f_" + wp option list --search "i2f_*" + +### AVAILABLE FIELDS + +This field will be displayed by default for each matching option: + +* option_name +* option_value + +These fields are optionally available: + +* autoload +* size_bytes + +### GLOBAL PARAMETERS + + \--path=<path> + Path to the WordPress files + + \--url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + \--user=<id|login|email> + Set the WordPress user + + \--skip-plugins[=<plugin>] + Skip loading all or some plugins + + \--skip-themes[=<theme>] + Skip loading all or some themes + + \--require=<path> + Load PHP file before running the command (may be used more than once) + + \--[no-]color + Whether to colorize the output + + \--debug + Show all PHP errors + + \--prompt + Prompt the user to enter values for all command arguments + + \--quiet + Suppress informational messages + + + diff --git a/commands/plugin/deactivate/index.md b/commands/plugin/deactivate/index.md index 9e440e2e..98cb8e1d 100644 --- a/commands/plugin/deactivate/index.md +++ b/commands/plugin/deactivate/index.md @@ -10,6 +10,9 @@ title: 'wp plugin deactivate' [<plugin>...] : One or more plugins to deactivate. +[\--uninstall] +: Uninstall the plugin after deactivation. + [\--all] : If set, all plugins will be deactivated. diff --git a/commands/plugin/uninstall/index.md b/commands/plugin/uninstall/index.md index 6fea4f29..b7933882 100644 --- a/commands/plugin/uninstall/index.md +++ b/commands/plugin/uninstall/index.md @@ -10,6 +10,9 @@ title: 'wp plugin uninstall' <plugin>... : One or more plugins to uninstall. +[\--deactivate] +: Deactivate the plugin before uninstalling. Default behavior is to warn and skip if the plugin is active. + [\--skip-delete] : If set, the plugin files will not be deleted. Only the uninstall procedure will be run. diff --git a/commands/post/delete/index.md b/commands/post/delete/index.md index c36b219e..363dfc3e 100644 --- a/commands/post/delete/index.md +++ b/commands/post/delete/index.md @@ -19,6 +19,9 @@ title: 'wp post delete' wp post delete $(wp post list --post_type='page' --format=ids) + # delete all posts in the trash + wp post delete $(wp post list --post_status=trash --format=ids) + ### GLOBAL PARAMETERS \--path=<path> diff --git a/commands/post/term/list/index.md b/commands/post/term/list/index.md index f4c8706d..12f1758a 100644 --- a/commands/post/term/list/index.md +++ b/commands/post/term/list/index.md @@ -15,7 +15,7 @@ title: 'wp post term list' : Limit the output to specific row fields. [\--format=<format>] -: Accepted values: table, csv, json, count. Default: table +: Accepted values: table, csv, json, count, ids. Default: table ### AVAILABLE FIELDS diff --git a/commands/scaffold/_s/index.md b/commands/scaffold/_s/index.md index f5712964..97192f9c 100644 --- a/commands/scaffold/_s/index.md +++ b/commands/scaffold/_s/index.md @@ -13,6 +13,9 @@ title: 'wp scaffold _s' [\--activate] : Activate the newly downloaded theme. +[\--enable-network] +: Enable the newly downloaded theme for the entire network. + [\--theme_name=<title>] : What to put in the 'Theme Name:' header in style.css @@ -22,6 +25,9 @@ title: 'wp scaffold _s' [\--author_uri=<uri>] : What to put in the 'Author URI:' header in style.css +[\--sassify] +: Include stylesheets as SASS + ### GLOBAL PARAMETERS \--path=<path> diff --git a/commands/scaffold/child-theme/index.md b/commands/scaffold/child-theme/index.md index 1d0d5e65..0ebf4f26 100644 --- a/commands/scaffold/child-theme/index.md +++ b/commands/scaffold/child-theme/index.md @@ -28,6 +28,9 @@ title: 'wp scaffold child-theme' [\--activate] : Activate the newly created child theme. +[\--enable-network] +: Enable the newly created child theme for the entire network. + ### GLOBAL PARAMETERS \--path=<path> diff --git a/commands/scaffold/plugin-tests/index.md b/commands/scaffold/plugin-tests/index.md index 7f2f7522..eaf891f8 100644 --- a/commands/scaffold/plugin-tests/index.md +++ b/commands/scaffold/plugin-tests/index.md @@ -21,9 +21,12 @@ variable. ### OPTIONS -<plugin> +[<plugin>] : The name of the plugin to generate test files for. +[\--dir=<dirname>] +: Generate test files for a non-standard plugin path. + ### EXAMPLE wp scaffold plugin-tests hello diff --git a/commands/scaffold/plugin/index.md b/commands/scaffold/plugin/index.md index e96d01b8..d02959dd 100644 --- a/commands/scaffold/plugin/index.md +++ b/commands/scaffold/plugin/index.md @@ -10,6 +10,9 @@ title: 'wp scaffold plugin' <slug> : The internal name of the plugin. +[\--dir=<dirname>] +: Put the new plugin in some arbitrary directory path. Plugin directory will be path plus supplied slug. + [\--plugin_name=<title>] : What to put in the 'Plugin Name:' header @@ -19,6 +22,9 @@ title: 'wp scaffold plugin' [\--activate] : Activate the newly generated plugin. +[\--activate-network] +: Network activate the newly generated plugin. + ### GLOBAL PARAMETERS \--path=<path> diff --git a/commands/scaffold/post-type/index.md b/commands/scaffold/post-type/index.md index 403da2ac..4f1dc499 100644 --- a/commands/scaffold/post-type/index.md +++ b/commands/scaffold/post-type/index.md @@ -16,6 +16,9 @@ title: 'wp scaffold post-type' [\--textdomain=<textdomain>] : The textdomain to use for the labels. +[\--dashicon=<dashicon>] +: The dashicon to use in the menu. + [\--theme] : Create a file in the active theme directory, instead of sending to STDOUT. Specify a theme with `--theme=<theme>` to have the file placed in that theme. diff --git a/commands/search-replace/index.md b/commands/search-replace/index.md index 9db83804..42d41471 100644 --- a/commands/search-replace/index.md +++ b/commands/search-replace/index.md @@ -38,6 +38,12 @@ It will correctly handle serialized values, and will not change primary key valu [\--recurse-objects] : Enable recursing into objects to replace strings +[\--all-tables-with-prefix] +: Enable replacement on any tables that match the table prefix even if not registered on wpdb + +[\--all-tables] +: Enable replacement on ALL tables in the database, regardless of the prefix. Overrides --network and --all-tables-with-prefix. + ### EXAMPLES wp search-replace 'http://example.dev' 'http://example.com' --skip-columns=guid diff --git a/commands/site/activate/index.md b/commands/site/activate/index.md new file mode 100644 index 00000000..c09710db --- /dev/null +++ b/commands/site/activate/index.md @@ -0,0 +1,50 @@ +--- +layout: default +title: 'wp site activate' +--- + +`wp site activate` - Activate one or more sites + +### OPTIONS + +<id>... +: One or more IDs of sites to activate. + +### EXAMPLES + + wp site activate 123 + +### GLOBAL PARAMETERS + + \--path=<path> + Path to the WordPress files + + \--url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + \--user=<id|login|email> + Set the WordPress user + + \--skip-plugins[=<plugin>] + Skip loading all or some plugins + + \--skip-themes[=<theme>] + Skip loading all or some themes + + \--require=<path> + Load PHP file before running the command (may be used more than once) + + \--[no-]color + Whether to colorize the output + + \--debug + Show all PHP errors + + \--prompt + Prompt the user to enter values for all command arguments + + \--quiet + Suppress informational messages + + + diff --git a/commands/site/archive/index.md b/commands/site/archive/index.md new file mode 100644 index 00000000..0ecdba91 --- /dev/null +++ b/commands/site/archive/index.md @@ -0,0 +1,50 @@ +--- +layout: default +title: 'wp site archive' +--- + +`wp site archive` - Archive one or more sites + +### OPTIONS + +<id>... +: One or more IDs of sites to archive. + +### EXAMPLES + + wp site archive 123 + +### GLOBAL PARAMETERS + + \--path=<path> + Path to the WordPress files + + \--url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + \--user=<id|login|email> + Set the WordPress user + + \--skip-plugins[=<plugin>] + Skip loading all or some plugins + + \--skip-themes[=<theme>] + Skip loading all or some themes + + \--require=<path> + Load PHP file before running the command (may be used more than once) + + \--[no-]color + Whether to colorize the output + + \--debug + Show all PHP errors + + \--prompt + Prompt the user to enter values for all command arguments + + \--quiet + Suppress informational messages + + + diff --git a/commands/site/deactivate/index.md b/commands/site/deactivate/index.md new file mode 100644 index 00000000..c1e6fbf7 --- /dev/null +++ b/commands/site/deactivate/index.md @@ -0,0 +1,50 @@ +--- +layout: default +title: 'wp site deactivate' +--- + +`wp site deactivate` - Deactivate one or more sites + +### OPTIONS + +<id>... +: One or more IDs of sites to deactivate. + +### EXAMPLES + + wp site deactivate 123 + +### GLOBAL PARAMETERS + + \--path=<path> + Path to the WordPress files + + \--url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + \--user=<id|login|email> + Set the WordPress user + + \--skip-plugins[=<plugin>] + Skip loading all or some plugins + + \--skip-themes[=<theme>] + Skip loading all or some themes + + \--require=<path> + Load PHP file before running the command (may be used more than once) + + \--[no-]color + Whether to colorize the output + + \--debug + Show all PHP errors + + \--prompt + Prompt the user to enter values for all command arguments + + \--quiet + Suppress informational messages + + + diff --git a/commands/site/index.md b/commands/site/index.md index 031e5571..fe8ba015 100644 --- a/commands/site/index.md +++ b/commands/site/index.md @@ -51,10 +51,22 @@ title: 'wp site' + + activate + Activate one or more sites + + + archive + Archive one or more sites + create Create a site in a multisite install. + + deactivate + Deactivate one or more sites + delete Delete a site in a multisite install. @@ -67,6 +79,18 @@ title: 'wp site' list List all sites in a multisite install. + + spam + Mark one or more sites as spam + + + unarchive + Unarchive one or more sites + + + unspam + Remove one or more sites from spam + url Get site url diff --git a/commands/site/list/index.md b/commands/site/list/index.md index a83daa2b..4f543dfa 100644 --- a/commands/site/list/index.md +++ b/commands/site/list/index.md @@ -10,6 +10,9 @@ title: 'wp site list' [\--network=<id>] : The network to which the sites belong. +[\--<field>=<value>] +: Filter by one or more fields. + [\--field=<field>] : Prints the value of a single field for each site. diff --git a/commands/site/spam/index.md b/commands/site/spam/index.md new file mode 100644 index 00000000..cae0bb9b --- /dev/null +++ b/commands/site/spam/index.md @@ -0,0 +1,50 @@ +--- +layout: default +title: 'wp site spam' +--- + +`wp site spam` - Mark one or more sites as spam + +### OPTIONS + +<id>... +: One or more IDs of sites to be marked as spam. + +### EXAMPLES + + wp site spam 123 + +### GLOBAL PARAMETERS + + \--path=<path> + Path to the WordPress files + + \--url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + \--user=<id|login|email> + Set the WordPress user + + \--skip-plugins[=<plugin>] + Skip loading all or some plugins + + \--skip-themes[=<theme>] + Skip loading all or some themes + + \--require=<path> + Load PHP file before running the command (may be used more than once) + + \--[no-]color + Whether to colorize the output + + \--debug + Show all PHP errors + + \--prompt + Prompt the user to enter values for all command arguments + + \--quiet + Suppress informational messages + + + diff --git a/commands/site/unarchive/index.md b/commands/site/unarchive/index.md new file mode 100644 index 00000000..f6cd564e --- /dev/null +++ b/commands/site/unarchive/index.md @@ -0,0 +1,50 @@ +--- +layout: default +title: 'wp site unarchive' +--- + +`wp site unarchive` - Unarchive one or more sites + +### OPTIONS + +<id>... +: One or more IDs of sites to unarchive. + +### EXAMPLES + + wp site unarchive 123 + +### GLOBAL PARAMETERS + + \--path=<path> + Path to the WordPress files + + \--url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + \--user=<id|login|email> + Set the WordPress user + + \--skip-plugins[=<plugin>] + Skip loading all or some plugins + + \--skip-themes[=<theme>] + Skip loading all or some themes + + \--require=<path> + Load PHP file before running the command (may be used more than once) + + \--[no-]color + Whether to colorize the output + + \--debug + Show all PHP errors + + \--prompt + Prompt the user to enter values for all command arguments + + \--quiet + Suppress informational messages + + + diff --git a/commands/site/unspam/index.md b/commands/site/unspam/index.md new file mode 100644 index 00000000..4fd2e092 --- /dev/null +++ b/commands/site/unspam/index.md @@ -0,0 +1,50 @@ +--- +layout: default +title: 'wp site unspam' +--- + +`wp site unspam` - Remove one or more sites from spam + +### OPTIONS + +<id>... +: One or more IDs of sites to remove from spam. + +### EXAMPLES + + wp site unspam 123 + +### GLOBAL PARAMETERS + + \--path=<path> + Path to the WordPress files + + \--url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + \--user=<id|login|email> + Set the WordPress user + + \--skip-plugins[=<plugin>] + Skip loading all or some plugins + + \--skip-themes[=<theme>] + Skip loading all or some themes + + \--require=<path> + Load PHP file before running the command (may be used more than once) + + \--[no-]color + Whether to colorize the output + + \--debug + Show all PHP errors + + \--prompt + Prompt the user to enter values for all command arguments + + \--quiet + Suppress informational messages + + + diff --git a/commands/user/import-csv/index.md b/commands/user/import-csv/index.md index 35b43e5e..27bd09a9 100644 --- a/commands/user/import-csv/index.md +++ b/commands/user/import-csv/index.md @@ -24,9 +24,9 @@ title: 'wp user import-csv' Sample users.csv file: user_login,user_email,display_name,role - bobjones,bobjones@domain.com,Bob Jones,contributor - newuser1,newuser1@domain.com,New User,author - existinguser,existinguser@domain.com,Existing User,administrator + bobjones,bobjones@example.com,Bob Jones,contributor + newuser1,newuser1@example.com,New User,author + existinguser,existinguser@example.com,Existing User,administrator ### GLOBAL PARAMETERS diff --git a/commands/user/term/list/index.md b/commands/user/term/list/index.md index d2f27179..06494390 100644 --- a/commands/user/term/list/index.md +++ b/commands/user/term/list/index.md @@ -15,7 +15,7 @@ title: 'wp user term list' : Limit the output to specific row fields. [\--format=<format>] -: Accepted values: table, csv, json, count. Default: table +: Accepted values: table, csv, json, count, ids. Default: table ### AVAILABLE FIELDS From af473fd3a41460de497721188e04480a1016b76d Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Sat, 25 Apr 2015 13:53:06 -0700 Subject: [PATCH 364/839] Break out the plugin scaffolding improvements --- _posts/2015-4-25-version-0.19.0.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/_posts/2015-4-25-version-0.19.0.md b/_posts/2015-4-25-version-0.19.0.md index dfe8ae19..ac41c229 100644 --- a/_posts/2015-4-25-version-0.19.0.md +++ b/_posts/2015-4-25-version-0.19.0.md @@ -4,11 +4,22 @@ author: danielbachhuber title: Version 0.19.0 released --- +### Plugin scaffolding + +`wp plugin scaffold` is a great way to get started on your next WordPress plugin. It automates many procedural steps you'd typically need to remember to do, or copy and paste out of another plugin. The latest version includes these improvements: + +* `bin/install-wp-tests.sh` will use either cURL or wget, depending on which is available, and is more fault tolerant. +* Use the `--activate-network` flag to network activate the plugin after creation. +* Use the `--dir=` argument to scaffold a plugin to an arbitrary directory (e.g. mu-plugins or a theme folder). +* Scaffolds Gruntfile with two helpful tasks: `grunt readme` to generate a `README.md` from your `readme.txt`, and `grunt i18n` to create a `.pot` file. +* Default `.travis.yml` increased maximum tested PHP version to 5.5, is more smart about the build matrix it generates, and sets notifications to only email developers on build failures. + +### Other changes in v0.19.0 + Enhancements: * `wp option list` permits listing all options, or searching based on a pattern. Use `--format=total_bytes` to get the total bytes for the matching options. * Use `--all-tables` flag for `wp search-replace` to perform replacements against all tables in the database. In 0.17.0, we changed the behavior of `wp search-replace` to only affect tables registered to `$wpdb`. This new flag permits users to opt-in to all tables. -* When scaffolding a plugin, we've made a few improvements: `install-wp-tests.sh` will use either cURL or wget; added `--activate-network` flag; use `--dir` to scaffold to an arbitrary directory (e.g. mu-plugins or a theme folder); creates default Gruntfile with two helpful tasks, `readme` and `i18n`; increased max tested PHP version to 5.5. * When scaffolding a child theme, the parent theme's stylesheet is properly enqueued, instead of being loaded via `@import`. * Added `wp core language update` to update language files. * Introduced `\WP_CLI\Utils\get_flag_value()` helper function. From 99034f5efc26bf420fcbabf65652e95fdc4ba1e2 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Sat, 25 Apr 2015 14:15:22 -0700 Subject: [PATCH 365/839] Update contributor list --- _posts/2015-4-25-version-0.19.0.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_posts/2015-4-25-version-0.19.0.md b/_posts/2015-4-25-version-0.19.0.md index ac41c229..77c97875 100644 --- a/_posts/2015-4-25-version-0.19.0.md +++ b/_posts/2015-4-25-version-0.19.0.md @@ -56,3 +56,5 @@ Bug fixes: You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.19.0+is%3Aclosed) on Github. + +Contributors to this release: [2ndkauboy](https://github.com/2ndkauboy), [acusti](https://github.com/acusti), [bobbywalters](https://github.com/bobbywalters), [bmackinney](https://github.com/bmackinney), [danielbachhuber](https://github.com/danielbachhuber), [francescolaffi](https://github.com/francescolaffi), [heiglandreas](https://github.com/heiglandreas), [hirozed](https://github.com/hirozed), [jeichorn](https://github.com/jeichorn), [johnbillion](https://github.com/johnbillion), [joshbetz](https://github.com/joshbetz), [jpry](https://github.com/jpry), [keeth](https://github.com/keeth), [mavin](https://github.com/mavin), [morganestes](https://github.com/morganestes), [mwithheld](https://github.com/mwithheld), [nyordanov](https://github.com/nyordanov), [rodrigoprimo](https://github.com/rodrigoprimo), [sebastiaandegeus](https://github.com/sebastiaandegeus), [szepeviktor](https://github.com/szepeviktor), [wrnx](https://github.com/wrnx), [yivi](https://github.com/yivi) From 4d6c3cca239f7f461da4d2ed1e7dfe6bf511acfa Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Sat, 25 Apr 2015 14:25:30 -0700 Subject: [PATCH 366/839] An intro note --- _posts/2015-4-25-version-0.19.0.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_posts/2015-4-25-version-0.19.0.md b/_posts/2015-4-25-version-0.19.0.md index 77c97875..e09ac8ec 100644 --- a/_posts/2015-4-25-version-0.19.0.md +++ b/_posts/2015-4-25-version-0.19.0.md @@ -4,6 +4,8 @@ author: danielbachhuber title: Version 0.19.0 released --- +2015 is an exciting time for WP-CLI. WP-API is days away from beta1, and brings with it a powerful new interface to WordPress. In the near future, we'll start exploring how WP-CLI can use WP-API internally. If all goes well, WP-CLI could just see one more 0.x.0 release before the big 1.0.0. + ### Plugin scaffolding `wp plugin scaffold` is a great way to get started on your next WordPress plugin. It automates many procedural steps you'd typically need to remember to do, or copy and paste out of another plugin. The latest version includes these improvements: From 711ffbafb4dbc7f3d4b57181b47aeb5d4b530600 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Sat, 25 Apr 2015 14:30:25 -0700 Subject: [PATCH 367/839] Language tweaks --- _posts/2015-4-25-version-0.19.0.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/_posts/2015-4-25-version-0.19.0.md b/_posts/2015-4-25-version-0.19.0.md index e09ac8ec..8e42f28e 100644 --- a/_posts/2015-4-25-version-0.19.0.md +++ b/_posts/2015-4-25-version-0.19.0.md @@ -4,23 +4,23 @@ author: danielbachhuber title: Version 0.19.0 released --- -2015 is an exciting time for WP-CLI. WP-API is days away from beta1, and brings with it a powerful new interface to WordPress. In the near future, we'll start exploring how WP-CLI can use WP-API internally. If all goes well, WP-CLI could just see one more 0.x.0 release before the big 1.0.0. +2015 is an exciting time for WP-CLI. WP-API is days away from 2.0-beta1, and brings with it a powerful new interface to WordPress. In the near future, we'll start exploring how WP-CLI can use WP-API internally. If all goes well, WP-CLI could see just one more 0.x.0 release before the big 1.0.0. ### Plugin scaffolding -`wp plugin scaffold` is a great way to get started on your next WordPress plugin. It automates many procedural steps you'd typically need to remember to do, or copy and paste out of another plugin. The latest version includes these improvements: +`wp plugin scaffold` is a great way to get started on your next WordPress plugin. It automates many procedural steps you can easily forget to do, or need to copy and paste out of another plugin. v0.19.0 brings these improvements: -* `bin/install-wp-tests.sh` will use either cURL or wget, depending on which is available, and is more fault tolerant. -* Use the `--activate-network` flag to network activate the plugin after creation. -* Use the `--dir=` argument to scaffold a plugin to an arbitrary directory (e.g. mu-plugins or a theme folder). -* Scaffolds Gruntfile with two helpful tasks: `grunt readme` to generate a `README.md` from your `readme.txt`, and `grunt i18n` to create a `.pot` file. -* Default `.travis.yml` increased maximum tested PHP version to 5.5, is more smart about the build matrix it generates, and sets notifications to only email developers on build failures. +* `bin/install-wp-tests.sh` will use either cURL or wget, depending on which is available. The script is also more fault tolerant. +* Use the `--dir=` argument to scaffold your new plugin to an arbitrary directory (e.g. mu-plugins or a theme folder). +* For custom projects, use the `--activate-network` flag to network activate the plugin after creation. +* Generates a Gruntfile with two helpful tasks: `grunt readme` to build a `README.md` from your `readme.txt`, and `grunt i18n` to create a `.pot` file. +* The default `.travis.yml` has increased maximum tested PHP version to 5.5, is more smart about the build matrix it generates, and changes notifications preferences to only email developers on build failures. ### Other changes in v0.19.0 Enhancements: -* `wp option list` permits listing all options, or searching based on a pattern. Use `--format=total_bytes` to get the total bytes for the matching options. +* `wp option list` lists all options, or searching for specific options based on a pattern. Use `--format=total_bytes` to get the total bytes for the matching options. * Use `--all-tables` flag for `wp search-replace` to perform replacements against all tables in the database. In 0.17.0, we changed the behavior of `wp search-replace` to only affect tables registered to `$wpdb`. This new flag permits users to opt-in to all tables. * When scaffolding a child theme, the parent theme's stylesheet is properly enqueued, instead of being loaded via `@import`. * Added `wp core language update` to update language files. From 177be2a36a6580c917713fdc2b7814511870293e Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Sat, 25 Apr 2015 14:33:15 -0700 Subject: [PATCH 368/839] Language clarification --- _posts/2015-4-25-version-0.19.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/_posts/2015-4-25-version-0.19.0.md b/_posts/2015-4-25-version-0.19.0.md index 8e42f28e..94efd2da 100644 --- a/_posts/2015-4-25-version-0.19.0.md +++ b/_posts/2015-4-25-version-0.19.0.md @@ -22,9 +22,8 @@ Enhancements: * `wp option list` lists all options, or searching for specific options based on a pattern. Use `--format=total_bytes` to get the total bytes for the matching options. * Use `--all-tables` flag for `wp search-replace` to perform replacements against all tables in the database. In 0.17.0, we changed the behavior of `wp search-replace` to only affect tables registered to `$wpdb`. This new flag permits users to opt-in to all tables. -* When scaffolding a child theme, the parent theme's stylesheet is properly enqueued, instead of being loaded via `@import`. -* Added `wp core language update` to update language files. -* Introduced `\WP_CLI\Utils\get_flag_value()` helper function. +* When scaffolding a child theme, the parent theme's stylesheet is enqueued, instead of being loaded via `@import`. +* Added a `wp core language update` command to update language files. * Added a `--dashicon` argument to `wp scaffold post-type` which will specify the icon for the post type. * Added a `--sassify` argument to `wp scaffold _s` to download the SASS version of `_s`. * MySQL binary commands execute with `--no-auto-rehash` for a substantial performance boost on larger databases. @@ -43,6 +42,7 @@ Enhancements: Bug fixes: +* Introduces `\WP_CLI\Utils\get_flag_value()` helper function to fix a systemic problem throughout WP-CLI. [Read through this issue](https://github.com/wp-cli/wp-cli/issues/1696) for the full details. * Provides a human-friendly error when an invalid class is specified for a command. The prior behavior was to fatal error. * Correctly sets `sslverify` argument when testing WP-Cron. * Importer throws a hard error if importing a file returns `WP_Error`. `create_author_mapping_file()` uses `WP_Error` to report that an author mapping file needs to be updated. However, when importing a directory of WXR files, only using `WP_CLI::warning()` means the second file will use the author mapping file of the first, which should've been edited. From 2803fb121ca09c2cea1231a60802e1569b697c0a Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Sat, 25 Apr 2015 14:37:30 -0700 Subject: [PATCH 369/839] Language clarity --- _posts/2015-4-25-version-0.19.0.md | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/_posts/2015-4-25-version-0.19.0.md b/_posts/2015-4-25-version-0.19.0.md index 94efd2da..d6f32c84 100644 --- a/_posts/2015-4-25-version-0.19.0.md +++ b/_posts/2015-4-25-version-0.19.0.md @@ -27,33 +27,32 @@ Enhancements: * Added a `--dashicon` argument to `wp scaffold post-type` which will specify the icon for the post type. * Added a `--sassify` argument to `wp scaffold _s` to download the SASS version of `_s`. * MySQL binary commands execute with `--no-auto-rehash` for a substantial performance boost on larger databases. -* On export, taxonomy terms missing parents are explicitly identified to make them easier to fix. -* When updating an option or post/user/comment meta and the supplied option is the same as the stored option, the success message indicates as such. +* On export, taxonomy terms with missing parents are explicitly identified to make them easier to fix. +* When updating an option or post/user/comment meta and the supplied value is the same as the stored value, the success message indicates such. * Added `--format=ids` to `wp post term list`. -* Added `--skip-delete` flag to `wp media regenerate`. This is helpful on sites where thumbnails might've been linked to within post content. Skipping deletion prevents broken images. +* Added `--skip-delete` flag to `wp media regenerate`. This is helpful on sites where thumbnails might've been linked to within post content. Skipping deletion prevents breaking image references. * Added `after_invoke` hook for any post-command execution tasks. * Supports filtering by site value in `wp site list`. * Added archive/unarchive, activate/deactivate and spam/not-spam subcommands to `wp site`. * Added a summary table to output of `wp theme update` and `wp plugin update`. This makes it easier to parse the final results when you're updating a number of themes or plugins in one go. -* On multisite, user creation is run through `wpmu_validate_user_signup()` and `wpmu_create_user()`, which perform different validation rules. -* Object cache is periodically cleared on import to prevent excess memory usage. +* On multisite, user creation is run through `wpmu_validate_user_signup()` and `wpmu_create_user()`, which perform multisite-specific validation rules. +* The object cache is periodically cleared on import to prevent excess memory usage. * Nightly builds are accompanied by checksums. -* WP-CLI now provides checksums for nightly builds. Bug fixes: * Introduces `\WP_CLI\Utils\get_flag_value()` helper function to fix a systemic problem throughout WP-CLI. [Read through this issue](https://github.com/wp-cli/wp-cli/issues/1696) for the full details. * Provides a human-friendly error when an invalid class is specified for a command. The prior behavior was to fatal error. * Correctly sets `sslverify` argument when testing WP-Cron. -* Importer throws a hard error if importing a file returns `WP_Error`. `create_author_mapping_file()` uses `WP_Error` to report that an author mapping file needs to be updated. However, when importing a directory of WXR files, only using `WP_CLI::warning()` means the second file will use the author mapping file of the first, which should've been edited. +* Importer throws a hard error if process to import a file returns `WP_Error`. `create_author_mapping_file()` uses `WP_Error` to report that an author mapping file needs to be updated. However, when importing a directory of WXR files, the prior logic to use `WP_CLI::warning()` means the second file will use the author mapping file of the first, which should've been edited. * Comment meta values are wrapped in CDATA tags on export. * `wp core multisite-install` and `wp core multisite-convert` will properly include `define( 'WP_ALLOW_MULTISITE', true );` constant. -* Honors https scheme on `--url` argument. +* https scheme is honored for the `--url` argument. * `wp post term list` displays error for an invalid taxonomy. * `WP_CLI::error()` respects `$exit` argument. * Provides a human-friendly error when an incorrect version or locale was supplied for `wp core download` The prior behavior was to fatal error. * `wp cron event schedule` respects the `` argument. -* Doesn't permit child themes to be activated without their parent installed. +* Child themes aren't permitted to be activated without their parent installed. * Themes are network enabled based on stylesheet value, not template. Previously, it wasn't possible to network-enable a child theme because of this bug. From edf85d5a554091f03116473d65f4a85632e06009 Mon Sep 17 00:00:00 2001 From: Harshit Sanghvi Date: Tue, 28 Apr 2015 18:49:54 -0400 Subject: [PATCH 370/839] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7cf95602..5c7b9f77 100644 --- a/README.md +++ b/README.md @@ -15,4 +15,5 @@ vendor/bin/phake ### Preview locally 1. [Install Bundler gem](http://jekyllrb.com/docs/installation/): `gem install bundler`. -2. Run `jekyll serve --watch` +2. [Install dependencies](http://jekyllrb.com/docs/installation/): `bundle install` +3. Run `jekyll serve --watch` From 5135deca83680aa8de0e41f621b14e4a4ab94535 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 13 May 2015 11:39:17 -0700 Subject: [PATCH 371/839] Draft v0.19.1 release post --- _posts/2015-05-13-version-0.19.1.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 _posts/2015-05-13-version-0.19.1.md diff --git a/_posts/2015-05-13-version-0.19.1.md b/_posts/2015-05-13-version-0.19.1.md new file mode 100644 index 00000000..2b4fd1a1 --- /dev/null +++ b/_posts/2015-05-13-version-0.19.1.md @@ -0,0 +1,11 @@ +--- +layout: post +author: danielbachhuber +title: Version 0.19.1 released +--- + +We shipped some improvements to `wp scaffold plugin-tests` in v0.19.0. Unfortunately, we also shipped some bugs. This release fixes those, so the tests actually execute after you've scaffolded a new plugin. This release also fixes an undefined notice when creating a new user. + +You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?milestone=30&page=1&state=closed) on Github. + +Contributors to this release: [danielbachhuber](https://github.com/danielbachhuber), [JanVoracek](https://github.com/JanVoracek), [miya0001](https://github.com/miya0001) From d2b5c313fa4caed0b6b57ae2f9a268463c98afd1 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 13 May 2015 11:42:50 -0700 Subject: [PATCH 372/839] Update docs for v0.19.0 --- commands/scaffold/plugin-tests/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/commands/scaffold/plugin-tests/index.md b/commands/scaffold/plugin-tests/index.md index eaf891f8..4e7ee874 100644 --- a/commands/scaffold/plugin-tests/index.md +++ b/commands/scaffold/plugin-tests/index.md @@ -25,7 +25,7 @@ variable. : The name of the plugin to generate test files for. [\--dir=<dirname>] -: Generate test files for a non-standard plugin path. +: Generate test files for a non-standard plugin path. If no plugin slug is specified, the directory name is used. ### EXAMPLE From c89111b458f8586baddb601c92d6d1044081e758 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 13 May 2015 12:35:41 -0700 Subject: [PATCH 373/839] Newline for clarity --- _posts/2015-05-13-version-0.19.1.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/_posts/2015-05-13-version-0.19.1.md b/_posts/2015-05-13-version-0.19.1.md index 2b4fd1a1..ce1166a6 100644 --- a/_posts/2015-05-13-version-0.19.1.md +++ b/_posts/2015-05-13-version-0.19.1.md @@ -4,7 +4,9 @@ author: danielbachhuber title: Version 0.19.1 released --- -We shipped some improvements to `wp scaffold plugin-tests` in v0.19.0. Unfortunately, we also shipped some bugs. This release fixes those, so the tests actually execute after you've scaffolded a new plugin. This release also fixes an undefined notice when creating a new user. +We shipped some improvements to `wp scaffold plugin-tests` in v0.19.0. Unfortunately, we also shipped some bugs. + +This release fixes those, so the tests actually execute after you've scaffolded a new plugin. This release also fixes an undefined notice when creating a new user. You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?milestone=30&page=1&state=closed) on Github. From 297ac604c9c06159184af372ff479ca808dbb829 Mon Sep 17 00:00:00 2001 From: Andrew Patton Date: Fri, 19 Jun 2015 10:14:18 -0400 Subject: [PATCH 374/839] Update MAMP instruction link to better answer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I came up with a better solution for using MAMP’s `php` and `mysql` executables from the command line and posted an answer with it in the same Stack Overflow question that this page links to. The new solution by default exports the latest MAMP PHP version, rather than hardcoding the version number, so it’s more likely to allow people to actually get WP-CLI working in a MAMP environment. --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index ff830b16..520d1939 100644 --- a/index.md +++ b/index.md @@ -38,7 +38,7 @@ Upgrade using the same procedure.

    MAMP

    -If you're using MAMP, you will probably get a MySQL error, because the `php` found in your PATH is not the same as the PHP used by MAMP. Here is one way to [fix it](http://stackoverflow.com/a/10653443/97998). +If you're using MAMP, you will probably get a MySQL error, because the `php` found in your PATH is not the same as the PHP used by MAMP. Here is one way to [fix it](http://stackoverflow.com/a/29990624/333625). More resources: From 0ac8e0cabdf0529b9dca693acd901f69669323af Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Sat, 20 Jun 2015 13:23:01 -0700 Subject: [PATCH 375/839] Blog post for v0.19.2 --- _posts/2015-06-20-version-0.19.2.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 _posts/2015-06-20-version-0.19.2.md diff --git a/_posts/2015-06-20-version-0.19.2.md b/_posts/2015-06-20-version-0.19.2.md new file mode 100644 index 00000000..d9b3134b --- /dev/null +++ b/_posts/2015-06-20-version-0.19.2.md @@ -0,0 +1,11 @@ +--- +layout: post +author: danielbachhuber +title: Version 0.19.2 released +--- + +Embarrassingly, [WP-CLI v0.19.1](http://wp-cli.org/blog/version-0.19.1.html) introduced another bug related to scaffolding plugin tests. More embarrassingly, it took me a full month to get around to fixing it. My apologies if you were bit by it. + +You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?milestone=31&page=1&state=closed) on Github. + +Contributors to this release: [danielbachhuber](https://github.com/danielbachhuber) From 2b46ed5c8266bf8914335ffab3ea0469af92ffb3 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Sat, 20 Jun 2015 14:14:52 -0700 Subject: [PATCH 376/839] Properly format `wp rewrite flush` doc --- commands/rewrite/flush/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/commands/rewrite/flush/index.md b/commands/rewrite/flush/index.md index a97548a1..ae439023 100644 --- a/commands/rewrite/flush/index.md +++ b/commands/rewrite/flush/index.md @@ -12,8 +12,8 @@ Resets WordPress' rewrite rules based on registered post types, etc. To regenerate a .htaccess file with WP-CLI, you'll need to add the mod_rewrite module to your wp-cli.yml or config.yml. For example: -apache_modules: - - mod_rewrite +`apache_modules: + - mod_rewrite` ### OPTIONS From 9cb6de7340fa0203c29d6b80e1d0e1413b5c990e Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 25 Aug 2015 20:57:45 -0700 Subject: [PATCH 377/839] First pass at v0.20.0 release post --- _posts/2015-08-26-version-0.20.0.md | 30 +++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 _posts/2015-08-26-version-0.20.0.md diff --git a/_posts/2015-08-26-version-0.20.0.md b/_posts/2015-08-26-version-0.20.0.md new file mode 100644 index 00000000..6b57de55 --- /dev/null +++ b/_posts/2015-08-26-version-0.20.0.md @@ -0,0 +1,30 @@ +--- +layout: post +author: danielbachhuber +title: Version 0.20.0 released +--- + +### Call for contributions + +### Major bug fix: cached partial upgrade files masquerading as full upgrades + +Since v0.17.0 ([pull request](https://github.com/wp-cli/wp-cli/pull/1320)), WP-CLI mistakenly cached partial archives in a lossy manner. Specifically, a ZIP file for a partial upgrade would be cached with the same key as a ZIP file for a full upgrade. With the file incorrectly cached, subsequent full upgrades would use the cached partial upgrade archive. + +We've [released](https://github.com/wp-cli/wp-cli/releases) v0.17.2, v0.18.1, and v0.19.3 with the bug fix. The cache key was changed as well, so prior invalid WP archives are silently ignored. + +Use `wp core verify-checksums` to make sure a given WordPress install has the correct copy of each file. If it doesn't verify, use `wp core download --version=$(wp core version) --force` to re-install WordPress. + +### Other changes in v0.20.0 + +Enhancements: + +* Keep up with the bleeding edge by using `wp cli update --nightly`. When using WP-CLI nightly, the hash is now appended to the version. +* Added a simple `wp comment generate` command. +* Cache invalidation is deferred until the end when using `wp term generate`. + +Bug fixes: + +* `wp term generate` tries to generate unique term names on subsequent executions. Previously, it would start its index at `0`, and error for duplicate terms. + + +You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.20.0+is%3Aclosed) on Github. From 27c737c090d17890f97ce16bc18f5c595a66636b Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 25 Aug 2015 21:21:05 -0700 Subject: [PATCH 378/839] More release post drafting --- _posts/2015-08-26-version-0.20.0.md | 34 +++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/_posts/2015-08-26-version-0.20.0.md b/_posts/2015-08-26-version-0.20.0.md index 6b57de55..dad3ec13 100644 --- a/_posts/2015-08-26-version-0.20.0.md +++ b/_posts/2015-08-26-version-0.20.0.md @@ -4,6 +4,21 @@ author: danielbachhuber title: Version 0.20.0 released --- +### Regex search-replace + +### Server command + +### WP-API CLI + +### Documentation changes + + # List plugins on each site in a network + wp site list --field=url | xargs -n 1 -I % wp plugin list --url=% + + # Delete inactive plugins + wp plugin delete $(wp plugin list --status=inactive --field=name) + + ### Call for contributions ### Major bug fix: cached partial upgrade files masquerading as full upgrades @@ -20,11 +35,26 @@ Enhancements: * Keep up with the bleeding edge by using `wp cli update --nightly`. When using WP-CLI nightly, the hash is now appended to the version. * Added a simple `wp comment generate` command. -* Cache invalidation is deferred until the end when using `wp term generate`. +* Cache invalidation is deferred until the end of the command when using `wp term generate`. +* `wp term list` supports filtering by `--term_id=`. +* `wp search-replace` has a `--verbose` flag which outputs each column with affected rows as the operation is performed. +* Use `--start_id=` to start `wp export` from a given post ID. +* Export a selection of post types with `wp export`. +* Throws a helpful error when an invalid `--url=` is specified on multisite. +* Create a new role from another role with `wp role --clone=`. +* Use `--format=summary` to get one-liner messages with `wp (plugin|theme) update`. +* Switches away from using `wp_download_language_pack()` so languages can be installed with the `DISALLOW_FILE_MODS` constant set. Bug fixes: * `wp term generate` tries to generate unique term names on subsequent executions. Previously, it would start its index at `0`, and error for duplicate terms. - +* Internalized `wp_clean_update_cache()` (used in `wp core language list` and `wp core language update`) to prevent fatals in WordPress 4.0. The function was introduced in WordPress 4.1. +* When WordPress is detected, WP-CLI will wait until it is fully loaded before executing `wp help`. This means plugins which add commands to an existing namespace can have the help docs appear. +* Corrected Travis notification syntax produced by `wp scaffold plugin-tests` command. +* Supports `Requests` installed to parent project in `WP_CLI\Utils\http_request()` +* Passes thru `--allow-root` in `cli update` to let root update WP-CLI. +* Restored apt-get tab completion after using WP-CLI tab completion. +* Permits categories to be assigned with `wp post update`. +* Prevent `wp import` from using double the memory it actually needs, and save 100s of MBs on large imports. You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.20.0+is%3Aclosed) on Github. From f8cbd3210d895b4d2fc0eed396b3a5a26e4d7cce Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 26 Aug 2015 08:28:13 -0700 Subject: [PATCH 379/839] Release post editing --- _posts/2015-08-26-version-0.20.0.md | 40 +++++++++++++++++++++-------- 1 file changed, 29 insertions(+), 11 deletions(-) diff --git a/_posts/2015-08-26-version-0.20.0.md b/_posts/2015-08-26-version-0.20.0.md index dad3ec13..f55ae6fd 100644 --- a/_posts/2015-08-26-version-0.20.0.md +++ b/_posts/2015-08-26-version-0.20.0.md @@ -4,9 +4,35 @@ author: danielbachhuber title: Version 0.20.0 released --- -### Regex search-replace +Even though WP-CLI is a mature project, we still manage to pack a great set of improvements into each release. Here's what's coming to you in v0.20.0. -### Server command +### Regex, verbose search-replace + +Add the `--regex` flag to `wp search-replace` to use regex in your operation. And, with the `--verbose` flag, you'll see each column with affected rows as the operation is performed: + + $ wp post get 1 --field=title + Hello world + $ wp search-replace '(Hello)\s(world)' '$2, $1' --regex --verbose + ... + Checking: wp_posts.post_content + 0 rows affected + Checking: wp_posts.post_title + 1 rows affected + Checking: wp_posts.post_excerpt + 0 rows affected + ... + $ wp post get 1 --field=title + world, Hello + +Note: search-replace with `--regex` is 15-20x slower than without. Make sure you plan for the performance hit in your migration plans, and use wisely. + +### Major bug fix: cached partial upgrade files masquerading as full upgrades + +Since v0.17.0 ([pull request](https://github.com/wp-cli/wp-cli/pull/1320)), WP-CLI mistakenly cached partial archives in a lossy manner. Specifically, a ZIP file for a partial upgrade would be cached with the same key as a ZIP file for a full upgrade. With the file incorrectly cached, subsequent full upgrades would use the cached partial upgrade archive. + +We've [released](https://github.com/wp-cli/wp-cli/releases) v0.17.2, v0.18.1, and v0.19.3 with the bug fix. The cache key was changed as well, so prior invalid WP archives are silently ignored. + +Use `wp core verify-checksums` to make sure a given WordPress install has the correct copy of each file. If it doesn't verify, use `wp core download --version=$(wp core version) --force` to re-install WordPress. ### WP-API CLI @@ -21,23 +47,15 @@ title: Version 0.20.0 released ### Call for contributions -### Major bug fix: cached partial upgrade files masquerading as full upgrades - -Since v0.17.0 ([pull request](https://github.com/wp-cli/wp-cli/pull/1320)), WP-CLI mistakenly cached partial archives in a lossy manner. Specifically, a ZIP file for a partial upgrade would be cached with the same key as a ZIP file for a full upgrade. With the file incorrectly cached, subsequent full upgrades would use the cached partial upgrade archive. - -We've [released](https://github.com/wp-cli/wp-cli/releases) v0.17.2, v0.18.1, and v0.19.3 with the bug fix. The cache key was changed as well, so prior invalid WP archives are silently ignored. - -Use `wp core verify-checksums` to make sure a given WordPress install has the correct copy of each file. If it doesn't verify, use `wp core download --version=$(wp core version) --force` to re-install WordPress. - ### Other changes in v0.20.0 Enhancements: +* The `wp server` command is bundled with WP-CLI. Use PHP's built-in web server for a specific WordPress instance. * Keep up with the bleeding edge by using `wp cli update --nightly`. When using WP-CLI nightly, the hash is now appended to the version. * Added a simple `wp comment generate` command. * Cache invalidation is deferred until the end of the command when using `wp term generate`. * `wp term list` supports filtering by `--term_id=`. -* `wp search-replace` has a `--verbose` flag which outputs each column with affected rows as the operation is performed. * Use `--start_id=` to start `wp export` from a given post ID. * Export a selection of post types with `wp export`. * Throws a helpful error when an invalid `--url=` is specified on multisite. From bc05583f702db78f74307dfafe6e0cd1b486e170 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 26 Aug 2015 08:59:51 -0700 Subject: [PATCH 380/839] Add contributor list --- _posts/2015-08-26-version-0.20.0.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_posts/2015-08-26-version-0.20.0.md b/_posts/2015-08-26-version-0.20.0.md index f55ae6fd..f2a1d809 100644 --- a/_posts/2015-08-26-version-0.20.0.md +++ b/_posts/2015-08-26-version-0.20.0.md @@ -76,3 +76,5 @@ Bug fixes: * Prevent `wp import` from using double the memory it actually needs, and save 100s of MBs on large imports. You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.20.0+is%3Aclosed) on Github. + +Contributors to this release: [boonebgorges](https://github.com/boonebgorges), [danielbachhuber](https://github.com/danielbachhuber), [janvoracek](https://github.com/janvoracek), [gedex](https://github.com/gedex), [johnbillion](https://github.com/johnbillion), [kdoole](https://github.com/kdoole), [marcaddeo](https://github.com/marcaddeo), [miya0001](https://github.com/miya0001), [montchr](https://github.com/montchr), [morganestes](https://github.com/morganestes), [rodrigoprimo](https://github.com/rodrigoprimo), [rmccue](https://github.com/rmccue), [scribu](https://github.com/scribu), [stevegrunwell](https://github.com/stevegrunwell), [szepeviktor](https://github.com/szepeviktor) From d8cd16cab8a225a4f2eb75138294b0d9e3c3c9a7 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 26 Aug 2015 09:09:24 -0700 Subject: [PATCH 381/839] Update website docs for v0.20.0 --- _includes/cmd-list.html | 4 ++ commands/cache/add/index.md | 12 +++++ commands/cache/decr/index.md | 7 +++ commands/cache/delete/index.md | 4 ++ commands/cache/get/index.md | 4 ++ commands/cache/incr/index.md | 7 +++ commands/cache/index.md | 4 +- commands/cache/replace/index.md | 12 ++++- commands/cache/set/index.md | 12 ++++- commands/cli/index.md | 2 +- commands/cli/param-dump/index.md | 8 ++- commands/cli/update/index.md | 3 ++ commands/comment/generate/index.md | 46 ++++++++++++++++++ commands/comment/index.md | 4 ++ commands/comment/meta/delete/index.md | 2 +- commands/comment/meta/get/index.md | 7 +++ commands/export/index.md | 6 ++- commands/network/meta/delete/index.md | 2 +- commands/network/meta/get/index.md | 7 +++ commands/plugin/delete/index.md | 3 ++ commands/plugin/list/index.md | 3 ++ commands/plugin/update/index.md | 3 ++ commands/post/meta/delete/index.md | 2 +- commands/post/meta/get/index.md | 7 +++ commands/post/term/add/index.md | 4 +- commands/post/term/index.md | 4 +- commands/post/term/set/index.md | 4 +- commands/role/create/index.md | 3 ++ commands/scaffold/_s/index.md | 3 ++ commands/scaffold/child-theme/index.md | 3 ++ commands/scaffold/package-tests/index.md | 3 ++ commands/scaffold/plugin-tests/index.md | 3 ++ commands/scaffold/plugin/index.md | 3 ++ commands/scaffold/post-type/index.md | 3 ++ commands/scaffold/taxonomy/index.md | 3 ++ commands/search-replace/index.md | 6 +++ commands/server/index.md | 62 ++++++++++++++++++++++++ commands/theme/update/index.md | 3 ++ commands/user/delete/index.md | 2 +- commands/user/term/add/index.md | 4 +- commands/user/term/index.md | 4 +- commands/user/term/set/index.md | 4 +- 42 files changed, 269 insertions(+), 23 deletions(-) create mode 100644 commands/comment/generate/index.md create mode 100644 commands/server/index.md diff --git a/_includes/cmd-list.html b/_includes/cmd-list.html index 19acaa39..5377835d 100644 --- a/_includes/cmd-list.html +++ b/_includes/cmd-list.html @@ -86,6 +86,10 @@ search-replace Search/replace strings in the database. + + server + Launch PHP's built-in web server for this specific WordPress installation. + shell Interactive PHP console. diff --git a/commands/cache/add/index.md b/commands/cache/add/index.md index a52faac3..47c8e627 100644 --- a/commands/cache/add/index.md +++ b/commands/cache/add/index.md @@ -5,7 +5,19 @@ title: 'wp cache add' `wp cache add` - Add a value to the object cache. +If a value already exists for the key, the value isn't added. +<key> +: Cache key. + +<value> +: Value to add to the key. + +[<group>] +: Method for grouping data within the cache which allows the same key to be used across groups. + +[<expiration>] +: Define how long to keep the value, in seconds. Defaults to 0 (as long as possible). ### GLOBAL PARAMETERS diff --git a/commands/cache/decr/index.md b/commands/cache/decr/index.md index 43d013d3..1fcbad33 100644 --- a/commands/cache/decr/index.md +++ b/commands/cache/decr/index.md @@ -5,7 +5,14 @@ title: 'wp cache decr' `wp cache decr` - Decrement a value in the object cache. +<key> +: Cache key. +[<offset>] +: The amount by which to decrement the item's value. Default is 1. + +[<group>] +: Method for grouping data within the cache which allows the same key to be used across groups. ### GLOBAL PARAMETERS diff --git a/commands/cache/delete/index.md b/commands/cache/delete/index.md index 8d952b2a..3898f797 100644 --- a/commands/cache/delete/index.md +++ b/commands/cache/delete/index.md @@ -5,7 +5,11 @@ title: 'wp cache delete' `wp cache delete` - Remove a value from the object cache. +<key> +: Cache key. +[<group>] +: Method for grouping data within the cache which allows the same key to be used across groups. ### GLOBAL PARAMETERS diff --git a/commands/cache/get/index.md b/commands/cache/get/index.md index ec312b86..32de6f8c 100644 --- a/commands/cache/get/index.md +++ b/commands/cache/get/index.md @@ -5,7 +5,11 @@ title: 'wp cache get' `wp cache get` - Get a value from the object cache. +<key> +: Cache key. +[<group>] +: Method for grouping data within the cache which allows the same key to be used across groups. ### GLOBAL PARAMETERS diff --git a/commands/cache/incr/index.md b/commands/cache/incr/index.md index 6ab6df24..f4e861e1 100644 --- a/commands/cache/incr/index.md +++ b/commands/cache/incr/index.md @@ -5,7 +5,14 @@ title: 'wp cache incr' `wp cache incr` - Increment a value in the object cache. +<key> +: Cache key. +[<offset>] +: The amount by which to increment the item's value. Default is 1. + +[<group>] +: Method for grouping data within the cache which allows the same key to be used across groups. ### GLOBAL PARAMETERS diff --git a/commands/cache/index.md b/commands/cache/index.md index c88dc85c..8f36d42b 100644 --- a/commands/cache/index.md +++ b/commands/cache/index.md @@ -81,11 +81,11 @@ title: 'wp cache' replace - Replace an existing value in the object cache. + Replace a value in the object cache, if the value already exists. set - Set a value to the object cache. + Set a value to the object cache, regardless of whether it already exists. type diff --git a/commands/cache/replace/index.md b/commands/cache/replace/index.md index cb91e882..9ddf8685 100644 --- a/commands/cache/replace/index.md +++ b/commands/cache/replace/index.md @@ -3,9 +3,19 @@ layout: default title: 'wp cache replace' --- -`wp cache replace` - Replace an existing value in the object cache. +`wp cache replace` - Replace a value in the object cache, if the value already exists. +<key> +: Cache key. +<value> +: Value to replace. + +[<group>] +: Method for grouping data within the cache which allows the same key to be used across groups. + +[<expiration>] +: Define how long to keep the value, in seconds. Defaults to 0 (as long as possible). ### GLOBAL PARAMETERS diff --git a/commands/cache/set/index.md b/commands/cache/set/index.md index 10203583..7161053d 100644 --- a/commands/cache/set/index.md +++ b/commands/cache/set/index.md @@ -3,9 +3,19 @@ layout: default title: 'wp cache set' --- -`wp cache set` - Set a value to the object cache. +`wp cache set` - Set a value to the object cache, regardless of whether it already exists. +<key> +: Cache key. +<value> +: Value to set on the key. + +[<group>] +: Method for grouping data within the cache which allows the same key to be used across groups. + +[<expiration>] +: Define how long to keep the value, in seconds. Defaults to 0 (as long as possible). ### GLOBAL PARAMETERS diff --git a/commands/cli/index.md b/commands/cli/index.md index 082f6d7d..d0ffb8f3 100644 --- a/commands/cli/index.md +++ b/commands/cli/index.md @@ -69,7 +69,7 @@ title: 'wp cli' param-dump - Dump the list of global parameters, as JSON. + Dump the list of global parameters, as JSON or in var_export format. update diff --git a/commands/cli/param-dump/index.md b/commands/cli/param-dump/index.md index daa56c81..a3c13a0d 100644 --- a/commands/cli/param-dump/index.md +++ b/commands/cli/param-dump/index.md @@ -3,9 +3,15 @@ layout: default title: 'wp cli param-dump' --- -`wp cli param-dump` - Dump the list of global parameters, as JSON. +`wp cli param-dump` - Dump the list of global parameters, as JSON or in var_export format. +### OPTIONS +[\--with-values] +: Display current values also. + +[\--format=<format>] +: Accepted values: var_export, json. Default: json. ### GLOBAL PARAMETERS diff --git a/commands/cli/update/index.md b/commands/cli/update/index.md index 1b2f0e83..7e8321f2 100644 --- a/commands/cli/update/index.md +++ b/commands/cli/update/index.md @@ -13,6 +13,9 @@ title: 'wp cli update' [\--minor] : Only perform minor updates +[\--nightly] +: Update to the latest built version of the master branch. Potentially unstable. + [\--yes] : Do not prompt for confirmation diff --git a/commands/comment/generate/index.md b/commands/comment/generate/index.md new file mode 100644 index 00000000..119cbe6e --- /dev/null +++ b/commands/comment/generate/index.md @@ -0,0 +1,46 @@ +--- +layout: default +title: 'wp comment generate' +--- + +`wp comment generate` - Generate comments. + +### OPTIONS + +[\--count=<number>] +: How many comments to generate. Default: 100 + +### GLOBAL PARAMETERS + + \--path=<path> + Path to the WordPress files + + \--url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + \--user=<id|login|email> + Set the WordPress user + + \--skip-plugins[=<plugin>] + Skip loading all or some plugins + + \--skip-themes[=<theme>] + Skip loading all or some themes + + \--require=<path> + Load PHP file before running the command (may be used more than once) + + \--[no-]color + Whether to colorize the output + + \--debug + Show all PHP errors + + \--prompt + Prompt the user to enter values for all command arguments + + \--quiet + Suppress informational messages + + + diff --git a/commands/comment/index.md b/commands/comment/index.md index a3f4a830..c1819503 100644 --- a/commands/comment/index.md +++ b/commands/comment/index.md @@ -74,6 +74,10 @@ title: 'wp comment' exists Verify whether a comment exists. + + generate + Generate comments. + get Get a single comment. diff --git a/commands/comment/meta/delete/index.md b/commands/comment/meta/delete/index.md index 2ff17853..43cbd394 100644 --- a/commands/comment/meta/delete/index.md +++ b/commands/comment/meta/delete/index.md @@ -9,7 +9,7 @@ title: 'wp comment meta delete' : The ID of the object. <key> -: The name of the meta field to create. +: The name of the meta field to delete. [<value>] : The value to delete. If omitted, all rows with key will deleted. diff --git a/commands/comment/meta/get/index.md b/commands/comment/meta/get/index.md index 14e3dfeb..0a35bc4a 100644 --- a/commands/comment/meta/get/index.md +++ b/commands/comment/meta/get/index.md @@ -5,7 +5,14 @@ title: 'wp comment meta get' `wp comment meta get` - Get meta field value. +<id> +: The ID of the object. +<key> +: The name of the meta field to get. + +[\--format=<format>] +: Accepted values: table, json. Default: table ### GLOBAL PARAMETERS diff --git a/commands/export/index.md b/commands/export/index.md index bdb141fd..df14132a 100644 --- a/commands/export/index.md +++ b/commands/export/index.md @@ -26,11 +26,15 @@ to current working directory. : Export only posts published before this date, in format YYYY-MM-DD. [\--post_type=<post-type>] -: Export only posts with this post_type. Defaults to all. +: Export only posts with this post_type. Separate multiple post types with a +comma. Defaults to all. [\--post__in=<pid>] : Export all posts specified as a comma-separated list of IDs. +[\--start_id=<pid>] +: Export only posts with IDs greater than or equal to this post ID. + [\--author=<author>] : Export only posts by this author. Can be either user login or user ID. diff --git a/commands/network/meta/delete/index.md b/commands/network/meta/delete/index.md index 95e00878..de490797 100644 --- a/commands/network/meta/delete/index.md +++ b/commands/network/meta/delete/index.md @@ -9,7 +9,7 @@ title: 'wp network meta delete' : The ID of the object. <key> -: The name of the meta field to create. +: The name of the meta field to delete. [<value>] : The value to delete. If omitted, all rows with key will deleted. diff --git a/commands/network/meta/get/index.md b/commands/network/meta/get/index.md index 3b6f6684..828b7aae 100644 --- a/commands/network/meta/get/index.md +++ b/commands/network/meta/get/index.md @@ -5,7 +5,14 @@ title: 'wp network meta get' `wp network meta get` - Get meta field value. +<id> +: The ID of the object. +<key> +: The name of the meta field to get. + +[\--format=<format>] +: Accepted values: table, json. Default: table ### GLOBAL PARAMETERS diff --git a/commands/plugin/delete/index.md b/commands/plugin/delete/index.md index 77610822..2559faa2 100644 --- a/commands/plugin/delete/index.md +++ b/commands/plugin/delete/index.md @@ -14,6 +14,9 @@ title: 'wp plugin delete' wp plugin delete hello + # Delete inactive plugins + wp plugin delete $(wp plugin list --status=inactive --field=name) + ### GLOBAL PARAMETERS \--path=<path> diff --git a/commands/plugin/list/index.md b/commands/plugin/list/index.md index 396bcef7..e140af60 100644 --- a/commands/plugin/list/index.md +++ b/commands/plugin/list/index.md @@ -40,6 +40,9 @@ These fields are optionally available: wp plugin list --status=active --format=json + # List plugins on each site in a network + wp site list --field=url | xargs -n 1 -I % wp plugin list --url=% + ### GLOBAL PARAMETERS \--path=<path> diff --git a/commands/plugin/update/index.md b/commands/plugin/update/index.md index 0d6df183..17015d90 100644 --- a/commands/plugin/update/index.md +++ b/commands/plugin/update/index.md @@ -13,6 +13,9 @@ title: 'wp plugin update' [\--all] : If set, all plugins that have updates will be updated. +[\--format=<format>] +: Output summary as table or summary. Defaults to table. + [\--version=<version>] : If set, the plugin will be updated to the specified version. diff --git a/commands/post/meta/delete/index.md b/commands/post/meta/delete/index.md index e2294229..902c3e1f 100644 --- a/commands/post/meta/delete/index.md +++ b/commands/post/meta/delete/index.md @@ -9,7 +9,7 @@ title: 'wp post meta delete' : The ID of the object. <key> -: The name of the meta field to create. +: The name of the meta field to delete. [<value>] : The value to delete. If omitted, all rows with key will deleted. diff --git a/commands/post/meta/get/index.md b/commands/post/meta/get/index.md index d8038b7b..6c65e2eb 100644 --- a/commands/post/meta/get/index.md +++ b/commands/post/meta/get/index.md @@ -5,7 +5,14 @@ title: 'wp post meta get' `wp post meta get` - Get meta field value. +<id> +: The ID of the object. +<key> +: The name of the meta field to get. + +[\--format=<format>] +: Accepted values: table, json. Default: table ### GLOBAL PARAMETERS diff --git a/commands/post/term/add/index.md b/commands/post/term/add/index.md index 9eb41a9e..ebc87e59 100644 --- a/commands/post/term/add/index.md +++ b/commands/post/term/add/index.md @@ -3,7 +3,7 @@ layout: default title: 'wp post term add' --- -`wp post term add` - Add a term. Appends to existed +`wp post term add` - Add a term. Appends to existing set of terms on the object. <id> : The ID of the object. @@ -12,7 +12,7 @@ title: 'wp post term add' : The name of the taxonomy type to be added. <term>... -: The name of the term or terms to be added. +: The slug of the term or terms to be added. ### GLOBAL PARAMETERS diff --git a/commands/post/term/index.md b/commands/post/term/index.md index 1a9272f0..b1261d6d 100644 --- a/commands/post/term/index.md +++ b/commands/post/term/index.md @@ -55,7 +55,7 @@ title: 'wp post term' add - Add a term. Appends to existed + Add a term. Appends to existing set of terms on the object. list @@ -67,7 +67,7 @@ title: 'wp post term' set - Set terms. Replaces existing terms + Set terms. Replaces existing terms on the object. diff --git a/commands/post/term/set/index.md b/commands/post/term/set/index.md index 46e12a32..5f204b24 100644 --- a/commands/post/term/set/index.md +++ b/commands/post/term/set/index.md @@ -3,7 +3,7 @@ layout: default title: 'wp post term set' --- -`wp post term set` - Set terms. Replaces existing terms +`wp post term set` - Set terms. Replaces existing terms on the object. <id> : The ID of the object. @@ -12,7 +12,7 @@ title: 'wp post term set' : The name of the taxonomy type to be updated. <term>... -: The name of the term or terms to be updated. +: The slug of the term or terms to be updated. ### GLOBAL PARAMETERS diff --git a/commands/role/create/index.md b/commands/role/create/index.md index bb1ffd42..e90d5a92 100644 --- a/commands/role/create/index.md +++ b/commands/role/create/index.md @@ -13,6 +13,9 @@ title: 'wp role create' <role-name> : The publicly visible name of the role. +[\--clone=<role>] +: Clone capabilities from an existing role. + ### EXAMPLES wp role create approver Approver diff --git a/commands/scaffold/_s/index.md b/commands/scaffold/_s/index.md index 97192f9c..194ad854 100644 --- a/commands/scaffold/_s/index.md +++ b/commands/scaffold/_s/index.md @@ -28,6 +28,9 @@ title: 'wp scaffold _s' [\--sassify] : Include stylesheets as SASS +[\--force] +: Overwrite files that already exist. + ### GLOBAL PARAMETERS \--path=<path> diff --git a/commands/scaffold/child-theme/index.md b/commands/scaffold/child-theme/index.md index 0ebf4f26..fecd74a2 100644 --- a/commands/scaffold/child-theme/index.md +++ b/commands/scaffold/child-theme/index.md @@ -31,6 +31,9 @@ title: 'wp scaffold child-theme' [\--enable-network] : Enable the newly created child theme for the entire network. +[\--force] +: Overwrite files that already exist. + ### GLOBAL PARAMETERS \--path=<path> diff --git a/commands/scaffold/package-tests/index.md b/commands/scaffold/package-tests/index.md index dc8fca87..c98e8229 100644 --- a/commands/scaffold/package-tests/index.md +++ b/commands/scaffold/package-tests/index.md @@ -26,6 +26,9 @@ WP-CLI Behat framework uses Behat ~2.5. <dir> : The package directory to generate tests for. +[\--force] +: Overwrite files that already exist. + ### EXAMPLE wp scaffold package-tests /path/to/command/dir/ diff --git a/commands/scaffold/plugin-tests/index.md b/commands/scaffold/plugin-tests/index.md index 4e7ee874..f2310c28 100644 --- a/commands/scaffold/plugin-tests/index.md +++ b/commands/scaffold/plugin-tests/index.md @@ -27,6 +27,9 @@ variable. [\--dir=<dirname>] : Generate test files for a non-standard plugin path. If no plugin slug is specified, the directory name is used. +[\--force] +: Overwrite files that already exist. + ### EXAMPLE wp scaffold plugin-tests hello diff --git a/commands/scaffold/plugin/index.md b/commands/scaffold/plugin/index.md index d02959dd..a4ca892c 100644 --- a/commands/scaffold/plugin/index.md +++ b/commands/scaffold/plugin/index.md @@ -25,6 +25,9 @@ title: 'wp scaffold plugin' [\--activate-network] : Network activate the newly generated plugin. +[\--force] +: Overwrite files that already exist. + ### GLOBAL PARAMETERS \--path=<path> diff --git a/commands/scaffold/post-type/index.md b/commands/scaffold/post-type/index.md index 4f1dc499..5187b190 100644 --- a/commands/scaffold/post-type/index.md +++ b/commands/scaffold/post-type/index.md @@ -29,6 +29,9 @@ STDOUT. Specify a theme with `--theme=<theme>` to have the file placed in [\--raw] : Just generate the `register_post_type()` call and nothing else. +[\--force] +: Overwrite files that already exist. + ### GLOBAL PARAMETERS \--path=<path> diff --git a/commands/scaffold/taxonomy/index.md b/commands/scaffold/taxonomy/index.md index da090fa4..7682ac5c 100644 --- a/commands/scaffold/taxonomy/index.md +++ b/commands/scaffold/taxonomy/index.md @@ -29,6 +29,9 @@ STDOUT. Specify a theme with `--theme=<theme>` to have the file placed in [\--raw] : Just generate the `register_taxonomy()` call and nothing else. +[\--force] +: Overwrite files that already exist. + ### EXAMPLES wp scaffold taxonomy venue --post_types=event,presentation diff --git a/commands/search-replace/index.md b/commands/search-replace/index.md index 42d41471..d96a81fc 100644 --- a/commands/search-replace/index.md +++ b/commands/search-replace/index.md @@ -44,6 +44,12 @@ It will correctly handle serialized values, and will not change primary key valu [\--all-tables] : Enable replacement on ALL tables in the database, regardless of the prefix. Overrides --network and --all-tables-with-prefix. +[\--verbose] +: Prints rows to the console as they're updated. + +[\--regex] +: Runs the search using a regular expression. Warning: search-replace will take about 15-20x longer when using --regex. + ### EXAMPLES wp search-replace 'http://example.dev' 'http://example.com' --skip-columns=guid diff --git a/commands/server/index.md b/commands/server/index.md new file mode 100644 index 00000000..f0f8074c --- /dev/null +++ b/commands/server/index.md @@ -0,0 +1,62 @@ +--- +layout: default +title: 'wp server' +--- + +`wp server` - Launch PHP's built-in web server for this specific WordPress installation. + +<http://php.net/manual/en/features.commandline.webserver.php> + +### OPTIONS + +[\--host=<host>] +: The hostname to bind the server to. Default: localhost + +[\--port=<port>] +: The port number to bind the server to. Default: 8080 + +[\--docroot=<path>] +: The path to use as the document root. + +### EXAMPLES + + # Make the instance available on any address (with port 8080) + wp server --host=0.0.0.0 + + # Run on port 80 (for multisite) + sudo wp server --host=localhost.localdomain --port=80 + +### GLOBAL PARAMETERS + + \--path=<path> + Path to the WordPress files + + \--url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + \--user=<id|login|email> + Set the WordPress user + + \--skip-plugins[=<plugin>] + Skip loading all or some plugins + + \--skip-themes[=<theme>] + Skip loading all or some themes + + \--require=<path> + Load PHP file before running the command (may be used more than once) + + \--[no-]color + Whether to colorize the output + + \--debug + Show all PHP errors + + \--prompt + Prompt the user to enter values for all command arguments + + \--quiet + Suppress informational messages + + + diff --git a/commands/theme/update/index.md b/commands/theme/update/index.md index 1e62605c..bed4ac9b 100644 --- a/commands/theme/update/index.md +++ b/commands/theme/update/index.md @@ -13,6 +13,9 @@ title: 'wp theme update' [\--all] : If set, all themes that have updates will be updated. +[\--format=<format>] +: Output summary as table or summary. Defaults to table. + [\--version=<version>] : If set, the plugin will be updated to the specified version. diff --git a/commands/user/delete/index.md b/commands/user/delete/index.md index 7b71600a..5719b875 100644 --- a/commands/user/delete/index.md +++ b/commands/user/delete/index.md @@ -8,7 +8,7 @@ title: 'wp user delete' ### OPTIONS <user>... -: The user login, user email, or user ID of the user(s) to update. +: The user login, user email, or user ID of the user(s) to delete. [\--network] : On multisite, delete the user from the entire network. diff --git a/commands/user/term/add/index.md b/commands/user/term/add/index.md index 83506d8e..29013a78 100644 --- a/commands/user/term/add/index.md +++ b/commands/user/term/add/index.md @@ -3,7 +3,7 @@ layout: default title: 'wp user term add' --- -`wp user term add` - Add a term. Appends to existed +`wp user term add` - Add a term. Appends to existing set of terms on the object. <id> : The ID of the object. @@ -12,7 +12,7 @@ title: 'wp user term add' : The name of the taxonomy type to be added. <term>... -: The name of the term or terms to be added. +: The slug of the term or terms to be added. ### GLOBAL PARAMETERS diff --git a/commands/user/term/index.md b/commands/user/term/index.md index 814bd023..3e962fab 100644 --- a/commands/user/term/index.md +++ b/commands/user/term/index.md @@ -55,7 +55,7 @@ title: 'wp user term' add - Add a term. Appends to existed + Add a term. Appends to existing set of terms on the object. list @@ -67,7 +67,7 @@ title: 'wp user term' set - Set terms. Replaces existing terms + Set terms. Replaces existing terms on the object. diff --git a/commands/user/term/set/index.md b/commands/user/term/set/index.md index 48846e97..8fad25c8 100644 --- a/commands/user/term/set/index.md +++ b/commands/user/term/set/index.md @@ -3,7 +3,7 @@ layout: default title: 'wp user term set' --- -`wp user term set` - Set terms. Replaces existing terms +`wp user term set` - Set terms. Replaces existing terms on the object. <id> : The ID of the object. @@ -12,7 +12,7 @@ title: 'wp user term set' : The name of the taxonomy type to be updated. <term>... -: The name of the term or terms to be updated. +: The slug of the term or terms to be updated. ### GLOBAL PARAMETERS From 7da71a9423f5ad38b0479d6f074cea968eddb7b2 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 26 Aug 2015 09:56:55 -0700 Subject: [PATCH 382/839] More release post edits --- _posts/2015-08-26-version-0.20.0.md | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/_posts/2015-08-26-version-0.20.0.md b/_posts/2015-08-26-version-0.20.0.md index f2a1d809..5a9c517e 100644 --- a/_posts/2015-08-26-version-0.20.0.md +++ b/_posts/2015-08-26-version-0.20.0.md @@ -36,7 +36,15 @@ Use `wp core verify-checksums` to make sure a given WordPress install has the co ### WP-API CLI -### Documentation changes +We [released v0.19.0](http://wp-cli.org/blog/version-0.19.0.html) with this statement: + +> WP-API is days away from 2.0-beta1, and brings with it a powerful new interface to WordPress. In the near future, we’ll start exploring how WP-CLI can use WP-API internally. If all goes well, WP-CLI could see just one more 0.x.0 release before the big 1.0.0. + +Well... it was a bold declaration. Follow [danielbachhuber/wp-rest-cli](https://github.com/danielbachhuber/wp-rest-cli) for progress on the implementation. 1.0.0 will still likely be WP-CLI based on WP-API, but it'll be a fair bit of work to get there. + +### Helpful one-liners + +There were a couple issues for "how do I do X?", which you might find helpful too: # List plugins on each site in a network wp site list --field=url | xargs -n 1 -I % wp plugin list --url=% @@ -45,8 +53,6 @@ Use `wp core verify-checksums` to make sure a given WordPress install has the co wp plugin delete $(wp plugin list --status=inactive --field=name) -### Call for contributions - ### Other changes in v0.20.0 Enhancements: @@ -54,14 +60,13 @@ Enhancements: * The `wp server` command is bundled with WP-CLI. Use PHP's built-in web server for a specific WordPress instance. * Keep up with the bleeding edge by using `wp cli update --nightly`. When using WP-CLI nightly, the hash is now appended to the version. * Added a simple `wp comment generate` command. -* Cache invalidation is deferred until the end of the command when using `wp term generate`. +* Cache invalidation is deferred until the end of the command when using `wp term generate`. This improves performance of the command. * `wp term list` supports filtering by `--term_id=`. -* Use `--start_id=` to start `wp export` from a given post ID. -* Export a selection of post types with `wp export`. -* Throws a helpful error when an invalid `--url=` is specified on multisite. +* Use `--start_id=` to start `wp export` from a given post ID, or use `--post_type=,` to export a selection of post types. +* Throws a helpful error when an invalid `--url=` is specified on multisite. Previously, it would fail silently. * Create a new role from another role with `wp role --clone=`. * Use `--format=summary` to get one-liner messages with `wp (plugin|theme) update`. -* Switches away from using `wp_download_language_pack()` so languages can be installed with the `DISALLOW_FILE_MODS` constant set. +* Switched away from using `wp_download_language_pack()` so languages can be installed with the `DISALLOW_FILE_MODS` constant set. Bug fixes: From ab39d0da0cd886e73057be9c9574dca6df475f84 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 26 Aug 2015 10:10:27 -0700 Subject: [PATCH 383/839] Fix docs --- commands/theme/search/index.md | 2 +- commands/theme/update/index.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/commands/theme/search/index.md b/commands/theme/search/index.md index 421875cb..de4e10a1 100644 --- a/commands/theme/search/index.md +++ b/commands/theme/search/index.md @@ -14,7 +14,7 @@ title: 'wp theme search' : Optional number of results to display. Defaults to 10. [\--field=<field>] -: Prints the value of a single field for each plugin. +: Prints the value of a single field for each theme. [\--fields=<fields>] : Ask for specific fields from the API. Defaults to name,slug,author,rating. Acceptable values: diff --git a/commands/theme/update/index.md b/commands/theme/update/index.md index bed4ac9b..045f4d62 100644 --- a/commands/theme/update/index.md +++ b/commands/theme/update/index.md @@ -17,7 +17,7 @@ title: 'wp theme update' : Output summary as table or summary. Defaults to table. [\--version=<version>] -: If set, the plugin will be updated to the specified version. +: If set, the theme will be updated to the specified version. [\--dry-run] : Preview which themes would be updated. From 8ec9194c83fa6b350714e2fb37b212d542c44492 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 26 Aug 2015 10:37:16 -0700 Subject: [PATCH 384/839] More edits --- _posts/2015-08-26-version-0.20.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/_posts/2015-08-26-version-0.20.0.md b/_posts/2015-08-26-version-0.20.0.md index 5a9c517e..a9a7c576 100644 --- a/_posts/2015-08-26-version-0.20.0.md +++ b/_posts/2015-08-26-version-0.20.0.md @@ -28,9 +28,9 @@ Note: search-replace with `--regex` is 15-20x slower than without. Make sure you ### Major bug fix: cached partial upgrade files masquerading as full upgrades -Since v0.17.0 ([pull request](https://github.com/wp-cli/wp-cli/pull/1320)), WP-CLI mistakenly cached partial archives in a lossy manner. Specifically, a ZIP file for a partial upgrade would be cached with the same key as a ZIP file for a full upgrade. With the file incorrectly cached, subsequent full upgrades would use the cached partial upgrade archive. +Since v0.17.0 ([pull request](https://github.com/wp-cli/wp-cli/pull/1320)), WP-CLI mistakenly cached partial archives in a lossy manner. More specifically, a ZIP file for a partial upgrade would be cached with the same key as a ZIP file for a full upgrade. With the file incorrectly cached, subsequent full upgrades would use the cached partial upgrade archive. -We've [released](https://github.com/wp-cli/wp-cli/releases) v0.17.2, v0.18.1, and v0.19.3 with the bug fix. The cache key was changed as well, so prior invalid WP archives are silently ignored. +We've [released](https://github.com/wp-cli/wp-cli/releases) v0.17.2, v0.18.1, and v0.19.3 with the bug fix. The cache key was changed as well, so prior invalid WordPress archives are silently ignored. Use `wp core verify-checksums` to make sure a given WordPress install has the correct copy of each file. If it doesn't verify, use `wp core download --version=$(wp core version) --force` to re-install WordPress. @@ -78,7 +78,7 @@ Bug fixes: * Passes thru `--allow-root` in `cli update` to let root update WP-CLI. * Restored apt-get tab completion after using WP-CLI tab completion. * Permits categories to be assigned with `wp post update`. -* Prevent `wp import` from using double the memory it actually needs, and save 100s of MBs on large imports. +* Prevents `wp import` from using double the memory it actually needs, and save 100s of MBs on large imports. You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.20.0+is%3Aclosed) on Github. From 212338d020c6a02fee003a5f9a855368a2983f8a Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 26 Aug 2015 10:46:10 -0700 Subject: [PATCH 385/839] More edits --- _posts/2015-08-26-version-0.20.0.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/_posts/2015-08-26-version-0.20.0.md b/_posts/2015-08-26-version-0.20.0.md index a9a7c576..6e492819 100644 --- a/_posts/2015-08-26-version-0.20.0.md +++ b/_posts/2015-08-26-version-0.20.0.md @@ -8,7 +8,7 @@ Even though WP-CLI is a mature project, we still manage to pack a great set of i ### Regex, verbose search-replace -Add the `--regex` flag to `wp search-replace` to use regex in your operation. And, with the `--verbose` flag, you'll see each column with affected rows as the operation is performed: +Use the `--regex` flag to `wp search-replace` to use regex in your operation. And, with the `--verbose` flag, you'll see each column with affected rows as the operation is performed: $ wp post get 1 --field=title Hello world @@ -40,11 +40,11 @@ We [released v0.19.0](http://wp-cli.org/blog/version-0.19.0.html) with this stat > WP-API is days away from 2.0-beta1, and brings with it a powerful new interface to WordPress. In the near future, we’ll start exploring how WP-CLI can use WP-API internally. If all goes well, WP-CLI could see just one more 0.x.0 release before the big 1.0.0. -Well... it was a bold declaration. Follow [danielbachhuber/wp-rest-cli](https://github.com/danielbachhuber/wp-rest-cli) for progress on the implementation. 1.0.0 will still likely be WP-CLI based on WP-API, but it'll be a fair bit of work to get there. +Well... it was a bold declaration. Follow [danielbachhuber/wp-rest-cli](https://github.com/danielbachhuber/wp-rest-cli) for progress on the implementation. 1.0.0 will still likely be WP-CLI based on WP-API, but it'll take a fair bit of work to get there. ### Helpful one-liners -There were a couple issues for "how do I do X?", which you might find helpful too: +There were a couple issues opened for "how do I do X?", which you might find helpful too: # List plugins on each site in a network wp site list --field=url | xargs -n 1 -I % wp plugin list --url=% @@ -58,7 +58,7 @@ There were a couple issues for "how do I do X?", which you might find helpful to Enhancements: * The `wp server` command is bundled with WP-CLI. Use PHP's built-in web server for a specific WordPress instance. -* Keep up with the bleeding edge by using `wp cli update --nightly`. When using WP-CLI nightly, the hash is now appended to the version. +* Keep up with the bleeding edge by using `wp cli update --nightly`. When downloading a nightly, the hash is appended to the version. * Added a simple `wp comment generate` command. * Cache invalidation is deferred until the end of the command when using `wp term generate`. This improves performance of the command. * `wp term list` supports filtering by `--term_id=`. From a236b68a58fc31668154fa0dc6ff9496c58aeedd Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 26 Aug 2015 11:55:32 -0700 Subject: [PATCH 386/839] A wee bit of humor --- _posts/2015-08-26-version-0.20.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2015-08-26-version-0.20.0.md b/_posts/2015-08-26-version-0.20.0.md index 6e492819..34b2a548 100644 --- a/_posts/2015-08-26-version-0.20.0.md +++ b/_posts/2015-08-26-version-0.20.0.md @@ -8,7 +8,7 @@ Even though WP-CLI is a mature project, we still manage to pack a great set of i ### Regex, verbose search-replace -Use the `--regex` flag to `wp search-replace` to use regex in your operation. And, with the `--verbose` flag, you'll see each column with affected rows as the operation is performed: +Use the `--regex` flag to `wp search-replace` to... wait for it... use regex in your search and replace operations. And, with the `--verbose` flag, you'll see each column with affected rows as the operation is performed: $ wp post get 1 --field=title Hello world From b9b7125ba29d0d64ce3b2c1670ff335b7236dede Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 26 Aug 2015 11:57:59 -0700 Subject: [PATCH 387/839] Link directly to each release --- _posts/2015-08-26-version-0.20.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2015-08-26-version-0.20.0.md b/_posts/2015-08-26-version-0.20.0.md index 34b2a548..8e2affbc 100644 --- a/_posts/2015-08-26-version-0.20.0.md +++ b/_posts/2015-08-26-version-0.20.0.md @@ -30,7 +30,7 @@ Note: search-replace with `--regex` is 15-20x slower than without. Make sure you Since v0.17.0 ([pull request](https://github.com/wp-cli/wp-cli/pull/1320)), WP-CLI mistakenly cached partial archives in a lossy manner. More specifically, a ZIP file for a partial upgrade would be cached with the same key as a ZIP file for a full upgrade. With the file incorrectly cached, subsequent full upgrades would use the cached partial upgrade archive. -We've [released](https://github.com/wp-cli/wp-cli/releases) v0.17.2, v0.18.1, and v0.19.3 with the bug fix. The cache key was changed as well, so prior invalid WordPress archives are silently ignored. +If you can't immediately upgrade to v0.20.0, we've also released [v0.17.2](https://github.com/wp-cli/wp-cli/releases/tag/v0.17.2), [v0.18.1](https://github.com/wp-cli/wp-cli/releases/tag/v0.18.1), and [v0.19.3](https://github.com/wp-cli/wp-cli/releases/tag/v0.19.3) with the bug fix. The cache key was changed as well, so prior invalid WordPress archives are silently ignored. Use `wp core verify-checksums` to make sure a given WordPress install has the correct copy of each file. If it doesn't verify, use `wp core download --version=$(wp core version) --force` to re-install WordPress. From 4b20cc5ee5fa741f14ee96cef8020f678f418930 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 26 Aug 2015 11:59:15 -0700 Subject: [PATCH 388/839] Link to the pull request for easier review --- _posts/2015-08-26-version-0.20.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2015-08-26-version-0.20.0.md b/_posts/2015-08-26-version-0.20.0.md index 8e2affbc..24b01bd9 100644 --- a/_posts/2015-08-26-version-0.20.0.md +++ b/_posts/2015-08-26-version-0.20.0.md @@ -30,7 +30,7 @@ Note: search-replace with `--regex` is 15-20x slower than without. Make sure you Since v0.17.0 ([pull request](https://github.com/wp-cli/wp-cli/pull/1320)), WP-CLI mistakenly cached partial archives in a lossy manner. More specifically, a ZIP file for a partial upgrade would be cached with the same key as a ZIP file for a full upgrade. With the file incorrectly cached, subsequent full upgrades would use the cached partial upgrade archive. -If you can't immediately upgrade to v0.20.0, we've also released [v0.17.2](https://github.com/wp-cli/wp-cli/releases/tag/v0.17.2), [v0.18.1](https://github.com/wp-cli/wp-cli/releases/tag/v0.18.1), and [v0.19.3](https://github.com/wp-cli/wp-cli/releases/tag/v0.19.3) with the bug fix. The cache key was changed as well, so prior invalid WordPress archives are silently ignored. +If you can't immediately upgrade to v0.20.0, we've also released [v0.17.2](https://github.com/wp-cli/wp-cli/releases/tag/v0.17.2), [v0.18.1](https://github.com/wp-cli/wp-cli/releases/tag/v0.18.1), and [v0.19.3](https://github.com/wp-cli/wp-cli/releases/tag/v0.19.3) with the bug fix ([pull request](https://github.com/wp-cli/wp-cli/pull/1901)). The cache key was changed as well, so prior invalid WordPress archives are silently ignored. Use `wp core verify-checksums` to make sure a given WordPress install has the correct copy of each file. If it doesn't verify, use `wp core download --version=$(wp core version) --force` to re-install WordPress. From 6e04202d133b76d798c6411a28dbd330416e16b1 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 26 Aug 2015 12:01:20 -0700 Subject: [PATCH 389/839] I'm such a better writer in the day --- _posts/2015-08-26-version-0.20.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2015-08-26-version-0.20.0.md b/_posts/2015-08-26-version-0.20.0.md index 24b01bd9..d8e63b12 100644 --- a/_posts/2015-08-26-version-0.20.0.md +++ b/_posts/2015-08-26-version-0.20.0.md @@ -58,7 +58,7 @@ There were a couple issues opened for "how do I do X?", which you might find hel Enhancements: * The `wp server` command is bundled with WP-CLI. Use PHP's built-in web server for a specific WordPress instance. -* Keep up with the bleeding edge by using `wp cli update --nightly`. When downloading a nightly, the hash is appended to the version. +* Keep up with the latest and greatest by using `wp cli update --nightly`. When downloading a nightly, the hash is appended to the version. * Added a simple `wp comment generate` command. * Cache invalidation is deferred until the end of the command when using `wp term generate`. This improves performance of the command. * `wp term list` supports filtering by `--term_id=`. From c4929693b3e32a25feba79e63ce6e4e82519e9d3 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 26 Aug 2015 12:05:24 -0700 Subject: [PATCH 390/839] More editing --- _posts/2015-08-26-version-0.20.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/_posts/2015-08-26-version-0.20.0.md b/_posts/2015-08-26-version-0.20.0.md index d8e63b12..3e6285b4 100644 --- a/_posts/2015-08-26-version-0.20.0.md +++ b/_posts/2015-08-26-version-0.20.0.md @@ -63,16 +63,16 @@ Enhancements: * Cache invalidation is deferred until the end of the command when using `wp term generate`. This improves performance of the command. * `wp term list` supports filtering by `--term_id=`. * Use `--start_id=` to start `wp export` from a given post ID, or use `--post_type=,` to export a selection of post types. -* Throws a helpful error when an invalid `--url=` is specified on multisite. Previously, it would fail silently. +* Throws a helpful error when an invalid `--url=` is specified on multisite. Previously, WP-CLI would fail silently, leaving the user confused as to why their command wasn't running. * Create a new role from another role with `wp role --clone=`. * Use `--format=summary` to get one-liner messages with `wp (plugin|theme) update`. * Switched away from using `wp_download_language_pack()` so languages can be installed with the `DISALLOW_FILE_MODS` constant set. Bug fixes: -* `wp term generate` tries to generate unique term names on subsequent executions. Previously, it would start its index at `0`, and error for duplicate terms. +* `wp term generate` tries to generate unique term names on subsequent executions. Previously, it would start its index at `0`, and then error for duplicate terms. * Internalized `wp_clean_update_cache()` (used in `wp core language list` and `wp core language update`) to prevent fatals in WordPress 4.0. The function was introduced in WordPress 4.1. -* When WordPress is detected, WP-CLI will wait until it is fully loaded before executing `wp help`. This means plugins which add commands to an existing namespace can have the help docs appear. +* When WordPress is detected, WP-CLI will wait until WordPress is fully loaded before executing `wp help`. This means plugins which add commands to an existing namespace can have theri help docs appear. * Corrected Travis notification syntax produced by `wp scaffold plugin-tests` command. * Supports `Requests` installed to parent project in `WP_CLI\Utils\http_request()` * Passes thru `--allow-root` in `cli update` to let root update WP-CLI. From 42a34950836601718f9a9de7ca3aad2b59ee1a93 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 27 Aug 2015 05:52:37 -0700 Subject: [PATCH 391/839] Visually distinguish between subcommand header and body --- _templates/subcmd-list.mustache | 2 ++ commands/cache/add/index.md | 2 ++ commands/cache/decr/index.md | 2 ++ commands/cache/delete/index.md | 2 ++ commands/cache/flush/index.md | 2 ++ commands/cache/get/index.md | 2 ++ commands/cache/incr/index.md | 2 ++ commands/cache/index.md | 2 ++ commands/cache/replace/index.md | 2 ++ commands/cache/set/index.md | 2 ++ commands/cache/type/index.md | 2 ++ commands/cap/add/index.md | 2 ++ commands/cap/index.md | 2 ++ commands/cap/list/index.md | 2 ++ commands/cap/remove/index.md | 2 ++ commands/cli/check-update/index.md | 2 ++ commands/cli/cmd-dump/index.md | 2 ++ commands/cli/completions/index.md | 2 ++ commands/cli/index.md | 2 ++ commands/cli/info/index.md | 2 ++ commands/cli/param-dump/index.md | 2 ++ commands/cli/update/index.md | 2 ++ commands/cli/version/index.md | 2 ++ commands/comment/approve/index.md | 2 ++ commands/comment/count/index.md | 2 ++ commands/comment/create/index.md | 2 ++ commands/comment/delete/index.md | 2 ++ commands/comment/exists/index.md | 2 ++ commands/comment/generate/index.md | 2 ++ commands/comment/get/index.md | 2 ++ commands/comment/index.md | 2 ++ commands/comment/list/index.md | 2 ++ commands/comment/meta/add/index.md | 2 ++ commands/comment/meta/delete/index.md | 2 ++ commands/comment/meta/get/index.md | 2 ++ commands/comment/meta/index.md | 2 ++ commands/comment/meta/list/index.md | 2 ++ commands/comment/meta/update/index.md | 2 ++ commands/comment/spam/index.md | 2 ++ commands/comment/status/index.md | 2 ++ commands/comment/trash/index.md | 2 ++ commands/comment/unapprove/index.md | 2 ++ commands/comment/unspam/index.md | 2 ++ commands/comment/untrash/index.md | 2 ++ commands/comment/update/index.md | 2 ++ commands/comment/url/index.md | 2 ++ commands/core/check-update/index.md | 2 ++ commands/core/config/index.md | 2 ++ commands/core/download/index.md | 2 ++ commands/core/index.md | 2 ++ commands/core/install/index.md | 2 ++ commands/core/is-installed/index.md | 2 ++ commands/core/language/activate/index.md | 2 ++ commands/core/language/index.md | 2 ++ commands/core/language/install/index.md | 2 ++ commands/core/language/list/index.md | 2 ++ commands/core/language/uninstall/index.md | 2 ++ commands/core/language/update/index.md | 2 ++ commands/core/multisite-convert/index.md | 2 ++ commands/core/multisite-install/index.md | 2 ++ commands/core/update-db/index.md | 2 ++ commands/core/update/index.md | 2 ++ commands/core/verify-checksums/index.md | 2 ++ commands/core/version/index.md | 2 ++ commands/cron/event/delete/index.md | 2 ++ commands/cron/event/index.md | 2 ++ commands/cron/event/list/index.md | 2 ++ commands/cron/event/run/index.md | 2 ++ commands/cron/event/schedule/index.md | 2 ++ commands/cron/index.md | 2 ++ commands/cron/schedule/index.md | 2 ++ commands/cron/schedule/list/index.md | 2 ++ commands/cron/test/index.md | 2 ++ commands/db/cli/index.md | 2 ++ commands/db/create/index.md | 2 ++ commands/db/drop/index.md | 2 ++ commands/db/export/index.md | 2 ++ commands/db/import/index.md | 2 ++ commands/db/index.md | 2 ++ commands/db/optimize/index.md | 2 ++ commands/db/query/index.md | 2 ++ commands/db/repair/index.md | 2 ++ commands/db/reset/index.md | 2 ++ commands/db/tables/index.md | 2 ++ commands/eval-file/index.md | 2 ++ commands/eval/index.md | 2 ++ commands/export/index.md | 2 ++ commands/help/index.md | 2 ++ commands/import/index.md | 2 ++ commands/media/import/index.md | 2 ++ commands/media/index.md | 2 ++ commands/media/regenerate/index.md | 2 ++ commands/menu/create/index.md | 2 ++ commands/menu/delete/index.md | 2 ++ commands/menu/index.md | 2 ++ commands/menu/item/add-custom/index.md | 2 ++ commands/menu/item/add-post/index.md | 2 ++ commands/menu/item/add-term/index.md | 2 ++ commands/menu/item/delete/index.md | 2 ++ commands/menu/item/index.md | 2 ++ commands/menu/item/list/index.md | 2 ++ commands/menu/item/update/index.md | 2 ++ commands/menu/list/index.md | 2 ++ commands/menu/location/assign/index.md | 2 ++ commands/menu/location/index.md | 2 ++ commands/menu/location/list/index.md | 2 ++ commands/menu/location/remove/index.md | 2 ++ commands/network/index.md | 2 ++ commands/network/meta/add/index.md | 2 ++ commands/network/meta/delete/index.md | 2 ++ commands/network/meta/get/index.md | 2 ++ commands/network/meta/index.md | 2 ++ commands/network/meta/list/index.md | 2 ++ commands/network/meta/update/index.md | 2 ++ commands/option/add/index.md | 2 ++ commands/option/delete/index.md | 2 ++ commands/option/get/index.md | 2 ++ commands/option/index.md | 2 ++ commands/option/list/index.md | 2 ++ commands/option/update/index.md | 2 ++ commands/plugin/activate/index.md | 2 ++ commands/plugin/deactivate/index.md | 2 ++ commands/plugin/delete/index.md | 2 ++ commands/plugin/get/index.md | 2 ++ commands/plugin/index.md | 2 ++ commands/plugin/install/index.md | 2 ++ commands/plugin/is-installed/index.md | 2 ++ commands/plugin/list/index.md | 2 ++ commands/plugin/path/index.md | 2 ++ commands/plugin/search/index.md | 2 ++ commands/plugin/status/index.md | 2 ++ commands/plugin/toggle/index.md | 2 ++ commands/plugin/uninstall/index.md | 2 ++ commands/plugin/update/index.md | 2 ++ commands/post/create/index.md | 2 ++ commands/post/delete/index.md | 2 ++ commands/post/edit/index.md | 2 ++ commands/post/generate/index.md | 2 ++ commands/post/get/index.md | 2 ++ commands/post/index.md | 2 ++ commands/post/list/index.md | 2 ++ commands/post/meta/add/index.md | 2 ++ commands/post/meta/delete/index.md | 2 ++ commands/post/meta/get/index.md | 2 ++ commands/post/meta/index.md | 2 ++ commands/post/meta/list/index.md | 2 ++ commands/post/meta/update/index.md | 2 ++ commands/post/term/add/index.md | 2 ++ commands/post/term/index.md | 2 ++ commands/post/term/list/index.md | 2 ++ commands/post/term/remove/index.md | 2 ++ commands/post/term/set/index.md | 2 ++ commands/post/update/index.md | 2 ++ commands/post/url/index.md | 2 ++ commands/rewrite/flush/index.md | 2 ++ commands/rewrite/index.md | 2 ++ commands/rewrite/list/index.md | 2 ++ commands/rewrite/structure/index.md | 2 ++ commands/role/create/index.md | 2 ++ commands/role/delete/index.md | 2 ++ commands/role/exists/index.md | 2 ++ commands/role/index.md | 2 ++ commands/role/list/index.md | 2 ++ commands/role/reset/index.md | 2 ++ commands/scaffold/_s/index.md | 2 ++ commands/scaffold/child-theme/index.md | 2 ++ commands/scaffold/index.md | 2 ++ commands/scaffold/package-tests/index.md | 2 ++ commands/scaffold/plugin-tests/index.md | 2 ++ commands/scaffold/plugin/index.md | 2 ++ commands/scaffold/post-type/index.md | 2 ++ commands/scaffold/taxonomy/index.md | 2 ++ commands/search-replace/index.md | 2 ++ commands/server/index.md | 2 ++ commands/shell/index.md | 2 ++ commands/sidebar/index.md | 2 ++ commands/sidebar/list/index.md | 2 ++ commands/site/activate/index.md | 2 ++ commands/site/archive/index.md | 2 ++ commands/site/create/index.md | 2 ++ commands/site/deactivate/index.md | 2 ++ commands/site/delete/index.md | 2 ++ commands/site/empty/index.md | 2 ++ commands/site/index.md | 2 ++ commands/site/list/index.md | 2 ++ commands/site/spam/index.md | 2 ++ commands/site/unarchive/index.md | 2 ++ commands/site/unspam/index.md | 2 ++ commands/site/url/index.md | 2 ++ commands/super-admin/add/index.md | 2 ++ commands/super-admin/index.md | 2 ++ commands/super-admin/list/index.md | 2 ++ commands/super-admin/remove/index.md | 2 ++ commands/term/create/index.md | 2 ++ commands/term/delete/index.md | 2 ++ commands/term/generate/index.md | 2 ++ commands/term/get/index.md | 2 ++ commands/term/index.md | 2 ++ commands/term/list/index.md | 2 ++ commands/term/update/index.md | 2 ++ commands/term/url/index.md | 2 ++ commands/theme/activate/index.md | 2 ++ commands/theme/delete/index.md | 2 ++ commands/theme/disable/index.md | 2 ++ commands/theme/enable/index.md | 2 ++ commands/theme/get/index.md | 2 ++ commands/theme/index.md | 2 ++ commands/theme/install/index.md | 2 ++ commands/theme/is-installed/index.md | 2 ++ commands/theme/list/index.md | 2 ++ commands/theme/mod/get/index.md | 2 ++ commands/theme/mod/index.md | 2 ++ commands/theme/mod/remove/index.md | 2 ++ commands/theme/mod/set/index.md | 2 ++ commands/theme/path/index.md | 2 ++ commands/theme/search/index.md | 2 ++ commands/theme/status/index.md | 2 ++ commands/theme/update/index.md | 2 ++ commands/transient/delete-all/index.md | 2 ++ commands/transient/delete-expired/index.md | 2 ++ commands/transient/delete/index.md | 2 ++ commands/transient/get/index.md | 2 ++ commands/transient/index.md | 2 ++ commands/transient/set/index.md | 2 ++ commands/transient/type/index.md | 2 ++ commands/user/add-cap/index.md | 2 ++ commands/user/add-role/index.md | 2 ++ commands/user/create/index.md | 2 ++ commands/user/delete/index.md | 2 ++ commands/user/generate/index.md | 2 ++ commands/user/get/index.md | 2 ++ commands/user/import-csv/index.md | 2 ++ commands/user/index.md | 2 ++ commands/user/list-caps/index.md | 2 ++ commands/user/list/index.md | 2 ++ commands/user/meta/add/index.md | 2 ++ commands/user/meta/delete/index.md | 2 ++ commands/user/meta/get/index.md | 2 ++ commands/user/meta/index.md | 2 ++ commands/user/meta/list/index.md | 2 ++ commands/user/meta/update/index.md | 2 ++ commands/user/remove-cap/index.md | 2 ++ commands/user/remove-role/index.md | 2 ++ commands/user/set-role/index.md | 2 ++ commands/user/term/add/index.md | 2 ++ commands/user/term/index.md | 2 ++ commands/user/term/list/index.md | 2 ++ commands/user/term/remove/index.md | 2 ++ commands/user/term/set/index.md | 2 ++ commands/user/update/index.md | 2 ++ commands/widget/add/index.md | 2 ++ commands/widget/deactivate/index.md | 2 ++ commands/widget/delete/index.md | 2 ++ commands/widget/index.md | 2 ++ commands/widget/list/index.md | 2 ++ commands/widget/move/index.md | 2 ++ commands/widget/update/index.md | 2 ++ 257 files changed, 514 insertions(+) diff --git a/_templates/subcmd-list.mustache b/_templates/subcmd-list.mustache index 92a1d969..233fb98a 100644 --- a/_templates/subcmd-list.mustache +++ b/_templates/subcmd-list.mustache @@ -5,6 +5,8 @@ title: 'wp {{synopsis}}' `wp {{synopsis}}` - {{description}} +
    + {{{docs}}} {{#has-subcommands}} diff --git a/commands/cache/add/index.md b/commands/cache/add/index.md index 47c8e627..41e6d4c7 100644 --- a/commands/cache/add/index.md +++ b/commands/cache/add/index.md @@ -5,6 +5,8 @@ title: 'wp cache add' `wp cache add` - Add a value to the object cache. +
    + If a value already exists for the key, the value isn't added. <key> diff --git a/commands/cache/decr/index.md b/commands/cache/decr/index.md index 1fcbad33..5c60bddf 100644 --- a/commands/cache/decr/index.md +++ b/commands/cache/decr/index.md @@ -5,6 +5,8 @@ title: 'wp cache decr' `wp cache decr` - Decrement a value in the object cache. +
    + <key> : Cache key. diff --git a/commands/cache/delete/index.md b/commands/cache/delete/index.md index 3898f797..0c2ae9f2 100644 --- a/commands/cache/delete/index.md +++ b/commands/cache/delete/index.md @@ -5,6 +5,8 @@ title: 'wp cache delete' `wp cache delete` - Remove a value from the object cache. +
    + <key> : Cache key. diff --git a/commands/cache/flush/index.md b/commands/cache/flush/index.md index bfb32bd0..8c649b7a 100644 --- a/commands/cache/flush/index.md +++ b/commands/cache/flush/index.md @@ -5,6 +5,8 @@ title: 'wp cache flush' `wp cache flush` - Flush the object cache. +
    + ### GLOBAL PARAMETERS diff --git a/commands/cache/get/index.md b/commands/cache/get/index.md index 32de6f8c..13bf1154 100644 --- a/commands/cache/get/index.md +++ b/commands/cache/get/index.md @@ -5,6 +5,8 @@ title: 'wp cache get' `wp cache get` - Get a value from the object cache. +
    + <key> : Cache key. diff --git a/commands/cache/incr/index.md b/commands/cache/incr/index.md index f4e861e1..adcc66fe 100644 --- a/commands/cache/incr/index.md +++ b/commands/cache/incr/index.md @@ -5,6 +5,8 @@ title: 'wp cache incr' `wp cache incr` - Increment a value in the object cache. +
    + <key> : Cache key. diff --git a/commands/cache/index.md b/commands/cache/index.md index 8f36d42b..eb152b3e 100644 --- a/commands/cache/index.md +++ b/commands/cache/index.md @@ -5,6 +5,8 @@ title: 'wp cache' `wp cache` - Manage the object cache. +
    + ### EXAMPLES wp cache set my_key my_value my_group 300 diff --git a/commands/cache/replace/index.md b/commands/cache/replace/index.md index 9ddf8685..ffdf6d3b 100644 --- a/commands/cache/replace/index.md +++ b/commands/cache/replace/index.md @@ -5,6 +5,8 @@ title: 'wp cache replace' `wp cache replace` - Replace a value in the object cache, if the value already exists. +
    + <key> : Cache key. diff --git a/commands/cache/set/index.md b/commands/cache/set/index.md index 7161053d..2782e728 100644 --- a/commands/cache/set/index.md +++ b/commands/cache/set/index.md @@ -5,6 +5,8 @@ title: 'wp cache set' `wp cache set` - Set a value to the object cache, regardless of whether it already exists. +
    + <key> : Cache key. diff --git a/commands/cache/type/index.md b/commands/cache/type/index.md index 67970c4b..90dd3101 100644 --- a/commands/cache/type/index.md +++ b/commands/cache/type/index.md @@ -5,6 +5,8 @@ title: 'wp cache type' `wp cache type` - Attempts to determine which object cache is being used. +
    + Note that the guesses made by this function are based on the WP_Object_Cache classes that define the 3rd party object cache extension. Changes to those classes could render problems with this function's ability to determine which object cache is being used. diff --git a/commands/cap/add/index.md b/commands/cap/add/index.md index fb5e0a0c..dd821a8a 100644 --- a/commands/cap/add/index.md +++ b/commands/cap/add/index.md @@ -5,6 +5,8 @@ title: 'wp cap add' `wp cap add` - Add capabilities to a given role. +
    + ### GLOBAL PARAMETERS diff --git a/commands/cap/index.md b/commands/cap/index.md index 75459949..75a54441 100644 --- a/commands/cap/index.md +++ b/commands/cap/index.md @@ -5,6 +5,8 @@ title: 'wp cap' `wp cap` - Manage user capabilities. +
    + ### EXAMPLES # Add 'spectate' capability to 'author' role diff --git a/commands/cap/list/index.md b/commands/cap/list/index.md index 7328973a..614c76f4 100644 --- a/commands/cap/list/index.md +++ b/commands/cap/list/index.md @@ -5,6 +5,8 @@ title: 'wp cap list' `wp cap list` - List capabilities for a given role. +
    + ### EXAMPLES # Display alphabetical list of bbPress moderator capabilities diff --git a/commands/cap/remove/index.md b/commands/cap/remove/index.md index 6d7490d4..baeba7e1 100644 --- a/commands/cap/remove/index.md +++ b/commands/cap/remove/index.md @@ -5,6 +5,8 @@ title: 'wp cap remove' `wp cap remove` - Remove capabilities from a given role. +
    + ### GLOBAL PARAMETERS diff --git a/commands/cli/check-update/index.md b/commands/cli/check-update/index.md index 7ac0aae1..4cbad2e6 100644 --- a/commands/cli/check-update/index.md +++ b/commands/cli/check-update/index.md @@ -5,6 +5,8 @@ title: 'wp cli check-update' `wp cli check-update` - Check for update via Github API. Returns the available versions if there are updates, or empty if no update available. +
    + ### OPTIONS [\--patch] diff --git a/commands/cli/cmd-dump/index.md b/commands/cli/cmd-dump/index.md index c84dc6c6..820e0d57 100644 --- a/commands/cli/cmd-dump/index.md +++ b/commands/cli/cmd-dump/index.md @@ -5,6 +5,8 @@ title: 'wp cli cmd-dump' `wp cli cmd-dump` - Dump the list of installed commands, as JSON. +
    + ### GLOBAL PARAMETERS diff --git a/commands/cli/completions/index.md b/commands/cli/completions/index.md index fb410115..14a8d1a7 100644 --- a/commands/cli/completions/index.md +++ b/commands/cli/completions/index.md @@ -5,6 +5,8 @@ title: 'wp cli completions' `wp cli completions` - Generate tab completion strings. +
    + ### OPTIONS \--line=<line> diff --git a/commands/cli/index.md b/commands/cli/index.md index d0ffb8f3..6d400ce2 100644 --- a/commands/cli/index.md +++ b/commands/cli/index.md @@ -5,6 +5,8 @@ title: 'wp cli' `wp cli` - Get information about WP-CLI itself. +
    + ### GLOBAL PARAMETERS diff --git a/commands/cli/info/index.md b/commands/cli/info/index.md index 508816b5..1ede04d2 100644 --- a/commands/cli/info/index.md +++ b/commands/cli/info/index.md @@ -5,6 +5,8 @@ title: 'wp cli info' `wp cli info` - Print various data about the CLI environment. +
    + ### OPTIONS [\--format=<format>] diff --git a/commands/cli/param-dump/index.md b/commands/cli/param-dump/index.md index a3c13a0d..e0cbbabb 100644 --- a/commands/cli/param-dump/index.md +++ b/commands/cli/param-dump/index.md @@ -5,6 +5,8 @@ title: 'wp cli param-dump' `wp cli param-dump` - Dump the list of global parameters, as JSON or in var_export format. +
    + ### OPTIONS [\--with-values] diff --git a/commands/cli/update/index.md b/commands/cli/update/index.md index 7e8321f2..61db9663 100644 --- a/commands/cli/update/index.md +++ b/commands/cli/update/index.md @@ -5,6 +5,8 @@ title: 'wp cli update' `wp cli update` - Fetch most recent update matching the requirements. Returns the available versions if there are updates, or empty if no update available. +
    + ### OPTIONS [\--patch] diff --git a/commands/cli/version/index.md b/commands/cli/version/index.md index 825fdce2..44e14034 100644 --- a/commands/cli/version/index.md +++ b/commands/cli/version/index.md @@ -5,6 +5,8 @@ title: 'wp cli version' `wp cli version` - Print WP-CLI version. +
    + ### GLOBAL PARAMETERS diff --git a/commands/comment/approve/index.md b/commands/comment/approve/index.md index cf0e6cce..62d98b89 100644 --- a/commands/comment/approve/index.md +++ b/commands/comment/approve/index.md @@ -5,6 +5,8 @@ title: 'wp comment approve' `wp comment approve` - Approve a comment. +
    + ### OPTIONS <id> diff --git a/commands/comment/count/index.md b/commands/comment/count/index.md index 37802fb4..d934dd2b 100644 --- a/commands/comment/count/index.md +++ b/commands/comment/count/index.md @@ -5,6 +5,8 @@ title: 'wp comment count' `wp comment count` - Count comments, on whole blog or on a given post. +
    + ### OPTIONS [<post-id>] diff --git a/commands/comment/create/index.md b/commands/comment/create/index.md index ae307086..09e0523c 100644 --- a/commands/comment/create/index.md +++ b/commands/comment/create/index.md @@ -5,6 +5,8 @@ title: 'wp comment create' `wp comment create` - Insert a comment. +
    + ### OPTIONS \--<field>=<value> diff --git a/commands/comment/delete/index.md b/commands/comment/delete/index.md index 4a894da9..be93d9b8 100644 --- a/commands/comment/delete/index.md +++ b/commands/comment/delete/index.md @@ -5,6 +5,8 @@ title: 'wp comment delete' `wp comment delete` - Delete a comment. +
    + ### OPTIONS <id>... diff --git a/commands/comment/exists/index.md b/commands/comment/exists/index.md index df9a9d1d..96546e0d 100644 --- a/commands/comment/exists/index.md +++ b/commands/comment/exists/index.md @@ -5,6 +5,8 @@ title: 'wp comment exists' `wp comment exists` - Verify whether a comment exists. +
    + ### OPTIONS <id> diff --git a/commands/comment/generate/index.md b/commands/comment/generate/index.md index 119cbe6e..ff65e82b 100644 --- a/commands/comment/generate/index.md +++ b/commands/comment/generate/index.md @@ -5,6 +5,8 @@ title: 'wp comment generate' `wp comment generate` - Generate comments. +
    + ### OPTIONS [\--count=<number>] diff --git a/commands/comment/get/index.md b/commands/comment/get/index.md index b97ba043..1c863caf 100644 --- a/commands/comment/get/index.md +++ b/commands/comment/get/index.md @@ -5,6 +5,8 @@ title: 'wp comment get' `wp comment get` - Get a single comment. +
    + ### OPTIONS <id> diff --git a/commands/comment/index.md b/commands/comment/index.md index c1819503..8cba8d3d 100644 --- a/commands/comment/index.md +++ b/commands/comment/index.md @@ -5,6 +5,8 @@ title: 'wp comment' `wp comment` - Manage comments. +
    + ### EXAMPLES # delete all spam comments. diff --git a/commands/comment/list/index.md b/commands/comment/list/index.md index 64276c3a..71b371e2 100644 --- a/commands/comment/list/index.md +++ b/commands/comment/list/index.md @@ -5,6 +5,8 @@ title: 'wp comment list' `wp comment list` - Get a list of comments. +
    + ### OPTIONS [\--<field>=<value>] diff --git a/commands/comment/meta/add/index.md b/commands/comment/meta/add/index.md index 8e4554f2..08e3dff8 100644 --- a/commands/comment/meta/add/index.md +++ b/commands/comment/meta/add/index.md @@ -5,6 +5,8 @@ title: 'wp comment meta add' `wp comment meta add` - Add a meta field. +
    + ### OPTIONS <id> diff --git a/commands/comment/meta/delete/index.md b/commands/comment/meta/delete/index.md index 43cbd394..3b0488e8 100644 --- a/commands/comment/meta/delete/index.md +++ b/commands/comment/meta/delete/index.md @@ -5,6 +5,8 @@ title: 'wp comment meta delete' `wp comment meta delete` - Delete a meta field. +
    + <id> : The ID of the object. diff --git a/commands/comment/meta/get/index.md b/commands/comment/meta/get/index.md index 0a35bc4a..efb91b21 100644 --- a/commands/comment/meta/get/index.md +++ b/commands/comment/meta/get/index.md @@ -5,6 +5,8 @@ title: 'wp comment meta get' `wp comment meta get` - Get meta field value. +
    + <id> : The ID of the object. diff --git a/commands/comment/meta/index.md b/commands/comment/meta/index.md index df2c2352..8c9e1101 100644 --- a/commands/comment/meta/index.md +++ b/commands/comment/meta/index.md @@ -5,6 +5,8 @@ title: 'wp comment meta' `wp comment meta` - Manage comment custom fields. +
    + ### OPTIONS \--format=json diff --git a/commands/comment/meta/list/index.md b/commands/comment/meta/list/index.md index 55f08a27..60b7e344 100644 --- a/commands/comment/meta/list/index.md +++ b/commands/comment/meta/list/index.md @@ -5,6 +5,8 @@ title: 'wp comment meta list' `wp comment meta list` - List all metadata associated with an object. +
    + <id> : ID for the object. diff --git a/commands/comment/meta/update/index.md b/commands/comment/meta/update/index.md index 3723d272..66b24dbb 100644 --- a/commands/comment/meta/update/index.md +++ b/commands/comment/meta/update/index.md @@ -5,6 +5,8 @@ title: 'wp comment meta update' `wp comment meta update` - Update a meta field. +
    + ### OPTIONS <id> diff --git a/commands/comment/spam/index.md b/commands/comment/spam/index.md index 39e06650..60f590a0 100644 --- a/commands/comment/spam/index.md +++ b/commands/comment/spam/index.md @@ -5,6 +5,8 @@ title: 'wp comment spam' `wp comment spam` - Spam a comment. +
    + ### OPTIONS <id> diff --git a/commands/comment/status/index.md b/commands/comment/status/index.md index facf8dd4..a49309b4 100644 --- a/commands/comment/status/index.md +++ b/commands/comment/status/index.md @@ -5,6 +5,8 @@ title: 'wp comment status' `wp comment status` - Get status of a comment. +
    + ### OPTIONS <id> diff --git a/commands/comment/trash/index.md b/commands/comment/trash/index.md index b796425f..a2cb9a30 100644 --- a/commands/comment/trash/index.md +++ b/commands/comment/trash/index.md @@ -5,6 +5,8 @@ title: 'wp comment trash' `wp comment trash` - Trash a comment. +
    + ### OPTIONS <id> diff --git a/commands/comment/unapprove/index.md b/commands/comment/unapprove/index.md index 950d85e7..ed029cdc 100644 --- a/commands/comment/unapprove/index.md +++ b/commands/comment/unapprove/index.md @@ -5,6 +5,8 @@ title: 'wp comment unapprove' `wp comment unapprove` - Unapprove a comment. +
    + ### OPTIONS <id> diff --git a/commands/comment/unspam/index.md b/commands/comment/unspam/index.md index a25391bf..f27dcdfe 100644 --- a/commands/comment/unspam/index.md +++ b/commands/comment/unspam/index.md @@ -5,6 +5,8 @@ title: 'wp comment unspam' `wp comment unspam` - Unspam a comment. +
    + ### OPTIONS <id> diff --git a/commands/comment/untrash/index.md b/commands/comment/untrash/index.md index 50a84402..c6741953 100644 --- a/commands/comment/untrash/index.md +++ b/commands/comment/untrash/index.md @@ -5,6 +5,8 @@ title: 'wp comment untrash' `wp comment untrash` - Untrash a comment. +
    + ### OPTIONS <id> diff --git a/commands/comment/update/index.md b/commands/comment/update/index.md index 593095a1..cc9bad17 100644 --- a/commands/comment/update/index.md +++ b/commands/comment/update/index.md @@ -5,6 +5,8 @@ title: 'wp comment update' `wp comment update` - Update one or more comments. +
    + ### OPTIONS <id>... diff --git a/commands/comment/url/index.md b/commands/comment/url/index.md index 3fc27320..489bf714 100644 --- a/commands/comment/url/index.md +++ b/commands/comment/url/index.md @@ -5,6 +5,8 @@ title: 'wp comment url' `wp comment url` - Get comment url +
    + ### OPTIONS <id>... diff --git a/commands/core/check-update/index.md b/commands/core/check-update/index.md index 5fe9253d..09b921fe 100644 --- a/commands/core/check-update/index.md +++ b/commands/core/check-update/index.md @@ -5,6 +5,8 @@ title: 'wp core check-update' `wp core check-update` - Check for update via Version Check API. Returns latest version if there's an update, or empty if no update available. +
    + ### OPTIONS [\--minor] diff --git a/commands/core/config/index.md b/commands/core/config/index.md index 9aca3711..5185caf7 100644 --- a/commands/core/config/index.md +++ b/commands/core/config/index.md @@ -5,6 +5,8 @@ title: 'wp core config' `wp core config` - Generate a wp-config.php file. +
    + ### OPTIONS \--dbname=<dbname> diff --git a/commands/core/download/index.md b/commands/core/download/index.md index f532da43..915d269a 100644 --- a/commands/core/download/index.md +++ b/commands/core/download/index.md @@ -5,6 +5,8 @@ title: 'wp core download' `wp core download` - Download core WordPress files. +
    + ### OPTIONS [\--path=<path>] diff --git a/commands/core/index.md b/commands/core/index.md index 7f6ca80f..7cff1fe2 100644 --- a/commands/core/index.md +++ b/commands/core/index.md @@ -5,6 +5,8 @@ title: 'wp core' `wp core` - Download, install, update and otherwise manage WordPress proper. +
    + ### GLOBAL PARAMETERS diff --git a/commands/core/install/index.md b/commands/core/install/index.md index de1f36d4..b65c9867 100644 --- a/commands/core/install/index.md +++ b/commands/core/install/index.md @@ -5,6 +5,8 @@ title: 'wp core install' `wp core install` - Create the WordPress tables in the database. +
    + ### OPTIONS \--url=<url> diff --git a/commands/core/is-installed/index.md b/commands/core/is-installed/index.md index d824a4a9..e72c69c1 100644 --- a/commands/core/is-installed/index.md +++ b/commands/core/is-installed/index.md @@ -5,6 +5,8 @@ title: 'wp core is-installed' `wp core is-installed` - Determine if the WordPress tables are installed. +
    + [\--network] : Check if this is a multisite install diff --git a/commands/core/language/activate/index.md b/commands/core/language/activate/index.md index 3ee727b9..d54f304b 100644 --- a/commands/core/language/activate/index.md +++ b/commands/core/language/activate/index.md @@ -5,6 +5,8 @@ title: 'wp core language activate' `wp core language activate` - Activate a given language. +
    + <language> : Language code to activate. diff --git a/commands/core/language/index.md b/commands/core/language/index.md index 0c995979..a6a7d380 100644 --- a/commands/core/language/index.md +++ b/commands/core/language/index.md @@ -5,6 +5,8 @@ title: 'wp core language' `wp core language` - +
    + ### GLOBAL PARAMETERS diff --git a/commands/core/language/install/index.md b/commands/core/language/install/index.md index 301a5ee0..15c7de8a 100644 --- a/commands/core/language/install/index.md +++ b/commands/core/language/install/index.md @@ -5,6 +5,8 @@ title: 'wp core language install' `wp core language install` - Install a given language. +
    + <language> : Language code to install. diff --git a/commands/core/language/list/index.md b/commands/core/language/list/index.md index 9c538049..213c7c6a 100644 --- a/commands/core/language/list/index.md +++ b/commands/core/language/list/index.md @@ -5,6 +5,8 @@ title: 'wp core language list' `wp core language list` - List all languages available. +
    + [\--field=<field>] : Display the value of a single field diff --git a/commands/core/language/uninstall/index.md b/commands/core/language/uninstall/index.md index 9c3e382f..331de48c 100644 --- a/commands/core/language/uninstall/index.md +++ b/commands/core/language/uninstall/index.md @@ -5,6 +5,8 @@ title: 'wp core language uninstall' `wp core language uninstall` - Uninstall a given language. +
    + <language> : Language code to uninstall. diff --git a/commands/core/language/update/index.md b/commands/core/language/update/index.md index d1ace238..c4033b16 100644 --- a/commands/core/language/update/index.md +++ b/commands/core/language/update/index.md @@ -5,6 +5,8 @@ title: 'wp core language update' `wp core language update` - Updates the active translation of core, plugins, and themes. +
    + [\--dry-run] : Preview which translations would be updated. diff --git a/commands/core/multisite-convert/index.md b/commands/core/multisite-convert/index.md index 5577f72b..2a04390b 100644 --- a/commands/core/multisite-convert/index.md +++ b/commands/core/multisite-convert/index.md @@ -5,6 +5,8 @@ title: 'wp core multisite-convert' `wp core multisite-convert` - Transform a single-site install into a multi-site install. +
    + ### OPTIONS [\--title=<network-title>] diff --git a/commands/core/multisite-install/index.md b/commands/core/multisite-install/index.md index d831eb93..1f11d63a 100644 --- a/commands/core/multisite-install/index.md +++ b/commands/core/multisite-install/index.md @@ -5,6 +5,8 @@ title: 'wp core multisite-install' `wp core multisite-install` - Install multisite from scratch. +
    + ### OPTIONS [\--url=<url>] diff --git a/commands/core/update-db/index.md b/commands/core/update-db/index.md index aafcdc3f..b6430620 100644 --- a/commands/core/update-db/index.md +++ b/commands/core/update-db/index.md @@ -5,6 +5,8 @@ title: 'wp core update-db' `wp core update-db` - Update the WordPress database. +
    + ### GLOBAL PARAMETERS diff --git a/commands/core/update/index.md b/commands/core/update/index.md index e7ffb220..dbef02b3 100644 --- a/commands/core/update/index.md +++ b/commands/core/update/index.md @@ -5,6 +5,8 @@ title: 'wp core update' `wp core update` - Update WordPress. +
    + ### OPTIONS [<zip>] diff --git a/commands/core/verify-checksums/index.md b/commands/core/verify-checksums/index.md index 833edbdb..e5155e0d 100644 --- a/commands/core/verify-checksums/index.md +++ b/commands/core/verify-checksums/index.md @@ -5,6 +5,8 @@ title: 'wp core verify-checksums' `wp core verify-checksums` - Verify WordPress files against WordPress.org's checksums. +
    + ### GLOBAL PARAMETERS diff --git a/commands/core/version/index.md b/commands/core/version/index.md index 49809f83..80389638 100644 --- a/commands/core/version/index.md +++ b/commands/core/version/index.md @@ -5,6 +5,8 @@ title: 'wp core version' `wp core version` - Display the WordPress version. +
    + ### OPTIONS [\--extra] diff --git a/commands/cron/event/delete/index.md b/commands/cron/event/delete/index.md index 4a55d716..214ea53f 100644 --- a/commands/cron/event/delete/index.md +++ b/commands/cron/event/delete/index.md @@ -5,6 +5,8 @@ title: 'wp cron event delete' `wp cron event delete` - Delete the next scheduled cron event for the given hook. +
    + ### OPTIONS <hook> diff --git a/commands/cron/event/index.md b/commands/cron/event/index.md index c2a2eb94..3770dd41 100644 --- a/commands/cron/event/index.md +++ b/commands/cron/event/index.md @@ -5,6 +5,8 @@ title: 'wp cron event' `wp cron event` - Manage WP-Cron events. +
    + ### GLOBAL PARAMETERS diff --git a/commands/cron/event/list/index.md b/commands/cron/event/list/index.md index 4bc92121..27a69ed9 100644 --- a/commands/cron/event/list/index.md +++ b/commands/cron/event/list/index.md @@ -5,6 +5,8 @@ title: 'wp cron event list' `wp cron event list` - List scheduled cron events. +
    + ### OPTIONS [\--fields=<fields>] diff --git a/commands/cron/event/run/index.md b/commands/cron/event/run/index.md index d06adda2..57944d9e 100644 --- a/commands/cron/event/run/index.md +++ b/commands/cron/event/run/index.md @@ -5,6 +5,8 @@ title: 'wp cron event run' `wp cron event run` - Run the next scheduled cron event for the given hook. +
    + ### OPTIONS <hook> diff --git a/commands/cron/event/schedule/index.md b/commands/cron/event/schedule/index.md index 4c626bcc..f883ad7e 100644 --- a/commands/cron/event/schedule/index.md +++ b/commands/cron/event/schedule/index.md @@ -5,6 +5,8 @@ title: 'wp cron event schedule' `wp cron event schedule` - Schedule a new cron event. +
    + ### OPTIONS <hook> diff --git a/commands/cron/index.md b/commands/cron/index.md index 7f946002..2599b053 100644 --- a/commands/cron/index.md +++ b/commands/cron/index.md @@ -5,6 +5,8 @@ title: 'wp cron' `wp cron` - Manage WP-Cron events and schedules. +
    + ### GLOBAL PARAMETERS diff --git a/commands/cron/schedule/index.md b/commands/cron/schedule/index.md index b8f072ce..b0cc794d 100644 --- a/commands/cron/schedule/index.md +++ b/commands/cron/schedule/index.md @@ -5,6 +5,8 @@ title: 'wp cron schedule' `wp cron schedule` - Manage WP-Cron schedules. +
    + ### GLOBAL PARAMETERS diff --git a/commands/cron/schedule/list/index.md b/commands/cron/schedule/list/index.md index b4adb2bf..b81f3ffc 100644 --- a/commands/cron/schedule/list/index.md +++ b/commands/cron/schedule/list/index.md @@ -5,6 +5,8 @@ title: 'wp cron schedule list' `wp cron schedule list` - List available cron schedules. +
    + ### OPTIONS [\--fields=<fields>] diff --git a/commands/cron/test/index.md b/commands/cron/test/index.md index fac20fd4..d75475c6 100644 --- a/commands/cron/test/index.md +++ b/commands/cron/test/index.md @@ -5,6 +5,8 @@ title: 'wp cron test' `wp cron test` - Test the WP Cron spawning system and report back its status. +
    + ### GLOBAL PARAMETERS diff --git a/commands/db/cli/index.md b/commands/db/cli/index.md index 1fea156c..f24b0ce4 100644 --- a/commands/db/cli/index.md +++ b/commands/db/cli/index.md @@ -5,6 +5,8 @@ title: 'wp db cli' `wp db cli` - Open a mysql console using the WordPress credentials. +
    + ### GLOBAL PARAMETERS diff --git a/commands/db/create/index.md b/commands/db/create/index.md index a913b489..057b25b8 100644 --- a/commands/db/create/index.md +++ b/commands/db/create/index.md @@ -5,6 +5,8 @@ title: 'wp db create' `wp db create` - Create the database, as specified in wp-config.php +
    + ### GLOBAL PARAMETERS diff --git a/commands/db/drop/index.md b/commands/db/drop/index.md index e45d07bd..d5372a05 100644 --- a/commands/db/drop/index.md +++ b/commands/db/drop/index.md @@ -5,6 +5,8 @@ title: 'wp db drop' `wp db drop` - Delete the database. +
    + ### OPTIONS [\--yes] diff --git a/commands/db/export/index.md b/commands/db/export/index.md index 7af21371..9585eea8 100644 --- a/commands/db/export/index.md +++ b/commands/db/export/index.md @@ -5,6 +5,8 @@ title: 'wp db export' `wp db export` - Exports the database to a file or to STDOUT. +
    + ### OPTIONS [<file>] diff --git a/commands/db/import/index.md b/commands/db/import/index.md index e90cff02..2c84a739 100644 --- a/commands/db/import/index.md +++ b/commands/db/import/index.md @@ -5,6 +5,8 @@ title: 'wp db import' `wp db import` - Import database from a file or from STDIN. +
    + ### OPTIONS [<file>] diff --git a/commands/db/index.md b/commands/db/index.md index 85f603d8..8bf5686e 100644 --- a/commands/db/index.md +++ b/commands/db/index.md @@ -5,6 +5,8 @@ title: 'wp db' `wp db` - Perform basic database operations. +
    + ### GLOBAL PARAMETERS diff --git a/commands/db/optimize/index.md b/commands/db/optimize/index.md index a8ed375d..b3ae597d 100644 --- a/commands/db/optimize/index.md +++ b/commands/db/optimize/index.md @@ -5,6 +5,8 @@ title: 'wp db optimize' `wp db optimize` - Optimize the database. +
    + ### GLOBAL PARAMETERS diff --git a/commands/db/query/index.md b/commands/db/query/index.md index 8138a772..0f937e71 100644 --- a/commands/db/query/index.md +++ b/commands/db/query/index.md @@ -5,6 +5,8 @@ title: 'wp db query' `wp db query` - Execute a query against the database. +
    + ### OPTIONS [<sql>] diff --git a/commands/db/repair/index.md b/commands/db/repair/index.md index d13a0554..aae12966 100644 --- a/commands/db/repair/index.md +++ b/commands/db/repair/index.md @@ -5,6 +5,8 @@ title: 'wp db repair' `wp db repair` - Repair the database. +
    + ### GLOBAL PARAMETERS diff --git a/commands/db/reset/index.md b/commands/db/reset/index.md index a59e245a..45c9d7b7 100644 --- a/commands/db/reset/index.md +++ b/commands/db/reset/index.md @@ -5,6 +5,8 @@ title: 'wp db reset' `wp db reset` - Remove all tables from the database. +
    + ### OPTIONS [\--yes] diff --git a/commands/db/tables/index.md b/commands/db/tables/index.md index cdca27af..afe44fdf 100644 --- a/commands/db/tables/index.md +++ b/commands/db/tables/index.md @@ -5,6 +5,8 @@ title: 'wp db tables' `wp db tables` - List the database tables. +
    + ### OPTIONS [\--scope=<scope>] diff --git a/commands/eval-file/index.md b/commands/eval-file/index.md index 02fe045a..1758c8d8 100644 --- a/commands/eval-file/index.md +++ b/commands/eval-file/index.md @@ -5,6 +5,8 @@ title: 'wp eval-file' `wp eval-file` - Load and execute a PHP file after loading WordPress. +
    + ### OPTIONS <file> diff --git a/commands/eval/index.md b/commands/eval/index.md index f6ca3007..31245f20 100644 --- a/commands/eval/index.md +++ b/commands/eval/index.md @@ -5,6 +5,8 @@ title: 'wp eval' `wp eval` - Execute arbitrary PHP code after loading WordPress. +
    + ### EXAMPLES wp eval 'echo WP_CONTENT_DIR;' diff --git a/commands/export/index.md b/commands/export/index.md index df14132a..90260178 100644 --- a/commands/export/index.md +++ b/commands/export/index.md @@ -5,6 +5,8 @@ title: 'wp export' `wp export` - Export content to a WXR file. +
    + ### OPTIONS [\--dir=<dirname>] diff --git a/commands/help/index.md b/commands/help/index.md index ab9aa2fb..60a91ac9 100644 --- a/commands/help/index.md +++ b/commands/help/index.md @@ -5,6 +5,8 @@ title: 'wp help' `wp help` - Get help on a certain command. +
    + ### EXAMPLES # get help for `core` command diff --git a/commands/import/index.md b/commands/import/index.md index 3a06b75e..a3b5f1d4 100644 --- a/commands/import/index.md +++ b/commands/import/index.md @@ -5,6 +5,8 @@ title: 'wp import' `wp import` - Import content from a WXR file. +
    + ### OPTIONS <file>... diff --git a/commands/media/import/index.md b/commands/media/import/index.md index 66cfae28..cc02b788 100644 --- a/commands/media/import/index.md +++ b/commands/media/import/index.md @@ -5,6 +5,8 @@ title: 'wp media import' `wp media import` - Create attachments from local files or from URLs. +
    + ### OPTIONS <file>... diff --git a/commands/media/index.md b/commands/media/index.md index e8cc301c..d6815db0 100644 --- a/commands/media/index.md +++ b/commands/media/index.md @@ -5,6 +5,8 @@ title: 'wp media' `wp media` - Manage attachments. +
    + ### GLOBAL PARAMETERS diff --git a/commands/media/regenerate/index.md b/commands/media/regenerate/index.md index ebcc442a..8ab771e9 100644 --- a/commands/media/regenerate/index.md +++ b/commands/media/regenerate/index.md @@ -5,6 +5,8 @@ title: 'wp media regenerate' `wp media regenerate` - Regenerate thumbnail(s). +
    + ### OPTIONS [<attachment-id>...] diff --git a/commands/menu/create/index.md b/commands/menu/create/index.md index 43cfbc48..70939a6a 100644 --- a/commands/menu/create/index.md +++ b/commands/menu/create/index.md @@ -5,6 +5,8 @@ title: 'wp menu create' `wp menu create` - Create a new menu +
    + <menu-name> : A descriptive name for the menu diff --git a/commands/menu/delete/index.md b/commands/menu/delete/index.md index b67f1fd0..16627dd3 100644 --- a/commands/menu/delete/index.md +++ b/commands/menu/delete/index.md @@ -5,6 +5,8 @@ title: 'wp menu delete' `wp menu delete` - Delete one or more menus +
    + <menu>... : The name, slug, or term ID for the menu(s) diff --git a/commands/menu/index.md b/commands/menu/index.md index 2f35a3e8..7aadd5f0 100644 --- a/commands/menu/index.md +++ b/commands/menu/index.md @@ -5,6 +5,8 @@ title: 'wp menu' `wp menu` - List, create, assign, and delete menus +
    + ### EXAMPLES # Create a new menu diff --git a/commands/menu/item/add-custom/index.md b/commands/menu/item/add-custom/index.md index e051fd19..15c21e1a 100644 --- a/commands/menu/item/add-custom/index.md +++ b/commands/menu/item/add-custom/index.md @@ -5,6 +5,8 @@ title: 'wp menu item add-custom' `wp menu item add-custom` - Add a custom menu item +
    + <menu> : The name, slug, or term ID for the menu diff --git a/commands/menu/item/add-post/index.md b/commands/menu/item/add-post/index.md index e08068d4..975099a4 100644 --- a/commands/menu/item/add-post/index.md +++ b/commands/menu/item/add-post/index.md @@ -5,6 +5,8 @@ title: 'wp menu item add-post' `wp menu item add-post` - Add a post as a menu item +
    + <menu> : The name, slug, or term ID for the menu diff --git a/commands/menu/item/add-term/index.md b/commands/menu/item/add-term/index.md index 96942d53..2f4fc17f 100644 --- a/commands/menu/item/add-term/index.md +++ b/commands/menu/item/add-term/index.md @@ -5,6 +5,8 @@ title: 'wp menu item add-term' `wp menu item add-term` - Add a taxonomy term as a menu item +
    + <menu> : The name, slug, or term ID for the menu diff --git a/commands/menu/item/delete/index.md b/commands/menu/item/delete/index.md index a88686c7..6611f2a4 100644 --- a/commands/menu/item/delete/index.md +++ b/commands/menu/item/delete/index.md @@ -5,6 +5,8 @@ title: 'wp menu item delete' `wp menu item delete` - Delete one or more items from a menu +
    + <db-id>... : Database ID for the menu item(s). diff --git a/commands/menu/item/index.md b/commands/menu/item/index.md index f9ab07d7..209a0f63 100644 --- a/commands/menu/item/index.md +++ b/commands/menu/item/index.md @@ -5,6 +5,8 @@ title: 'wp menu item' `wp menu item` - List, add, and delete items associated with a menu +
    + ### EXAMPLES # Add an existing post to an existing menu diff --git a/commands/menu/item/list/index.md b/commands/menu/item/list/index.md index 0f8f5d81..f69a4b5c 100644 --- a/commands/menu/item/list/index.md +++ b/commands/menu/item/list/index.md @@ -5,6 +5,8 @@ title: 'wp menu item list' `wp menu item list` - Get a list of items associated with a menu +
    + ### OPTIONS <menu> diff --git a/commands/menu/item/update/index.md b/commands/menu/item/update/index.md index 2cf0289c..fb3ae0cc 100644 --- a/commands/menu/item/update/index.md +++ b/commands/menu/item/update/index.md @@ -5,6 +5,8 @@ title: 'wp menu item update' `wp menu item update` - Update a menu item +
    + <db-id> : Database ID for the menu item. diff --git a/commands/menu/list/index.md b/commands/menu/list/index.md index 77e889b5..101f76cf 100644 --- a/commands/menu/list/index.md +++ b/commands/menu/list/index.md @@ -5,6 +5,8 @@ title: 'wp menu list' `wp menu list` - Get a list of menus. +
    + ### OPTIONS [\--fields=<fields>] diff --git a/commands/menu/location/assign/index.md b/commands/menu/location/assign/index.md index a2fa1283..14c8a78c 100644 --- a/commands/menu/location/assign/index.md +++ b/commands/menu/location/assign/index.md @@ -5,6 +5,8 @@ title: 'wp menu location assign' `wp menu location assign` - Assign a location to a menu +
    + <menu> : The name, slug, or term ID for the menu diff --git a/commands/menu/location/index.md b/commands/menu/location/index.md index 9fbb12d3..c004d369 100644 --- a/commands/menu/location/index.md +++ b/commands/menu/location/index.md @@ -5,6 +5,8 @@ title: 'wp menu location' `wp menu location` - Manage a menu's assignment to locations. +
    + ### EXAMPLES # List available menu locations diff --git a/commands/menu/location/list/index.md b/commands/menu/location/list/index.md index 6fce29a2..9ddb66c6 100644 --- a/commands/menu/location/list/index.md +++ b/commands/menu/location/list/index.md @@ -5,6 +5,8 @@ title: 'wp menu location list' `wp menu location list` - List locations for the current theme. +
    + [\--format=<format>] : Accepted values: table, csv, json, count, ids. Default: table diff --git a/commands/menu/location/remove/index.md b/commands/menu/location/remove/index.md index 6118d15f..c9dc1c61 100644 --- a/commands/menu/location/remove/index.md +++ b/commands/menu/location/remove/index.md @@ -5,6 +5,8 @@ title: 'wp menu location remove' `wp menu location remove` - Remove a location from a menu +
    + <menu> : The name, slug, or term ID for the menu diff --git a/commands/network/index.md b/commands/network/index.md index db01b824..358dfa4c 100644 --- a/commands/network/index.md +++ b/commands/network/index.md @@ -5,6 +5,8 @@ title: 'wp network' `wp network` - +
    + ### GLOBAL PARAMETERS diff --git a/commands/network/meta/add/index.md b/commands/network/meta/add/index.md index b3738058..afde16ac 100644 --- a/commands/network/meta/add/index.md +++ b/commands/network/meta/add/index.md @@ -5,6 +5,8 @@ title: 'wp network meta add' `wp network meta add` - Add a meta field. +
    + ### OPTIONS <id> diff --git a/commands/network/meta/delete/index.md b/commands/network/meta/delete/index.md index de490797..33d5c9d6 100644 --- a/commands/network/meta/delete/index.md +++ b/commands/network/meta/delete/index.md @@ -5,6 +5,8 @@ title: 'wp network meta delete' `wp network meta delete` - Delete a meta field. +
    + <id> : The ID of the object. diff --git a/commands/network/meta/get/index.md b/commands/network/meta/get/index.md index 828b7aae..11a590d4 100644 --- a/commands/network/meta/get/index.md +++ b/commands/network/meta/get/index.md @@ -5,6 +5,8 @@ title: 'wp network meta get' `wp network meta get` - Get meta field value. +
    + <id> : The ID of the object. diff --git a/commands/network/meta/index.md b/commands/network/meta/index.md index 8cf5ac57..88e9553a 100644 --- a/commands/network/meta/index.md +++ b/commands/network/meta/index.md @@ -5,6 +5,8 @@ title: 'wp network meta' `wp network meta` - Manage network custom fields. +
    + ### OPTIONS <id> diff --git a/commands/network/meta/list/index.md b/commands/network/meta/list/index.md index b3b7ef69..b7a81eca 100644 --- a/commands/network/meta/list/index.md +++ b/commands/network/meta/list/index.md @@ -5,6 +5,8 @@ title: 'wp network meta list' `wp network meta list` - List all metadata associated with an object. +
    + <id> : ID for the object. diff --git a/commands/network/meta/update/index.md b/commands/network/meta/update/index.md index 4772f53b..c2603096 100644 --- a/commands/network/meta/update/index.md +++ b/commands/network/meta/update/index.md @@ -5,6 +5,8 @@ title: 'wp network meta update' `wp network meta update` - Update a meta field. +
    + ### OPTIONS <id> diff --git a/commands/option/add/index.md b/commands/option/add/index.md index 59175bd4..87011d2a 100644 --- a/commands/option/add/index.md +++ b/commands/option/add/index.md @@ -5,6 +5,8 @@ title: 'wp option add' `wp option add` - Add an option. +
    + ### OPTIONS <key> diff --git a/commands/option/delete/index.md b/commands/option/delete/index.md index 29c477fd..21324f13 100644 --- a/commands/option/delete/index.md +++ b/commands/option/delete/index.md @@ -5,6 +5,8 @@ title: 'wp option delete' `wp option delete` - Delete an option. +
    + ### GLOBAL PARAMETERS diff --git a/commands/option/get/index.md b/commands/option/get/index.md index 7274833f..f3601e65 100644 --- a/commands/option/get/index.md +++ b/commands/option/get/index.md @@ -5,6 +5,8 @@ title: 'wp option get' `wp option get` - Get an option. +
    + ### GLOBAL PARAMETERS diff --git a/commands/option/index.md b/commands/option/index.md index 9bcf9371..fcdabb5c 100644 --- a/commands/option/index.md +++ b/commands/option/index.md @@ -5,6 +5,8 @@ title: 'wp option' `wp option` - Manage options. +
    + ### OPTIONS [\--format=json] diff --git a/commands/option/list/index.md b/commands/option/list/index.md index 4a564213..48c9ac68 100644 --- a/commands/option/list/index.md +++ b/commands/option/list/index.md @@ -5,6 +5,8 @@ title: 'wp option list' `wp option list` - List options. +
    + [\--search=<pattern>] : Use wildcards ( * and ? ) to match option name. diff --git a/commands/option/update/index.md b/commands/option/update/index.md index 7300a145..b61c9da7 100644 --- a/commands/option/update/index.md +++ b/commands/option/update/index.md @@ -5,6 +5,8 @@ title: 'wp option update' `wp option update` - Update an option. +
    + ### OPTIONS <key> diff --git a/commands/plugin/activate/index.md b/commands/plugin/activate/index.md index 439b8fc5..b809353a 100644 --- a/commands/plugin/activate/index.md +++ b/commands/plugin/activate/index.md @@ -5,6 +5,8 @@ title: 'wp plugin activate' `wp plugin activate` - Activate a plugin. +
    + ### OPTIONS [<plugin>...] diff --git a/commands/plugin/deactivate/index.md b/commands/plugin/deactivate/index.md index 98cb8e1d..694e21d7 100644 --- a/commands/plugin/deactivate/index.md +++ b/commands/plugin/deactivate/index.md @@ -5,6 +5,8 @@ title: 'wp plugin deactivate' `wp plugin deactivate` - Deactivate a plugin. +
    + ### OPTIONS [<plugin>...] diff --git a/commands/plugin/delete/index.md b/commands/plugin/delete/index.md index 2559faa2..9dc6bb57 100644 --- a/commands/plugin/delete/index.md +++ b/commands/plugin/delete/index.md @@ -5,6 +5,8 @@ title: 'wp plugin delete' `wp plugin delete` - Delete plugin files. +
    + ### OPTIONS <plugin>... diff --git a/commands/plugin/get/index.md b/commands/plugin/get/index.md index 8a60fdce..e88ac581 100644 --- a/commands/plugin/get/index.md +++ b/commands/plugin/get/index.md @@ -5,6 +5,8 @@ title: 'wp plugin get' `wp plugin get` - Get a plugin. +
    + ### OPTIONS <plugin> diff --git a/commands/plugin/index.md b/commands/plugin/index.md index 1fe057e5..f0bf3126 100644 --- a/commands/plugin/index.md +++ b/commands/plugin/index.md @@ -5,6 +5,8 @@ title: 'wp plugin' `wp plugin` - Manage plugins. +
    + ### GLOBAL PARAMETERS diff --git a/commands/plugin/install/index.md b/commands/plugin/install/index.md index c1da2031..e7851649 100644 --- a/commands/plugin/install/index.md +++ b/commands/plugin/install/index.md @@ -5,6 +5,8 @@ title: 'wp plugin install' `wp plugin install` - Install a plugin. +
    + ### OPTIONS <plugin|zip|url>... diff --git a/commands/plugin/is-installed/index.md b/commands/plugin/is-installed/index.md index 2404d588..26f88bff 100644 --- a/commands/plugin/is-installed/index.md +++ b/commands/plugin/is-installed/index.md @@ -5,6 +5,8 @@ title: 'wp plugin is-installed' `wp plugin is-installed` - Check if the plugin is installed. +
    + ### OPTIONS <plugin> diff --git a/commands/plugin/list/index.md b/commands/plugin/list/index.md index e140af60..963e6785 100644 --- a/commands/plugin/list/index.md +++ b/commands/plugin/list/index.md @@ -5,6 +5,8 @@ title: 'wp plugin list' `wp plugin list` - Get a list of plugins. +
    + ### OPTIONS [\--<field>=<value>] diff --git a/commands/plugin/path/index.md b/commands/plugin/path/index.md index 74c05a9f..b45bc00f 100644 --- a/commands/plugin/path/index.md +++ b/commands/plugin/path/index.md @@ -5,6 +5,8 @@ title: 'wp plugin path' `wp plugin path` - Get the path to a plugin or to the plugin directory. +
    + ### OPTIONS [<plugin>] diff --git a/commands/plugin/search/index.md b/commands/plugin/search/index.md index 1d514af6..6679383c 100644 --- a/commands/plugin/search/index.md +++ b/commands/plugin/search/index.md @@ -5,6 +5,8 @@ title: 'wp plugin search' `wp plugin search` - Search the wordpress.org plugin repository. +
    + ### OPTIONS <search> diff --git a/commands/plugin/status/index.md b/commands/plugin/status/index.md index a1736fc6..d729df49 100644 --- a/commands/plugin/status/index.md +++ b/commands/plugin/status/index.md @@ -5,6 +5,8 @@ title: 'wp plugin status' `wp plugin status` - See the status of one or all plugins. +
    + ### OPTIONS [<plugin>] diff --git a/commands/plugin/toggle/index.md b/commands/plugin/toggle/index.md index b4018672..f0a1d139 100644 --- a/commands/plugin/toggle/index.md +++ b/commands/plugin/toggle/index.md @@ -5,6 +5,8 @@ title: 'wp plugin toggle' `wp plugin toggle` - Toggle a plugin's activation state. +
    + ### OPTIONS <plugin>... diff --git a/commands/plugin/uninstall/index.md b/commands/plugin/uninstall/index.md index b7933882..ef9b52e3 100644 --- a/commands/plugin/uninstall/index.md +++ b/commands/plugin/uninstall/index.md @@ -5,6 +5,8 @@ title: 'wp plugin uninstall' `wp plugin uninstall` - Uninstall a plugin. +
    + ### OPTIONS <plugin>... diff --git a/commands/plugin/update/index.md b/commands/plugin/update/index.md index 17015d90..1bcb1c43 100644 --- a/commands/plugin/update/index.md +++ b/commands/plugin/update/index.md @@ -5,6 +5,8 @@ title: 'wp plugin update' `wp plugin update` - Update one or more plugins. +
    + ### OPTIONS [<plugin>...] diff --git a/commands/post/create/index.md b/commands/post/create/index.md index a65c873a..bf12df15 100644 --- a/commands/post/create/index.md +++ b/commands/post/create/index.md @@ -5,6 +5,8 @@ title: 'wp post create' `wp post create` - Create a post. +
    + ### OPTIONS [<file>] diff --git a/commands/post/delete/index.md b/commands/post/delete/index.md index 363dfc3e..faecf290 100644 --- a/commands/post/delete/index.md +++ b/commands/post/delete/index.md @@ -5,6 +5,8 @@ title: 'wp post delete' `wp post delete` - Delete a post by ID. +
    + ### OPTIONS <id>... diff --git a/commands/post/edit/index.md b/commands/post/edit/index.md index 7bc0d0af..4f614b6a 100644 --- a/commands/post/edit/index.md +++ b/commands/post/edit/index.md @@ -5,6 +5,8 @@ title: 'wp post edit' `wp post edit` - Launch system editor to edit post content. +
    + ### OPTIONS <id> diff --git a/commands/post/generate/index.md b/commands/post/generate/index.md index dac08bcf..49fab9f4 100644 --- a/commands/post/generate/index.md +++ b/commands/post/generate/index.md @@ -5,6 +5,8 @@ title: 'wp post generate' `wp post generate` - Generate some posts. +
    + ### OPTIONS [\--count=<number>] diff --git a/commands/post/get/index.md b/commands/post/get/index.md index bf638693..34d4ad40 100644 --- a/commands/post/get/index.md +++ b/commands/post/get/index.md @@ -5,6 +5,8 @@ title: 'wp post get' `wp post get` - Get a post's content by ID. +
    + ### OPTIONS <id> diff --git a/commands/post/index.md b/commands/post/index.md index 83d90505..5db8f3ff 100644 --- a/commands/post/index.md +++ b/commands/post/index.md @@ -5,6 +5,8 @@ title: 'wp post' `wp post` - Manage posts. +
    + ### GLOBAL PARAMETERS diff --git a/commands/post/list/index.md b/commands/post/list/index.md index 7baca557..db152b3b 100644 --- a/commands/post/list/index.md +++ b/commands/post/list/index.md @@ -5,6 +5,8 @@ title: 'wp post list' `wp post list` - Get a list of posts. +
    + ### OPTIONS [\--<field>=<value>] diff --git a/commands/post/meta/add/index.md b/commands/post/meta/add/index.md index c084729e..d7e7ee64 100644 --- a/commands/post/meta/add/index.md +++ b/commands/post/meta/add/index.md @@ -5,6 +5,8 @@ title: 'wp post meta add' `wp post meta add` - Add a meta field. +
    + ### OPTIONS <id> diff --git a/commands/post/meta/delete/index.md b/commands/post/meta/delete/index.md index 902c3e1f..66bc5d26 100644 --- a/commands/post/meta/delete/index.md +++ b/commands/post/meta/delete/index.md @@ -5,6 +5,8 @@ title: 'wp post meta delete' `wp post meta delete` - Delete a meta field. +
    + <id> : The ID of the object. diff --git a/commands/post/meta/get/index.md b/commands/post/meta/get/index.md index 6c65e2eb..02cddfa9 100644 --- a/commands/post/meta/get/index.md +++ b/commands/post/meta/get/index.md @@ -5,6 +5,8 @@ title: 'wp post meta get' `wp post meta get` - Get meta field value. +
    + <id> : The ID of the object. diff --git a/commands/post/meta/index.md b/commands/post/meta/index.md index 9ed5a9e2..e5c31cb9 100644 --- a/commands/post/meta/index.md +++ b/commands/post/meta/index.md @@ -5,6 +5,8 @@ title: 'wp post meta' `wp post meta` - Manage post custom fields. +
    + ### OPTIONS [\--format=json] diff --git a/commands/post/meta/list/index.md b/commands/post/meta/list/index.md index 30167ab1..98994b97 100644 --- a/commands/post/meta/list/index.md +++ b/commands/post/meta/list/index.md @@ -5,6 +5,8 @@ title: 'wp post meta list' `wp post meta list` - List all metadata associated with an object. +
    + <id> : ID for the object. diff --git a/commands/post/meta/update/index.md b/commands/post/meta/update/index.md index 5a817966..cf709d92 100644 --- a/commands/post/meta/update/index.md +++ b/commands/post/meta/update/index.md @@ -5,6 +5,8 @@ title: 'wp post meta update' `wp post meta update` - Update a meta field. +
    + ### OPTIONS <id> diff --git a/commands/post/term/add/index.md b/commands/post/term/add/index.md index ebc87e59..d5528b11 100644 --- a/commands/post/term/add/index.md +++ b/commands/post/term/add/index.md @@ -5,6 +5,8 @@ title: 'wp post term add' `wp post term add` - Add a term. Appends to existing set of terms on the object. +
    + <id> : The ID of the object. diff --git a/commands/post/term/index.md b/commands/post/term/index.md index b1261d6d..7bb977fb 100644 --- a/commands/post/term/index.md +++ b/commands/post/term/index.md @@ -5,6 +5,8 @@ title: 'wp post term' `wp post term` - Manage post terms. +
    + ### EXAMPLES wp post term set 123 test category diff --git a/commands/post/term/list/index.md b/commands/post/term/list/index.md index 12f1758a..7f0c3d90 100644 --- a/commands/post/term/list/index.md +++ b/commands/post/term/list/index.md @@ -5,6 +5,8 @@ title: 'wp post term list' `wp post term list` - List all terms associated with an object. +
    + <id> : ID for the object. diff --git a/commands/post/term/remove/index.md b/commands/post/term/remove/index.md index 22101ccd..83064a35 100644 --- a/commands/post/term/remove/index.md +++ b/commands/post/term/remove/index.md @@ -5,6 +5,8 @@ title: 'wp post term remove' `wp post term remove` - Remove a term. +
    + <id> : The ID of the object. diff --git a/commands/post/term/set/index.md b/commands/post/term/set/index.md index 5f204b24..b7ce7600 100644 --- a/commands/post/term/set/index.md +++ b/commands/post/term/set/index.md @@ -5,6 +5,8 @@ title: 'wp post term set' `wp post term set` - Set terms. Replaces existing terms on the object. +
    + <id> : The ID of the object. diff --git a/commands/post/update/index.md b/commands/post/update/index.md index fe517143..07f61a5e 100644 --- a/commands/post/update/index.md +++ b/commands/post/update/index.md @@ -5,6 +5,8 @@ title: 'wp post update' `wp post update` - Update one or more posts. +
    + ### OPTIONS <id>... diff --git a/commands/post/url/index.md b/commands/post/url/index.md index 59d32847..0e263488 100644 --- a/commands/post/url/index.md +++ b/commands/post/url/index.md @@ -5,6 +5,8 @@ title: 'wp post url' `wp post url` - Get post url +
    + ### OPTIONS <id>... diff --git a/commands/rewrite/flush/index.md b/commands/rewrite/flush/index.md index ae439023..583b7828 100644 --- a/commands/rewrite/flush/index.md +++ b/commands/rewrite/flush/index.md @@ -5,6 +5,8 @@ title: 'wp rewrite flush' `wp rewrite flush` - Flush rewrite rules. +
    + ### DESCRIPTION Resets WordPress' rewrite rules based on registered post types, etc. diff --git a/commands/rewrite/index.md b/commands/rewrite/index.md index 2bf4c073..10ab7e06 100644 --- a/commands/rewrite/index.md +++ b/commands/rewrite/index.md @@ -5,6 +5,8 @@ title: 'wp rewrite' `wp rewrite` - Manage rewrite rules. +
    + ### GLOBAL PARAMETERS diff --git a/commands/rewrite/list/index.md b/commands/rewrite/list/index.md index 8079d22a..08507052 100644 --- a/commands/rewrite/list/index.md +++ b/commands/rewrite/list/index.md @@ -5,6 +5,8 @@ title: 'wp rewrite list' `wp rewrite list` - Print current rewrite rules. +
    + ### OPTIONS [\--match=<url>] diff --git a/commands/rewrite/structure/index.md b/commands/rewrite/structure/index.md index 2f3644ce..8b3fc709 100644 --- a/commands/rewrite/structure/index.md +++ b/commands/rewrite/structure/index.md @@ -5,6 +5,8 @@ title: 'wp rewrite structure' `wp rewrite structure` - Update the permalink structure. +
    + ### DESCRIPTION Updates the post permalink structure. diff --git a/commands/role/create/index.md b/commands/role/create/index.md index e90d5a92..d016dc53 100644 --- a/commands/role/create/index.md +++ b/commands/role/create/index.md @@ -5,6 +5,8 @@ title: 'wp role create' `wp role create` - Create a new role. +
    + ### OPTIONS <role-key> diff --git a/commands/role/delete/index.md b/commands/role/delete/index.md index 476f3014..93f5b752 100644 --- a/commands/role/delete/index.md +++ b/commands/role/delete/index.md @@ -5,6 +5,8 @@ title: 'wp role delete' `wp role delete` - Delete an existing role. +
    + ### OPTIONS <role-key> diff --git a/commands/role/exists/index.md b/commands/role/exists/index.md index 59b5b0e1..5182d665 100644 --- a/commands/role/exists/index.md +++ b/commands/role/exists/index.md @@ -5,6 +5,8 @@ title: 'wp role exists' `wp role exists` - Check if a role exists. +
    + ##DESCRIPTION Will exit with status 0 if the role exists, 1 if it does not. diff --git a/commands/role/index.md b/commands/role/index.md index 6c2b6c49..b4e27d3a 100644 --- a/commands/role/index.md +++ b/commands/role/index.md @@ -5,6 +5,8 @@ title: 'wp role' `wp role` - Manage user roles. +
    + ### GLOBAL PARAMETERS diff --git a/commands/role/list/index.md b/commands/role/list/index.md index 5d4d11e7..13525f35 100644 --- a/commands/role/list/index.md +++ b/commands/role/list/index.md @@ -5,6 +5,8 @@ title: 'wp role list' `wp role list` - List all roles. +
    + ### OPTIONS [\--fields=<fields>] diff --git a/commands/role/reset/index.md b/commands/role/reset/index.md index b5e7308d..6f906af3 100644 --- a/commands/role/reset/index.md +++ b/commands/role/reset/index.md @@ -5,6 +5,8 @@ title: 'wp role reset' `wp role reset` - Reset any default role to default capabilities. +
    + ### OPTIONS [<role-key>...] diff --git a/commands/scaffold/_s/index.md b/commands/scaffold/_s/index.md index 194ad854..8bac4d0a 100644 --- a/commands/scaffold/_s/index.md +++ b/commands/scaffold/_s/index.md @@ -5,6 +5,8 @@ title: 'wp scaffold _s' `wp scaffold _s` - Generate starter code for a theme. +
    + ### OPTIONS <slug> diff --git a/commands/scaffold/child-theme/index.md b/commands/scaffold/child-theme/index.md index fecd74a2..0c521fdb 100644 --- a/commands/scaffold/child-theme/index.md +++ b/commands/scaffold/child-theme/index.md @@ -5,6 +5,8 @@ title: 'wp scaffold child-theme' `wp scaffold child-theme` - Generate empty child theme. +
    + ### OPTIONS <slug> diff --git a/commands/scaffold/index.md b/commands/scaffold/index.md index 50de8c71..3b1b2d8c 100644 --- a/commands/scaffold/index.md +++ b/commands/scaffold/index.md @@ -5,6 +5,8 @@ title: 'wp scaffold' `wp scaffold` - Generate code for post types, taxonomies, etc. +
    + ### GLOBAL PARAMETERS diff --git a/commands/scaffold/package-tests/index.md b/commands/scaffold/package-tests/index.md index c98e8229..b8437977 100644 --- a/commands/scaffold/package-tests/index.md +++ b/commands/scaffold/package-tests/index.md @@ -5,6 +5,8 @@ title: 'wp scaffold package-tests' `wp scaffold package-tests` - Generate files needed for writing Behat tests for your command. +
    + ### DESCRIPTION These are the files that are generated: diff --git a/commands/scaffold/plugin-tests/index.md b/commands/scaffold/plugin-tests/index.md index f2310c28..ea01f11d 100644 --- a/commands/scaffold/plugin-tests/index.md +++ b/commands/scaffold/plugin-tests/index.md @@ -5,6 +5,8 @@ title: 'wp scaffold plugin-tests' `wp scaffold plugin-tests` - Generate files needed for running PHPUnit tests. +
    + ### DESCRIPTION These are the files that are generated: diff --git a/commands/scaffold/plugin/index.md b/commands/scaffold/plugin/index.md index a4ca892c..e689e66f 100644 --- a/commands/scaffold/plugin/index.md +++ b/commands/scaffold/plugin/index.md @@ -5,6 +5,8 @@ title: 'wp scaffold plugin' `wp scaffold plugin` - Generate starter code for a plugin. +
    + ### OPTIONS <slug> diff --git a/commands/scaffold/post-type/index.md b/commands/scaffold/post-type/index.md index 5187b190..a60fe055 100644 --- a/commands/scaffold/post-type/index.md +++ b/commands/scaffold/post-type/index.md @@ -5,6 +5,8 @@ title: 'wp scaffold post-type' `wp scaffold post-type` - Generate PHP code for registering a custom post type. +
    + ### OPTIONS <slug> diff --git a/commands/scaffold/taxonomy/index.md b/commands/scaffold/taxonomy/index.md index 7682ac5c..cbaa2156 100644 --- a/commands/scaffold/taxonomy/index.md +++ b/commands/scaffold/taxonomy/index.md @@ -5,6 +5,8 @@ title: 'wp scaffold taxonomy' `wp scaffold taxonomy` - Generate PHP code for registering a custom taxonomy. +
    + ### OPTIONS <slug> diff --git a/commands/search-replace/index.md b/commands/search-replace/index.md index d96a81fc..79269fe1 100644 --- a/commands/search-replace/index.md +++ b/commands/search-replace/index.md @@ -5,6 +5,8 @@ title: 'wp search-replace' `wp search-replace` - Search/replace strings in the database. +
    + ### DESCRIPTION This command will go through all rows in all tables and will replace all diff --git a/commands/server/index.md b/commands/server/index.md index f0f8074c..637144c3 100644 --- a/commands/server/index.md +++ b/commands/server/index.md @@ -5,6 +5,8 @@ title: 'wp server' `wp server` - Launch PHP's built-in web server for this specific WordPress installation. +
    + <http://php.net/manual/en/features.commandline.webserver.php> ### OPTIONS diff --git a/commands/shell/index.md b/commands/shell/index.md index c4a43a7c..9f612620 100644 --- a/commands/shell/index.md +++ b/commands/shell/index.md @@ -5,6 +5,8 @@ title: 'wp shell' `wp shell` - Interactive PHP console. +
    + ### DESCRIPTION `wp shell` allows you to evaluate PHP statements and expressions interactively, from within a WordPress environment. This means that you have access to all the functions, classes and globals that you would have access to from inside a WordPress plugin, for example. diff --git a/commands/sidebar/index.md b/commands/sidebar/index.md index 856051b7..1130fdc4 100644 --- a/commands/sidebar/index.md +++ b/commands/sidebar/index.md @@ -5,6 +5,8 @@ title: 'wp sidebar' `wp sidebar` - Manage sidebars. +
    + ### GLOBAL PARAMETERS diff --git a/commands/sidebar/list/index.md b/commands/sidebar/list/index.md index e3d57db0..5b4efbe2 100644 --- a/commands/sidebar/list/index.md +++ b/commands/sidebar/list/index.md @@ -5,6 +5,8 @@ title: 'wp sidebar list' `wp sidebar list` - List registered sidebars. +
    + ### OPTIONS [\--fields=<fields>] diff --git a/commands/site/activate/index.md b/commands/site/activate/index.md index c09710db..ffd933b9 100644 --- a/commands/site/activate/index.md +++ b/commands/site/activate/index.md @@ -5,6 +5,8 @@ title: 'wp site activate' `wp site activate` - Activate one or more sites +
    + ### OPTIONS <id>... diff --git a/commands/site/archive/index.md b/commands/site/archive/index.md index 0ecdba91..108d78a5 100644 --- a/commands/site/archive/index.md +++ b/commands/site/archive/index.md @@ -5,6 +5,8 @@ title: 'wp site archive' `wp site archive` - Archive one or more sites +
    + ### OPTIONS <id>... diff --git a/commands/site/create/index.md b/commands/site/create/index.md index 2baa4597..95bbe649 100644 --- a/commands/site/create/index.md +++ b/commands/site/create/index.md @@ -5,6 +5,8 @@ title: 'wp site create' `wp site create` - Create a site in a multisite install. +
    + ### OPTIONS \--slug=<slug> diff --git a/commands/site/deactivate/index.md b/commands/site/deactivate/index.md index c1e6fbf7..39cad224 100644 --- a/commands/site/deactivate/index.md +++ b/commands/site/deactivate/index.md @@ -5,6 +5,8 @@ title: 'wp site deactivate' `wp site deactivate` - Deactivate one or more sites +
    + ### OPTIONS <id>... diff --git a/commands/site/delete/index.md b/commands/site/delete/index.md index 67459a3e..6cb53561 100644 --- a/commands/site/delete/index.md +++ b/commands/site/delete/index.md @@ -5,6 +5,8 @@ title: 'wp site delete' `wp site delete` - Delete a site in a multisite install. +
    + ### OPTIONS [<site-id>] diff --git a/commands/site/empty/index.md b/commands/site/empty/index.md index d2cac4f9..9941c575 100644 --- a/commands/site/empty/index.md +++ b/commands/site/empty/index.md @@ -5,6 +5,8 @@ title: 'wp site empty' `wp site empty` - Empty a site of its content (posts, comments, and terms). +
    + ### OPTIONS [\--yes] diff --git a/commands/site/index.md b/commands/site/index.md index fe8ba015..33dfaa4e 100644 --- a/commands/site/index.md +++ b/commands/site/index.md @@ -5,6 +5,8 @@ title: 'wp site' `wp site` - Perform site-wide operations. +
    + ### GLOBAL PARAMETERS diff --git a/commands/site/list/index.md b/commands/site/list/index.md index 4f543dfa..14644ad7 100644 --- a/commands/site/list/index.md +++ b/commands/site/list/index.md @@ -5,6 +5,8 @@ title: 'wp site list' `wp site list` - List all sites in a multisite install. +
    + ### OPTIONS [\--network=<id>] diff --git a/commands/site/spam/index.md b/commands/site/spam/index.md index cae0bb9b..53498895 100644 --- a/commands/site/spam/index.md +++ b/commands/site/spam/index.md @@ -5,6 +5,8 @@ title: 'wp site spam' `wp site spam` - Mark one or more sites as spam +
    + ### OPTIONS <id>... diff --git a/commands/site/unarchive/index.md b/commands/site/unarchive/index.md index f6cd564e..646908cc 100644 --- a/commands/site/unarchive/index.md +++ b/commands/site/unarchive/index.md @@ -5,6 +5,8 @@ title: 'wp site unarchive' `wp site unarchive` - Unarchive one or more sites +
    + ### OPTIONS <id>... diff --git a/commands/site/unspam/index.md b/commands/site/unspam/index.md index 4fd2e092..07e21b58 100644 --- a/commands/site/unspam/index.md +++ b/commands/site/unspam/index.md @@ -5,6 +5,8 @@ title: 'wp site unspam' `wp site unspam` - Remove one or more sites from spam +
    + ### OPTIONS <id>... diff --git a/commands/site/url/index.md b/commands/site/url/index.md index 413d2e9d..e2c82a44 100644 --- a/commands/site/url/index.md +++ b/commands/site/url/index.md @@ -5,6 +5,8 @@ title: 'wp site url' `wp site url` - Get site url +
    + ### OPTIONS <id>... diff --git a/commands/super-admin/add/index.md b/commands/super-admin/add/index.md index ea1fbe32..a4e04c08 100644 --- a/commands/super-admin/add/index.md +++ b/commands/super-admin/add/index.md @@ -5,6 +5,8 @@ title: 'wp super-admin add' `wp super-admin add` - Grant super-admin privileges to one or more users. +
    + <user>... : One or more user IDs, user emails, or user logins. diff --git a/commands/super-admin/index.md b/commands/super-admin/index.md index 7407b079..9f50b972 100644 --- a/commands/super-admin/index.md +++ b/commands/super-admin/index.md @@ -5,6 +5,8 @@ title: 'wp super-admin' `wp super-admin` - List, add, and remove super admins from a network. +
    + ### GLOBAL PARAMETERS diff --git a/commands/super-admin/list/index.md b/commands/super-admin/list/index.md index 0239ddcc..200e3534 100644 --- a/commands/super-admin/list/index.md +++ b/commands/super-admin/list/index.md @@ -5,6 +5,8 @@ title: 'wp super-admin list' `wp super-admin list` - Show a list of users with super-admin capabilities. +
    + ### GLOBAL PARAMETERS diff --git a/commands/super-admin/remove/index.md b/commands/super-admin/remove/index.md index 0119964e..2459ba72 100644 --- a/commands/super-admin/remove/index.md +++ b/commands/super-admin/remove/index.md @@ -5,6 +5,8 @@ title: 'wp super-admin remove' `wp super-admin remove` - Revoke super-admin privileges to one or more users. +
    + <user>... : One or more user IDs, user emails, or user logins. diff --git a/commands/term/create/index.md b/commands/term/create/index.md index b51061cf..301e0d87 100644 --- a/commands/term/create/index.md +++ b/commands/term/create/index.md @@ -5,6 +5,8 @@ title: 'wp term create' `wp term create` - Create a term. +
    + ### OPTIONS <taxonomy> diff --git a/commands/term/delete/index.md b/commands/term/delete/index.md index 251dccbc..9aa39e6d 100644 --- a/commands/term/delete/index.md +++ b/commands/term/delete/index.md @@ -5,6 +5,8 @@ title: 'wp term delete' `wp term delete` - Delete a term. +
    + ### OPTIONS <taxonomy> diff --git a/commands/term/generate/index.md b/commands/term/generate/index.md index bfbd355d..3a4e4b23 100644 --- a/commands/term/generate/index.md +++ b/commands/term/generate/index.md @@ -5,6 +5,8 @@ title: 'wp term generate' `wp term generate` - Generate some terms. +
    + ### OPTIONS <taxonomy> diff --git a/commands/term/get/index.md b/commands/term/get/index.md index 8604f6fd..22134fdc 100644 --- a/commands/term/get/index.md +++ b/commands/term/get/index.md @@ -5,6 +5,8 @@ title: 'wp term get' `wp term get` - Get a taxonomy term +
    + ### OPTIONS <taxonomy> diff --git a/commands/term/index.md b/commands/term/index.md index 2c434e2f..5b6af6bb 100644 --- a/commands/term/index.md +++ b/commands/term/index.md @@ -5,6 +5,8 @@ title: 'wp term' `wp term` - Manage terms. +
    + ### GLOBAL PARAMETERS diff --git a/commands/term/list/index.md b/commands/term/list/index.md index b76da34b..5e433c04 100644 --- a/commands/term/list/index.md +++ b/commands/term/list/index.md @@ -5,6 +5,8 @@ title: 'wp term list' `wp term list` - List terms in a taxonomy. +
    + ### OPTIONS <taxonomy>... diff --git a/commands/term/update/index.md b/commands/term/update/index.md index 27a63a9b..14834e41 100644 --- a/commands/term/update/index.md +++ b/commands/term/update/index.md @@ -5,6 +5,8 @@ title: 'wp term update' `wp term update` - Update a term. +
    + ### OPTIONS <taxonomy> diff --git a/commands/term/url/index.md b/commands/term/url/index.md index 2aa50219..524e99e9 100644 --- a/commands/term/url/index.md +++ b/commands/term/url/index.md @@ -5,6 +5,8 @@ title: 'wp term url' `wp term url` - Get term url +
    + ### OPTIONS <taxonomy> diff --git a/commands/theme/activate/index.md b/commands/theme/activate/index.md index 5d2993d1..29536f0b 100644 --- a/commands/theme/activate/index.md +++ b/commands/theme/activate/index.md @@ -5,6 +5,8 @@ title: 'wp theme activate' `wp theme activate` - Activate a theme. +
    + ### OPTIONS <theme> diff --git a/commands/theme/delete/index.md b/commands/theme/delete/index.md index 9a481507..667fd8ef 100644 --- a/commands/theme/delete/index.md +++ b/commands/theme/delete/index.md @@ -5,6 +5,8 @@ title: 'wp theme delete' `wp theme delete` - Delete a theme. +
    + ### OPTIONS <theme>... diff --git a/commands/theme/disable/index.md b/commands/theme/disable/index.md index 187f74a3..6fe7d1d0 100644 --- a/commands/theme/disable/index.md +++ b/commands/theme/disable/index.md @@ -5,6 +5,8 @@ title: 'wp theme disable' `wp theme disable` - Disable a theme in a multisite install. +
    + ### OPTIONS <theme> diff --git a/commands/theme/enable/index.md b/commands/theme/enable/index.md index de1deb5e..cf5150a2 100644 --- a/commands/theme/enable/index.md +++ b/commands/theme/enable/index.md @@ -5,6 +5,8 @@ title: 'wp theme enable' `wp theme enable` - Enable a theme in a multisite install. +
    + ### OPTIONS <theme> diff --git a/commands/theme/get/index.md b/commands/theme/get/index.md index ff16aabc..34477b90 100644 --- a/commands/theme/get/index.md +++ b/commands/theme/get/index.md @@ -5,6 +5,8 @@ title: 'wp theme get' `wp theme get` - Get a theme +
    + ### OPTIONS <theme> diff --git a/commands/theme/index.md b/commands/theme/index.md index f1ab9ed8..07154635 100644 --- a/commands/theme/index.md +++ b/commands/theme/index.md @@ -5,6 +5,8 @@ title: 'wp theme' `wp theme` - Manage themes. +
    + ### GLOBAL PARAMETERS diff --git a/commands/theme/install/index.md b/commands/theme/install/index.md index 4093b1cb..2398e87c 100644 --- a/commands/theme/install/index.md +++ b/commands/theme/install/index.md @@ -5,6 +5,8 @@ title: 'wp theme install' `wp theme install` - Install a theme. +
    + ### OPTIONS <theme|zip|url>... diff --git a/commands/theme/is-installed/index.md b/commands/theme/is-installed/index.md index 17ea7132..9897c56d 100644 --- a/commands/theme/is-installed/index.md +++ b/commands/theme/is-installed/index.md @@ -5,6 +5,8 @@ title: 'wp theme is-installed' `wp theme is-installed` - Check if the theme is installed. +
    + ### OPTIONS <theme> diff --git a/commands/theme/list/index.md b/commands/theme/list/index.md index 28eb6862..9fc7ab1b 100644 --- a/commands/theme/list/index.md +++ b/commands/theme/list/index.md @@ -5,6 +5,8 @@ title: 'wp theme list' `wp theme list` - Get a list of themes. +
    + ### OPTIONS [\--<field>=<value>] diff --git a/commands/theme/mod/get/index.md b/commands/theme/mod/get/index.md index bc37c0f3..382b5fb7 100644 --- a/commands/theme/mod/get/index.md +++ b/commands/theme/mod/get/index.md @@ -5,6 +5,8 @@ title: 'wp theme mod get' `wp theme mod get` - Get theme mod(s). +
    + ### OPTIONS [<mod>...] diff --git a/commands/theme/mod/index.md b/commands/theme/mod/index.md index 05b3aae8..94fd1caa 100644 --- a/commands/theme/mod/index.md +++ b/commands/theme/mod/index.md @@ -5,6 +5,8 @@ title: 'wp theme mod' `wp theme mod` - Manage theme mods. +
    + ### GLOBAL PARAMETERS diff --git a/commands/theme/mod/remove/index.md b/commands/theme/mod/remove/index.md index 53645805..8a2a1f03 100644 --- a/commands/theme/mod/remove/index.md +++ b/commands/theme/mod/remove/index.md @@ -5,6 +5,8 @@ title: 'wp theme mod remove' `wp theme mod remove` - Remove theme mod(s). +
    + ### OPTIONS [<mod>...] diff --git a/commands/theme/mod/set/index.md b/commands/theme/mod/set/index.md index 4782ecb1..1008e0b8 100644 --- a/commands/theme/mod/set/index.md +++ b/commands/theme/mod/set/index.md @@ -5,6 +5,8 @@ title: 'wp theme mod set' `wp theme mod set` - Set a theme mod. +
    + ### OPTIONS <mod> diff --git a/commands/theme/path/index.md b/commands/theme/path/index.md index b91e108e..1383fd4d 100644 --- a/commands/theme/path/index.md +++ b/commands/theme/path/index.md @@ -5,6 +5,8 @@ title: 'wp theme path' `wp theme path` - Get the path to a theme or to the theme directory. +
    + ### OPTIONS [<theme>] diff --git a/commands/theme/search/index.md b/commands/theme/search/index.md index de4e10a1..c3914d9b 100644 --- a/commands/theme/search/index.md +++ b/commands/theme/search/index.md @@ -5,6 +5,8 @@ title: 'wp theme search' `wp theme search` - Search the wordpress.org theme repository. +
    + ### OPTIONS <search> diff --git a/commands/theme/status/index.md b/commands/theme/status/index.md index 5ddc7d77..037cba08 100644 --- a/commands/theme/status/index.md +++ b/commands/theme/status/index.md @@ -5,6 +5,8 @@ title: 'wp theme status' `wp theme status` - See the status of one or all themes. +
    + ### OPTIONS [<theme>] diff --git a/commands/theme/update/index.md b/commands/theme/update/index.md index 045f4d62..94975d29 100644 --- a/commands/theme/update/index.md +++ b/commands/theme/update/index.md @@ -5,6 +5,8 @@ title: 'wp theme update' `wp theme update` - Update one or more themes. +
    + ### OPTIONS [<theme>...] diff --git a/commands/transient/delete-all/index.md b/commands/transient/delete-all/index.md index fed29c55..29b3a41c 100644 --- a/commands/transient/delete-all/index.md +++ b/commands/transient/delete-all/index.md @@ -5,6 +5,8 @@ title: 'wp transient delete-all' `wp transient delete-all` - Delete all transients. +
    + ### GLOBAL PARAMETERS diff --git a/commands/transient/delete-expired/index.md b/commands/transient/delete-expired/index.md index 06e8d9b5..2a92f742 100644 --- a/commands/transient/delete-expired/index.md +++ b/commands/transient/delete-expired/index.md @@ -5,6 +5,8 @@ title: 'wp transient delete-expired' `wp transient delete-expired` - Delete all expired transients. +
    + ### GLOBAL PARAMETERS diff --git a/commands/transient/delete/index.md b/commands/transient/delete/index.md index 09b49062..b64f1f11 100644 --- a/commands/transient/delete/index.md +++ b/commands/transient/delete/index.md @@ -5,6 +5,8 @@ title: 'wp transient delete' `wp transient delete` - Delete a transient value. +
    + ### GLOBAL PARAMETERS diff --git a/commands/transient/get/index.md b/commands/transient/get/index.md index 23e52af3..104637fe 100644 --- a/commands/transient/get/index.md +++ b/commands/transient/get/index.md @@ -5,6 +5,8 @@ title: 'wp transient get' `wp transient get` - Get a transient value. +
    + ### GLOBAL PARAMETERS diff --git a/commands/transient/index.md b/commands/transient/index.md index b24974f6..30e6033b 100644 --- a/commands/transient/index.md +++ b/commands/transient/index.md @@ -5,6 +5,8 @@ title: 'wp transient' `wp transient` - Manage transients. +
    + ### EXAMPLES wp transient set my_key my_value 300 diff --git a/commands/transient/set/index.md b/commands/transient/set/index.md index cbbb6b69..39b5555a 100644 --- a/commands/transient/set/index.md +++ b/commands/transient/set/index.md @@ -5,6 +5,8 @@ title: 'wp transient set' `wp transient set` - Set a transient value. <expiration> is the time until expiration, in seconds. +
    + ### GLOBAL PARAMETERS diff --git a/commands/transient/type/index.md b/commands/transient/type/index.md index 70b7f1eb..3de69a00 100644 --- a/commands/transient/type/index.md +++ b/commands/transient/type/index.md @@ -5,6 +5,8 @@ title: 'wp transient type' `wp transient type` - See whether the transients API is using an object cache or the options table. +
    + ### GLOBAL PARAMETERS diff --git a/commands/user/add-cap/index.md b/commands/user/add-cap/index.md index 54ad3fe7..9c9ce2df 100644 --- a/commands/user/add-cap/index.md +++ b/commands/user/add-cap/index.md @@ -5,6 +5,8 @@ title: 'wp user add-cap' `wp user add-cap` - Add a capability for a user. +
    + ### OPTIONS <user> diff --git a/commands/user/add-role/index.md b/commands/user/add-role/index.md index 4f60bea9..8659cf7d 100644 --- a/commands/user/add-role/index.md +++ b/commands/user/add-role/index.md @@ -5,6 +5,8 @@ title: 'wp user add-role' `wp user add-role` - Add a role for a user. +
    + ### OPTIONS <user> diff --git a/commands/user/create/index.md b/commands/user/create/index.md index c9e0d547..19a40ab7 100644 --- a/commands/user/create/index.md +++ b/commands/user/create/index.md @@ -5,6 +5,8 @@ title: 'wp user create' `wp user create` - Create a user. +
    + ### OPTIONS <user-login> diff --git a/commands/user/delete/index.md b/commands/user/delete/index.md index 5719b875..2523c40e 100644 --- a/commands/user/delete/index.md +++ b/commands/user/delete/index.md @@ -5,6 +5,8 @@ title: 'wp user delete' `wp user delete` - Delete one or more users from the current site. +
    + ### OPTIONS <user>... diff --git a/commands/user/generate/index.md b/commands/user/generate/index.md index 34620790..695e8df7 100644 --- a/commands/user/generate/index.md +++ b/commands/user/generate/index.md @@ -5,6 +5,8 @@ title: 'wp user generate' `wp user generate` - Generate users. +
    + ### OPTIONS [\--count=<number>] diff --git a/commands/user/get/index.md b/commands/user/get/index.md index eb4a4e25..eef66f00 100644 --- a/commands/user/get/index.md +++ b/commands/user/get/index.md @@ -5,6 +5,8 @@ title: 'wp user get' `wp user get` - Get a single user. +
    + ### OPTIONS <user> diff --git a/commands/user/import-csv/index.md b/commands/user/import-csv/index.md index 27bd09a9..6485fb2e 100644 --- a/commands/user/import-csv/index.md +++ b/commands/user/import-csv/index.md @@ -5,6 +5,8 @@ title: 'wp user import-csv' `wp user import-csv` - Import users from a CSV file. +
    + ### OPTIONS <file> diff --git a/commands/user/index.md b/commands/user/index.md index cbf3ae98..93420410 100644 --- a/commands/user/index.md +++ b/commands/user/index.md @@ -5,6 +5,8 @@ title: 'wp user' `wp user` - Manage users. +
    + ### GLOBAL PARAMETERS diff --git a/commands/user/list-caps/index.md b/commands/user/list-caps/index.md index 115f1025..6c5e87b8 100644 --- a/commands/user/list-caps/index.md +++ b/commands/user/list-caps/index.md @@ -5,6 +5,8 @@ title: 'wp user list-caps' `wp user list-caps` - List all user's capabilities. +
    + ### OPTIONS <user> diff --git a/commands/user/list/index.md b/commands/user/list/index.md index b96cf3e4..818c2838 100644 --- a/commands/user/list/index.md +++ b/commands/user/list/index.md @@ -5,6 +5,8 @@ title: 'wp user list' `wp user list` - List users. +
    + ### OPTIONS [\--role=<role>] diff --git a/commands/user/meta/add/index.md b/commands/user/meta/add/index.md index a26ec3a5..05451a76 100644 --- a/commands/user/meta/add/index.md +++ b/commands/user/meta/add/index.md @@ -5,6 +5,8 @@ title: 'wp user meta add' `wp user meta add` - Add a meta field. +
    + <user> : The user login, user email, or user ID of the user to add metadata for. diff --git a/commands/user/meta/delete/index.md b/commands/user/meta/delete/index.md index 8ffbf68f..d8b798a5 100644 --- a/commands/user/meta/delete/index.md +++ b/commands/user/meta/delete/index.md @@ -5,6 +5,8 @@ title: 'wp user meta delete' `wp user meta delete` - Delete a meta field. +
    + <user> : The user login, user email, or user ID of the user to delete metadata from. diff --git a/commands/user/meta/get/index.md b/commands/user/meta/get/index.md index 3d46e98e..112aecd0 100644 --- a/commands/user/meta/get/index.md +++ b/commands/user/meta/get/index.md @@ -5,6 +5,8 @@ title: 'wp user meta get' `wp user meta get` - Get meta field value. +
    + ### OPTIONS <user> diff --git a/commands/user/meta/index.md b/commands/user/meta/index.md index e3e62ee2..a113c97a 100644 --- a/commands/user/meta/index.md +++ b/commands/user/meta/index.md @@ -5,6 +5,8 @@ title: 'wp user meta' `wp user meta` - Manage user custom fields. +
    + ### OPTIONS \--format=json diff --git a/commands/user/meta/list/index.md b/commands/user/meta/list/index.md index dd9a3d67..d0df5f4a 100644 --- a/commands/user/meta/list/index.md +++ b/commands/user/meta/list/index.md @@ -5,6 +5,8 @@ title: 'wp user meta list' `wp user meta list` - List all metadata associated with an object. +
    + <id> : ID for the object. diff --git a/commands/user/meta/update/index.md b/commands/user/meta/update/index.md index 3ac46a62..a4711559 100644 --- a/commands/user/meta/update/index.md +++ b/commands/user/meta/update/index.md @@ -5,6 +5,8 @@ title: 'wp user meta update' `wp user meta update` - Update a meta field. +
    + <user> : The user login, user email, or user ID of the user to update metadata for. diff --git a/commands/user/remove-cap/index.md b/commands/user/remove-cap/index.md index f4d6906f..4606a433 100644 --- a/commands/user/remove-cap/index.md +++ b/commands/user/remove-cap/index.md @@ -5,6 +5,8 @@ title: 'wp user remove-cap' `wp user remove-cap` - Remove a user's capability. +
    + ### OPTIONS <user> diff --git a/commands/user/remove-role/index.md b/commands/user/remove-role/index.md index 228472d7..f0b0f797 100644 --- a/commands/user/remove-role/index.md +++ b/commands/user/remove-role/index.md @@ -5,6 +5,8 @@ title: 'wp user remove-role' `wp user remove-role` - Remove a user's role. +
    + ### OPTIONS <user> diff --git a/commands/user/set-role/index.md b/commands/user/set-role/index.md index 4468a08e..10224787 100644 --- a/commands/user/set-role/index.md +++ b/commands/user/set-role/index.md @@ -5,6 +5,8 @@ title: 'wp user set-role' `wp user set-role` - Set the user role (for a particular blog). +
    + ### OPTIONS <user> diff --git a/commands/user/term/add/index.md b/commands/user/term/add/index.md index 29013a78..e4fa9342 100644 --- a/commands/user/term/add/index.md +++ b/commands/user/term/add/index.md @@ -5,6 +5,8 @@ title: 'wp user term add' `wp user term add` - Add a term. Appends to existing set of terms on the object. +
    + <id> : The ID of the object. diff --git a/commands/user/term/index.md b/commands/user/term/index.md index 3e962fab..6789376e 100644 --- a/commands/user/term/index.md +++ b/commands/user/term/index.md @@ -5,6 +5,8 @@ title: 'wp user term' `wp user term` - Manage user terms. +
    + ### EXAMPLES wp user term set 123 test category diff --git a/commands/user/term/list/index.md b/commands/user/term/list/index.md index 06494390..0ad5469d 100644 --- a/commands/user/term/list/index.md +++ b/commands/user/term/list/index.md @@ -5,6 +5,8 @@ title: 'wp user term list' `wp user term list` - List all terms associated with an object. +
    + <id> : ID for the object. diff --git a/commands/user/term/remove/index.md b/commands/user/term/remove/index.md index 3f8e94cd..994801c6 100644 --- a/commands/user/term/remove/index.md +++ b/commands/user/term/remove/index.md @@ -5,6 +5,8 @@ title: 'wp user term remove' `wp user term remove` - Remove a term. +
    + <id> : The ID of the object. diff --git a/commands/user/term/set/index.md b/commands/user/term/set/index.md index 8fad25c8..9cee5d7f 100644 --- a/commands/user/term/set/index.md +++ b/commands/user/term/set/index.md @@ -5,6 +5,8 @@ title: 'wp user term set' `wp user term set` - Set terms. Replaces existing terms on the object. +
    + <id> : The ID of the object. diff --git a/commands/user/update/index.md b/commands/user/update/index.md index 7b7c3662..255c039c 100644 --- a/commands/user/update/index.md +++ b/commands/user/update/index.md @@ -5,6 +5,8 @@ title: 'wp user update' `wp user update` - Update a user. +
    + ### OPTIONS <user>... diff --git a/commands/widget/add/index.md b/commands/widget/add/index.md index c8390555..8704bdd8 100644 --- a/commands/widget/add/index.md +++ b/commands/widget/add/index.md @@ -5,6 +5,8 @@ title: 'wp widget add' `wp widget add` - Add a widget to a sidebar. +
    + <name> : Widget name. diff --git a/commands/widget/deactivate/index.md b/commands/widget/deactivate/index.md index 40cc80f2..ccd0c4a4 100644 --- a/commands/widget/deactivate/index.md +++ b/commands/widget/deactivate/index.md @@ -5,6 +5,8 @@ title: 'wp widget deactivate' `wp widget deactivate` - Deactivate one or more widgets from an active sidebar. +
    + <widget-id>... : Unique ID for the widget(s) diff --git a/commands/widget/delete/index.md b/commands/widget/delete/index.md index 13f8dcb1..a3f93a15 100644 --- a/commands/widget/delete/index.md +++ b/commands/widget/delete/index.md @@ -5,6 +5,8 @@ title: 'wp widget delete' `wp widget delete` - Delete one or more widgets from a sidebar. +
    + <widget-id>... : Unique ID for the widget(s) diff --git a/commands/widget/index.md b/commands/widget/index.md index 2b6c413f..b405b378 100644 --- a/commands/widget/index.md +++ b/commands/widget/index.md @@ -5,6 +5,8 @@ title: 'wp widget' `wp widget` - Manage sidebar widgets. +
    + ### EXAMPLES # List widgets on a given sidebar diff --git a/commands/widget/list/index.md b/commands/widget/list/index.md index 3ddbb2e7..a3f288fa 100644 --- a/commands/widget/list/index.md +++ b/commands/widget/list/index.md @@ -5,6 +5,8 @@ title: 'wp widget list' `wp widget list` - List widgets associated with a sidebar. +
    + <sidebar-id> : ID for the corresponding sidebar. diff --git a/commands/widget/move/index.md b/commands/widget/move/index.md index 8548500b..56ae8ab1 100644 --- a/commands/widget/move/index.md +++ b/commands/widget/move/index.md @@ -5,6 +5,8 @@ title: 'wp widget move' `wp widget move` - Move a widget from one position on a sidebar to another. +
    + <widget-id> : Unique ID for the widget diff --git a/commands/widget/update/index.md b/commands/widget/update/index.md index 3f877aec..47da7c22 100644 --- a/commands/widget/update/index.md +++ b/commands/widget/update/index.md @@ -5,6 +5,8 @@ title: 'wp widget update' `wp widget update` - Update a given widget's options. +
    + <widget-id> : Unique ID for the widget From 0c0e8c77a475ec136583519ce9503c40df0a04d8 Mon Sep 17 00:00:00 2001 From: Kite Date: Sat, 5 Sep 2015 02:34:06 +0900 Subject: [PATCH 392/839] Fix typo of `wp menu item remove` --- commands/menu/item/delete/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/commands/menu/item/delete/index.md b/commands/menu/item/delete/index.md index 6611f2a4..8da3ac13 100644 --- a/commands/menu/item/delete/index.md +++ b/commands/menu/item/delete/index.md @@ -12,7 +12,7 @@ title: 'wp menu item delete' ### EXAMPLES - wp menu item remove 45 + wp menu item delete 45 ### GLOBAL PARAMETERS From ede4f9da7af2da5c164c35f50069e0238fad7047 Mon Sep 17 00:00:00 2001 From: Terry Sutton Date: Tue, 8 Sep 2015 16:52:36 -0230 Subject: [PATCH 393/839] Menu item alignment is off. Currently: https://dl.dropboxusercontent.com/s/00bvrmjht41vxz8/2015-09-08%20at%204.35%20PM.png In this commit: https://dl.dropboxusercontent.com/s/1g18iz4ly67npyh/2015-09-08%20at%204.36%20PM.png Changes: float the menu items to the left, the social icons to the right. This causes the header element to not clear its children, so add header.cf to fix that. --- _includes/header.html | 2 +- assets/css/stylesheet.css | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/_includes/header.html b/_includes/header.html index 96b9c55d..093b163b 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -16,7 +16,7 @@ -
    +

    WP-CLI

    A command line interface for WordPress

    diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index ca054c20..0758b0d3 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -311,6 +311,7 @@ footer { list-style: none; } .main-nav li { + float: left; text-align: center; margin: 0; } From 919a4393ed26ed991fd538fcb82414b202b7dece Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 16 Sep 2015 17:20:53 -0700 Subject: [PATCH 394/839] Create 2015-09-16-version-0.20.1.md --- _posts/2015-09-16-version-0.20.1.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 _posts/2015-09-16-version-0.20.1.md diff --git a/_posts/2015-09-16-version-0.20.1.md b/_posts/2015-09-16-version-0.20.1.md new file mode 100644 index 00000000..5f0b4e56 --- /dev/null +++ b/_posts/2015-09-16-version-0.20.1.md @@ -0,0 +1,11 @@ +--- +layout: post +author: danielbachhuber +title: Version 0.20.1 released +--- + +Curious as to why you're getting error messages in the theme update summary table? The bug, introduced in v0.20.0, is fixed in v0.20.1 + +You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?q=is%3Aclosed+milestone%3A0.20.1) on Github. + +Contributors to this release: [danielbachhuber](https://github.com/danielbachhuber) From 99c3f19194150bf845a7826f9ed609a8a6e4d58f Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 2 Oct 2015 13:30:29 -0700 Subject: [PATCH 395/839] Clarify expected output for `wp core check-update` See https://github.com/wp-cli/wp-cli/issues/2102 --- commands/core/check-update/index.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/commands/core/check-update/index.md b/commands/core/check-update/index.md index 09b921fe..a37f97d6 100644 --- a/commands/core/check-update/index.md +++ b/commands/core/check-update/index.md @@ -3,7 +3,9 @@ layout: default title: 'wp core check-update' --- -`wp core check-update` - Check for update via Version Check API. Returns latest version if there's an update, or empty if no update available. +`wp core check-update` - Check for update via Version Check API. + +Lists the most recent versions when there are updates available, or success message when up to date.
    From 92e6d4b317dbc91ddfff3f4f34b153a570a4618d Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 14 Oct 2015 10:45:27 -0700 Subject: [PATCH 396/839] Release post for v0.20.2 --- _posts/2015-10-14-version-0.20.2.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 _posts/2015-10-14-version-0.20.2.md diff --git a/_posts/2015-10-14-version-0.20.2.md b/_posts/2015-10-14-version-0.20.2.md new file mode 100644 index 00000000..ead5ff9a --- /dev/null +++ b/_posts/2015-10-14-version-0.20.2.md @@ -0,0 +1,13 @@ +--- +layout: post +author: danielbachhuber +title: Version 0.20.2 released +--- + +Since the beginning, `install-wp-tests.sh` (the setup script for plugin unit tests) has installed the WordPress testing framework from trunk. However, the WordPress project recently made changes to the testing framework which mean the trunk version is incompatible with older, tagged WordPress releases. + +We've updated `install-wp-tests.sh` provided by WP-CLI to use an appropriately-tagged version of the WordPress testing framework. However, because `install-wp-tests.sh` is added to a plugin during the scaffolding process, plugin authors will need to update the plugin copy of the script to fix failing tests. We weren't able to get to the entire internet, but here are some plugins that have already been updated: [pantheon-systems/wp-native-php-sessions](https://github.com/pantheon-systems/wp-native-php-sessions/pull/20), [washingtonstateuniversity/WSUWP-Plugin-Color-Palette](https://github.com/washingtonstateuniversity/WSUWP-Plugin-Color-Palette/pull/5), [ethymos/delibera](https://github.com/ethymos/delibera/pull/45) + +You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?q=is%3Aclosed+milestone%3A0.20.2) on Github. + +Contributors to this release: [danielbachhuber](https://github.com/danielbachhuber), [torounit](https://github.com/torounit) From dd5e48bb422f4f2f00f9e98d52f7801050db4e7a Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 14 Oct 2015 15:24:23 -0700 Subject: [PATCH 397/839] Create 2015-10-14-user-survey-2015.md --- _posts/2015-10-14-user-survey-2015.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 _posts/2015-10-14-user-survey-2015.md diff --git a/_posts/2015-10-14-user-survey-2015.md b/_posts/2015-10-14-user-survey-2015.md new file mode 100644 index 00000000..7108f523 --- /dev/null +++ b/_posts/2015-10-14-user-survey-2015.md @@ -0,0 +1,9 @@ +--- +layout: post +author: danielbachhuber +title: WP-CLI and you, 2015 edition +--- + +We’d like to know how people are using WP-CLI so we set up a [quick survey](https://docs.google.com/forms/d/1SlT8vG9jDzLIwEUT944OFNL1lLMnjdL2GR1FMOQvtDk/viewform) (just 5 questions). We’d appreciate it if you would fill it out. The results will be posted here, in a future blog post. + +Thanks! From bd22077b578da831c3506c1939a40862cf69d064 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 30 Oct 2015 07:22:35 -0700 Subject: [PATCH 398/839] Release post for v0.20.3 --- _posts/2015-10-30-version-0.20.3.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 _posts/2015-10-30-version-0.20.3.md diff --git a/_posts/2015-10-30-version-0.20.3.md b/_posts/2015-10-30-version-0.20.3.md new file mode 100644 index 00000000..cd40bf27 --- /dev/null +++ b/_posts/2015-10-30-version-0.20.3.md @@ -0,0 +1,13 @@ +--- +layout: post +author: danielbachhuber +title: Version 0.20.3 released +--- + +WordPress 4.4 loads a few new files in `wp-settings.php` relating to oEmbed and the REST API. Because WP-CLI has as custom `wp-settings-cli.php` ([background](http://wp-cli.org/blog/how-wp-cli-loads-wordpress.html)), WP-CLI v0.20.3 is a compatibility release to load these new files. Importantly, due to the nature of these changes, WP-CLI versions prior to 0.20.3 will be incompatible with WordPress 4.4. + +Stay tuned for WP-CLI v0.21.0 (to be released next week), the results of the [user survey](http://wp-cli.org/blog/user-survey-2015.html), and a special announcement. + +You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?q=is%3Aclosed+milestone%3A0.20.2) on Github. + +Contributors to this release: [danielbachhuber](https://github.com/danielbachhuber), [kraftbj](https://github.com/kraftbj), [rmccue](https://github.com/rmccue) From 0f46b1a9f9496b183ba1e9b37d4fe6430835f134 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 30 Oct 2015 07:31:55 -0700 Subject: [PATCH 399/839] s/has as custom/has a custom --- _posts/2015-10-30-version-0.20.3.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2015-10-30-version-0.20.3.md b/_posts/2015-10-30-version-0.20.3.md index cd40bf27..26b51205 100644 --- a/_posts/2015-10-30-version-0.20.3.md +++ b/_posts/2015-10-30-version-0.20.3.md @@ -4,7 +4,7 @@ author: danielbachhuber title: Version 0.20.3 released --- -WordPress 4.4 loads a few new files in `wp-settings.php` relating to oEmbed and the REST API. Because WP-CLI has as custom `wp-settings-cli.php` ([background](http://wp-cli.org/blog/how-wp-cli-loads-wordpress.html)), WP-CLI v0.20.3 is a compatibility release to load these new files. Importantly, due to the nature of these changes, WP-CLI versions prior to 0.20.3 will be incompatible with WordPress 4.4. +WordPress 4.4 loads a few new files in `wp-settings.php` relating to oEmbed and the REST API. Because WP-CLI has a custom `wp-settings-cli.php` ([background](http://wp-cli.org/blog/how-wp-cli-loads-wordpress.html)), WP-CLI v0.20.3 is a compatibility release to load these new files. Importantly, due to the nature of these changes, WP-CLI versions prior to 0.20.3 will be incompatible with WordPress 4.4. Stay tuned for WP-CLI v0.21.0 (to be released next week), the results of the [user survey](http://wp-cli.org/blog/user-survey-2015.html), and a special announcement. From 957bf4cacd8c977f4a10f766de2d40a47c07e2b5 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 30 Oct 2015 09:31:13 -0700 Subject: [PATCH 400/839] Highlight important changes; clarify 0.21.0 compat --- _posts/2015-10-30-version-0.20.3.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/_posts/2015-10-30-version-0.20.3.md b/_posts/2015-10-30-version-0.20.3.md index 26b51205..e7d3c987 100644 --- a/_posts/2015-10-30-version-0.20.3.md +++ b/_posts/2015-10-30-version-0.20.3.md @@ -4,9 +4,11 @@ author: danielbachhuber title: Version 0.20.3 released --- -WordPress 4.4 loads a few new files in `wp-settings.php` relating to oEmbed and the REST API. Because WP-CLI has a custom `wp-settings-cli.php` ([background](http://wp-cli.org/blog/how-wp-cli-loads-wordpress.html)), WP-CLI v0.20.3 is a compatibility release to load these new files. Importantly, due to the nature of these changes, WP-CLI versions prior to 0.20.3 will be incompatible with WordPress 4.4. +WordPress 4.4 loads a few new files in `wp-settings.php` relating to oEmbed and the REST API. Because WP-CLI has a custom `wp-settings-cli.php` ([background](http://wp-cli.org/blog/how-wp-cli-loads-wordpress.html)), WP-CLI v0.20.3 is a compatibility release to load these new files. -Stay tuned for WP-CLI v0.21.0 (to be released next week), the results of the [user survey](http://wp-cli.org/blog/user-survey-2015.html), and a special announcement. +**Importantly, due to the nature of these changes, WP-CLI versions prior to 0.20.3 will be incompatible with WordPress 4.4.** + +Stay tuned next week for WP-CLI v0.21.0 (which is also compatible with WordPress 4.4), the results of the [user survey](http://wp-cli.org/blog/user-survey-2015.html), and a special announcement. You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?q=is%3Aclosed+milestone%3A0.20.2) on Github. From b2d537ae7944e9c5e33a4872746d1234b799e317 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 2 Nov 2015 07:22:18 -0800 Subject: [PATCH 401/839] Fix syntax highlighting --- commands/rewrite/structure/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/commands/rewrite/structure/index.md b/commands/rewrite/structure/index.md index 8b3fc709..930eab52 100644 --- a/commands/rewrite/structure/index.md +++ b/commands/rewrite/structure/index.md @@ -14,8 +14,8 @@ Updates the post permalink structure. To regenerate a .htaccess file with WP-CLI, you'll need to add the mod_rewrite module to your wp-cli.yml or config.yml. For example: -apache_modules: - - mod_rewrite +`apache_modules: + - mod_rewrite` ### OPTIONS From 0b66c10793253373aa33afb28bde33ef80af7131 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 4 Nov 2015 15:40:29 -0800 Subject: [PATCH 402/839] Update docs for v0.21.0 --- _includes/cmd-list.html | 14 +++- _includes/param-list.html | 2 +- commands/cache/add/index.md | 2 +- commands/cache/decr/index.md | 2 +- commands/cache/delete/index.md | 2 +- commands/cache/flush/index.md | 2 +- commands/cache/get/index.md | 2 +- commands/cache/incr/index.md | 2 +- commands/cache/index.md | 2 +- commands/cache/replace/index.md | 2 +- commands/cache/set/index.md | 2 +- commands/cache/type/index.md | 2 +- commands/cap/add/index.md | 6 +- commands/cap/index.md | 2 +- commands/cap/list/index.md | 5 +- commands/cap/remove/index.md | 6 +- commands/cli/check-update/index.md | 5 +- commands/cli/cmd-dump/index.md | 2 +- commands/cli/completions/index.md | 2 +- commands/cli/index.md | 2 +- commands/cli/info/index.md | 2 +- commands/cli/param-dump/index.md | 2 +- commands/cli/update/index.md | 5 +- commands/cli/version/index.md | 2 +- commands/comment/approve/index.md | 6 +- commands/comment/count/index.md | 2 +- commands/comment/create/index.md | 4 +- commands/comment/delete/index.md | 2 +- commands/comment/exists/index.md | 2 +- commands/comment/generate/index.md | 2 +- commands/comment/get/index.md | 2 +- commands/comment/index.md | 6 +- commands/comment/list/index.md | 2 +- commands/comment/meta/add/index.md | 2 +- commands/comment/meta/delete/index.md | 2 +- commands/comment/meta/get/index.md | 2 +- commands/comment/meta/index.md | 2 +- commands/comment/meta/list/index.md | 2 +- commands/comment/meta/update/index.md | 2 +- commands/comment/recount/index.md | 46 +++++++++++++ commands/comment/spam/index.md | 6 +- commands/comment/status/index.md | 2 +- commands/comment/trash/index.md | 6 +- commands/comment/unapprove/index.md | 6 +- commands/comment/unspam/index.md | 6 +- commands/comment/untrash/index.md | 6 +- commands/comment/update/index.md | 2 +- commands/comment/url/index.md | 2 +- commands/core/check-update/index.md | 6 +- commands/core/config/index.md | 2 +- commands/core/download/index.md | 2 +- commands/core/index.md | 4 +- commands/core/install/index.md | 2 +- commands/core/is-installed/index.md | 2 +- commands/core/language/activate/index.md | 2 +- commands/core/language/index.md | 2 +- commands/core/language/install/index.md | 2 +- commands/core/language/list/index.md | 2 +- commands/core/language/uninstall/index.md | 2 +- commands/core/language/update/index.md | 2 +- commands/core/multisite-convert/index.md | 2 +- commands/core/multisite-install/index.md | 2 +- commands/core/update-db/index.md | 5 +- commands/core/update/index.md | 2 +- commands/core/verify-checksums/index.md | 8 ++- commands/core/version/index.md | 2 +- commands/cron/event/delete/index.md | 2 +- commands/cron/event/index.md | 2 +- commands/cron/event/list/index.md | 2 +- commands/cron/event/run/index.md | 2 +- commands/cron/event/schedule/index.md | 2 +- commands/cron/index.md | 2 +- commands/cron/schedule/index.md | 2 +- commands/cron/schedule/list/index.md | 2 +- commands/cron/test/index.md | 2 +- commands/db/cli/index.md | 2 +- commands/db/create/index.md | 2 +- commands/db/drop/index.md | 2 +- commands/db/export/index.md | 2 +- commands/db/import/index.md | 2 +- commands/db/index.md | 2 +- commands/db/optimize/index.md | 2 +- commands/db/query/index.md | 2 +- commands/db/repair/index.md | 2 +- commands/db/reset/index.md | 2 +- commands/db/tables/index.md | 2 +- commands/eval-file/index.md | 9 ++- commands/eval/index.md | 10 +-- commands/export/index.md | 8 ++- commands/help/index.md | 7 +- commands/import/index.md | 2 +- commands/media/import/index.md | 2 +- commands/media/index.md | 2 +- commands/media/regenerate/index.md | 2 +- commands/menu/create/index.md | 2 +- commands/menu/delete/index.md | 2 +- commands/menu/index.md | 2 +- commands/menu/item/add-custom/index.md | 2 +- commands/menu/item/add-post/index.md | 2 +- commands/menu/item/add-term/index.md | 2 +- commands/menu/item/delete/index.md | 2 +- commands/menu/item/index.md | 2 +- commands/menu/item/list/index.md | 2 +- commands/menu/item/update/index.md | 2 +- commands/menu/list/index.md | 2 +- commands/menu/location/assign/index.md | 2 +- commands/menu/location/index.md | 2 +- commands/menu/location/list/index.md | 2 +- commands/menu/location/remove/index.md | 2 +- commands/network/index.md | 2 +- commands/network/meta/add/index.md | 2 +- commands/network/meta/delete/index.md | 2 +- commands/network/meta/get/index.md | 2 +- commands/network/meta/index.md | 2 +- commands/network/meta/list/index.md | 2 +- commands/network/meta/update/index.md | 2 +- commands/option/add/index.md | 2 +- commands/option/delete/index.md | 5 +- commands/option/get/index.md | 6 +- commands/option/index.md | 2 +- commands/option/list/index.md | 6 +- commands/option/update/index.md | 5 +- commands/plugin/activate/index.md | 2 +- commands/plugin/deactivate/index.md | 2 +- commands/plugin/delete/index.md | 2 +- commands/plugin/get/index.md | 2 +- commands/plugin/index.md | 2 +- commands/plugin/install/index.md | 2 +- commands/plugin/is-installed/index.md | 2 +- commands/plugin/list/index.md | 2 +- commands/plugin/path/index.md | 2 +- commands/plugin/search/index.md | 2 +- commands/plugin/status/index.md | 2 +- commands/plugin/toggle/index.md | 2 +- commands/plugin/uninstall/index.md | 2 +- commands/plugin/update/index.md | 2 +- commands/post-type/get/index.md | 61 +++++++++++++++++ commands/post-type/index.md | 65 ++++++++++++++++++ commands/post-type/list/index.md | 76 ++++++++++++++++++++++ commands/post/create/index.md | 2 +- commands/post/delete/index.md | 5 +- commands/post/edit/index.md | 2 +- commands/post/generate/index.md | 2 +- commands/post/get/index.md | 2 +- commands/post/index.md | 6 +- commands/post/list/index.md | 3 +- commands/post/meta/add/index.md | 2 +- commands/post/meta/delete/index.md | 2 +- commands/post/meta/get/index.md | 2 +- commands/post/meta/index.md | 2 +- commands/post/meta/list/index.md | 2 +- commands/post/meta/update/index.md | 2 +- commands/post/term/add/index.md | 2 +- commands/post/term/index.md | 2 +- commands/post/term/list/index.md | 2 +- commands/post/term/remove/index.md | 2 +- commands/post/term/set/index.md | 2 +- commands/post/update/index.md | 5 +- commands/rewrite/flush/index.md | 4 +- commands/rewrite/index.md | 2 +- commands/rewrite/list/index.md | 2 +- commands/rewrite/structure/index.md | 2 +- commands/role/create/index.md | 2 +- commands/role/delete/index.md | 2 +- commands/role/exists/index.md | 2 +- commands/role/index.md | 2 +- commands/role/list/index.md | 2 +- commands/role/reset/index.md | 2 +- commands/scaffold/_s/index.md | 2 +- commands/scaffold/child-theme/index.md | 2 +- commands/scaffold/index.md | 2 +- commands/scaffold/package-tests/index.md | 2 +- commands/scaffold/plugin-tests/index.md | 2 +- commands/scaffold/plugin/index.md | 2 +- commands/scaffold/post-type/index.md | 2 +- commands/scaffold/taxonomy/index.md | 2 +- commands/search-replace/index.md | 10 +-- commands/server/index.md | 2 +- commands/shell/index.md | 2 +- commands/sidebar/index.md | 2 +- commands/sidebar/list/index.md | 2 +- commands/site/activate/index.md | 2 +- commands/site/archive/index.md | 2 +- commands/site/create/index.md | 12 ++-- commands/site/deactivate/index.md | 2 +- commands/site/delete/index.md | 2 +- commands/site/empty/index.md | 2 +- commands/site/index.md | 6 +- commands/site/list/index.md | 2 +- commands/site/spam/index.md | 2 +- commands/site/unarchive/index.md | 2 +- commands/site/unspam/index.md | 2 +- commands/super-admin/add/index.md | 2 +- commands/super-admin/index.md | 2 +- commands/super-admin/list/index.md | 2 +- commands/super-admin/remove/index.md | 2 +- commands/taxonomy/get/index.md | 61 +++++++++++++++++ commands/taxonomy/index.md | 65 ++++++++++++++++++ commands/taxonomy/list/index.md | 75 +++++++++++++++++++++ commands/term/create/index.md | 2 +- commands/term/delete/index.md | 2 +- commands/term/generate/index.md | 2 +- commands/term/get/index.md | 2 +- commands/term/index.md | 2 +- commands/term/list/index.md | 4 +- commands/term/update/index.md | 2 +- commands/term/url/index.md | 2 +- commands/theme/activate/index.md | 2 +- commands/theme/delete/index.md | 2 +- commands/theme/disable/index.md | 2 +- commands/theme/enable/index.md | 2 +- commands/theme/get/index.md | 2 +- commands/theme/index.md | 2 +- commands/theme/install/index.md | 2 +- commands/theme/is-installed/index.md | 2 +- commands/theme/list/index.md | 2 +- commands/theme/mod/get/index.md | 2 +- commands/theme/mod/index.md | 2 +- commands/theme/mod/remove/index.md | 2 +- commands/theme/mod/set/index.md | 2 +- commands/theme/path/index.md | 2 +- commands/theme/search/index.md | 2 +- commands/theme/status/index.md | 2 +- commands/theme/update/index.md | 2 +- commands/transient/delete-all/index.md | 2 +- commands/transient/delete-expired/index.md | 2 +- commands/transient/delete/index.md | 5 +- commands/transient/get/index.md | 6 +- commands/transient/index.md | 2 +- commands/transient/set/index.md | 9 ++- commands/transient/type/index.md | 2 +- commands/user/add-cap/index.md | 2 +- commands/user/add-role/index.md | 2 +- commands/user/create/index.md | 2 +- commands/user/delete/index.md | 4 +- commands/user/generate/index.md | 2 +- commands/user/get/index.md | 2 +- commands/user/import-csv/index.md | 2 +- commands/user/index.md | 2 +- commands/user/list-caps/index.md | 2 +- commands/user/list/index.md | 2 +- commands/user/meta/add/index.md | 5 +- commands/user/meta/delete/index.md | 2 +- commands/user/meta/get/index.md | 2 +- commands/user/meta/index.md | 2 +- commands/user/meta/list/index.md | 2 +- commands/user/meta/update/index.md | 5 +- commands/user/remove-cap/index.md | 2 +- commands/user/remove-role/index.md | 2 +- commands/user/set-role/index.md | 2 +- commands/user/term/add/index.md | 2 +- commands/user/term/index.md | 2 +- commands/user/term/list/index.md | 2 +- commands/user/term/remove/index.md | 2 +- commands/user/term/set/index.md | 2 +- commands/user/update/index.md | 2 +- commands/widget/add/index.md | 2 +- commands/widget/deactivate/index.md | 2 +- commands/widget/delete/index.md | 2 +- commands/widget/index.md | 2 +- commands/widget/list/index.md | 2 +- commands/widget/move/index.md | 2 +- commands/widget/update/index.md | 2 +- 263 files changed, 826 insertions(+), 308 deletions(-) create mode 100644 commands/comment/recount/index.md create mode 100644 commands/post-type/get/index.md create mode 100644 commands/post-type/index.md create mode 100644 commands/post-type/list/index.md create mode 100644 commands/taxonomy/get/index.md create mode 100644 commands/taxonomy/index.md create mode 100644 commands/taxonomy/list/index.md diff --git a/_includes/cmd-list.html b/_includes/cmd-list.html index 5377835d..ec03f06a 100644 --- a/_includes/cmd-list.html +++ b/_includes/cmd-list.html @@ -28,11 +28,11 @@ eval - Execute arbitrary PHP code after loading WordPress. + Execute arbitrary PHP code. eval-file - Load and execute a PHP file after loading WordPress. + Load and execute a PHP file. export @@ -40,7 +40,7 @@ help - Get help on a certain command. + Get help on WP-CLI, or on a specific. command. import @@ -70,6 +70,10 @@ post Manage posts. + + post-type + Manage post types. + rewrite Manage rewrite rules. @@ -106,6 +110,10 @@ super-admin List, add, and remove super admins from a network. + + taxonomy + Manage taxonomies. + term Manage terms. diff --git a/_includes/param-list.html b/_includes/param-list.html index 17c4c1e1..5f380970 100644 --- a/_includes/param-list.html +++ b/_includes/param-list.html @@ -104,7 +104,7 @@ - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap
    Default value: false diff --git a/commands/cache/add/index.md b/commands/cache/add/index.md index 41e6d4c7..b62bb03c 100644 --- a/commands/cache/add/index.md +++ b/commands/cache/add/index.md @@ -45,7 +45,7 @@ If a value already exists for the key, the value isn't added. Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/cache/decr/index.md b/commands/cache/decr/index.md index 5c60bddf..195a9a69 100644 --- a/commands/cache/decr/index.md +++ b/commands/cache/decr/index.md @@ -40,7 +40,7 @@ title: 'wp cache decr' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/cache/delete/index.md b/commands/cache/delete/index.md index 0c2ae9f2..e152d18e 100644 --- a/commands/cache/delete/index.md +++ b/commands/cache/delete/index.md @@ -37,7 +37,7 @@ title: 'wp cache delete' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/cache/flush/index.md b/commands/cache/flush/index.md index 8c649b7a..b9a4d4ef 100644 --- a/commands/cache/flush/index.md +++ b/commands/cache/flush/index.md @@ -33,7 +33,7 @@ title: 'wp cache flush' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/cache/get/index.md b/commands/cache/get/index.md index 13bf1154..edd36a80 100644 --- a/commands/cache/get/index.md +++ b/commands/cache/get/index.md @@ -37,7 +37,7 @@ title: 'wp cache get' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/cache/incr/index.md b/commands/cache/incr/index.md index adcc66fe..cc1fad8c 100644 --- a/commands/cache/incr/index.md +++ b/commands/cache/incr/index.md @@ -40,7 +40,7 @@ title: 'wp cache incr' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/cache/index.md b/commands/cache/index.md index eb152b3e..c768e34b 100644 --- a/commands/cache/index.md +++ b/commands/cache/index.md @@ -37,7 +37,7 @@ title: 'wp cache' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/cache/replace/index.md b/commands/cache/replace/index.md index ffdf6d3b..9d24f047 100644 --- a/commands/cache/replace/index.md +++ b/commands/cache/replace/index.md @@ -43,7 +43,7 @@ title: 'wp cache replace' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/cache/set/index.md b/commands/cache/set/index.md index 2782e728..95c169e0 100644 --- a/commands/cache/set/index.md +++ b/commands/cache/set/index.md @@ -43,7 +43,7 @@ title: 'wp cache set' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/cache/type/index.md b/commands/cache/type/index.md index 90dd3101..a498da3e 100644 --- a/commands/cache/type/index.md +++ b/commands/cache/type/index.md @@ -35,7 +35,7 @@ problems with this function's ability to determine which object cache is being u Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/cap/add/index.md b/commands/cap/add/index.md index dd821a8a..27fac4bd 100644 --- a/commands/cap/add/index.md +++ b/commands/cap/add/index.md @@ -7,7 +7,11 @@ title: 'wp cap add'
    +<role> +: Key for the role. +<cap>... +: One or more capabilities to add. ### GLOBAL PARAMETERS @@ -33,7 +37,7 @@ title: 'wp cap add' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/cap/index.md b/commands/cap/index.md index 75a54441..fc6bb314 100644 --- a/commands/cap/index.md +++ b/commands/cap/index.md @@ -42,7 +42,7 @@ title: 'wp cap' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/cap/list/index.md b/commands/cap/list/index.md index 614c76f4..460f2291 100644 --- a/commands/cap/list/index.md +++ b/commands/cap/list/index.md @@ -7,6 +7,9 @@ title: 'wp cap list'
    +<role> +: Key for the role. + ### EXAMPLES # Display alphabetical list of bbPress moderator capabilities @@ -36,7 +39,7 @@ title: 'wp cap list' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/cap/remove/index.md b/commands/cap/remove/index.md index baeba7e1..09ed72a8 100644 --- a/commands/cap/remove/index.md +++ b/commands/cap/remove/index.md @@ -7,7 +7,11 @@ title: 'wp cap remove'
    +<role> +: Key for the role. +<cap>... +: One or more capabilities to remove. ### GLOBAL PARAMETERS @@ -33,7 +37,7 @@ title: 'wp cap remove' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/cli/check-update/index.md b/commands/cli/check-update/index.md index 4cbad2e6..fad79ff3 100644 --- a/commands/cli/check-update/index.md +++ b/commands/cli/check-update/index.md @@ -15,6 +15,9 @@ title: 'wp cli check-update' [\--minor] : Only list minor updates +[\--major] +: Only list major updates + [\--field=<field>] : Prints the value of a single field for each update. @@ -48,7 +51,7 @@ title: 'wp cli check-update' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/cli/cmd-dump/index.md b/commands/cli/cmd-dump/index.md index 820e0d57..9e8b21a9 100644 --- a/commands/cli/cmd-dump/index.md +++ b/commands/cli/cmd-dump/index.md @@ -33,7 +33,7 @@ title: 'wp cli cmd-dump' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/cli/completions/index.md b/commands/cli/completions/index.md index 14a8d1a7..ae419b2e 100644 --- a/commands/cli/completions/index.md +++ b/commands/cli/completions/index.md @@ -39,7 +39,7 @@ title: 'wp cli completions' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/cli/index.md b/commands/cli/index.md index 6d400ce2..9c7b86b9 100644 --- a/commands/cli/index.md +++ b/commands/cli/index.md @@ -33,7 +33,7 @@ title: 'wp cli' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/cli/info/index.md b/commands/cli/info/index.md index 1ede04d2..2eae7b5e 100644 --- a/commands/cli/info/index.md +++ b/commands/cli/info/index.md @@ -36,7 +36,7 @@ title: 'wp cli info' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/cli/param-dump/index.md b/commands/cli/param-dump/index.md index e0cbbabb..cfa4f1b7 100644 --- a/commands/cli/param-dump/index.md +++ b/commands/cli/param-dump/index.md @@ -39,7 +39,7 @@ title: 'wp cli param-dump' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/cli/update/index.md b/commands/cli/update/index.md index 61db9663..d3980fd4 100644 --- a/commands/cli/update/index.md +++ b/commands/cli/update/index.md @@ -15,6 +15,9 @@ title: 'wp cli update' [\--minor] : Only perform minor updates +[\--major] +: Only perform major updates + [\--nightly] : Update to the latest built version of the master branch. Potentially unstable. @@ -45,7 +48,7 @@ title: 'wp cli update' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/cli/version/index.md b/commands/cli/version/index.md index 44e14034..c6b2f4cf 100644 --- a/commands/cli/version/index.md +++ b/commands/cli/version/index.md @@ -33,7 +33,7 @@ title: 'wp cli version' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/comment/approve/index.md b/commands/comment/approve/index.md index 62d98b89..bc71da63 100644 --- a/commands/comment/approve/index.md +++ b/commands/comment/approve/index.md @@ -9,8 +9,8 @@ title: 'wp comment approve' ### OPTIONS -<id> -: The ID of the comment to approve. +<id>... +: The IDs of the comments to approve. ### EXAMPLES @@ -40,7 +40,7 @@ title: 'wp comment approve' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/comment/count/index.md b/commands/comment/count/index.md index d934dd2b..71e4b92e 100644 --- a/commands/comment/count/index.md +++ b/commands/comment/count/index.md @@ -41,7 +41,7 @@ title: 'wp comment count' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/comment/create/index.md b/commands/comment/create/index.md index 09e0523c..de606e33 100644 --- a/commands/comment/create/index.md +++ b/commands/comment/create/index.md @@ -9,7 +9,7 @@ title: 'wp comment create' ### OPTIONS -\--<field>=<value> +[\--<field>=<value>] : Associative args for the new comment. See wp_insert_comment(). [\--porcelain] @@ -43,7 +43,7 @@ title: 'wp comment create' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/comment/delete/index.md b/commands/comment/delete/index.md index be93d9b8..67aade29 100644 --- a/commands/comment/delete/index.md +++ b/commands/comment/delete/index.md @@ -45,7 +45,7 @@ title: 'wp comment delete' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/comment/exists/index.md b/commands/comment/exists/index.md index 96546e0d..20419173 100644 --- a/commands/comment/exists/index.md +++ b/commands/comment/exists/index.md @@ -40,7 +40,7 @@ title: 'wp comment exists' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/comment/generate/index.md b/commands/comment/generate/index.md index ff65e82b..3ab3c898 100644 --- a/commands/comment/generate/index.md +++ b/commands/comment/generate/index.md @@ -36,7 +36,7 @@ title: 'wp comment generate' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/comment/get/index.md b/commands/comment/get/index.md index 1c863caf..1e4dd348 100644 --- a/commands/comment/get/index.md +++ b/commands/comment/get/index.md @@ -49,7 +49,7 @@ title: 'wp comment get' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/comment/index.md b/commands/comment/index.md index 8cba8d3d..28152c05 100644 --- a/commands/comment/index.md +++ b/commands/comment/index.md @@ -36,7 +36,7 @@ title: 'wp comment' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments @@ -92,6 +92,10 @@ title: 'wp comment' meta Manage comment custom fields. + + recount + Recount the comment_count value for one or more posts. + spam Spam a comment. diff --git a/commands/comment/list/index.md b/commands/comment/list/index.md index 71b371e2..c1352b90 100644 --- a/commands/comment/list/index.md +++ b/commands/comment/list/index.md @@ -76,7 +76,7 @@ These fields are optionally available: Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/comment/meta/add/index.md b/commands/comment/meta/add/index.md index 08e3dff8..378e8fbe 100644 --- a/commands/comment/meta/add/index.md +++ b/commands/comment/meta/add/index.md @@ -45,7 +45,7 @@ title: 'wp comment meta add' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/comment/meta/delete/index.md b/commands/comment/meta/delete/index.md index 3b0488e8..2b5623ec 100644 --- a/commands/comment/meta/delete/index.md +++ b/commands/comment/meta/delete/index.md @@ -40,7 +40,7 @@ title: 'wp comment meta delete' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/comment/meta/get/index.md b/commands/comment/meta/get/index.md index efb91b21..9c78e4ca 100644 --- a/commands/comment/meta/get/index.md +++ b/commands/comment/meta/get/index.md @@ -40,7 +40,7 @@ title: 'wp comment meta get' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/comment/meta/index.md b/commands/comment/meta/index.md index 8c9e1101..2347f70c 100644 --- a/commands/comment/meta/index.md +++ b/commands/comment/meta/index.md @@ -40,7 +40,7 @@ title: 'wp comment meta' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/comment/meta/list/index.md b/commands/comment/meta/list/index.md index 60b7e344..860db5bf 100644 --- a/commands/comment/meta/list/index.md +++ b/commands/comment/meta/list/index.md @@ -43,7 +43,7 @@ title: 'wp comment meta list' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/comment/meta/update/index.md b/commands/comment/meta/update/index.md index 66b24dbb..249421cc 100644 --- a/commands/comment/meta/update/index.md +++ b/commands/comment/meta/update/index.md @@ -45,7 +45,7 @@ title: 'wp comment meta update' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/comment/recount/index.md b/commands/comment/recount/index.md new file mode 100644 index 00000000..5028360a --- /dev/null +++ b/commands/comment/recount/index.md @@ -0,0 +1,46 @@ +--- +layout: default +title: 'wp comment recount' +--- + +`wp comment recount` - Recount the comment_count value for one or more posts. + +
    + +<id>... +: IDs for one or more posts to update. + +### GLOBAL PARAMETERS + + \--path=<path> + Path to the WordPress files + + \--url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + \--user=<id|login|email> + Set the WordPress user + + \--skip-plugins[=<plugin>] + Skip loading all or some plugins + + \--skip-themes[=<theme>] + Skip loading all or some themes + + \--require=<path> + Load PHP file before running the command (may be used more than once) + + \--[no-]color + Whether to colorize the output + + \--debug + Show all PHP errors; add verbosity to WP-CLI bootstrap + + \--prompt + Prompt the user to enter values for all command arguments + + \--quiet + Suppress informational messages + + + diff --git a/commands/comment/spam/index.md b/commands/comment/spam/index.md index 60f590a0..825f95cf 100644 --- a/commands/comment/spam/index.md +++ b/commands/comment/spam/index.md @@ -9,8 +9,8 @@ title: 'wp comment spam' ### OPTIONS -<id> -: The ID of the comment to mark as spam. +<id>... +: The IDs of the comments to mark as spam. ### EXAMPLES @@ -40,7 +40,7 @@ title: 'wp comment spam' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/comment/status/index.md b/commands/comment/status/index.md index a49309b4..858641e5 100644 --- a/commands/comment/status/index.md +++ b/commands/comment/status/index.md @@ -40,7 +40,7 @@ title: 'wp comment status' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/comment/trash/index.md b/commands/comment/trash/index.md index a2cb9a30..aa557722 100644 --- a/commands/comment/trash/index.md +++ b/commands/comment/trash/index.md @@ -9,8 +9,8 @@ title: 'wp comment trash' ### OPTIONS -<id> -: The ID of the comment to trash. +<id>... +: The IDs of the comments to trash. ### EXAMPLES @@ -40,7 +40,7 @@ title: 'wp comment trash' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/comment/unapprove/index.md b/commands/comment/unapprove/index.md index ed029cdc..f2c92023 100644 --- a/commands/comment/unapprove/index.md +++ b/commands/comment/unapprove/index.md @@ -9,8 +9,8 @@ title: 'wp comment unapprove' ### OPTIONS -<id> -: The ID of the comment to unapprove. +<id>... +: The IDs of the comments to unapprove. ### EXAMPLES @@ -40,7 +40,7 @@ title: 'wp comment unapprove' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/comment/unspam/index.md b/commands/comment/unspam/index.md index f27dcdfe..6bf16490 100644 --- a/commands/comment/unspam/index.md +++ b/commands/comment/unspam/index.md @@ -9,8 +9,8 @@ title: 'wp comment unspam' ### OPTIONS -<id> -: The ID of the comment to unmark as spam. +<id>... +: The IDs of the comments to unmark as spam. ### EXAMPLES @@ -40,7 +40,7 @@ title: 'wp comment unspam' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/comment/untrash/index.md b/commands/comment/untrash/index.md index c6741953..519b8721 100644 --- a/commands/comment/untrash/index.md +++ b/commands/comment/untrash/index.md @@ -9,8 +9,8 @@ title: 'wp comment untrash' ### OPTIONS -<id> -: The ID of the comment to untrash. +<id>... +: The IDs of the comments to untrash. ### EXAMPLES @@ -40,7 +40,7 @@ title: 'wp comment untrash' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/comment/update/index.md b/commands/comment/update/index.md index cc9bad17..381c9927 100644 --- a/commands/comment/update/index.md +++ b/commands/comment/update/index.md @@ -43,7 +43,7 @@ title: 'wp comment update' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/comment/url/index.md b/commands/comment/url/index.md index 489bf714..a09d8cd8 100644 --- a/commands/comment/url/index.md +++ b/commands/comment/url/index.md @@ -40,7 +40,7 @@ title: 'wp comment url' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/core/check-update/index.md b/commands/core/check-update/index.md index a37f97d6..2ec78b81 100644 --- a/commands/core/check-update/index.md +++ b/commands/core/check-update/index.md @@ -5,10 +5,10 @@ title: 'wp core check-update' `wp core check-update` - Check for update via Version Check API. -Lists the most recent versions when there are updates available, or success message when up to date. -
    +Lists the most recent versions when there are updates available, or success message when up to date. + ### OPTIONS [\--minor] @@ -50,7 +50,7 @@ Lists the most recent versions when there are updates available, or success mess Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/core/config/index.md b/commands/core/config/index.md index 5185caf7..60c005d5 100644 --- a/commands/core/config/index.md +++ b/commands/core/config/index.md @@ -77,7 +77,7 @@ title: 'wp core config' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/core/download/index.md b/commands/core/download/index.md index 915d269a..cc3ba94d 100644 --- a/commands/core/download/index.md +++ b/commands/core/download/index.md @@ -49,7 +49,7 @@ title: 'wp core download' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/core/index.md b/commands/core/index.md index 7cff1fe2..fe4b7567 100644 --- a/commands/core/index.md +++ b/commands/core/index.md @@ -33,7 +33,7 @@ title: 'wp core' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments @@ -55,7 +55,7 @@ title: 'wp core' check-update - Check for update via Version Check API. Returns latest version if there's an update, or empty if no update available. + Check for update via Version Check API. config diff --git a/commands/core/install/index.md b/commands/core/install/index.md index b65c9867..f25e5024 100644 --- a/commands/core/install/index.md +++ b/commands/core/install/index.md @@ -48,7 +48,7 @@ title: 'wp core install' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/core/is-installed/index.md b/commands/core/is-installed/index.md index e72c69c1..f523c3e5 100644 --- a/commands/core/is-installed/index.md +++ b/commands/core/is-installed/index.md @@ -40,7 +40,7 @@ title: 'wp core is-installed' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/core/language/activate/index.md b/commands/core/language/activate/index.md index d54f304b..ee343065 100644 --- a/commands/core/language/activate/index.md +++ b/commands/core/language/activate/index.md @@ -34,7 +34,7 @@ title: 'wp core language activate' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/core/language/index.md b/commands/core/language/index.md index a6a7d380..f5725284 100644 --- a/commands/core/language/index.md +++ b/commands/core/language/index.md @@ -33,7 +33,7 @@ title: 'wp core language' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/core/language/install/index.md b/commands/core/language/install/index.md index 15c7de8a..59b255b5 100644 --- a/commands/core/language/install/index.md +++ b/commands/core/language/install/index.md @@ -37,7 +37,7 @@ title: 'wp core language install' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/core/language/list/index.md b/commands/core/language/list/index.md index 213c7c6a..5199d9c8 100644 --- a/commands/core/language/list/index.md +++ b/commands/core/language/list/index.md @@ -59,7 +59,7 @@ These fields are optionally available: Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/core/language/uninstall/index.md b/commands/core/language/uninstall/index.md index 331de48c..31b79934 100644 --- a/commands/core/language/uninstall/index.md +++ b/commands/core/language/uninstall/index.md @@ -34,7 +34,7 @@ title: 'wp core language uninstall' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/core/language/update/index.md b/commands/core/language/update/index.md index c4033b16..7faa0ba5 100644 --- a/commands/core/language/update/index.md +++ b/commands/core/language/update/index.md @@ -34,7 +34,7 @@ title: 'wp core language update' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/core/multisite-convert/index.md b/commands/core/multisite-convert/index.md index 2a04390b..d791aa84 100644 --- a/commands/core/multisite-convert/index.md +++ b/commands/core/multisite-convert/index.md @@ -43,7 +43,7 @@ Default: '/' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/core/multisite-install/index.md b/commands/core/multisite-install/index.md index 1f11d63a..9e158ed8 100644 --- a/commands/core/multisite-install/index.md +++ b/commands/core/multisite-install/index.md @@ -55,7 +55,7 @@ Default: '/' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/core/update-db/index.md b/commands/core/update-db/index.md index b6430620..51e8ff51 100644 --- a/commands/core/update-db/index.md +++ b/commands/core/update-db/index.md @@ -7,7 +7,8 @@ title: 'wp core update-db'
    - +[\--network] +: Update databases for all sites on a network ### GLOBAL PARAMETERS @@ -33,7 +34,7 @@ title: 'wp core update-db' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/core/update/index.md b/commands/core/update/index.md index dbef02b3..84d8d9b6 100644 --- a/commands/core/update/index.md +++ b/commands/core/update/index.md @@ -53,7 +53,7 @@ title: 'wp core update' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/core/verify-checksums/index.md b/commands/core/verify-checksums/index.md index e5155e0d..f3d7d807 100644 --- a/commands/core/verify-checksums/index.md +++ b/commands/core/verify-checksums/index.md @@ -7,7 +7,13 @@ title: 'wp core verify-checksums'
    +Specify version to verify checksums without loading WordPress. +[\--version=<version>] +: Verify checksums against a specific version of WordPress. + +[\--locale=<locale>] +: Verify checksums against a specific locale of WordPress. ### GLOBAL PARAMETERS @@ -33,7 +39,7 @@ title: 'wp core verify-checksums' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/core/version/index.md b/commands/core/version/index.md index 80389638..2caf387f 100644 --- a/commands/core/version/index.md +++ b/commands/core/version/index.md @@ -36,7 +36,7 @@ title: 'wp core version' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/cron/event/delete/index.md b/commands/cron/event/delete/index.md index 214ea53f..3f47f45f 100644 --- a/commands/cron/event/delete/index.md +++ b/commands/cron/event/delete/index.md @@ -36,7 +36,7 @@ title: 'wp cron event delete' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/cron/event/index.md b/commands/cron/event/index.md index 3770dd41..ff00f356 100644 --- a/commands/cron/event/index.md +++ b/commands/cron/event/index.md @@ -33,7 +33,7 @@ title: 'wp cron event' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/cron/event/list/index.md b/commands/cron/event/list/index.md index 27a69ed9..ef125792 100644 --- a/commands/cron/event/list/index.md +++ b/commands/cron/event/list/index.md @@ -61,7 +61,7 @@ These fields are optionally available: Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/cron/event/run/index.md b/commands/cron/event/run/index.md index 57944d9e..58447ff1 100644 --- a/commands/cron/event/run/index.md +++ b/commands/cron/event/run/index.md @@ -36,7 +36,7 @@ title: 'wp cron event run' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/cron/event/schedule/index.md b/commands/cron/event/schedule/index.md index f883ad7e..cdc858ed 100644 --- a/commands/cron/event/schedule/index.md +++ b/commands/cron/event/schedule/index.md @@ -53,7 +53,7 @@ title: 'wp cron event schedule' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/cron/index.md b/commands/cron/index.md index 2599b053..e578042a 100644 --- a/commands/cron/index.md +++ b/commands/cron/index.md @@ -33,7 +33,7 @@ title: 'wp cron' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/cron/schedule/index.md b/commands/cron/schedule/index.md index b0cc794d..d4a3273c 100644 --- a/commands/cron/schedule/index.md +++ b/commands/cron/schedule/index.md @@ -33,7 +33,7 @@ title: 'wp cron schedule' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/cron/schedule/list/index.md b/commands/cron/schedule/list/index.md index b81f3ffc..1d530ce2 100644 --- a/commands/cron/schedule/list/index.md +++ b/commands/cron/schedule/list/index.md @@ -55,7 +55,7 @@ There are no additional fields. Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/cron/test/index.md b/commands/cron/test/index.md index d75475c6..eda00410 100644 --- a/commands/cron/test/index.md +++ b/commands/cron/test/index.md @@ -33,7 +33,7 @@ title: 'wp cron test' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/db/cli/index.md b/commands/db/cli/index.md index f24b0ce4..616500b3 100644 --- a/commands/db/cli/index.md +++ b/commands/db/cli/index.md @@ -33,7 +33,7 @@ title: 'wp db cli' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/db/create/index.md b/commands/db/create/index.md index 057b25b8..4e9a1971 100644 --- a/commands/db/create/index.md +++ b/commands/db/create/index.md @@ -33,7 +33,7 @@ title: 'wp db create' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/db/drop/index.md b/commands/db/drop/index.md index d5372a05..f34faf21 100644 --- a/commands/db/drop/index.md +++ b/commands/db/drop/index.md @@ -36,7 +36,7 @@ title: 'wp db drop' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/db/export/index.md b/commands/db/export/index.md index 9585eea8..920c0ae2 100644 --- a/commands/db/export/index.md +++ b/commands/db/export/index.md @@ -47,7 +47,7 @@ title: 'wp db export' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/db/import/index.md b/commands/db/import/index.md index 2c84a739..9c0ddbad 100644 --- a/commands/db/import/index.md +++ b/commands/db/import/index.md @@ -36,7 +36,7 @@ title: 'wp db import' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/db/index.md b/commands/db/index.md index 8bf5686e..adab78c2 100644 --- a/commands/db/index.md +++ b/commands/db/index.md @@ -33,7 +33,7 @@ title: 'wp db' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/db/optimize/index.md b/commands/db/optimize/index.md index b3ae597d..555b9c03 100644 --- a/commands/db/optimize/index.md +++ b/commands/db/optimize/index.md @@ -33,7 +33,7 @@ title: 'wp db optimize' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/db/query/index.md b/commands/db/query/index.md index 0f937e71..d7f5b7c2 100644 --- a/commands/db/query/index.md +++ b/commands/db/query/index.md @@ -44,7 +44,7 @@ title: 'wp db query' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/db/repair/index.md b/commands/db/repair/index.md index aae12966..6b6c5f37 100644 --- a/commands/db/repair/index.md +++ b/commands/db/repair/index.md @@ -33,7 +33,7 @@ title: 'wp db repair' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/db/reset/index.md b/commands/db/reset/index.md index 45c9d7b7..1f2f46c2 100644 --- a/commands/db/reset/index.md +++ b/commands/db/reset/index.md @@ -36,7 +36,7 @@ title: 'wp db reset' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/db/tables/index.md b/commands/db/tables/index.md index afe44fdf..6ec80fd9 100644 --- a/commands/db/tables/index.md +++ b/commands/db/tables/index.md @@ -41,7 +41,7 @@ title: 'wp db tables' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/eval-file/index.md b/commands/eval-file/index.md index 1758c8d8..8d355337 100644 --- a/commands/eval-file/index.md +++ b/commands/eval-file/index.md @@ -3,7 +3,7 @@ layout: default title: 'wp eval-file' --- -`wp eval-file` - Load and execute a PHP file after loading WordPress. +`wp eval-file` - Load and execute a PHP file.
    @@ -15,9 +15,8 @@ title: 'wp eval-file' [<arg>...] : One or more arguments to pass to the file. They are placed in the $args variable. -### EXAMPLES - - wp eval-file my-code.php value1 value2 +[\--skip-wordpress] +: Load and execute file without loading WordPress. ### GLOBAL PARAMETERS @@ -43,7 +42,7 @@ title: 'wp eval-file' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/eval/index.md b/commands/eval/index.md index 31245f20..3e8349d7 100644 --- a/commands/eval/index.md +++ b/commands/eval/index.md @@ -3,13 +3,15 @@ layout: default title: 'wp eval' --- -`wp eval` - Execute arbitrary PHP code after loading WordPress. +`wp eval` - Execute arbitrary PHP code.
    -### EXAMPLES +<php-code> +: The code to execute, as a string. - wp eval 'echo WP_CONTENT_DIR;' +[\--skip-wordpress] +: Execute code without loading WordPress. ### GLOBAL PARAMETERS @@ -35,7 +37,7 @@ title: 'wp eval' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/export/index.md b/commands/export/index.md index 90260178..4cd351fb 100644 --- a/commands/export/index.md +++ b/commands/export/index.md @@ -31,8 +31,12 @@ to current working directory. : Export only posts with this post_type. Separate multiple post types with a comma. Defaults to all. +[\--post_type__not_in=<post-type>] +: Export all post types except those identified. Seperate multiple post types +with a comma. Defaults to none. + [\--post__in=<pid>] -: Export all posts specified as a comma-separated list of IDs. +: Export all posts specified as a comma- or space-separated list of IDs. [\--start_id=<pid>] : Export only posts with IDs greater than or equal to this post ID. @@ -76,7 +80,7 @@ comma. Defaults to all. Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/help/index.md b/commands/help/index.md index 60a91ac9..4bda9ef9 100644 --- a/commands/help/index.md +++ b/commands/help/index.md @@ -3,10 +3,13 @@ layout: default title: 'wp help' --- -`wp help` - Get help on a certain command. +`wp help` - Get help on WP-CLI, or on a specific. command.
    +[<command>...] +: Get help on a specific command. + ### EXAMPLES # get help for `core` command @@ -39,7 +42,7 @@ title: 'wp help' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/import/index.md b/commands/import/index.md index a3b5f1d4..4eeaade7 100644 --- a/commands/import/index.md +++ b/commands/import/index.md @@ -42,7 +42,7 @@ title: 'wp import' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/media/import/index.md b/commands/media/import/index.md index cc02b788..6c1f4161 100644 --- a/commands/media/import/index.md +++ b/commands/media/import/index.md @@ -70,7 +70,7 @@ title: 'wp media import' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/media/index.md b/commands/media/index.md index d6815db0..4d9f2a54 100644 --- a/commands/media/index.md +++ b/commands/media/index.md @@ -33,7 +33,7 @@ title: 'wp media' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/media/regenerate/index.md b/commands/media/regenerate/index.md index 8ab771e9..15a61c02 100644 --- a/commands/media/regenerate/index.md +++ b/commands/media/regenerate/index.md @@ -50,7 +50,7 @@ title: 'wp media regenerate' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/menu/create/index.md b/commands/menu/create/index.md index 70939a6a..8b609b80 100644 --- a/commands/menu/create/index.md +++ b/commands/menu/create/index.md @@ -41,7 +41,7 @@ title: 'wp menu create' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/menu/delete/index.md b/commands/menu/delete/index.md index 16627dd3..7d299dc0 100644 --- a/commands/menu/delete/index.md +++ b/commands/menu/delete/index.md @@ -38,7 +38,7 @@ title: 'wp menu delete' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/menu/index.md b/commands/menu/index.md index 7aadd5f0..23e4dbeb 100644 --- a/commands/menu/index.md +++ b/commands/menu/index.md @@ -45,7 +45,7 @@ title: 'wp menu' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/menu/item/add-custom/index.md b/commands/menu/item/add-custom/index.md index 15c21e1a..e795cc24 100644 --- a/commands/menu/item/add-custom/index.md +++ b/commands/menu/item/add-custom/index.md @@ -65,7 +65,7 @@ title: 'wp menu item add-custom' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/menu/item/add-post/index.md b/commands/menu/item/add-post/index.md index 975099a4..f20238eb 100644 --- a/commands/menu/item/add-post/index.md +++ b/commands/menu/item/add-post/index.md @@ -68,7 +68,7 @@ title: 'wp menu item add-post' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/menu/item/add-term/index.md b/commands/menu/item/add-term/index.md index 2f4fc17f..0362c0e2 100644 --- a/commands/menu/item/add-term/index.md +++ b/commands/menu/item/add-term/index.md @@ -71,7 +71,7 @@ title: 'wp menu item add-term' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/menu/item/delete/index.md b/commands/menu/item/delete/index.md index 8da3ac13..9bf99b4f 100644 --- a/commands/menu/item/delete/index.md +++ b/commands/menu/item/delete/index.md @@ -38,7 +38,7 @@ title: 'wp menu item delete' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/menu/item/index.md b/commands/menu/item/index.md index 209a0f63..a936efb7 100644 --- a/commands/menu/item/index.md +++ b/commands/menu/item/index.md @@ -39,7 +39,7 @@ title: 'wp menu item' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/menu/item/list/index.md b/commands/menu/item/list/index.md index f69a4b5c..93b28161 100644 --- a/commands/menu/item/list/index.md +++ b/commands/menu/item/list/index.md @@ -69,7 +69,7 @@ These fields are optionally available: Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/menu/item/update/index.md b/commands/menu/item/update/index.md index fb3ae0cc..9db31b1c 100644 --- a/commands/menu/item/update/index.md +++ b/commands/menu/item/update/index.md @@ -62,7 +62,7 @@ title: 'wp menu item update' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/menu/list/index.md b/commands/menu/list/index.md index 101f76cf..39e1f87f 100644 --- a/commands/menu/list/index.md +++ b/commands/menu/list/index.md @@ -61,7 +61,7 @@ These fields are optionally available: Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/menu/location/assign/index.md b/commands/menu/location/assign/index.md index 14c8a78c..56c8c10e 100644 --- a/commands/menu/location/assign/index.md +++ b/commands/menu/location/assign/index.md @@ -41,7 +41,7 @@ title: 'wp menu location assign' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/menu/location/index.md b/commands/menu/location/index.md index c004d369..b86aaeff 100644 --- a/commands/menu/location/index.md +++ b/commands/menu/location/index.md @@ -42,7 +42,7 @@ title: 'wp menu location' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/menu/location/list/index.md b/commands/menu/location/list/index.md index 9ddb66c6..69d40ddd 100644 --- a/commands/menu/location/list/index.md +++ b/commands/menu/location/list/index.md @@ -45,7 +45,7 @@ These fields will be displayed by default for each location: Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/menu/location/remove/index.md b/commands/menu/location/remove/index.md index c9dc1c61..d6765980 100644 --- a/commands/menu/location/remove/index.md +++ b/commands/menu/location/remove/index.md @@ -41,7 +41,7 @@ title: 'wp menu location remove' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/network/index.md b/commands/network/index.md index 358dfa4c..7ae6d168 100644 --- a/commands/network/index.md +++ b/commands/network/index.md @@ -33,7 +33,7 @@ title: 'wp network' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/network/meta/add/index.md b/commands/network/meta/add/index.md index afde16ac..b9e78546 100644 --- a/commands/network/meta/add/index.md +++ b/commands/network/meta/add/index.md @@ -45,7 +45,7 @@ title: 'wp network meta add' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/network/meta/delete/index.md b/commands/network/meta/delete/index.md index 33d5c9d6..97a6bc16 100644 --- a/commands/network/meta/delete/index.md +++ b/commands/network/meta/delete/index.md @@ -40,7 +40,7 @@ title: 'wp network meta delete' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/network/meta/get/index.md b/commands/network/meta/get/index.md index 11a590d4..f1f4a7de 100644 --- a/commands/network/meta/get/index.md +++ b/commands/network/meta/get/index.md @@ -40,7 +40,7 @@ title: 'wp network meta get' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/network/meta/index.md b/commands/network/meta/index.md index 88e9553a..171c6f62 100644 --- a/commands/network/meta/index.md +++ b/commands/network/meta/index.md @@ -44,7 +44,7 @@ title: 'wp network meta' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/network/meta/list/index.md b/commands/network/meta/list/index.md index b7a81eca..af302942 100644 --- a/commands/network/meta/list/index.md +++ b/commands/network/meta/list/index.md @@ -43,7 +43,7 @@ title: 'wp network meta list' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/network/meta/update/index.md b/commands/network/meta/update/index.md index c2603096..1690ca4b 100644 --- a/commands/network/meta/update/index.md +++ b/commands/network/meta/update/index.md @@ -45,7 +45,7 @@ title: 'wp network meta update' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/option/add/index.md b/commands/option/add/index.md index 87011d2a..617ae110 100644 --- a/commands/option/add/index.md +++ b/commands/option/add/index.md @@ -50,7 +50,7 @@ title: 'wp option add' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/option/delete/index.md b/commands/option/delete/index.md index 21324f13..41366426 100644 --- a/commands/option/delete/index.md +++ b/commands/option/delete/index.md @@ -7,7 +7,8 @@ title: 'wp option delete'
    - +<key> +: Key for the option. ### GLOBAL PARAMETERS @@ -33,7 +34,7 @@ title: 'wp option delete' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/option/get/index.md b/commands/option/get/index.md index f3601e65..5d8ec74f 100644 --- a/commands/option/get/index.md +++ b/commands/option/get/index.md @@ -7,7 +7,11 @@ title: 'wp option get'
    +<key> +: Key for the option +[\--format=<format>] +: Get value as var_export() or JSON. Default: var_export() ### GLOBAL PARAMETERS @@ -33,7 +37,7 @@ title: 'wp option get' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/option/index.md b/commands/option/index.md index fcdabb5c..b338bb98 100644 --- a/commands/option/index.md +++ b/commands/option/index.md @@ -46,7 +46,7 @@ title: 'wp option' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/option/list/index.md b/commands/option/list/index.md index 48c9ac68..756f17e8 100644 --- a/commands/option/list/index.md +++ b/commands/option/list/index.md @@ -17,9 +17,7 @@ title: 'wp option list' : Limit the output to specific object fields. [\--format=<format>] -: The serialization format for the value. -: total_bytes displays the total size of matching options in bytes. -: Accepted values: table, json, csv, count, total_bytes. Default: table +: The serialization format for the value. total_bytes displays the total size of matching options in bytes. Accepted values: table, json, csv, count, total_bytes. Default: table ### EXAMPLES @@ -68,7 +66,7 @@ These fields are optionally available: Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/option/update/index.md b/commands/option/update/index.md index b61c9da7..c1fa74e9 100644 --- a/commands/option/update/index.md +++ b/commands/option/update/index.md @@ -15,6 +15,9 @@ title: 'wp option update' [<value>] : The new value. If ommited, the value is read from STDIN. +[\--autoload=<autoload>] +: Requires WP 4.2. Should this option be automatically loaded. Accepted values: yes, no. Default: yes + [\--format=<format>] : The serialization format for the value. Default is plaintext. @@ -50,7 +53,7 @@ title: 'wp option update' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/plugin/activate/index.md b/commands/plugin/activate/index.md index b809353a..4942f062 100644 --- a/commands/plugin/activate/index.md +++ b/commands/plugin/activate/index.md @@ -42,7 +42,7 @@ title: 'wp plugin activate' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/plugin/deactivate/index.md b/commands/plugin/deactivate/index.md index 694e21d7..d0d3f2ef 100644 --- a/commands/plugin/deactivate/index.md +++ b/commands/plugin/deactivate/index.md @@ -45,7 +45,7 @@ title: 'wp plugin deactivate' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/plugin/delete/index.md b/commands/plugin/delete/index.md index 9dc6bb57..4aed53b5 100644 --- a/commands/plugin/delete/index.md +++ b/commands/plugin/delete/index.md @@ -43,7 +43,7 @@ title: 'wp plugin delete' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/plugin/get/index.md b/commands/plugin/get/index.md index e88ac581..0d065593 100644 --- a/commands/plugin/get/index.md +++ b/commands/plugin/get/index.md @@ -49,7 +49,7 @@ title: 'wp plugin get' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/plugin/index.md b/commands/plugin/index.md index f0bf3126..91ace38a 100644 --- a/commands/plugin/index.md +++ b/commands/plugin/index.md @@ -33,7 +33,7 @@ title: 'wp plugin' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/plugin/install/index.md b/commands/plugin/install/index.md index e7851649..c24836e8 100644 --- a/commands/plugin/install/index.md +++ b/commands/plugin/install/index.md @@ -64,7 +64,7 @@ for confirmation. Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/plugin/is-installed/index.md b/commands/plugin/is-installed/index.md index 26f88bff..494c9797 100644 --- a/commands/plugin/is-installed/index.md +++ b/commands/plugin/is-installed/index.md @@ -40,7 +40,7 @@ title: 'wp plugin is-installed' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/plugin/list/index.md b/commands/plugin/list/index.md index 963e6785..e73072b6 100644 --- a/commands/plugin/list/index.md +++ b/commands/plugin/list/index.md @@ -69,7 +69,7 @@ These fields are optionally available: Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/plugin/path/index.md b/commands/plugin/path/index.md index b45bc00f..f630d768 100644 --- a/commands/plugin/path/index.md +++ b/commands/plugin/path/index.md @@ -45,7 +45,7 @@ plugin file. Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/plugin/search/index.md b/commands/plugin/search/index.md index 6679383c..7dcc0362 100644 --- a/commands/plugin/search/index.md +++ b/commands/plugin/search/index.md @@ -69,7 +69,7 @@ title: 'wp plugin search' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/plugin/status/index.md b/commands/plugin/status/index.md index d729df49..8ae646d4 100644 --- a/commands/plugin/status/index.md +++ b/commands/plugin/status/index.md @@ -36,7 +36,7 @@ title: 'wp plugin status' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/plugin/toggle/index.md b/commands/plugin/toggle/index.md index f0a1d139..33817b42 100644 --- a/commands/plugin/toggle/index.md +++ b/commands/plugin/toggle/index.md @@ -39,7 +39,7 @@ title: 'wp plugin toggle' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/plugin/uninstall/index.md b/commands/plugin/uninstall/index.md index ef9b52e3..89f82e10 100644 --- a/commands/plugin/uninstall/index.md +++ b/commands/plugin/uninstall/index.md @@ -47,7 +47,7 @@ will be run. Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/plugin/update/index.md b/commands/plugin/update/index.md index 1bcb1c43..8fb894a5 100644 --- a/commands/plugin/update/index.md +++ b/commands/plugin/update/index.md @@ -54,7 +54,7 @@ title: 'wp plugin update' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/post-type/get/index.md b/commands/post-type/get/index.md new file mode 100644 index 00000000..36ff5a2b --- /dev/null +++ b/commands/post-type/get/index.md @@ -0,0 +1,61 @@ +--- +layout: default +title: 'wp post-type get' +--- + +`wp post-type get` - Get a post type + +
    + +### OPTIONS + +<post-type> +: Post type slug + +[\--field=<field>] +: Instead of returning the whole taxonomy, returns the value of a single field. + +[\--fields=<fields>] +: Limit the output to specific fields. Defaults to all fields. + +[\--format=<format>] +: Accepted values: table, json, csv. Default: table + +### EXAMPLES + + wp post-type get page --format=json + +### GLOBAL PARAMETERS + + \--path=<path> + Path to the WordPress files + + \--url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + \--user=<id|login|email> + Set the WordPress user + + \--skip-plugins[=<plugin>] + Skip loading all or some plugins + + \--skip-themes[=<theme>] + Skip loading all or some themes + + \--require=<path> + Load PHP file before running the command (may be used more than once) + + \--[no-]color + Whether to colorize the output + + \--debug + Show all PHP errors; add verbosity to WP-CLI bootstrap + + \--prompt + Prompt the user to enter values for all command arguments + + \--quiet + Suppress informational messages + + + diff --git a/commands/post-type/index.md b/commands/post-type/index.md new file mode 100644 index 00000000..96bc9a7c --- /dev/null +++ b/commands/post-type/index.md @@ -0,0 +1,65 @@ +--- +layout: default +title: 'wp post-type' +--- + +`wp post-type` - Manage post types. + +
    + + + +### GLOBAL PARAMETERS + + \--path=<path> + Path to the WordPress files + + \--url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + \--user=<id|login|email> + Set the WordPress user + + \--skip-plugins[=<plugin>] + Skip loading all or some plugins + + \--skip-themes[=<theme>] + Skip loading all or some themes + + \--require=<path> + Load PHP file before running the command (may be used more than once) + + \--[no-]color + Whether to colorize the output + + \--debug + Show all PHP errors; add verbosity to WP-CLI bootstrap + + \--prompt + Prompt the user to enter values for all command arguments + + \--quiet + Suppress informational messages + + + +### SUBCOMMANDS + + + + + + + + + + + + + + + + + + +
    NameDescription
    getGet a post type
    listList post types.
    diff --git a/commands/post-type/list/index.md b/commands/post-type/list/index.md new file mode 100644 index 00000000..0d82d733 --- /dev/null +++ b/commands/post-type/list/index.md @@ -0,0 +1,76 @@ +--- +layout: default +title: 'wp post-type list' +--- + +`wp post-type list` - List post types. + +
    + +### OPTIONS + +[\--<field>=<value>] +: Filter by one or more fields (see get_post_types() first parameter for a list of available fields). + +[\--field=<field>] +: Prints the value of a single field for each post type. + +[\--fields=<fields>] +: Limit the output to specific post type fields. + +[\--format=<format>] +: Accepted values: table, csv, json, count. Default: table + +### AVAILABLE FIELDS + +These fields will be displayed by default for each term: + +* name +* label +* description +* hierarchical +* public +* capability_type + +There are no optionally available fields. + +### EXAMPLES + + wp post-type list --format=csv + + wp post-type list --object-type=post --fields=name,public + +### GLOBAL PARAMETERS + + \--path=<path> + Path to the WordPress files + + \--url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + \--user=<id|login|email> + Set the WordPress user + + \--skip-plugins[=<plugin>] + Skip loading all or some plugins + + \--skip-themes[=<theme>] + Skip loading all or some themes + + \--require=<path> + Load PHP file before running the command (may be used more than once) + + \--[no-]color + Whether to colorize the output + + \--debug + Show all PHP errors; add verbosity to WP-CLI bootstrap + + \--prompt + Prompt the user to enter values for all command arguments + + \--quiet + Suppress informational messages + + + diff --git a/commands/post/create/index.md b/commands/post/create/index.md index bf12df15..add0e2eb 100644 --- a/commands/post/create/index.md +++ b/commands/post/create/index.md @@ -58,7 +58,7 @@ title: 'wp post create' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/post/delete/index.md b/commands/post/delete/index.md index faecf290..16435ee1 100644 --- a/commands/post/delete/index.md +++ b/commands/post/delete/index.md @@ -15,6 +15,9 @@ title: 'wp post delete' [\--force] : Skip the trash bin. +[\--defer-term-counting] +: Recalculate term count in batch, for a performance boost. + ### EXAMPLES wp post delete 123 --force @@ -48,7 +51,7 @@ title: 'wp post delete' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/post/edit/index.md b/commands/post/edit/index.md index 4f614b6a..f70d32ff 100644 --- a/commands/post/edit/index.md +++ b/commands/post/edit/index.md @@ -40,7 +40,7 @@ title: 'wp post edit' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/post/generate/index.md b/commands/post/generate/index.md index 49fab9f4..cb32b5fb 100644 --- a/commands/post/generate/index.md +++ b/commands/post/generate/index.md @@ -59,7 +59,7 @@ title: 'wp post generate' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/post/get/index.md b/commands/post/get/index.md index 34d4ad40..08eadc6a 100644 --- a/commands/post/get/index.md +++ b/commands/post/get/index.md @@ -50,7 +50,7 @@ title: 'wp post get' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/post/index.md b/commands/post/index.md index 5db8f3ff..2dd24471 100644 --- a/commands/post/index.md +++ b/commands/post/index.md @@ -33,7 +33,7 @@ title: 'wp post' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments @@ -89,9 +89,5 @@ title: 'wp post' update Update one or more posts. - - url - Get post url - diff --git a/commands/post/list/index.md b/commands/post/list/index.md index db152b3b..8093ddb1 100644 --- a/commands/post/list/index.md +++ b/commands/post/list/index.md @@ -52,6 +52,7 @@ These fields are optionally available: * post_mime_type * comment_count * filter +* url ### EXAMPLES @@ -87,7 +88,7 @@ These fields are optionally available: Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/post/meta/add/index.md b/commands/post/meta/add/index.md index d7e7ee64..8e7a94ac 100644 --- a/commands/post/meta/add/index.md +++ b/commands/post/meta/add/index.md @@ -45,7 +45,7 @@ title: 'wp post meta add' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/post/meta/delete/index.md b/commands/post/meta/delete/index.md index 66bc5d26..f153ea87 100644 --- a/commands/post/meta/delete/index.md +++ b/commands/post/meta/delete/index.md @@ -40,7 +40,7 @@ title: 'wp post meta delete' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/post/meta/get/index.md b/commands/post/meta/get/index.md index 02cddfa9..099f4af7 100644 --- a/commands/post/meta/get/index.md +++ b/commands/post/meta/get/index.md @@ -40,7 +40,7 @@ title: 'wp post meta get' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/post/meta/index.md b/commands/post/meta/index.md index e5c31cb9..baadf7f7 100644 --- a/commands/post/meta/index.md +++ b/commands/post/meta/index.md @@ -40,7 +40,7 @@ title: 'wp post meta' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/post/meta/list/index.md b/commands/post/meta/list/index.md index 98994b97..cfa4a68c 100644 --- a/commands/post/meta/list/index.md +++ b/commands/post/meta/list/index.md @@ -43,7 +43,7 @@ title: 'wp post meta list' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/post/meta/update/index.md b/commands/post/meta/update/index.md index cf709d92..7f76f4d2 100644 --- a/commands/post/meta/update/index.md +++ b/commands/post/meta/update/index.md @@ -45,7 +45,7 @@ title: 'wp post meta update' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/post/term/add/index.md b/commands/post/term/add/index.md index d5528b11..f79e650a 100644 --- a/commands/post/term/add/index.md +++ b/commands/post/term/add/index.md @@ -40,7 +40,7 @@ title: 'wp post term add' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/post/term/index.md b/commands/post/term/index.md index 7bb977fb..05c89022 100644 --- a/commands/post/term/index.md +++ b/commands/post/term/index.md @@ -35,7 +35,7 @@ title: 'wp post term' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/post/term/list/index.md b/commands/post/term/list/index.md index 7f0c3d90..19cfea11 100644 --- a/commands/post/term/list/index.md +++ b/commands/post/term/list/index.md @@ -60,7 +60,7 @@ These fields are optionally available: Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/post/term/remove/index.md b/commands/post/term/remove/index.md index 83064a35..f8237272 100644 --- a/commands/post/term/remove/index.md +++ b/commands/post/term/remove/index.md @@ -40,7 +40,7 @@ title: 'wp post term remove' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/post/term/set/index.md b/commands/post/term/set/index.md index b7ce7600..1fab00c1 100644 --- a/commands/post/term/set/index.md +++ b/commands/post/term/set/index.md @@ -40,7 +40,7 @@ title: 'wp post term set' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/post/update/index.md b/commands/post/update/index.md index 07f61a5e..fe634406 100644 --- a/commands/post/update/index.md +++ b/commands/post/update/index.md @@ -22,6 +22,9 @@ title: 'wp post update' \--<field>=<value> : One or more fields to update. See wp_update_post(). +[\--defer-term-counting] +: Recalculate term count in batch, for a performance boost. + ### EXAMPLES wp post update 123 --post_name=something --post_status=draft @@ -50,7 +53,7 @@ title: 'wp post update' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/rewrite/flush/index.md b/commands/rewrite/flush/index.md index 583b7828..0e3631d5 100644 --- a/commands/rewrite/flush/index.md +++ b/commands/rewrite/flush/index.md @@ -20,7 +20,7 @@ to your wp-cli.yml or config.yml. For example: ### OPTIONS [\--hard] -: Perform a hard flush - update `.htaccess` rules as well as rewrite rules in database. +: Perform a hard flush - update `.htaccess` rules as well as rewrite rules in database. Works only on single site installs. ### GLOBAL PARAMETERS @@ -46,7 +46,7 @@ to your wp-cli.yml or config.yml. For example: Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/rewrite/index.md b/commands/rewrite/index.md index 10ab7e06..ed9078ce 100644 --- a/commands/rewrite/index.md +++ b/commands/rewrite/index.md @@ -33,7 +33,7 @@ title: 'wp rewrite' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/rewrite/list/index.md b/commands/rewrite/list/index.md index 08507052..4dd7eec2 100644 --- a/commands/rewrite/list/index.md +++ b/commands/rewrite/list/index.md @@ -46,7 +46,7 @@ title: 'wp rewrite list' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/rewrite/structure/index.md b/commands/rewrite/structure/index.md index 930eab52..c313f98a 100644 --- a/commands/rewrite/structure/index.md +++ b/commands/rewrite/structure/index.md @@ -59,7 +59,7 @@ to your wp-cli.yml or config.yml. For example: Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/role/create/index.md b/commands/role/create/index.md index d016dc53..f94a8515 100644 --- a/commands/role/create/index.md +++ b/commands/role/create/index.md @@ -48,7 +48,7 @@ title: 'wp role create' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/role/delete/index.md b/commands/role/delete/index.md index 93f5b752..123f3a13 100644 --- a/commands/role/delete/index.md +++ b/commands/role/delete/index.md @@ -42,7 +42,7 @@ title: 'wp role delete' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/role/exists/index.md b/commands/role/exists/index.md index 5182d665..b757db75 100644 --- a/commands/role/exists/index.md +++ b/commands/role/exists/index.md @@ -44,7 +44,7 @@ Will exit with status 0 if the role exists, 1 if it does not. Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/role/index.md b/commands/role/index.md index b4e27d3a..c5ed9e8b 100644 --- a/commands/role/index.md +++ b/commands/role/index.md @@ -33,7 +33,7 @@ title: 'wp role' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/role/list/index.md b/commands/role/list/index.md index 13525f35..e16d15d3 100644 --- a/commands/role/list/index.md +++ b/commands/role/list/index.md @@ -52,7 +52,7 @@ There are no optional fields. Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/role/reset/index.md b/commands/role/reset/index.md index 6f906af3..134b59d9 100644 --- a/commands/role/reset/index.md +++ b/commands/role/reset/index.md @@ -45,7 +45,7 @@ title: 'wp role reset' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/scaffold/_s/index.md b/commands/scaffold/_s/index.md index 8bac4d0a..a6d3fdc1 100644 --- a/commands/scaffold/_s/index.md +++ b/commands/scaffold/_s/index.md @@ -57,7 +57,7 @@ title: 'wp scaffold _s' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/scaffold/child-theme/index.md b/commands/scaffold/child-theme/index.md index 0c521fdb..319895b8 100644 --- a/commands/scaffold/child-theme/index.md +++ b/commands/scaffold/child-theme/index.md @@ -60,7 +60,7 @@ title: 'wp scaffold child-theme' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/scaffold/index.md b/commands/scaffold/index.md index 3b1b2d8c..b7f2b8ea 100644 --- a/commands/scaffold/index.md +++ b/commands/scaffold/index.md @@ -33,7 +33,7 @@ title: 'wp scaffold' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/scaffold/package-tests/index.md b/commands/scaffold/package-tests/index.md index b8437977..3f325210 100644 --- a/commands/scaffold/package-tests/index.md +++ b/commands/scaffold/package-tests/index.md @@ -59,7 +59,7 @@ WP-CLI Behat framework uses Behat ~2.5. Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/scaffold/plugin-tests/index.md b/commands/scaffold/plugin-tests/index.md index ea01f11d..5a571494 100644 --- a/commands/scaffold/plugin-tests/index.md +++ b/commands/scaffold/plugin-tests/index.md @@ -60,7 +60,7 @@ variable. Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/scaffold/plugin/index.md b/commands/scaffold/plugin/index.md index e689e66f..1d401cf3 100644 --- a/commands/scaffold/plugin/index.md +++ b/commands/scaffold/plugin/index.md @@ -54,7 +54,7 @@ title: 'wp scaffold plugin' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/scaffold/post-type/index.md b/commands/scaffold/post-type/index.md index a60fe055..7715d41e 100644 --- a/commands/scaffold/post-type/index.md +++ b/commands/scaffold/post-type/index.md @@ -58,7 +58,7 @@ STDOUT. Specify a theme with `--theme=<theme>` to have the file placed in Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/scaffold/taxonomy/index.md b/commands/scaffold/taxonomy/index.md index cbaa2156..db7fbc40 100644 --- a/commands/scaffold/taxonomy/index.md +++ b/commands/scaffold/taxonomy/index.md @@ -62,7 +62,7 @@ STDOUT. Specify a theme with `--theme=<theme>` to have the file placed in Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/search-replace/index.md b/commands/search-replace/index.md index 79269fe1..dba5f45c 100644 --- a/commands/search-replace/index.md +++ b/commands/search-replace/index.md @@ -9,8 +9,10 @@ title: 'wp search-replace' ### DESCRIPTION -This command will go through all rows in all tables and will replace all -appearances of the old string with the new one. +This command will go through all rows in a selection of tables +and will replace all appearances of the old string with the new one. The +default tables are those registered on the $wpdb object (usually +just WordPress core tables). It will correctly handle serialized values, and will not change primary key values. @@ -44,7 +46,7 @@ It will correctly handle serialized values, and will not change primary key valu : Enable replacement on any tables that match the table prefix even if not registered on wpdb [\--all-tables] -: Enable replacement on ALL tables in the database, regardless of the prefix. Overrides --network and --all-tables-with-prefix. +: Enable replacement on ALL tables in the database, regardless of the prefix, and even if not registered on $wpdb. Overrides --network and --all-tables-with-prefix. [\--verbose] : Prints rows to the console as they're updated. @@ -85,7 +87,7 @@ It will correctly handle serialized values, and will not change primary key valu Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/server/index.md b/commands/server/index.md index 637144c3..e9699f72 100644 --- a/commands/server/index.md +++ b/commands/server/index.md @@ -52,7 +52,7 @@ title: 'wp server' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/shell/index.md b/commands/shell/index.md index 9f612620..96d4b520 100644 --- a/commands/shell/index.md +++ b/commands/shell/index.md @@ -40,7 +40,7 @@ title: 'wp shell' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/sidebar/index.md b/commands/sidebar/index.md index 1130fdc4..efff985a 100644 --- a/commands/sidebar/index.md +++ b/commands/sidebar/index.md @@ -33,7 +33,7 @@ title: 'wp sidebar' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/sidebar/list/index.md b/commands/sidebar/list/index.md index 5b4efbe2..7cd3fc8c 100644 --- a/commands/sidebar/list/index.md +++ b/commands/sidebar/list/index.md @@ -59,7 +59,7 @@ These fields are optionally available: Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/site/activate/index.md b/commands/site/activate/index.md index ffd933b9..ad2b5aaf 100644 --- a/commands/site/activate/index.md +++ b/commands/site/activate/index.md @@ -40,7 +40,7 @@ title: 'wp site activate' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/site/archive/index.md b/commands/site/archive/index.md index 108d78a5..08cc2650 100644 --- a/commands/site/archive/index.md +++ b/commands/site/archive/index.md @@ -40,7 +40,7 @@ title: 'wp site archive' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/site/create/index.md b/commands/site/create/index.md index 95bbe649..42eff6e9 100644 --- a/commands/site/create/index.md +++ b/commands/site/create/index.md @@ -12,19 +12,19 @@ title: 'wp site create' \--slug=<slug> : Path for the new site. Subdomain on subdomain installs, directory on subdirectory installs. -\--title=<title> +[\--title=<title>] : Title of the new site. Default: prettified slug. -\--email=<email> +[\--email=<email>] : Email for Admin user. User will be created if none exists. Assignement to Super Admin if not included. -\--network_id=<network-id> +[\--network_id=<network-id>] : Network to associate new site with. Defaults to current network (typically 1). -\--private +[\--private] : If set, the new site will be non-public (not indexed) -\--porcelain +[\--porcelain] : If set, only the site id will be output on success. ### GLOBAL PARAMETERS @@ -51,7 +51,7 @@ title: 'wp site create' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/site/deactivate/index.md b/commands/site/deactivate/index.md index 39cad224..9623b03a 100644 --- a/commands/site/deactivate/index.md +++ b/commands/site/deactivate/index.md @@ -40,7 +40,7 @@ title: 'wp site deactivate' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/site/delete/index.md b/commands/site/delete/index.md index 6cb53561..f2efdb04 100644 --- a/commands/site/delete/index.md +++ b/commands/site/delete/index.md @@ -45,7 +45,7 @@ title: 'wp site delete' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/site/empty/index.md b/commands/site/empty/index.md index 9941c575..3a223653 100644 --- a/commands/site/empty/index.md +++ b/commands/site/empty/index.md @@ -36,7 +36,7 @@ title: 'wp site empty' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/site/index.md b/commands/site/index.md index 33dfaa4e..013eae4d 100644 --- a/commands/site/index.md +++ b/commands/site/index.md @@ -33,7 +33,7 @@ title: 'wp site' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments @@ -93,9 +93,5 @@ title: 'wp site' unspam Remove one or more sites from spam - - url - Get site url - diff --git a/commands/site/list/index.md b/commands/site/list/index.md index 14644ad7..a763dd5a 100644 --- a/commands/site/list/index.md +++ b/commands/site/list/index.md @@ -74,7 +74,7 @@ These fields are optionally available: Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/site/spam/index.md b/commands/site/spam/index.md index 53498895..4eaf18f3 100644 --- a/commands/site/spam/index.md +++ b/commands/site/spam/index.md @@ -40,7 +40,7 @@ title: 'wp site spam' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/site/unarchive/index.md b/commands/site/unarchive/index.md index 646908cc..8488ebdb 100644 --- a/commands/site/unarchive/index.md +++ b/commands/site/unarchive/index.md @@ -40,7 +40,7 @@ title: 'wp site unarchive' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/site/unspam/index.md b/commands/site/unspam/index.md index 07e21b58..01a93a28 100644 --- a/commands/site/unspam/index.md +++ b/commands/site/unspam/index.md @@ -40,7 +40,7 @@ title: 'wp site unspam' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/super-admin/add/index.md b/commands/super-admin/add/index.md index a4e04c08..804ba897 100644 --- a/commands/super-admin/add/index.md +++ b/commands/super-admin/add/index.md @@ -34,7 +34,7 @@ title: 'wp super-admin add' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/super-admin/index.md b/commands/super-admin/index.md index 9f50b972..fd2d6feb 100644 --- a/commands/super-admin/index.md +++ b/commands/super-admin/index.md @@ -33,7 +33,7 @@ title: 'wp super-admin' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/super-admin/list/index.md b/commands/super-admin/list/index.md index 200e3534..b2af021b 100644 --- a/commands/super-admin/list/index.md +++ b/commands/super-admin/list/index.md @@ -33,7 +33,7 @@ title: 'wp super-admin list' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/super-admin/remove/index.md b/commands/super-admin/remove/index.md index 2459ba72..09edad86 100644 --- a/commands/super-admin/remove/index.md +++ b/commands/super-admin/remove/index.md @@ -34,7 +34,7 @@ title: 'wp super-admin remove' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/taxonomy/get/index.md b/commands/taxonomy/get/index.md new file mode 100644 index 00000000..3f34af6d --- /dev/null +++ b/commands/taxonomy/get/index.md @@ -0,0 +1,61 @@ +--- +layout: default +title: 'wp taxonomy get' +--- + +`wp taxonomy get` - Get a taxonomy + +
    + +### OPTIONS + +<taxonomy> +: Taxonomy slug + +[\--field=<field>] +: Instead of returning the whole taxonomy, returns the value of a single field. + +[\--fields=<fields>] +: Limit the output to specific fields. Defaults to all fields. + +[\--format=<format>] +: Accepted values: table, json, csv. Default: table + +### EXAMPLES + + wp taxonomy get post_tag --format=json + +### GLOBAL PARAMETERS + + \--path=<path> + Path to the WordPress files + + \--url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + \--user=<id|login|email> + Set the WordPress user + + \--skip-plugins[=<plugin>] + Skip loading all or some plugins + + \--skip-themes[=<theme>] + Skip loading all or some themes + + \--require=<path> + Load PHP file before running the command (may be used more than once) + + \--[no-]color + Whether to colorize the output + + \--debug + Show all PHP errors; add verbosity to WP-CLI bootstrap + + \--prompt + Prompt the user to enter values for all command arguments + + \--quiet + Suppress informational messages + + + diff --git a/commands/taxonomy/index.md b/commands/taxonomy/index.md new file mode 100644 index 00000000..e4a85561 --- /dev/null +++ b/commands/taxonomy/index.md @@ -0,0 +1,65 @@ +--- +layout: default +title: 'wp taxonomy' +--- + +`wp taxonomy` - Manage taxonomies. + +
    + + + +### GLOBAL PARAMETERS + + \--path=<path> + Path to the WordPress files + + \--url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + \--user=<id|login|email> + Set the WordPress user + + \--skip-plugins[=<plugin>] + Skip loading all or some plugins + + \--skip-themes[=<theme>] + Skip loading all or some themes + + \--require=<path> + Load PHP file before running the command (may be used more than once) + + \--[no-]color + Whether to colorize the output + + \--debug + Show all PHP errors; add verbosity to WP-CLI bootstrap + + \--prompt + Prompt the user to enter values for all command arguments + + \--quiet + Suppress informational messages + + + +### SUBCOMMANDS + + + + + + + + + + + + + + + + + + +
    NameDescription
    getGet a taxonomy
    listList taxonomies.
    diff --git a/commands/taxonomy/list/index.md b/commands/taxonomy/list/index.md new file mode 100644 index 00000000..a260f197 --- /dev/null +++ b/commands/taxonomy/list/index.md @@ -0,0 +1,75 @@ +--- +layout: default +title: 'wp taxonomy list' +--- + +`wp taxonomy list` - List taxonomies. + +
    + +### OPTIONS + +[\--<field>=<value>] +: Filter by one or more fields (see get_taxonomies() first parameter for a list of available fields). + +[\--field=<field>] +: Prints the value of a single field for each taxonomy. + +[\--fields=<fields>] +: Limit the output to specific taxonomy fields. + +[\--format=<format>] +: Accepted values: table, csv, json, count. Default: table + +### AVAILABLE FIELDS + +These fields will be displayed by default for each term: + +* name +* label +* description +* public +* hierarchical + +There are no optionally available fields. + +### EXAMPLES + + wp taxonomy list --format=csv + + wp taxonomy list --object-type=post --fields=name,public + +### GLOBAL PARAMETERS + + \--path=<path> + Path to the WordPress files + + \--url=<url> + Pretend request came from given URL. In multisite, this argument is how the target site is specified. + + \--user=<id|login|email> + Set the WordPress user + + \--skip-plugins[=<plugin>] + Skip loading all or some plugins + + \--skip-themes[=<theme>] + Skip loading all or some themes + + \--require=<path> + Load PHP file before running the command (may be used more than once) + + \--[no-]color + Whether to colorize the output + + \--debug + Show all PHP errors; add verbosity to WP-CLI bootstrap + + \--prompt + Prompt the user to enter values for all command arguments + + \--quiet + Suppress informational messages + + + diff --git a/commands/term/create/index.md b/commands/term/create/index.md index 301e0d87..34c05449 100644 --- a/commands/term/create/index.md +++ b/commands/term/create/index.md @@ -55,7 +55,7 @@ title: 'wp term create' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/term/delete/index.md b/commands/term/delete/index.md index 9aa39e6d..750a26c6 100644 --- a/commands/term/delete/index.md +++ b/commands/term/delete/index.md @@ -44,7 +44,7 @@ title: 'wp term delete' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/term/generate/index.md b/commands/term/generate/index.md index 3a4e4b23..03c6f16d 100644 --- a/commands/term/generate/index.md +++ b/commands/term/generate/index.md @@ -46,7 +46,7 @@ title: 'wp term generate' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/term/get/index.md b/commands/term/get/index.md index 22134fdc..e240f56d 100644 --- a/commands/term/get/index.md +++ b/commands/term/get/index.md @@ -52,7 +52,7 @@ title: 'wp term get' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/term/index.md b/commands/term/index.md index 5b6af6bb..47edcd15 100644 --- a/commands/term/index.md +++ b/commands/term/index.md @@ -33,7 +33,7 @@ title: 'wp term' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/term/list/index.md b/commands/term/list/index.md index 5e433c04..d43939be 100644 --- a/commands/term/list/index.md +++ b/commands/term/list/index.md @@ -13,7 +13,7 @@ title: 'wp term list' : List terms of one or more taxonomies [\--<field>=<value>] -: Filter by one or more fields. +: Filter by one or more fields (see get_terms() $args parameter for a list of fields). [\--field=<field>] : Prints the value of a single field for each term. @@ -68,7 +68,7 @@ There are no optionally available fields. Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/term/update/index.md b/commands/term/update/index.md index 14834e41..f68a3d1c 100644 --- a/commands/term/update/index.md +++ b/commands/term/update/index.md @@ -55,7 +55,7 @@ title: 'wp term update' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/term/url/index.md b/commands/term/url/index.md index 524e99e9..a3d9724c 100644 --- a/commands/term/url/index.md +++ b/commands/term/url/index.md @@ -45,7 +45,7 @@ title: 'wp term url' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/theme/activate/index.md b/commands/theme/activate/index.md index 29536f0b..1e509f1a 100644 --- a/commands/theme/activate/index.md +++ b/commands/theme/activate/index.md @@ -36,7 +36,7 @@ title: 'wp theme activate' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/theme/delete/index.md b/commands/theme/delete/index.md index 667fd8ef..4c0b2273 100644 --- a/commands/theme/delete/index.md +++ b/commands/theme/delete/index.md @@ -40,7 +40,7 @@ title: 'wp theme delete' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/theme/disable/index.md b/commands/theme/disable/index.md index 6fe7d1d0..d7c31a92 100644 --- a/commands/theme/disable/index.md +++ b/commands/theme/disable/index.md @@ -47,7 +47,7 @@ enabled for them independently. Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/theme/enable/index.md b/commands/theme/enable/index.md index cf5150a2..d2718461 100644 --- a/commands/theme/enable/index.md +++ b/commands/theme/enable/index.md @@ -51,7 +51,7 @@ the "network" flag has no influence on this. Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/theme/get/index.md b/commands/theme/get/index.md index 34477b90..1dd958a9 100644 --- a/commands/theme/get/index.md +++ b/commands/theme/get/index.md @@ -49,7 +49,7 @@ title: 'wp theme get' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/theme/index.md b/commands/theme/index.md index 07154635..1e6aa163 100644 --- a/commands/theme/index.md +++ b/commands/theme/index.md @@ -33,7 +33,7 @@ title: 'wp theme' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/theme/install/index.md b/commands/theme/install/index.md index 2398e87c..8724cbaf 100644 --- a/commands/theme/install/index.md +++ b/commands/theme/install/index.md @@ -58,7 +58,7 @@ for confirmation. Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/theme/is-installed/index.md b/commands/theme/is-installed/index.md index 9897c56d..4d23a815 100644 --- a/commands/theme/is-installed/index.md +++ b/commands/theme/is-installed/index.md @@ -40,7 +40,7 @@ title: 'wp theme is-installed' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/theme/list/index.md b/commands/theme/list/index.md index 9fc7ab1b..519f8c73 100644 --- a/commands/theme/list/index.md +++ b/commands/theme/list/index.md @@ -66,7 +66,7 @@ These fields are optionally available: Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/theme/mod/get/index.md b/commands/theme/mod/get/index.md index 382b5fb7..c19f1c9c 100644 --- a/commands/theme/mod/get/index.md +++ b/commands/theme/mod/get/index.md @@ -48,7 +48,7 @@ title: 'wp theme mod get' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/theme/mod/index.md b/commands/theme/mod/index.md index 94fd1caa..66564e5b 100644 --- a/commands/theme/mod/index.md +++ b/commands/theme/mod/index.md @@ -33,7 +33,7 @@ title: 'wp theme mod' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/theme/mod/remove/index.md b/commands/theme/mod/remove/index.md index 8a2a1f03..6baef6c7 100644 --- a/commands/theme/mod/remove/index.md +++ b/commands/theme/mod/remove/index.md @@ -45,7 +45,7 @@ title: 'wp theme mod remove' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/theme/mod/set/index.md b/commands/theme/mod/set/index.md index 1008e0b8..f41ad7a0 100644 --- a/commands/theme/mod/set/index.md +++ b/commands/theme/mod/set/index.md @@ -43,7 +43,7 @@ title: 'wp theme mod set' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/theme/path/index.md b/commands/theme/path/index.md index 1383fd4d..a2536659 100644 --- a/commands/theme/path/index.md +++ b/commands/theme/path/index.md @@ -45,7 +45,7 @@ theme's "style.css" file. Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/theme/search/index.md b/commands/theme/search/index.md index c3914d9b..8cd795bc 100644 --- a/commands/theme/search/index.md +++ b/commands/theme/search/index.md @@ -65,7 +65,7 @@ title: 'wp theme search' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/theme/status/index.md b/commands/theme/status/index.md index 037cba08..af1df8e4 100644 --- a/commands/theme/status/index.md +++ b/commands/theme/status/index.md @@ -36,7 +36,7 @@ title: 'wp theme status' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/theme/update/index.md b/commands/theme/update/index.md index 94975d29..bcf535b1 100644 --- a/commands/theme/update/index.md +++ b/commands/theme/update/index.md @@ -54,7 +54,7 @@ title: 'wp theme update' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/transient/delete-all/index.md b/commands/transient/delete-all/index.md index 29b3a41c..10e0eeea 100644 --- a/commands/transient/delete-all/index.md +++ b/commands/transient/delete-all/index.md @@ -33,7 +33,7 @@ title: 'wp transient delete-all' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/transient/delete-expired/index.md b/commands/transient/delete-expired/index.md index 2a92f742..1c2ca46f 100644 --- a/commands/transient/delete-expired/index.md +++ b/commands/transient/delete-expired/index.md @@ -33,7 +33,7 @@ title: 'wp transient delete-expired' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/transient/delete/index.md b/commands/transient/delete/index.md index b64f1f11..a42ea71a 100644 --- a/commands/transient/delete/index.md +++ b/commands/transient/delete/index.md @@ -7,7 +7,8 @@ title: 'wp transient delete'
    - +<key> +: Key for the transient. ### GLOBAL PARAMETERS @@ -33,7 +34,7 @@ title: 'wp transient delete' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/transient/get/index.md b/commands/transient/get/index.md index 104637fe..d609f9e9 100644 --- a/commands/transient/get/index.md +++ b/commands/transient/get/index.md @@ -7,7 +7,11 @@ title: 'wp transient get'
    +<key> +: Key for the transient. +[\--json] +: Format output as JSON. ### GLOBAL PARAMETERS @@ -33,7 +37,7 @@ title: 'wp transient get' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/transient/index.md b/commands/transient/index.md index 30e6033b..d4afda57 100644 --- a/commands/transient/index.md +++ b/commands/transient/index.md @@ -35,7 +35,7 @@ title: 'wp transient' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/transient/set/index.md b/commands/transient/set/index.md index 39b5555a..040a58b2 100644 --- a/commands/transient/set/index.md +++ b/commands/transient/set/index.md @@ -7,7 +7,14 @@ title: 'wp transient set'
    +<key> +: Key for the transient. +<value> +: Value to be set for the transient. + +[<expiration] +: Time until expiration, in seconds. ### GLOBAL PARAMETERS @@ -33,7 +40,7 @@ title: 'wp transient set' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/transient/type/index.md b/commands/transient/type/index.md index 3de69a00..821c805f 100644 --- a/commands/transient/type/index.md +++ b/commands/transient/type/index.md @@ -33,7 +33,7 @@ title: 'wp transient type' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/user/add-cap/index.md b/commands/user/add-cap/index.md index 9c9ce2df..1c985394 100644 --- a/commands/user/add-cap/index.md +++ b/commands/user/add-cap/index.md @@ -44,7 +44,7 @@ title: 'wp user add-cap' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/user/add-role/index.md b/commands/user/add-role/index.md index 8659cf7d..76d12742 100644 --- a/commands/user/add-role/index.md +++ b/commands/user/add-role/index.md @@ -44,7 +44,7 @@ title: 'wp user add-role' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/user/create/index.md b/commands/user/create/index.md index 19a40ab7..735c74f2 100644 --- a/commands/user/create/index.md +++ b/commands/user/create/index.md @@ -67,7 +67,7 @@ title: 'wp user create' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/user/delete/index.md b/commands/user/delete/index.md index 2523c40e..7a4c22dd 100644 --- a/commands/user/delete/index.md +++ b/commands/user/delete/index.md @@ -19,7 +19,7 @@ title: 'wp user delete' : User ID to reassign the posts to. [\--yes] -: Answer yes to any confirmation propmts. +: Answer yes to any confirmation prompts. ### EXAMPLES @@ -50,7 +50,7 @@ title: 'wp user delete' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/user/generate/index.md b/commands/user/generate/index.md index 695e8df7..059a92fd 100644 --- a/commands/user/generate/index.md +++ b/commands/user/generate/index.md @@ -39,7 +39,7 @@ title: 'wp user generate' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/user/get/index.md b/commands/user/get/index.md index eef66f00..526e7dc3 100644 --- a/commands/user/get/index.md +++ b/commands/user/get/index.md @@ -51,7 +51,7 @@ title: 'wp user get' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/user/import-csv/index.md b/commands/user/import-csv/index.md index 6485fb2e..adfb3420 100644 --- a/commands/user/import-csv/index.md +++ b/commands/user/import-csv/index.md @@ -54,7 +54,7 @@ title: 'wp user import-csv' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/user/index.md b/commands/user/index.md index 93420410..062299b5 100644 --- a/commands/user/index.md +++ b/commands/user/index.md @@ -33,7 +33,7 @@ title: 'wp user' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/user/list-caps/index.md b/commands/user/list-caps/index.md index 6c5e87b8..f04f063b 100644 --- a/commands/user/list-caps/index.md +++ b/commands/user/list-caps/index.md @@ -41,7 +41,7 @@ title: 'wp user list-caps' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/user/list/index.md b/commands/user/list/index.md index 818c2838..8e0e11a6 100644 --- a/commands/user/list/index.md +++ b/commands/user/list/index.md @@ -84,7 +84,7 @@ These fields are optionally available: Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/user/meta/add/index.md b/commands/user/meta/add/index.md index 05451a76..2ef68a9e 100644 --- a/commands/user/meta/add/index.md +++ b/commands/user/meta/add/index.md @@ -16,6 +16,9 @@ title: 'wp user meta add' <value> : The new metadata value. +[\--format=<format>] +: The serialization format for the value. Default is plaintext. + ### GLOBAL PARAMETERS \--path=<path> @@ -40,7 +43,7 @@ title: 'wp user meta add' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/user/meta/delete/index.md b/commands/user/meta/delete/index.md index d8b798a5..56d0389c 100644 --- a/commands/user/meta/delete/index.md +++ b/commands/user/meta/delete/index.md @@ -40,7 +40,7 @@ title: 'wp user meta delete' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/user/meta/get/index.md b/commands/user/meta/get/index.md index 112aecd0..9ae4955b 100644 --- a/commands/user/meta/get/index.md +++ b/commands/user/meta/get/index.md @@ -42,7 +42,7 @@ title: 'wp user meta get' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/user/meta/index.md b/commands/user/meta/index.md index a113c97a..8cbb9196 100644 --- a/commands/user/meta/index.md +++ b/commands/user/meta/index.md @@ -42,7 +42,7 @@ title: 'wp user meta' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/user/meta/list/index.md b/commands/user/meta/list/index.md index d0df5f4a..eef4b596 100644 --- a/commands/user/meta/list/index.md +++ b/commands/user/meta/list/index.md @@ -43,7 +43,7 @@ title: 'wp user meta list' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/user/meta/update/index.md b/commands/user/meta/update/index.md index a4711559..71ae6722 100644 --- a/commands/user/meta/update/index.md +++ b/commands/user/meta/update/index.md @@ -16,6 +16,9 @@ title: 'wp user meta update' <value> : The new metadata value. +[\--format=<format>] +: The serialization format for the value. Default is plaintext. + ### GLOBAL PARAMETERS \--path=<path> @@ -40,7 +43,7 @@ title: 'wp user meta update' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/user/remove-cap/index.md b/commands/user/remove-cap/index.md index 4606a433..57d3abe3 100644 --- a/commands/user/remove-cap/index.md +++ b/commands/user/remove-cap/index.md @@ -44,7 +44,7 @@ title: 'wp user remove-cap' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/user/remove-role/index.md b/commands/user/remove-role/index.md index f0b0f797..9f411958 100644 --- a/commands/user/remove-role/index.md +++ b/commands/user/remove-role/index.md @@ -44,7 +44,7 @@ title: 'wp user remove-role' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/user/set-role/index.md b/commands/user/set-role/index.md index 10224787..95749eec 100644 --- a/commands/user/set-role/index.md +++ b/commands/user/set-role/index.md @@ -45,7 +45,7 @@ used. Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/user/term/add/index.md b/commands/user/term/add/index.md index e4fa9342..a75d96b2 100644 --- a/commands/user/term/add/index.md +++ b/commands/user/term/add/index.md @@ -40,7 +40,7 @@ title: 'wp user term add' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/user/term/index.md b/commands/user/term/index.md index 6789376e..c2c9bbce 100644 --- a/commands/user/term/index.md +++ b/commands/user/term/index.md @@ -35,7 +35,7 @@ title: 'wp user term' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/user/term/list/index.md b/commands/user/term/list/index.md index 0ad5469d..25bc6231 100644 --- a/commands/user/term/list/index.md +++ b/commands/user/term/list/index.md @@ -60,7 +60,7 @@ These fields are optionally available: Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/user/term/remove/index.md b/commands/user/term/remove/index.md index 994801c6..45e03405 100644 --- a/commands/user/term/remove/index.md +++ b/commands/user/term/remove/index.md @@ -40,7 +40,7 @@ title: 'wp user term remove' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/user/term/set/index.md b/commands/user/term/set/index.md index 9cee5d7f..cf0fd499 100644 --- a/commands/user/term/set/index.md +++ b/commands/user/term/set/index.md @@ -40,7 +40,7 @@ title: 'wp user term set' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/user/update/index.md b/commands/user/update/index.md index 255c039c..78c9800a 100644 --- a/commands/user/update/index.md +++ b/commands/user/update/index.md @@ -43,7 +43,7 @@ title: 'wp user update' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/widget/add/index.md b/commands/widget/add/index.md index 8704bdd8..55aa70ec 100644 --- a/commands/widget/add/index.md +++ b/commands/widget/add/index.md @@ -47,7 +47,7 @@ title: 'wp widget add' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/widget/deactivate/index.md b/commands/widget/deactivate/index.md index ccd0c4a4..1378a092 100644 --- a/commands/widget/deactivate/index.md +++ b/commands/widget/deactivate/index.md @@ -38,7 +38,7 @@ title: 'wp widget deactivate' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/widget/delete/index.md b/commands/widget/delete/index.md index a3f93a15..80748050 100644 --- a/commands/widget/delete/index.md +++ b/commands/widget/delete/index.md @@ -38,7 +38,7 @@ title: 'wp widget delete' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/widget/index.md b/commands/widget/index.md index b405b378..8b73cbb5 100644 --- a/commands/widget/index.md +++ b/commands/widget/index.md @@ -45,7 +45,7 @@ title: 'wp widget' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/widget/list/index.md b/commands/widget/list/index.md index a3f288fa..a25f16e0 100644 --- a/commands/widget/list/index.md +++ b/commands/widget/list/index.md @@ -55,7 +55,7 @@ There are no optionally available fields. Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/widget/move/index.md b/commands/widget/move/index.md index 56ae8ab1..c8c0585f 100644 --- a/commands/widget/move/index.md +++ b/commands/widget/move/index.md @@ -46,7 +46,7 @@ title: 'wp widget move' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments diff --git a/commands/widget/update/index.md b/commands/widget/update/index.md index 47da7c22..f69dc3fa 100644 --- a/commands/widget/update/index.md +++ b/commands/widget/update/index.md @@ -41,7 +41,7 @@ title: 'wp widget update' Whether to colorize the output \--debug - Show all PHP errors + Show all PHP errors; add verbosity to WP-CLI bootstrap \--prompt Prompt the user to enter values for all command arguments From 2babdde497247ea7c07a20ced32718ef62d9d916 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 4 Nov 2015 16:22:33 -0800 Subject: [PATCH 403/839] Add release post for v0.21.0 --- _posts/2015-11-04-version-0.21.0.md | 101 ++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 _posts/2015-11-04-version-0.21.0.md diff --git a/_posts/2015-11-04-version-0.21.0.md b/_posts/2015-11-04-version-0.21.0.md new file mode 100644 index 00000000..09ce4664 --- /dev/null +++ b/_posts/2015-11-04-version-0.21.0.md @@ -0,0 +1,101 @@ +--- +layout: post +author: danielbachhuber +title: Version 0.21.0 released +--- + +It's been a pretty crazy week so far, and it's only Wednesday. + +As many of you are aware of, I launched a Kickstarter campaign Monday night: [A more RESTful WP-CLI](https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli). Incredibly, it was 100% funded in just under 12 hours. Check out the link for more details on what I'll be working on in early 2016. + +But, I have an even more **important note** about supported WordPress versions: + +* WP-CLI v0.22.0 (the next release) will bump the minimum supported WordPress version from 3.5 to 3.7 ([background](https://github.com/wp-cli/wp-cli/issues/2134)). +* WP-CLI versions prior to 0.20.3 will be incompatible with WordPress 4.4 ([background](http://wp-cli.org/blog/version-0.20.3.html)). + +This important note may apply to you in some way -- please take action accordingly. + +WP-CLI v0.21.0 represents [109 resolved issues and pull requests](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.21.0+is%3Aclosed). Here's what's new. + +### Load WordPress with `WP_CLI::get_runner()->load_wordpress();` + +For a while now, you've been able to run a WP-CLI command before WordPress loads by adding `@when before_wp_load` to your command docs. Now, you can load WordPress that same command. + +See how `wp eval` makes use of `WP_CLI::get_runner()->load_wordpress()`: + + class Eval_Command extends WP_CLI_Command { + public function __invoke( $args, $assoc_args ) { + if ( null === \WP_CLI\Utils\get_flag_value( $assoc_args, 'skip-wordpress' ) ) { + WP_CLI::get_runner()->load_wordpress(); + } + eval( $args[0] ); + } + } + +Use `wp eval --skip-wordpress ` to execute PHP without loading WordPress. Or, use `wp eval-file --skip-wordpress ` to, say, execute a quick and dirty script leveraging WP-CLI utilities without needing a WordPress install present. + +Similarly, when you specify a `--version=` with `wp core verify-checksums`, WP-CLI will check to ensure core files haven't been modified -- without loading WordPress. + +Creating this new feature was almost like replacing the engine on a moving car. + +### More verbosity from `--debug` + +When you supply the `--debug` flag, you'll get more context into how WP-CLI is executing your command. + +Before: + + $ wp option get home --debug + http://wordpress-test.dev + +After: + + $ wp option get home --debug + Debug: Using default global config: /home/vagrant/.wp-cli/config.yml (0.026s) + Debug: No project config found (0.027s) + Debug: Required file from config: /srv/www/wp-rest-cli/wp-rest-cli.php (0.059s) + Debug: ABSPATH defined: /srv/www/wordpress-test.dev/ (0.06s) + Debug: Begin WordPress load (0.063s) + Debug: wp-config.php path: /srv/www/wordpress-test.dev/wp-config.php (0.065s) + Debug: Set URL: wordpress-test.dev/ (0.066s) + Debug: Loaded WordPress (0.515s) + Debug: Running command: option get (0.516s) + http://wordpress-test.dev + +Make your own commands more helpful by including `WP_CLI::debug( $debug_message );` at key checkpoints. + +### Other changes in v0.21.0 + +Enhancements: + +* Use `wp core update-db --network` to upgrade databases across an entire network; also improves verbosity for this command by providing the `from` and `to` database versions. +* Adds a `wp comment recount` command for recalcuating a post's comment count. +* Includes `wp taxonomy list`, `wp taxonomy get`, `wp post-type list` and `wp post-type get` for getting details about registered taxonomies and post types. +* Use `--defer-term-counting` with `wp post update` or `wp post delete` to recalculate term count at the end of the operation for increased performance. +* Returns a more useful error message when running `wp scaffold plugin-tests` with an invalid plugin slug. +* In `wp theme list`, indicates a parent theme by setting the `status=parent`. This more clearly distinguishes between a genuinely inactive theme vs. an "inactive" theme being used as a parent theme. +* Displays error message when trying to use `wp rewrite flush --hard` on a multisite install, because WordPress doesn't generate a `.htaccess` file for multisite installs. +* Permits `--path` for `wp core download`, even when WP is detected. This lets a custom WP-CLI command download WP to a subdirectory, when loaded from the scope of an existing WP install. +* Adds `--post_type__not_in` argument to `wp export`, which can now produce an export without, say, `feedbacks`. +* Permits space-delimited IDs for `wp export --post__in`. This makes it easier to pass IDs returned by `wp post list --format=ids`. +* Includes an `.editorconfig` when using `wp scaffold plugin`. +* Newly-generated `install-wp-tests.sh` files support `$WP_VERSION=trunk` or `$WP_VERSION=nightly` for running your plugin tests against WordPress trunk. +* Warns user when `wp-config.php` isn't writable for `wp core multisite-convert`. +* Provides a more helpful error message when an invalid subcommand has a valid parent command. +* Supports using WP-CLI on a WordPress instance backed by APC cache, but only after warning and requiring confirmation. +* Sniffs out the custom vendor path if WP-CLI is a part of a larger Composer project. +* Deprecates `wp post url` in favor of `wp post list --field=url`, but includes a backwards compatability shim for `wp post url`. +* Supports `--autoload=(yes|no)` when using `wp option update` (requires WordPress 4.2). +* Supports multiple comment ids for `wp comment (spam|trash|approve)`. +* Paginates help output on Windows using `more`. +* Provides human-friendly output when rewrite rules successfully flush. + +Bug fixes: + +* Generic arguments are no longer required for `wp post create` and `wp comment create`, allowing use of those commands without supplying, say, a title. +* Accepts associative args with no right-side data. +* Exhausts all possible options when looking for PHP binary with `wp cli update`. Previously, WP-CLI would try to call `php` directly, which would fail on systems where PHP wasn't exposed as such. +* Accommodates `wp_new_user_notification()`'s deprecated second argument, depending on WordPress version. + +You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.21.0+is%3Aclosed) on Github. + +Contributors to this release: [aaemnnosttv](https://github.com/aaemnnosttv), [borekb](https://github.com/borekb), [danielbachhuber](https://github.com/danielbachhuber), [gmcinnes](https://github.com/gmcinnes), [JRGould](https://github.com/JRGould), [johnbillion](https://github.com/johnbillion), [kraftbj](https://github.com/kraftbj), [miya0001](https://github.com/miya0001), [ntwb](https://github.com/ntwb), [rodrigoprimo](https://github.com/rodrigoprimo), [rmccue](https://github.com/rmccue) [szepeviktor](https://github.com/szepeviktor), [torounit](https://github.com/torounit), [voldemortensen](https://github.com/voldemortensen), [ypid](https://github.com/ypid) From c9cfed23d73c31255a442e77f795b1349568745c Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 4 Nov 2015 16:29:46 -0800 Subject: [PATCH 404/839] Correct formatting; improve language --- _posts/2015-11-04-version-0.21.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/_posts/2015-11-04-version-0.21.0.md b/_posts/2015-11-04-version-0.21.0.md index 09ce4664..dd25f292 100644 --- a/_posts/2015-11-04-version-0.21.0.md +++ b/_posts/2015-11-04-version-0.21.0.md @@ -25,10 +25,10 @@ See how `wp eval` makes use of `WP_CLI::get_runner()->load_wordpress()`: class Eval_Command extends WP_CLI_Command { public function __invoke( $args, $assoc_args ) { - if ( null === \WP_CLI\Utils\get_flag_value( $assoc_args, 'skip-wordpress' ) ) { + if ( null === Utils\get_flag_value( $assoc_args, 'skip-wordpress' ) ) { WP_CLI::get_runner()->load_wordpress(); } - eval( $args[0] ); + eval( $args[0] ); } } @@ -38,7 +38,7 @@ Similarly, when you specify a `--version=` with `wp core verify-checksu Creating this new feature was almost like replacing the engine on a moving car. -### More verbosity from `--debug` +### More verbosity with `--debug` When you supply the `--debug` flag, you'll get more context into how WP-CLI is executing your command. From 8e30fbe1e2a9f42c071ed3a57ae3462c3283cd7e Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 5 Nov 2015 07:01:55 -0800 Subject: [PATCH 405/839] Include the PHPdoc, as it's helpful --- _posts/2015-11-04-version-0.21.0.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/_posts/2015-11-04-version-0.21.0.md b/_posts/2015-11-04-version-0.21.0.md index dd25f292..f8e2e3ab 100644 --- a/_posts/2015-11-04-version-0.21.0.md +++ b/_posts/2015-11-04-version-0.21.0.md @@ -24,6 +24,22 @@ For a while now, you've been able to run a WP-CLI command before WordPress loads See how `wp eval` makes use of `WP_CLI::get_runner()->load_wordpress()`: class Eval_Command extends WP_CLI_Command { + + /** + * Execute arbitrary PHP code. + * + * + * : The code to execute, as a string. + * + * [--skip-wordpress] + * : Execute code without loading WordPress. + * + * @when before_wp_load + * + * ## EXAMPLES + * + * wp eval 'echo WP_CONTENT_DIR;' + */ public function __invoke( $args, $assoc_args ) { if ( null === Utils\get_flag_value( $assoc_args, 'skip-wordpress' ) ) { WP_CLI::get_runner()->load_wordpress(); From cd8fad3172e8aa9e7d1a288dafde8592c30420ae Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 23 Nov 2015 05:46:33 -0800 Subject: [PATCH 406/839] Release notes for v0.21.1 and v0.20.4 --- _posts/2015-11-23-versions-0.21.1-and-0.20.4.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 _posts/2015-11-23-versions-0.21.1-and-0.20.4.md diff --git a/_posts/2015-11-23-versions-0.21.1-and-0.20.4.md b/_posts/2015-11-23-versions-0.21.1-and-0.20.4.md new file mode 100644 index 00000000..bbac3eb7 --- /dev/null +++ b/_posts/2015-11-23-versions-0.21.1-and-0.20.4.md @@ -0,0 +1,13 @@ +--- +layout: post +author: danielbachhuber +title: Versions 0.21.1 and 0.20.4 released +--- + +WordPress 4.4 loads a few new fileseven more files in `wp-settings.php`. Because WP-CLI has a custom `wp-settings-cli.php` ([background](http://wp-cli.org/blog/how-wp-cli-loads-wordpress.html)), WP-CLI v0.21.1 and v0.20.4 are compatibility releases to load these new files. + +**Importantly, due to the nature of these changes, WP-CLI versions prior to 0.20.4 will be incompatible with WordPress 4.4.** + +Inspect the nature of the change in [this pull request](https://github.com/wp-cli/wp-cli/pull/2218). + +Contributors to this release: [danielbachhuber](https://github.com/danielbachhuber) From d1c973574945bca5a8915588a04f40c3fd2e2f53 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 23 Nov 2015 06:17:41 -0800 Subject: [PATCH 407/839] Wee bit of space --- _posts/2015-11-23-versions-0.21.1-and-0.20.4.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2015-11-23-versions-0.21.1-and-0.20.4.md b/_posts/2015-11-23-versions-0.21.1-and-0.20.4.md index bbac3eb7..d4f3a492 100644 --- a/_posts/2015-11-23-versions-0.21.1-and-0.20.4.md +++ b/_posts/2015-11-23-versions-0.21.1-and-0.20.4.md @@ -4,7 +4,7 @@ author: danielbachhuber title: Versions 0.21.1 and 0.20.4 released --- -WordPress 4.4 loads a few new fileseven more files in `wp-settings.php`. Because WP-CLI has a custom `wp-settings-cli.php` ([background](http://wp-cli.org/blog/how-wp-cli-loads-wordpress.html)), WP-CLI v0.21.1 and v0.20.4 are compatibility releases to load these new files. +WordPress 4.4 loads a few new files even more files in `wp-settings.php`. Because WP-CLI has a custom `wp-settings-cli.php` ([background](http://wp-cli.org/blog/how-wp-cli-loads-wordpress.html)), WP-CLI v0.21.1 and v0.20.4 are compatibility releases to load these new files. **Importantly, due to the nature of these changes, WP-CLI versions prior to 0.20.4 will be incompatible with WordPress 4.4.** From ed1c6f9fde8a462bf552b8ea74c4da17cfd6b618 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 1 Dec 2015 15:10:01 -0800 Subject: [PATCH 408/839] First draft at survey results blog post --- _posts/2015-12-01-survey-results-2015.md | 66 ++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 _posts/2015-12-01-survey-results-2015.md diff --git a/_posts/2015-12-01-survey-results-2015.md b/_posts/2015-12-01-survey-results-2015.md new file mode 100644 index 00000000..289b7343 --- /dev/null +++ b/_posts/2015-12-01-survey-results-2015.md @@ -0,0 +1,66 @@ +--- +layout: post +author: danielbachhuber +title: What the survey said, 2015 edition +--- + +Many thanks to the 206 (!!!) people who took our second user survey. We appreciate your time in helping us understand how WP-CLI is being adopted by the community. Take a look at the [summary of the first user survey in April 2014](http://wp-cli.org/blog/survey-results.html) to compare results. + +### By the numbers + +**85% of respondents use WP-CLI actively** + +Of the 85%, 48% use WP-CLI multiple times per day and 37% use it a couple or few times per week. Only 15% of respondents use WP-CLI infrequently or rarely. + +94% of respondents use WP-CLI interactively at the command line, 66% have incorporated it into bash scripts, and 23% are using WP-CLI with Puppet, Chef, or another provisioning system. Other tools used with WP-CLI include: [Capistrano](http://capistranorb.com/), [Codeception](http://codeception.com/), [EasyEngine](https://easyengine.io/), [Fabric](http://www.fabfile.org/), [Grunt](http://gruntjs.com/), and [SaltStack](http://saltstack.com/). + +**Most keep WP-CLI up to date** + +Over 70% of respondents keep WP-CLI up to date. Here's how the numbers break down: + +* 13% run the latest alpha. You can too with `wp cli update --nightly`. +* 58% use the latest stable release (v0.20.x at time of survey). +* 24% are using one or two versions below the latest stable, and only 5% use a version beyond that. + +Good news — If you're writing custom commands, you can reasonably assume it's safe to use the latest features in WP-CLI. + +**WP-CLI is used for an increasing variety of tasks** + +The survey included "What do you use WP-CLI for?" as a free-form field. To produce a statistical summary, I tagged each response with keywords. Of 170 interpreted values: + +* 38% (65) use WP-CLI for updating WordPress core, themes, or plugins. +* 22% (38) transform their database in some way using `wp search-replace`. +* 17% (29) rely upon WP-CLI when performing migrations. +* 15% (26) make use of WP-CLI's database management features: export, import and optimization. +* 11% (18) depend upon WP-CLI in provisioning scripts. +* 10% (17) scaffold new themes and plugins with `wp scaffold`. +* 9% (16) write custom commands for their own needs. +* 6% (10) generate posts, users and comments for mock data. +* 3% (5) hearty souls use `wp shell`, `wp eval`, and `wp eval-file` for debugging and quick scripts. + +In no particular order, some third-party commands and workflows mentioned include: [Jetpack CLI](https://jetpack.me/support/jetpack-cli/), [WP Parser](https://github.com/WordPress/phpdoc-parser), [ElasticPress](https://github.com/10up/ElasticPress), [WP Migrate DB Pro](https://deliciousbrains.com/wp-migrate-db-pro/doc/cli-addon/), [WP CFM](http://forumone.github.io/wp-cfm/), [BackWPUp](https://github.com/inpsyde/backwpup), [wp-cli-ssh](https://github.com/xwp/wp-cli-ssh), [wp-instant-setup](https://github.com/miya0001/wp-instant-setup), [project-template-wordpress](https://github.com/QoboLtd/project-template-wordpress), and [provisioning a new WordPress.org Theme Review environment](http://th-daily.shinichi.me/2014/10/27/memo-wp-cli-commands-for-the-theme-reviewers/). + +One person mentioned they use WP-CLI to make coffee. On behalf of everyone, I look forward to one day seeing this command in the [package directory](https://github.com/wp-cli/wp-cli/issues/1564). + +### Feature requests + +Feel like contributing to WP-CLI over the holidays? Here's a grab bag of enhancements you could work on: + +* Better documentation (internals, extending, common workflows). +* One single uber-command to install WordPress, including downloading files, creating the MySQL database, setting up wp-config.php, and populating database tables. +* Suggest correct syntax when a command is incorrectly entered (e.g. `git staus`). +* Improved support for managing multiple networks: `wp network list`, `wp network create`. +* Install plugins favorited by a given WordPress.org user. +* Verify theme and plugin checksums. +* Report when extra files are present in wp-admin or wp-includes (e.g. checksums of directories) +* Save a template of WordPress setup (similar to `grunt {my-task}`). +* Disable all plugins except for a specific one. Or, load WP-CLI with only a given plugin active. +* Install WordPress nightly builds without needing the beta plugin. +* Provide a command to execute WP-Cron without requiring a HTTP request. +* Define custom scaffolds for themes and plugins. +* Generate posts, pages from a sitemap CSV. +* Magically migrate data between environments (production -> staging). +* Add option to exclude specific tables in `wp search-replace`. +* Provide a way to log in with a one-time link. + +Thanks again to everyone who took the time to complete our user survey. Hope you've found these results a source of tips and inspiration. From 7cc279891ce9e04f04dbdfcd09cdaa8a058d9d5c Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 1 Dec 2015 15:12:20 -0800 Subject: [PATCH 409/839] Language tweask --- _posts/2015-12-01-survey-results-2015.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/_posts/2015-12-01-survey-results-2015.md b/_posts/2015-12-01-survey-results-2015.md index 289b7343..0a661472 100644 --- a/_posts/2015-12-01-survey-results-2015.md +++ b/_posts/2015-12-01-survey-results-2015.md @@ -4,7 +4,9 @@ author: danielbachhuber title: What the survey said, 2015 edition --- -Many thanks to the 206 (!!!) people who took our second user survey. We appreciate your time in helping us understand how WP-CLI is being adopted by the community. Take a look at the [summary of the first user survey in April 2014](http://wp-cli.org/blog/survey-results.html) to compare results. +Many thanks to the 206 (!!!) people who took our second user survey. We appreciate your time in helping us to understand how WP-CLI is being adopted by the community. + +Curious as to how the numbers have changed? Take a look at the [summary of the first user survey in April 2014](http://wp-cli.org/blog/survey-results.html). ### By the numbers From b291930412a5fcc396b484e30c393934978460ec Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 1 Dec 2015 15:14:18 -0800 Subject: [PATCH 410/839] Language tweaks --- _posts/2015-12-01-survey-results-2015.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/_posts/2015-12-01-survey-results-2015.md b/_posts/2015-12-01-survey-results-2015.md index 0a661472..e8e7e65f 100644 --- a/_posts/2015-12-01-survey-results-2015.md +++ b/_posts/2015-12-01-survey-results-2015.md @@ -6,15 +6,15 @@ title: What the survey said, 2015 edition Many thanks to the 206 (!!!) people who took our second user survey. We appreciate your time in helping us to understand how WP-CLI is being adopted by the community. -Curious as to how the numbers have changed? Take a look at the [summary of the first user survey in April 2014](http://wp-cli.org/blog/survey-results.html). +Curious as to how the numbers have changed? Take a look at the [summary of the first user survey](http://wp-cli.org/blog/survey-results.html) from April 2014. ### By the numbers -**85% of respondents use WP-CLI actively** +**85% of respondents use WP-CLI regularly** -Of the 85%, 48% use WP-CLI multiple times per day and 37% use it a couple or few times per week. Only 15% of respondents use WP-CLI infrequently or rarely. +Of this 85%, 48% use WP-CLI multiple times per day. 37% use it a couple or few times per week. Only 15% of respondents use WP-CLI infrequently or rarely. -94% of respondents use WP-CLI interactively at the command line, 66% have incorporated it into bash scripts, and 23% are using WP-CLI with Puppet, Chef, or another provisioning system. Other tools used with WP-CLI include: [Capistrano](http://capistranorb.com/), [Codeception](http://codeception.com/), [EasyEngine](https://easyengine.io/), [Fabric](http://www.fabfile.org/), [Grunt](http://gruntjs.com/), and [SaltStack](http://saltstack.com/). +94% of respondents use WP-CLI interactively at the command line, 66% have incorporated it into bash scripts, and 23% are using WP-CLI with Puppet, Chef, or another provisioning system. Other tools mentioned include: [Capistrano](http://capistranorb.com/), [Codeception](http://codeception.com/), [EasyEngine](https://easyengine.io/), [Fabric](http://www.fabfile.org/), [Grunt](http://gruntjs.com/), and [SaltStack](http://saltstack.com/). **Most keep WP-CLI up to date** From beffcccfd394fc4f845150b53cb5cfda83bae0d5 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 1 Dec 2015 15:16:08 -0800 Subject: [PATCH 411/839] Language tweaks --- _posts/2015-12-01-survey-results-2015.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/_posts/2015-12-01-survey-results-2015.md b/_posts/2015-12-01-survey-results-2015.md index e8e7e65f..7021ebce 100644 --- a/_posts/2015-12-01-survey-results-2015.md +++ b/_posts/2015-12-01-survey-results-2015.md @@ -16,15 +16,15 @@ Of this 85%, 48% use WP-CLI multiple times per day. 37% use it a couple or few t 94% of respondents use WP-CLI interactively at the command line, 66% have incorporated it into bash scripts, and 23% are using WP-CLI with Puppet, Chef, or another provisioning system. Other tools mentioned include: [Capistrano](http://capistranorb.com/), [Codeception](http://codeception.com/), [EasyEngine](https://easyengine.io/), [Fabric](http://www.fabfile.org/), [Grunt](http://gruntjs.com/), and [SaltStack](http://saltstack.com/). -**Most keep WP-CLI up to date** +**Most users keep WP-CLI up to date** Over 70% of respondents keep WP-CLI up to date. Here's how the numbers break down: * 13% run the latest alpha. You can too with `wp cli update --nightly`. * 58% use the latest stable release (v0.20.x at time of survey). -* 24% are using one or two versions below the latest stable, and only 5% use a version beyond that. +* 24% are using one or two versions below the latest stable. Only 5% use a very old version of WP-CLI. -Good news — If you're writing custom commands, you can reasonably assume it's safe to use the latest features in WP-CLI. +Good news — if you're writing custom commands, you can reasonably assume it's safe to use the latest features in WP-CLI. **WP-CLI is used for an increasing variety of tasks** From 9c101da599cd4542a9771a8318a087cf1d7c767b Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 1 Dec 2015 15:18:16 -0800 Subject: [PATCH 412/839] Language tweaks --- _posts/2015-12-01-survey-results-2015.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/_posts/2015-12-01-survey-results-2015.md b/_posts/2015-12-01-survey-results-2015.md index 7021ebce..6ca29c13 100644 --- a/_posts/2015-12-01-survey-results-2015.md +++ b/_posts/2015-12-01-survey-results-2015.md @@ -28,16 +28,16 @@ Good news — if you're writing custom commands, you can reasonably assume it's **WP-CLI is used for an increasing variety of tasks** -The survey included "What do you use WP-CLI for?" as a free-form field. To produce a statistical summary, I tagged each response with keywords. Of 170 interpreted values: +Like last year, the survey included "What do you use WP-CLI for?" as a free-form field. To produce a statistical summary, I tagged each response with keywords. Of 170 interpreted values: * 38% (65) use WP-CLI for updating WordPress core, themes, or plugins. * 22% (38) transform their database in some way using `wp search-replace`. * 17% (29) rely upon WP-CLI when performing migrations. -* 15% (26) make use of WP-CLI's database management features: export, import and optimization. +* 15% (26) make use of WP-CLI's database management features: `wp db export`, `wp db import` and `wp db optimize`. * 11% (18) depend upon WP-CLI in provisioning scripts. * 10% (17) scaffold new themes and plugins with `wp scaffold`. * 9% (16) write custom commands for their own needs. -* 6% (10) generate posts, users and comments for mock data. +* 6% (10) generate mock posts, users and comments. * 3% (5) hearty souls use `wp shell`, `wp eval`, and `wp eval-file` for debugging and quick scripts. In no particular order, some third-party commands and workflows mentioned include: [Jetpack CLI](https://jetpack.me/support/jetpack-cli/), [WP Parser](https://github.com/WordPress/phpdoc-parser), [ElasticPress](https://github.com/10up/ElasticPress), [WP Migrate DB Pro](https://deliciousbrains.com/wp-migrate-db-pro/doc/cli-addon/), [WP CFM](http://forumone.github.io/wp-cfm/), [BackWPUp](https://github.com/inpsyde/backwpup), [wp-cli-ssh](https://github.com/xwp/wp-cli-ssh), [wp-instant-setup](https://github.com/miya0001/wp-instant-setup), [project-template-wordpress](https://github.com/QoboLtd/project-template-wordpress), and [provisioning a new WordPress.org Theme Review environment](http://th-daily.shinichi.me/2014/10/27/memo-wp-cli-commands-for-the-theme-reviewers/). From 43271123d894d2741146d6d08a78cf47fb0bce29 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 1 Dec 2015 15:19:51 -0800 Subject: [PATCH 413/839] Language tweaks --- _posts/2015-12-01-survey-results-2015.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/_posts/2015-12-01-survey-results-2015.md b/_posts/2015-12-01-survey-results-2015.md index 6ca29c13..675ab034 100644 --- a/_posts/2015-12-01-survey-results-2015.md +++ b/_posts/2015-12-01-survey-results-2015.md @@ -38,11 +38,11 @@ Like last year, the survey included "What do you use WP-CLI for?" as a free-form * 10% (17) scaffold new themes and plugins with `wp scaffold`. * 9% (16) write custom commands for their own needs. * 6% (10) generate mock posts, users and comments. -* 3% (5) hearty souls use `wp shell`, `wp eval`, and `wp eval-file` for debugging and quick scripts. +* 3% (5) are hearty souls who use `wp shell`, `wp eval`, and `wp eval-file` for debugging and quick scripts. -In no particular order, some third-party commands and workflows mentioned include: [Jetpack CLI](https://jetpack.me/support/jetpack-cli/), [WP Parser](https://github.com/WordPress/phpdoc-parser), [ElasticPress](https://github.com/10up/ElasticPress), [WP Migrate DB Pro](https://deliciousbrains.com/wp-migrate-db-pro/doc/cli-addon/), [WP CFM](http://forumone.github.io/wp-cfm/), [BackWPUp](https://github.com/inpsyde/backwpup), [wp-cli-ssh](https://github.com/xwp/wp-cli-ssh), [wp-instant-setup](https://github.com/miya0001/wp-instant-setup), [project-template-wordpress](https://github.com/QoboLtd/project-template-wordpress), and [provisioning a new WordPress.org Theme Review environment](http://th-daily.shinichi.me/2014/10/27/memo-wp-cli-commands-for-the-theme-reviewers/). +In no particular order, here are some third-party commands and workflows mentioned: [Jetpack CLI](https://jetpack.me/support/jetpack-cli/), [WP Parser](https://github.com/WordPress/phpdoc-parser), [ElasticPress](https://github.com/10up/ElasticPress), [WP Migrate DB Pro](https://deliciousbrains.com/wp-migrate-db-pro/doc/cli-addon/), [WP CFM](http://forumone.github.io/wp-cfm/), [BackWPUp](https://github.com/inpsyde/backwpup), [wp-cli-ssh](https://github.com/xwp/wp-cli-ssh), [wp-instant-setup](https://github.com/miya0001/wp-instant-setup), [project-template-wordpress](https://github.com/QoboLtd/project-template-wordpress), and [provisioning a new WordPress.org Theme Review environment](http://th-daily.shinichi.me/2014/10/27/memo-wp-cli-commands-for-the-theme-reviewers/). -One person mentioned they use WP-CLI to make coffee. On behalf of everyone, I look forward to one day seeing this command in the [package directory](https://github.com/wp-cli/wp-cli/issues/1564). +One person said they use WP-CLI to make coffee. On behalf of everyone, I look forward to the day I can install this command from the [package directory](https://github.com/wp-cli/wp-cli/issues/1564). ### Feature requests From fc0ce301e2b34fdb7ea6bf2663f6558f47346fad Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 1 Dec 2015 15:21:27 -0800 Subject: [PATCH 414/839] Language tweaks --- _posts/2015-12-01-survey-results-2015.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/_posts/2015-12-01-survey-results-2015.md b/_posts/2015-12-01-survey-results-2015.md index 675ab034..7e4678e2 100644 --- a/_posts/2015-12-01-survey-results-2015.md +++ b/_posts/2015-12-01-survey-results-2015.md @@ -55,7 +55,7 @@ Feel like contributing to WP-CLI over the holidays? Here's a grab bag of enhance * Install plugins favorited by a given WordPress.org user. * Verify theme and plugin checksums. * Report when extra files are present in wp-admin or wp-includes (e.g. checksums of directories) -* Save a template of WordPress setup (similar to `grunt {my-task}`). +* Save a template of a WordPress setup (similar to `grunt {my-task}`). * Disable all plugins except for a specific one. Or, load WP-CLI with only a given plugin active. * Install WordPress nightly builds without needing the beta plugin. * Provide a command to execute WP-Cron without requiring a HTTP request. @@ -65,4 +65,6 @@ Feel like contributing to WP-CLI over the holidays? Here's a grab bag of enhance * Add option to exclude specific tables in `wp search-replace`. * Provide a way to log in with a one-time link. +If you can't find an [existing Github issue](https://github.com/wp-cli/wp-cli/issues), feel free to create one and we can begin discussing implementation. + Thanks again to everyone who took the time to complete our user survey. Hope you've found these results a source of tips and inspiration. From a937e1734bc4757edcca40816e81ff29a6eb08a2 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 1 Dec 2015 15:28:49 -0800 Subject: [PATCH 415/839] Language tweaks --- _posts/2015-12-01-survey-results-2015.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2015-12-01-survey-results-2015.md b/_posts/2015-12-01-survey-results-2015.md index 7e4678e2..efd59023 100644 --- a/_posts/2015-12-01-survey-results-2015.md +++ b/_posts/2015-12-01-survey-results-2015.md @@ -65,6 +65,6 @@ Feel like contributing to WP-CLI over the holidays? Here's a grab bag of enhance * Add option to exclude specific tables in `wp search-replace`. * Provide a way to log in with a one-time link. -If you can't find an [existing Github issue](https://github.com/wp-cli/wp-cli/issues), feel free to create one and we can begin discussing implementation. +If you can't find an [existing Github issue](https://github.com/wp-cli/wp-cli/issues), please create one and we can begin discussing implementation. -Thanks again to everyone who took the time to complete our user survey. Hope you've found these results a source of tips and inspiration. +Thanks again to everyone who took the time to complete our user survey! May WP-CLI continue to be a shining light for your WordPress development needs. From eabdad508b9eab28b6b87a07be7a0c9fa9255c63 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 1 Dec 2015 15:40:20 -0800 Subject: [PATCH 416/839] Link up the original post --- _posts/2015-12-01-survey-results-2015.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2015-12-01-survey-results-2015.md b/_posts/2015-12-01-survey-results-2015.md index efd59023..78400f1c 100644 --- a/_posts/2015-12-01-survey-results-2015.md +++ b/_posts/2015-12-01-survey-results-2015.md @@ -4,7 +4,7 @@ author: danielbachhuber title: What the survey said, 2015 edition --- -Many thanks to the 206 (!!!) people who took our second user survey. We appreciate your time in helping us to understand how WP-CLI is being adopted by the community. +Many thanks to the 206 (!!!) people who took our [second user survey](http://wp-cli.org/blog/user-survey-2015.html). We appreciate your time in helping us to understand how WP-CLI is being adopted by the community. Curious as to how the numbers have changed? Take a look at the [summary of the first user survey](http://wp-cli.org/blog/survey-results.html) from April 2014. From 99d5eed4e9830e0dbea0b6bc0df8edeeb33d3b6b Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 6 Jan 2016 14:55:08 -0800 Subject: [PATCH 417/839] Update generated docs for v0.22.0 --- commands/cache/add/index.md | 18 ++--- commands/cache/decr/index.md | 18 ++--- commands/cache/delete/index.md | 18 ++--- commands/cache/flush/index.md | 21 +++--- commands/cache/get/index.md | 18 ++--- commands/cache/incr/index.md | 18 ++--- commands/cache/index.md | 22 +++--- commands/cache/replace/index.md | 18 ++--- commands/cache/set/index.md | 18 ++--- commands/cache/type/index.md | 18 ++--- commands/cap/add/index.md | 18 ++--- commands/cap/index.md | 22 +++--- commands/cap/list/index.md | 18 ++--- commands/cap/remove/index.md | 18 ++--- commands/cli/check-update/index.md | 18 ++--- commands/cli/cmd-dump/index.md | 18 ++--- commands/cli/completions/index.md | 18 ++--- commands/cli/index.md | 20 +++--- commands/cli/info/index.md | 18 ++--- commands/cli/param-dump/index.md | 18 ++--- commands/cli/update/index.md | 18 ++--- commands/cli/version/index.md | 18 ++--- commands/comment/approve/index.md | 18 ++--- commands/comment/count/index.md | 18 ++--- commands/comment/create/index.md | 18 ++--- commands/comment/delete/index.md | 18 ++--- commands/comment/exists/index.md | 18 ++--- commands/comment/generate/index.md | 18 ++--- commands/comment/get/index.md | 18 ++--- commands/comment/index.md | 22 +++--- commands/comment/list/index.md | 18 ++--- commands/comment/meta/add/index.md | 18 ++--- commands/comment/meta/delete/index.md | 23 +++--- commands/comment/meta/get/index.md | 18 ++--- commands/comment/meta/index.md | 18 ++--- commands/comment/meta/list/index.md | 18 ++--- commands/comment/meta/update/index.md | 18 ++--- commands/comment/recount/index.md | 18 ++--- commands/comment/spam/index.md | 18 ++--- commands/comment/status/index.md | 18 ++--- commands/comment/trash/index.md | 18 ++--- commands/comment/unapprove/index.md | 18 ++--- commands/comment/unspam/index.md | 18 ++--- commands/comment/untrash/index.md | 18 ++--- commands/comment/update/index.md | 18 ++--- commands/comment/url/index.md | 18 ++--- commands/core/check-update/index.md | 18 ++--- commands/core/config/index.md | 18 ++--- commands/core/download/index.md | 18 ++--- commands/core/index.md | 20 +++--- commands/core/install/index.md | 21 +++--- commands/core/is-installed/index.md | 18 ++--- commands/core/language/activate/index.md | 18 ++--- commands/core/language/index.md | 18 ++--- commands/core/language/install/index.md | 18 ++--- commands/core/language/list/index.md | 18 ++--- commands/core/language/uninstall/index.md | 18 ++--- commands/core/language/update/index.md | 18 ++--- commands/core/multisite-convert/index.md | 18 ++--- commands/core/multisite-install/index.md | 21 +++--- commands/core/update-db/index.md | 21 +++--- commands/core/update/index.md | 23 +++--- commands/core/verify-checksums/index.md | 18 ++--- commands/core/version/index.md | 18 ++--- commands/cron/event/delete/index.md | 18 ++--- commands/cron/event/index.md | 18 ++--- commands/cron/event/list/index.md | 18 ++--- commands/cron/event/run/index.md | 25 ++++--- commands/cron/event/schedule/index.md | 18 ++--- commands/cron/index.md | 20 +++--- commands/cron/schedule/index.md | 18 ++--- commands/cron/schedule/list/index.md | 18 ++--- commands/cron/test/index.md | 18 ++--- commands/db/cli/index.md | 18 ++--- commands/db/create/index.md | 18 ++--- commands/db/drop/index.md | 18 ++--- commands/db/export/index.md | 24 ++++--- commands/db/import/index.md | 18 ++--- commands/db/index.md | 20 +++--- commands/db/optimize/index.md | 18 ++--- commands/db/query/index.md | 18 ++--- commands/db/repair/index.md | 18 ++--- commands/db/reset/index.md | 18 ++--- commands/db/tables/index.md | 40 ++++++++--- commands/eval-file/index.md | 18 ++--- commands/eval/index.md | 18 ++--- commands/export/index.md | 24 ++++--- commands/help/index.md | 18 ++--- commands/import/index.md | 18 ++--- commands/media/import/index.md | 18 ++--- commands/media/index.md | 20 +++--- commands/media/regenerate/index.md | 21 +++--- commands/menu/create/index.md | 18 ++--- commands/menu/delete/index.md | 18 ++--- commands/menu/index.md | 22 +++--- commands/menu/item/add-custom/index.md | 18 ++--- commands/menu/item/add-post/index.md | 18 ++--- commands/menu/item/add-term/index.md | 18 ++--- commands/menu/item/delete/index.md | 18 ++--- commands/menu/item/index.md | 18 ++--- commands/menu/item/list/index.md | 18 ++--- commands/menu/item/update/index.md | 18 ++--- commands/menu/list/index.md | 18 ++--- commands/menu/location/assign/index.md | 18 ++--- commands/menu/location/index.md | 18 ++--- commands/menu/location/list/index.md | 18 ++--- commands/menu/location/remove/index.md | 18 ++--- commands/network/index.md | 20 +++--- commands/network/meta/add/index.md | 18 ++--- commands/network/meta/delete/index.md | 23 +++--- commands/network/meta/get/index.md | 18 ++--- commands/network/meta/index.md | 18 ++--- commands/network/meta/list/index.md | 18 ++--- commands/network/meta/update/index.md | 18 ++--- commands/option/add/index.md | 18 ++--- commands/option/delete/index.md | 18 ++--- commands/option/get/index.md | 18 ++--- commands/option/index.md | 22 +++--- commands/option/list/index.md | 18 ++--- commands/option/update/index.md | 18 ++--- commands/plugin/activate/index.md | 18 ++--- commands/plugin/deactivate/index.md | 18 ++--- commands/plugin/delete/index.md | 20 +++--- commands/plugin/get/index.md | 18 ++--- commands/plugin/index.md | 22 +++--- commands/plugin/install/index.md | 18 ++--- commands/plugin/is-installed/index.md | 18 ++--- commands/plugin/list/index.md | 18 ++--- commands/plugin/path/index.md | 18 ++--- commands/plugin/search/index.md | 18 ++--- commands/plugin/status/index.md | 18 ++--- commands/plugin/toggle/index.md | 18 ++--- commands/plugin/uninstall/index.md | 18 ++--- commands/plugin/update/index.md | 18 ++--- commands/post-type/get/index.md | 18 ++--- commands/post-type/index.md | 20 +++--- commands/post-type/list/index.md | 18 ++--- commands/post/create/index.md | 18 ++--- commands/post/delete/index.md | 18 ++--- commands/post/edit/index.md | 18 ++--- commands/post/generate/index.md | 18 ++--- commands/post/get/index.md | 18 ++--- commands/post/index.md | 20 +++--- commands/post/list/index.md | 20 +++--- commands/post/meta/add/index.md | 18 ++--- commands/post/meta/delete/index.md | 23 +++--- commands/post/meta/get/index.md | 18 ++--- commands/post/meta/index.md | 18 ++--- commands/post/meta/list/index.md | 18 ++--- commands/post/meta/update/index.md | 18 ++--- commands/post/term/add/index.md | 18 ++--- commands/post/term/index.md | 18 ++--- commands/post/term/list/index.md | 18 ++--- commands/post/term/remove/index.md | 18 ++--- commands/post/term/set/index.md | 18 ++--- commands/post/update/index.md | 18 ++--- commands/rewrite/flush/index.md | 18 ++--- commands/rewrite/index.md | 20 +++--- commands/rewrite/list/index.md | 21 +++--- commands/rewrite/structure/index.md | 18 ++--- commands/role/create/index.md | 18 ++--- commands/role/delete/index.md | 18 ++--- commands/role/exists/index.md | 18 ++--- commands/role/index.md | 20 +++--- commands/role/list/index.md | 18 ++--- commands/role/reset/index.md | 18 ++--- commands/scaffold/_s/index.md | 18 ++--- commands/scaffold/child-theme/index.md | 18 ++--- commands/scaffold/index.md | 20 +++--- commands/scaffold/package-tests/index.md | 18 ++--- commands/scaffold/plugin-tests/index.md | 20 +++--- commands/scaffold/plugin/index.md | 30 +++++--- commands/scaffold/post-type/index.md | 18 ++--- commands/scaffold/taxonomy/index.md | 18 ++--- commands/search-replace/index.md | 84 +++++++++++++--------- commands/server/index.md | 18 ++--- commands/shell/index.md | 18 ++--- commands/sidebar/index.md | 20 +++--- commands/sidebar/list/index.md | 18 ++--- commands/site/activate/index.md | 18 ++--- commands/site/archive/index.md | 18 ++--- commands/site/create/index.md | 18 ++--- commands/site/deactivate/index.md | 18 ++--- commands/site/delete/index.md | 18 ++--- commands/site/empty/index.md | 21 +++--- commands/site/index.md | 20 +++--- commands/site/list/index.md | 18 ++--- commands/site/spam/index.md | 18 ++--- commands/site/unarchive/index.md | 18 ++--- commands/site/unspam/index.md | 18 ++--- commands/super-admin/add/index.md | 18 ++--- commands/super-admin/index.md | 20 +++--- commands/super-admin/list/index.md | 18 ++--- commands/super-admin/remove/index.md | 18 ++--- commands/taxonomy/get/index.md | 18 ++--- commands/taxonomy/index.md | 20 +++--- commands/taxonomy/list/index.md | 18 ++--- commands/term/create/index.md | 18 ++--- commands/term/delete/index.md | 18 ++--- commands/term/generate/index.md | 18 ++--- commands/term/get/index.md | 18 ++--- commands/term/index.md | 20 +++--- commands/term/list/index.md | 18 ++--- commands/term/update/index.md | 18 ++--- commands/term/url/index.md | 18 ++--- commands/theme/activate/index.md | 18 ++--- commands/theme/delete/index.md | 18 ++--- commands/theme/disable/index.md | 18 ++--- commands/theme/enable/index.md | 18 ++--- commands/theme/get/index.md | 18 ++--- commands/theme/index.md | 20 +++--- commands/theme/install/index.md | 18 ++--- commands/theme/is-installed/index.md | 18 ++--- commands/theme/list/index.md | 18 ++--- commands/theme/mod/get/index.md | 18 ++--- commands/theme/mod/index.md | 18 ++--- commands/theme/mod/remove/index.md | 18 ++--- commands/theme/mod/set/index.md | 18 ++--- commands/theme/path/index.md | 18 ++--- commands/theme/search/index.md | 18 ++--- commands/theme/status/index.md | 18 ++--- commands/theme/update/index.md | 18 ++--- commands/transient/delete-all/index.md | 18 ++--- commands/transient/delete-expired/index.md | 18 ++--- commands/transient/delete/index.md | 21 +++--- commands/transient/get/index.md | 21 +++--- commands/transient/index.md | 22 +++--- commands/transient/set/index.md | 23 +++--- commands/transient/type/index.md | 18 ++--- commands/user/add-cap/index.md | 18 ++--- commands/user/add-role/index.md | 18 ++--- commands/user/create/index.md | 18 ++--- commands/user/delete/index.md | 18 ++--- commands/user/generate/index.md | 18 ++--- commands/user/get/index.md | 18 ++--- commands/user/import-csv/index.md | 18 ++--- commands/user/index.md | 20 +++--- commands/user/list-caps/index.md | 18 ++--- commands/user/list/index.md | 18 ++--- commands/user/meta/add/index.md | 18 ++--- commands/user/meta/delete/index.md | 18 ++--- commands/user/meta/get/index.md | 18 ++--- commands/user/meta/index.md | 18 ++--- commands/user/meta/list/index.md | 18 ++--- commands/user/meta/update/index.md | 18 ++--- commands/user/remove-cap/index.md | 18 ++--- commands/user/remove-role/index.md | 18 ++--- commands/user/set-role/index.md | 18 ++--- commands/user/term/add/index.md | 18 ++--- commands/user/term/index.md | 18 ++--- commands/user/term/list/index.md | 18 ++--- commands/user/term/remove/index.md | 18 ++--- commands/user/term/set/index.md | 18 ++--- commands/user/update/index.md | 18 ++--- commands/widget/add/index.md | 18 ++--- commands/widget/deactivate/index.md | 18 ++--- commands/widget/delete/index.md | 18 ++--- commands/widget/index.md | 22 +++--- commands/widget/list/index.md | 20 +++--- commands/widget/move/index.md | 18 ++--- commands/widget/update/index.md | 18 ++--- 261 files changed, 2501 insertions(+), 2444 deletions(-) diff --git a/commands/cache/add/index.md b/commands/cache/add/index.md index b62bb03c..640b6b66 100644 --- a/commands/cache/add/index.md +++ b/commands/cache/add/index.md @@ -24,34 +24,34 @@ If a value already exists for the key, the value isn't added. ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/cache/decr/index.md b/commands/cache/decr/index.md index 195a9a69..d8564a6d 100644 --- a/commands/cache/decr/index.md +++ b/commands/cache/decr/index.md @@ -19,34 +19,34 @@ title: 'wp cache decr' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/cache/delete/index.md b/commands/cache/delete/index.md index e152d18e..e1fc4503 100644 --- a/commands/cache/delete/index.md +++ b/commands/cache/delete/index.md @@ -16,34 +16,34 @@ title: 'wp cache delete' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/cache/flush/index.md b/commands/cache/flush/index.md index b9a4d4ef..01835504 100644 --- a/commands/cache/flush/index.md +++ b/commands/cache/flush/index.md @@ -7,39 +7,40 @@ title: 'wp cache flush'
    - +For sites using a persistent object cache, because WordPress Multisite simply adds a blog id +to the cache key, flushing cache is typically a global operation. ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/cache/get/index.md b/commands/cache/get/index.md index edd36a80..2a6f4204 100644 --- a/commands/cache/get/index.md +++ b/commands/cache/get/index.md @@ -16,34 +16,34 @@ title: 'wp cache get' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/cache/incr/index.md b/commands/cache/incr/index.md index cc1fad8c..d988b2f4 100644 --- a/commands/cache/incr/index.md +++ b/commands/cache/incr/index.md @@ -19,34 +19,34 @@ title: 'wp cache incr' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/cache/index.md b/commands/cache/index.md index c768e34b..6ad54c6c 100644 --- a/commands/cache/index.md +++ b/commands/cache/index.md @@ -11,39 +11,37 @@ title: 'wp cache' wp cache set my_key my_value my_group 300 - wp cache get my_key my_group - -### GLOBAL PARAMETERS + wp cache get my_key my_group## GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/cache/replace/index.md b/commands/cache/replace/index.md index 9d24f047..35f013c4 100644 --- a/commands/cache/replace/index.md +++ b/commands/cache/replace/index.md @@ -22,34 +22,34 @@ title: 'wp cache replace' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/cache/set/index.md b/commands/cache/set/index.md index 95c169e0..7546da1a 100644 --- a/commands/cache/set/index.md +++ b/commands/cache/set/index.md @@ -22,34 +22,34 @@ title: 'wp cache set' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/cache/type/index.md b/commands/cache/type/index.md index a498da3e..761ac04b 100644 --- a/commands/cache/type/index.md +++ b/commands/cache/type/index.md @@ -14,34 +14,34 @@ problems with this function's ability to determine which object cache is being u ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/cap/add/index.md b/commands/cap/add/index.md index 27fac4bd..a19c3b23 100644 --- a/commands/cap/add/index.md +++ b/commands/cap/add/index.md @@ -16,34 +16,34 @@ title: 'wp cap add' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/cap/index.md b/commands/cap/index.md index fc6bb314..051f43a2 100644 --- a/commands/cap/index.md +++ b/commands/cap/index.md @@ -16,39 +16,37 @@ title: 'wp cap' wp cap list 'editor' | xargs wp cap add 'author' # Remove all caps from 'editor' role that also appear in 'author' role - wp cap list 'author' | xargs wp cap remove 'editor' - -### GLOBAL PARAMETERS + wp cap list 'author' | xargs wp cap remove 'editor'## GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/cap/list/index.md b/commands/cap/list/index.md index 460f2291..0aa8bbed 100644 --- a/commands/cap/list/index.md +++ b/commands/cap/list/index.md @@ -18,34 +18,34 @@ title: 'wp cap list' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/cap/remove/index.md b/commands/cap/remove/index.md index 09ed72a8..32925af1 100644 --- a/commands/cap/remove/index.md +++ b/commands/cap/remove/index.md @@ -16,34 +16,34 @@ title: 'wp cap remove' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/cli/check-update/index.md b/commands/cli/check-update/index.md index fad79ff3..d52dd7f5 100644 --- a/commands/cli/check-update/index.md +++ b/commands/cli/check-update/index.md @@ -30,34 +30,34 @@ title: 'wp cli check-update' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/cli/cmd-dump/index.md b/commands/cli/cmd-dump/index.md index 9e8b21a9..9dc4b12c 100644 --- a/commands/cli/cmd-dump/index.md +++ b/commands/cli/cmd-dump/index.md @@ -12,34 +12,34 @@ title: 'wp cli cmd-dump' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/cli/completions/index.md b/commands/cli/completions/index.md index ae419b2e..61f4fdc5 100644 --- a/commands/cli/completions/index.md +++ b/commands/cli/completions/index.md @@ -18,34 +18,34 @@ title: 'wp cli completions' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/cli/index.md b/commands/cli/index.md index 9c7b86b9..776f95d5 100644 --- a/commands/cli/index.md +++ b/commands/cli/index.md @@ -7,39 +7,37 @@ title: 'wp cli'
    - - ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/cli/info/index.md b/commands/cli/info/index.md index 2eae7b5e..ae1af77e 100644 --- a/commands/cli/info/index.md +++ b/commands/cli/info/index.md @@ -15,34 +15,34 @@ title: 'wp cli info' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/cli/param-dump/index.md b/commands/cli/param-dump/index.md index cfa4f1b7..032bb31f 100644 --- a/commands/cli/param-dump/index.md +++ b/commands/cli/param-dump/index.md @@ -18,34 +18,34 @@ title: 'wp cli param-dump' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/cli/update/index.md b/commands/cli/update/index.md index d3980fd4..22c709fd 100644 --- a/commands/cli/update/index.md +++ b/commands/cli/update/index.md @@ -27,34 +27,34 @@ title: 'wp cli update' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/cli/version/index.md b/commands/cli/version/index.md index c6b2f4cf..aaaf6f51 100644 --- a/commands/cli/version/index.md +++ b/commands/cli/version/index.md @@ -12,34 +12,34 @@ title: 'wp cli version' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/comment/approve/index.md b/commands/comment/approve/index.md index bc71da63..3483dd6c 100644 --- a/commands/comment/approve/index.md +++ b/commands/comment/approve/index.md @@ -19,34 +19,34 @@ title: 'wp comment approve' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/comment/count/index.md b/commands/comment/count/index.md index 71e4b92e..c60c2d7f 100644 --- a/commands/comment/count/index.md +++ b/commands/comment/count/index.md @@ -20,34 +20,34 @@ title: 'wp comment count' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/comment/create/index.md b/commands/comment/create/index.md index de606e33..c035695a 100644 --- a/commands/comment/create/index.md +++ b/commands/comment/create/index.md @@ -22,34 +22,34 @@ title: 'wp comment create' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/comment/delete/index.md b/commands/comment/delete/index.md index 67aade29..05b6f02f 100644 --- a/commands/comment/delete/index.md +++ b/commands/comment/delete/index.md @@ -24,34 +24,34 @@ title: 'wp comment delete' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/comment/exists/index.md b/commands/comment/exists/index.md index 20419173..87479508 100644 --- a/commands/comment/exists/index.md +++ b/commands/comment/exists/index.md @@ -19,34 +19,34 @@ title: 'wp comment exists' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/comment/generate/index.md b/commands/comment/generate/index.md index 3ab3c898..3cba3564 100644 --- a/commands/comment/generate/index.md +++ b/commands/comment/generate/index.md @@ -15,34 +15,34 @@ title: 'wp comment generate' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/comment/get/index.md b/commands/comment/get/index.md index 1e4dd348..fb108c42 100644 --- a/commands/comment/get/index.md +++ b/commands/comment/get/index.md @@ -28,34 +28,34 @@ title: 'wp comment get' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/comment/index.md b/commands/comment/index.md index 28152c05..884853df 100644 --- a/commands/comment/index.md +++ b/commands/comment/index.md @@ -10,39 +10,37 @@ title: 'wp comment' ### EXAMPLES # delete all spam comments. - wp comment delete $(wp comment list --status=spam --format=ids) - -### GLOBAL PARAMETERS + wp comment delete $(wp comment list --status=spam --format=ids)## GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/comment/list/index.md b/commands/comment/list/index.md index c1352b90..5d86e9e9 100644 --- a/commands/comment/list/index.md +++ b/commands/comment/list/index.md @@ -55,34 +55,34 @@ These fields are optionally available: ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/comment/meta/add/index.md b/commands/comment/meta/add/index.md index 378e8fbe..d847d2dc 100644 --- a/commands/comment/meta/add/index.md +++ b/commands/comment/meta/add/index.md @@ -24,34 +24,34 @@ title: 'wp comment meta add' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/comment/meta/delete/index.md b/commands/comment/meta/delete/index.md index 2b5623ec..8ee38f89 100644 --- a/commands/comment/meta/delete/index.md +++ b/commands/comment/meta/delete/index.md @@ -10,43 +10,46 @@ title: 'wp comment meta delete' <id> : The ID of the object. -<key> +[<key>] : The name of the meta field to delete. [<value>] : The value to delete. If omitted, all rows with key will deleted. +[\--all] +: Delete all meta for the object. + ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/comment/meta/get/index.md b/commands/comment/meta/get/index.md index 9c78e4ca..a94e3eff 100644 --- a/commands/comment/meta/get/index.md +++ b/commands/comment/meta/get/index.md @@ -19,34 +19,34 @@ title: 'wp comment meta get' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/comment/meta/index.md b/commands/comment/meta/index.md index 2347f70c..2febbec0 100644 --- a/commands/comment/meta/index.md +++ b/commands/comment/meta/index.md @@ -19,34 +19,34 @@ title: 'wp comment meta' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/comment/meta/list/index.md b/commands/comment/meta/list/index.md index 860db5bf..1dd42f6b 100644 --- a/commands/comment/meta/list/index.md +++ b/commands/comment/meta/list/index.md @@ -22,34 +22,34 @@ title: 'wp comment meta list' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/comment/meta/update/index.md b/commands/comment/meta/update/index.md index 249421cc..5958fed2 100644 --- a/commands/comment/meta/update/index.md +++ b/commands/comment/meta/update/index.md @@ -24,34 +24,34 @@ title: 'wp comment meta update' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/comment/recount/index.md b/commands/comment/recount/index.md index 5028360a..7efef92d 100644 --- a/commands/comment/recount/index.md +++ b/commands/comment/recount/index.md @@ -13,34 +13,34 @@ title: 'wp comment recount' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/comment/spam/index.md b/commands/comment/spam/index.md index 825f95cf..772e2b87 100644 --- a/commands/comment/spam/index.md +++ b/commands/comment/spam/index.md @@ -19,34 +19,34 @@ title: 'wp comment spam' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/comment/status/index.md b/commands/comment/status/index.md index 858641e5..3ca5fd56 100644 --- a/commands/comment/status/index.md +++ b/commands/comment/status/index.md @@ -19,34 +19,34 @@ title: 'wp comment status' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/comment/trash/index.md b/commands/comment/trash/index.md index aa557722..a5b24be5 100644 --- a/commands/comment/trash/index.md +++ b/commands/comment/trash/index.md @@ -19,34 +19,34 @@ title: 'wp comment trash' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/comment/unapprove/index.md b/commands/comment/unapprove/index.md index f2c92023..2b570304 100644 --- a/commands/comment/unapprove/index.md +++ b/commands/comment/unapprove/index.md @@ -19,34 +19,34 @@ title: 'wp comment unapprove' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/comment/unspam/index.md b/commands/comment/unspam/index.md index 6bf16490..779906b2 100644 --- a/commands/comment/unspam/index.md +++ b/commands/comment/unspam/index.md @@ -19,34 +19,34 @@ title: 'wp comment unspam' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/comment/untrash/index.md b/commands/comment/untrash/index.md index 519b8721..c5b3abab 100644 --- a/commands/comment/untrash/index.md +++ b/commands/comment/untrash/index.md @@ -19,34 +19,34 @@ title: 'wp comment untrash' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/comment/update/index.md b/commands/comment/update/index.md index 381c9927..0a51edfc 100644 --- a/commands/comment/update/index.md +++ b/commands/comment/update/index.md @@ -22,34 +22,34 @@ title: 'wp comment update' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/comment/url/index.md b/commands/comment/url/index.md index a09d8cd8..bb01c8d4 100644 --- a/commands/comment/url/index.md +++ b/commands/comment/url/index.md @@ -19,34 +19,34 @@ title: 'wp comment url' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/core/check-update/index.md b/commands/core/check-update/index.md index 2ec78b81..3d8d62bb 100644 --- a/commands/core/check-update/index.md +++ b/commands/core/check-update/index.md @@ -29,34 +29,34 @@ Lists the most recent versions when there are updates available, or success mess ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/core/config/index.md b/commands/core/config/index.md index 60c005d5..33c211bc 100644 --- a/commands/core/config/index.md +++ b/commands/core/config/index.md @@ -56,34 +56,34 @@ title: 'wp core config' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/core/download/index.md b/commands/core/download/index.md index cc3ba94d..ee86f0b4 100644 --- a/commands/core/download/index.md +++ b/commands/core/download/index.md @@ -28,34 +28,34 @@ title: 'wp core download' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/core/index.md b/commands/core/index.md index fe4b7567..70f3ba04 100644 --- a/commands/core/index.md +++ b/commands/core/index.md @@ -7,39 +7,37 @@ title: 'wp core'
    - - ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/core/install/index.md b/commands/core/install/index.md index f25e5024..2b013483 100644 --- a/commands/core/install/index.md +++ b/commands/core/install/index.md @@ -24,37 +24,40 @@ title: 'wp core install' \--admin_email=<email> : The email address for the admin user. +[\--skip-email] +: Don't send an email notification to the new admin user. + ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/core/is-installed/index.md b/commands/core/is-installed/index.md index f523c3e5..75584b5b 100644 --- a/commands/core/is-installed/index.md +++ b/commands/core/is-installed/index.md @@ -19,34 +19,34 @@ title: 'wp core is-installed' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/core/language/activate/index.md b/commands/core/language/activate/index.md index ee343065..e53459c4 100644 --- a/commands/core/language/activate/index.md +++ b/commands/core/language/activate/index.md @@ -13,34 +13,34 @@ title: 'wp core language activate' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/core/language/index.md b/commands/core/language/index.md index f5725284..9516685e 100644 --- a/commands/core/language/index.md +++ b/commands/core/language/index.md @@ -12,34 +12,34 @@ title: 'wp core language' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/core/language/install/index.md b/commands/core/language/install/index.md index 59b255b5..4ed7f152 100644 --- a/commands/core/language/install/index.md +++ b/commands/core/language/install/index.md @@ -16,34 +16,34 @@ title: 'wp core language install' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/core/language/list/index.md b/commands/core/language/list/index.md index 5199d9c8..9caf1bd8 100644 --- a/commands/core/language/list/index.md +++ b/commands/core/language/list/index.md @@ -38,34 +38,34 @@ These fields are optionally available: ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/core/language/uninstall/index.md b/commands/core/language/uninstall/index.md index 31b79934..8a7440dc 100644 --- a/commands/core/language/uninstall/index.md +++ b/commands/core/language/uninstall/index.md @@ -13,34 +13,34 @@ title: 'wp core language uninstall' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/core/language/update/index.md b/commands/core/language/update/index.md index 7faa0ba5..108cb60f 100644 --- a/commands/core/language/update/index.md +++ b/commands/core/language/update/index.md @@ -13,34 +13,34 @@ title: 'wp core language update' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/core/multisite-convert/index.md b/commands/core/multisite-convert/index.md index d791aa84..804b7e0b 100644 --- a/commands/core/multisite-convert/index.md +++ b/commands/core/multisite-convert/index.md @@ -22,34 +22,34 @@ Default: '/' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/core/multisite-install/index.md b/commands/core/multisite-install/index.md index 9e158ed8..9bfb6880 100644 --- a/commands/core/multisite-install/index.md +++ b/commands/core/multisite-install/index.md @@ -31,37 +31,40 @@ Default: '/' \--admin_email=<email> : The email address for the admin user. +[\--skip-email] +: Don't send an email notification to the new admin user. + ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/core/update-db/index.md b/commands/core/update-db/index.md index 51e8ff51..25203a1c 100644 --- a/commands/core/update-db/index.md +++ b/commands/core/update-db/index.md @@ -10,37 +10,40 @@ title: 'wp core update-db' [\--network] : Update databases for all sites on a network +[\--dry-run] +: Compare database versions without performing the update. + ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/core/update/index.md b/commands/core/update/index.md index 84d8d9b6..24f5c1d6 100644 --- a/commands/core/update/index.md +++ b/commands/core/update/index.md @@ -12,8 +12,11 @@ title: 'wp core update' [<zip>] : Path to zip file to use, instead of downloading from wordpress.org. +[\--minor] +: Only perform updates for minor releases. + [\--version=<version>] -: Update to this version, instead of to the latest version. +: Update to a specific version, instead of to the latest version. [\--force] : Update even when installed WP version is greater than the requested version. @@ -32,34 +35,34 @@ title: 'wp core update' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/core/verify-checksums/index.md b/commands/core/verify-checksums/index.md index f3d7d807..9858914c 100644 --- a/commands/core/verify-checksums/index.md +++ b/commands/core/verify-checksums/index.md @@ -18,34 +18,34 @@ Specify version to verify checksums without loading WordPress. ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/core/version/index.md b/commands/core/version/index.md index 2caf387f..624ce02a 100644 --- a/commands/core/version/index.md +++ b/commands/core/version/index.md @@ -15,34 +15,34 @@ title: 'wp core version' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/cron/event/delete/index.md b/commands/cron/event/delete/index.md index 3f47f45f..d3eefa6c 100644 --- a/commands/cron/event/delete/index.md +++ b/commands/cron/event/delete/index.md @@ -15,34 +15,34 @@ title: 'wp cron event delete' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/cron/event/index.md b/commands/cron/event/index.md index ff00f356..b2cf04d6 100644 --- a/commands/cron/event/index.md +++ b/commands/cron/event/index.md @@ -12,34 +12,34 @@ title: 'wp cron event' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/cron/event/list/index.md b/commands/cron/event/list/index.md index ef125792..fe7fe8c3 100644 --- a/commands/cron/event/list/index.md +++ b/commands/cron/event/list/index.md @@ -40,34 +40,34 @@ These fields are optionally available: ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/cron/event/run/index.md b/commands/cron/event/run/index.md index 58447ff1..84fd11bb 100644 --- a/commands/cron/event/run/index.md +++ b/commands/cron/event/run/index.md @@ -9,40 +9,43 @@ title: 'wp cron event run' ### OPTIONS -<hook> -: The hook name +[<hook>...] +: One or more hooks to run. + +[\--all] +: Run all hooks. ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/cron/event/schedule/index.md b/commands/cron/event/schedule/index.md index cdc858ed..518ed3c0 100644 --- a/commands/cron/event/schedule/index.md +++ b/commands/cron/event/schedule/index.md @@ -32,34 +32,34 @@ title: 'wp cron event schedule' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/cron/index.md b/commands/cron/index.md index e578042a..748f6a1a 100644 --- a/commands/cron/index.md +++ b/commands/cron/index.md @@ -7,39 +7,37 @@ title: 'wp cron'
    - - ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/cron/schedule/index.md b/commands/cron/schedule/index.md index d4a3273c..66130449 100644 --- a/commands/cron/schedule/index.md +++ b/commands/cron/schedule/index.md @@ -12,34 +12,34 @@ title: 'wp cron schedule' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/cron/schedule/list/index.md b/commands/cron/schedule/list/index.md index 1d530ce2..8f2d24e9 100644 --- a/commands/cron/schedule/list/index.md +++ b/commands/cron/schedule/list/index.md @@ -34,34 +34,34 @@ There are no additional fields. ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/cron/test/index.md b/commands/cron/test/index.md index eda00410..e65a467d 100644 --- a/commands/cron/test/index.md +++ b/commands/cron/test/index.md @@ -12,34 +12,34 @@ title: 'wp cron test' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/db/cli/index.md b/commands/db/cli/index.md index 616500b3..0d444695 100644 --- a/commands/db/cli/index.md +++ b/commands/db/cli/index.md @@ -12,34 +12,34 @@ title: 'wp db cli' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/db/create/index.md b/commands/db/create/index.md index 4e9a1971..b9e23c80 100644 --- a/commands/db/create/index.md +++ b/commands/db/create/index.md @@ -12,34 +12,34 @@ title: 'wp db create' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/db/drop/index.md b/commands/db/drop/index.md index f34faf21..5a9f8f29 100644 --- a/commands/db/drop/index.md +++ b/commands/db/drop/index.md @@ -15,34 +15,34 @@ title: 'wp db drop' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/db/export/index.md b/commands/db/export/index.md index 920c0ae2..3ece99c8 100644 --- a/commands/db/export/index.md +++ b/commands/db/export/index.md @@ -23,37 +23,43 @@ title: 'wp db export' wp db export --add-drop-table wp db export --tables=wp_options,wp_users + # Export all tables matching a wildcard + wp db export --tables=$(wp db tables 'wp_user*' --format=csv) + + # Export all tables matching prefix + wp db export --tables=$(wp db tables --all-tables-with-prefix --format=csv) + ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/db/import/index.md b/commands/db/import/index.md index 9c0ddbad..94af0d8e 100644 --- a/commands/db/import/index.md +++ b/commands/db/import/index.md @@ -15,34 +15,34 @@ title: 'wp db import' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/db/index.md b/commands/db/index.md index adab78c2..008d4e22 100644 --- a/commands/db/index.md +++ b/commands/db/index.md @@ -7,39 +7,37 @@ title: 'wp db'
    - - ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/db/optimize/index.md b/commands/db/optimize/index.md index 555b9c03..ca831851 100644 --- a/commands/db/optimize/index.md +++ b/commands/db/optimize/index.md @@ -12,34 +12,34 @@ title: 'wp db optimize' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/db/query/index.md b/commands/db/query/index.md index d7f5b7c2..eacafdfd 100644 --- a/commands/db/query/index.md +++ b/commands/db/query/index.md @@ -23,34 +23,34 @@ title: 'wp db query' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/db/repair/index.md b/commands/db/repair/index.md index 6b6c5f37..b3014ed0 100644 --- a/commands/db/repair/index.md +++ b/commands/db/repair/index.md @@ -12,34 +12,34 @@ title: 'wp db repair' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/db/reset/index.md b/commands/db/reset/index.md index 1f2f46c2..05060e4d 100644 --- a/commands/db/reset/index.md +++ b/commands/db/reset/index.md @@ -15,34 +15,34 @@ title: 'wp db reset' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/db/tables/index.md b/commands/db/tables/index.md index 6ec80fd9..0316e3b0 100644 --- a/commands/db/tables/index.md +++ b/commands/db/tables/index.md @@ -7,47 +7,67 @@ title: 'wp db tables'
    +Defaults to all tables registered to $wpdb. + ### OPTIONS +[<table>...] +: List tables based on wildcard search, e.g. 'wp_*_options' or 'wp_post?'. + [\--scope=<scope>] : Can be all, global, ms_global, blog, or old tables. Defaults to all. +[\--network] +: List all the tables in a multisite install. Overrides --scope=<scope>. + +[\--all-tables-with-prefix] +: List all tables that match the table prefix even if not registered on $wpdb. Overrides --network. + +[\--all-tables] +: List all tables in the database, regardless of the prefix, and even if not registered on $wpdb. Overrides --all-tables-with-prefix. + +[\--format=<format>] +: Accepted values: list, csv. Default: list + ### EXAMPLES # Export only tables for a single site - wp db export --tables=$(wp db tables --url=sub.example.com | tr '\n' ',') + wp db export --tables=$(wp db tables --url=sub.example.com --format=csv) + + # Export all tables matching prefix + wp db export --tables=$(wp db tables --all-tables-with-prefix --format=csv) ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/eval-file/index.md b/commands/eval-file/index.md index 8d355337..c0deaa60 100644 --- a/commands/eval-file/index.md +++ b/commands/eval-file/index.md @@ -21,34 +21,34 @@ title: 'wp eval-file' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/eval/index.md b/commands/eval/index.md index 3e8349d7..0185299e 100644 --- a/commands/eval/index.md +++ b/commands/eval/index.md @@ -16,34 +16,34 @@ title: 'wp eval' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/export/index.md b/commands/export/index.md index 4cd351fb..552b11fe 100644 --- a/commands/export/index.md +++ b/commands/export/index.md @@ -50,43 +50,49 @@ with a comma. Defaults to none. [\--post_status=<status>] : Export only posts with this status. +[\--filename_format=<format>] +: Use a custom format for export filenames. Defaults to '{site}.wordpress.{date}.{n}.xml'. + ### EXAMPLES wp export --dir=/tmp/ --user=admin --post_type=post --start_date=2011-01-01 --end_date=2011-12-31 wp export --dir=/tmp/ --post__in=123,124,125 + # Export a random subset of content + wp export --post__in=$(wp post list --post_type=post --orderby=rand --posts_per_page=8 --format=ids) + ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/help/index.md b/commands/help/index.md index 4bda9ef9..eeff3546 100644 --- a/commands/help/index.md +++ b/commands/help/index.md @@ -21,34 +21,34 @@ title: 'wp help' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/import/index.md b/commands/import/index.md index 4eeaade7..25e28fd3 100644 --- a/commands/import/index.md +++ b/commands/import/index.md @@ -21,34 +21,34 @@ title: 'wp import' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/media/import/index.md b/commands/media/import/index.md index 6c1f4161..4e1e1d62 100644 --- a/commands/media/import/index.md +++ b/commands/media/import/index.md @@ -49,34 +49,34 @@ title: 'wp media import' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/media/index.md b/commands/media/index.md index 4d9f2a54..66660bb8 100644 --- a/commands/media/index.md +++ b/commands/media/index.md @@ -7,39 +7,37 @@ title: 'wp media'
    - - ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/media/regenerate/index.md b/commands/media/regenerate/index.md index 15a61c02..36b52b5b 100644 --- a/commands/media/regenerate/index.md +++ b/commands/media/regenerate/index.md @@ -15,6 +15,9 @@ title: 'wp media regenerate' [\--skip-delete] : Skip deletion of the original thumbnails. If your thumbnails are linked from sources outside your control, it's likely best to leave them around. Defaults to false. +[\--only-missing] +: Only generate thumbnails for images missing image sizes. + [\--yes] : Answer yes to the confirmation message. @@ -29,34 +32,34 @@ title: 'wp media regenerate' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/menu/create/index.md b/commands/menu/create/index.md index 8b609b80..95a71aff 100644 --- a/commands/menu/create/index.md +++ b/commands/menu/create/index.md @@ -20,34 +20,34 @@ title: 'wp menu create' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/menu/delete/index.md b/commands/menu/delete/index.md index 7d299dc0..92a4cac7 100644 --- a/commands/menu/delete/index.md +++ b/commands/menu/delete/index.md @@ -17,34 +17,34 @@ title: 'wp menu delete' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/menu/index.md b/commands/menu/index.md index 23e4dbeb..30018d40 100644 --- a/commands/menu/index.md +++ b/commands/menu/index.md @@ -19,39 +19,37 @@ title: 'wp menu' wp menu item add-custom sidebar-menu Apple http://apple.com --porcelain # Assign the 'primary-menu' menu to the 'primary' location - wp menu location assign primary-menu primary - -### GLOBAL PARAMETERS + wp menu location assign primary-menu primary## GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/menu/item/add-custom/index.md b/commands/menu/item/add-custom/index.md index e795cc24..864ab051 100644 --- a/commands/menu/item/add-custom/index.md +++ b/commands/menu/item/add-custom/index.md @@ -44,34 +44,34 @@ title: 'wp menu item add-custom' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/menu/item/add-post/index.md b/commands/menu/item/add-post/index.md index f20238eb..18d15828 100644 --- a/commands/menu/item/add-post/index.md +++ b/commands/menu/item/add-post/index.md @@ -47,34 +47,34 @@ title: 'wp menu item add-post' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/menu/item/add-term/index.md b/commands/menu/item/add-term/index.md index 0362c0e2..6b502e44 100644 --- a/commands/menu/item/add-term/index.md +++ b/commands/menu/item/add-term/index.md @@ -50,34 +50,34 @@ title: 'wp menu item add-term' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/menu/item/delete/index.md b/commands/menu/item/delete/index.md index 9bf99b4f..bf2784ae 100644 --- a/commands/menu/item/delete/index.md +++ b/commands/menu/item/delete/index.md @@ -17,34 +17,34 @@ title: 'wp menu item delete' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/menu/item/index.md b/commands/menu/item/index.md index a936efb7..154bf5b8 100644 --- a/commands/menu/item/index.md +++ b/commands/menu/item/index.md @@ -18,34 +18,34 @@ title: 'wp menu item' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/menu/item/list/index.md b/commands/menu/item/list/index.md index 93b28161..a9e25e73 100644 --- a/commands/menu/item/list/index.md +++ b/commands/menu/item/list/index.md @@ -48,34 +48,34 @@ These fields are optionally available: ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/menu/item/update/index.md b/commands/menu/item/update/index.md index 9db31b1c..21281b4b 100644 --- a/commands/menu/item/update/index.md +++ b/commands/menu/item/update/index.md @@ -41,34 +41,34 @@ title: 'wp menu item update' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/menu/list/index.md b/commands/menu/list/index.md index 39e1f87f..2d821f3f 100644 --- a/commands/menu/list/index.md +++ b/commands/menu/list/index.md @@ -40,34 +40,34 @@ These fields are optionally available: ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/menu/location/assign/index.md b/commands/menu/location/assign/index.md index 56c8c10e..7f459d1d 100644 --- a/commands/menu/location/assign/index.md +++ b/commands/menu/location/assign/index.md @@ -20,34 +20,34 @@ title: 'wp menu location assign' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/menu/location/index.md b/commands/menu/location/index.md index b86aaeff..4c7d2fab 100644 --- a/commands/menu/location/index.md +++ b/commands/menu/location/index.md @@ -21,34 +21,34 @@ title: 'wp menu location' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/menu/location/list/index.md b/commands/menu/location/list/index.md index 69d40ddd..af3fe0f8 100644 --- a/commands/menu/location/list/index.md +++ b/commands/menu/location/list/index.md @@ -24,34 +24,34 @@ These fields will be displayed by default for each location: ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/menu/location/remove/index.md b/commands/menu/location/remove/index.md index d6765980..1a06fc1d 100644 --- a/commands/menu/location/remove/index.md +++ b/commands/menu/location/remove/index.md @@ -20,34 +20,34 @@ title: 'wp menu location remove' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/network/index.md b/commands/network/index.md index 7ae6d168..3e3cc0d5 100644 --- a/commands/network/index.md +++ b/commands/network/index.md @@ -7,39 +7,37 @@ title: 'wp network'
    - - ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/network/meta/add/index.md b/commands/network/meta/add/index.md index b9e78546..b2d49722 100644 --- a/commands/network/meta/add/index.md +++ b/commands/network/meta/add/index.md @@ -24,34 +24,34 @@ title: 'wp network meta add' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/network/meta/delete/index.md b/commands/network/meta/delete/index.md index 97a6bc16..004b09c7 100644 --- a/commands/network/meta/delete/index.md +++ b/commands/network/meta/delete/index.md @@ -10,43 +10,46 @@ title: 'wp network meta delete' <id> : The ID of the object. -<key> +[<key>] : The name of the meta field to delete. [<value>] : The value to delete. If omitted, all rows with key will deleted. +[\--all] +: Delete all meta for the object. + ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/network/meta/get/index.md b/commands/network/meta/get/index.md index f1f4a7de..029cf359 100644 --- a/commands/network/meta/get/index.md +++ b/commands/network/meta/get/index.md @@ -19,34 +19,34 @@ title: 'wp network meta get' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/network/meta/index.md b/commands/network/meta/index.md index 171c6f62..3fb293e3 100644 --- a/commands/network/meta/index.md +++ b/commands/network/meta/index.md @@ -23,34 +23,34 @@ title: 'wp network meta' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/network/meta/list/index.md b/commands/network/meta/list/index.md index af302942..5eae566f 100644 --- a/commands/network/meta/list/index.md +++ b/commands/network/meta/list/index.md @@ -22,34 +22,34 @@ title: 'wp network meta list' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/network/meta/update/index.md b/commands/network/meta/update/index.md index 1690ca4b..aab7b86c 100644 --- a/commands/network/meta/update/index.md +++ b/commands/network/meta/update/index.md @@ -24,34 +24,34 @@ title: 'wp network meta update' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/option/add/index.md b/commands/option/add/index.md index 617ae110..cfb7c72d 100644 --- a/commands/option/add/index.md +++ b/commands/option/add/index.md @@ -29,34 +29,34 @@ title: 'wp option add' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/option/delete/index.md b/commands/option/delete/index.md index 41366426..946d5ef2 100644 --- a/commands/option/delete/index.md +++ b/commands/option/delete/index.md @@ -13,34 +13,34 @@ title: 'wp option delete' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/option/get/index.md b/commands/option/get/index.md index 5d8ec74f..52765cce 100644 --- a/commands/option/get/index.md +++ b/commands/option/get/index.md @@ -16,34 +16,34 @@ title: 'wp option get' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/option/index.md b/commands/option/index.md index b338bb98..fcaf6637 100644 --- a/commands/option/index.md +++ b/commands/option/index.md @@ -20,39 +20,37 @@ title: 'wp option' wp option update my_option '{"foo": "bar"}' --format=json - wp option delete my_option - -### GLOBAL PARAMETERS + wp option delete my_option## GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/option/list/index.md b/commands/option/list/index.md index 756f17e8..11567414 100644 --- a/commands/option/list/index.md +++ b/commands/option/list/index.md @@ -45,34 +45,34 @@ These fields are optionally available: ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/option/update/index.md b/commands/option/update/index.md index c1fa74e9..541caf08 100644 --- a/commands/option/update/index.md +++ b/commands/option/update/index.md @@ -32,34 +32,34 @@ title: 'wp option update' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/plugin/activate/index.md b/commands/plugin/activate/index.md index 4942f062..6508f318 100644 --- a/commands/plugin/activate/index.md +++ b/commands/plugin/activate/index.md @@ -21,34 +21,34 @@ title: 'wp plugin activate' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/plugin/deactivate/index.md b/commands/plugin/deactivate/index.md index d0d3f2ef..aeffc2f8 100644 --- a/commands/plugin/deactivate/index.md +++ b/commands/plugin/deactivate/index.md @@ -24,34 +24,34 @@ title: 'wp plugin deactivate' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/plugin/delete/index.md b/commands/plugin/delete/index.md index 4aed53b5..49e287a2 100644 --- a/commands/plugin/delete/index.md +++ b/commands/plugin/delete/index.md @@ -3,7 +3,7 @@ layout: default title: 'wp plugin delete' --- -`wp plugin delete` - Delete plugin files. +`wp plugin delete` - Delete plugin files without deactivating or uninstalling.
    @@ -22,34 +22,34 @@ title: 'wp plugin delete' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/plugin/get/index.md b/commands/plugin/get/index.md index 0d065593..9f696ff2 100644 --- a/commands/plugin/get/index.md +++ b/commands/plugin/get/index.md @@ -28,34 +28,34 @@ title: 'wp plugin get' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/plugin/index.md b/commands/plugin/index.md index 91ace38a..fc346c76 100644 --- a/commands/plugin/index.md +++ b/commands/plugin/index.md @@ -7,39 +7,37 @@ title: 'wp plugin'
    - - ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. @@ -63,7 +61,7 @@ title: 'wp plugin' delete - Delete plugin files. + Delete plugin files without deactivating or uninstalling. get diff --git a/commands/plugin/install/index.md b/commands/plugin/install/index.md index c24836e8..64cc6664 100644 --- a/commands/plugin/install/index.md +++ b/commands/plugin/install/index.md @@ -43,34 +43,34 @@ for confirmation. ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/plugin/is-installed/index.md b/commands/plugin/is-installed/index.md index 494c9797..06097dae 100644 --- a/commands/plugin/is-installed/index.md +++ b/commands/plugin/is-installed/index.md @@ -19,34 +19,34 @@ title: 'wp plugin is-installed' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/plugin/list/index.md b/commands/plugin/list/index.md index e73072b6..81604d71 100644 --- a/commands/plugin/list/index.md +++ b/commands/plugin/list/index.md @@ -48,34 +48,34 @@ These fields are optionally available: ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/plugin/path/index.md b/commands/plugin/path/index.md index f630d768..01234671 100644 --- a/commands/plugin/path/index.md +++ b/commands/plugin/path/index.md @@ -24,34 +24,34 @@ plugin file. ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/plugin/search/index.md b/commands/plugin/search/index.md index 7dcc0362..995642e1 100644 --- a/commands/plugin/search/index.md +++ b/commands/plugin/search/index.md @@ -48,34 +48,34 @@ title: 'wp plugin search' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/plugin/status/index.md b/commands/plugin/status/index.md index 8ae646d4..373c0d44 100644 --- a/commands/plugin/status/index.md +++ b/commands/plugin/status/index.md @@ -15,34 +15,34 @@ title: 'wp plugin status' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/plugin/toggle/index.md b/commands/plugin/toggle/index.md index 33817b42..4ea6b6db 100644 --- a/commands/plugin/toggle/index.md +++ b/commands/plugin/toggle/index.md @@ -18,34 +18,34 @@ title: 'wp plugin toggle' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/plugin/uninstall/index.md b/commands/plugin/uninstall/index.md index 89f82e10..23deaf8c 100644 --- a/commands/plugin/uninstall/index.md +++ b/commands/plugin/uninstall/index.md @@ -26,34 +26,34 @@ will be run. ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/plugin/update/index.md b/commands/plugin/update/index.md index 8fb894a5..fc0a1e1f 100644 --- a/commands/plugin/update/index.md +++ b/commands/plugin/update/index.md @@ -33,34 +33,34 @@ title: 'wp plugin update' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/post-type/get/index.md b/commands/post-type/get/index.md index 36ff5a2b..b91c9c56 100644 --- a/commands/post-type/get/index.md +++ b/commands/post-type/get/index.md @@ -28,34 +28,34 @@ title: 'wp post-type get' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/post-type/index.md b/commands/post-type/index.md index 96bc9a7c..8edd2dbb 100644 --- a/commands/post-type/index.md +++ b/commands/post-type/index.md @@ -7,39 +7,37 @@ title: 'wp post-type'
    - - ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/post-type/list/index.md b/commands/post-type/list/index.md index 0d82d733..58fd7e50 100644 --- a/commands/post-type/list/index.md +++ b/commands/post-type/list/index.md @@ -43,34 +43,34 @@ There are no optionally available fields. ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/post/create/index.md b/commands/post/create/index.md index add0e2eb..4516a172 100644 --- a/commands/post/create/index.md +++ b/commands/post/create/index.md @@ -37,34 +37,34 @@ title: 'wp post create' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/post/delete/index.md b/commands/post/delete/index.md index 16435ee1..79b03000 100644 --- a/commands/post/delete/index.md +++ b/commands/post/delete/index.md @@ -30,34 +30,34 @@ title: 'wp post delete' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/post/edit/index.md b/commands/post/edit/index.md index f70d32ff..eb3bc765 100644 --- a/commands/post/edit/index.md +++ b/commands/post/edit/index.md @@ -19,34 +19,34 @@ title: 'wp post edit' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/post/generate/index.md b/commands/post/generate/index.md index cb32b5fb..6b9368df 100644 --- a/commands/post/generate/index.md +++ b/commands/post/generate/index.md @@ -38,34 +38,34 @@ title: 'wp post generate' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/post/get/index.md b/commands/post/get/index.md index 08eadc6a..df1d6b97 100644 --- a/commands/post/get/index.md +++ b/commands/post/get/index.md @@ -29,34 +29,34 @@ title: 'wp post get' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/post/index.md b/commands/post/index.md index 2dd24471..dc91f5a0 100644 --- a/commands/post/index.md +++ b/commands/post/index.md @@ -7,39 +7,37 @@ title: 'wp post'
    - - ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/post/list/index.md b/commands/post/list/index.md index 8093ddb1..3de7eabc 100644 --- a/commands/post/list/index.md +++ b/commands/post/list/index.md @@ -64,37 +64,39 @@ These fields are optionally available: wp post list --post_type=page,post --format=ids + wp post list --post__in=1,3 + ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/post/meta/add/index.md b/commands/post/meta/add/index.md index 8e7a94ac..2f900eed 100644 --- a/commands/post/meta/add/index.md +++ b/commands/post/meta/add/index.md @@ -24,34 +24,34 @@ title: 'wp post meta add' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/post/meta/delete/index.md b/commands/post/meta/delete/index.md index f153ea87..4c3e57ab 100644 --- a/commands/post/meta/delete/index.md +++ b/commands/post/meta/delete/index.md @@ -10,43 +10,46 @@ title: 'wp post meta delete' <id> : The ID of the object. -<key> +[<key>] : The name of the meta field to delete. [<value>] : The value to delete. If omitted, all rows with key will deleted. +[\--all] +: Delete all meta for the object. + ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/post/meta/get/index.md b/commands/post/meta/get/index.md index 099f4af7..2ddb7742 100644 --- a/commands/post/meta/get/index.md +++ b/commands/post/meta/get/index.md @@ -19,34 +19,34 @@ title: 'wp post meta get' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/post/meta/index.md b/commands/post/meta/index.md index baadf7f7..7412166a 100644 --- a/commands/post/meta/index.md +++ b/commands/post/meta/index.md @@ -19,34 +19,34 @@ title: 'wp post meta' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/post/meta/list/index.md b/commands/post/meta/list/index.md index cfa4a68c..615a59f6 100644 --- a/commands/post/meta/list/index.md +++ b/commands/post/meta/list/index.md @@ -22,34 +22,34 @@ title: 'wp post meta list' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/post/meta/update/index.md b/commands/post/meta/update/index.md index 7f76f4d2..90683000 100644 --- a/commands/post/meta/update/index.md +++ b/commands/post/meta/update/index.md @@ -24,34 +24,34 @@ title: 'wp post meta update' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/post/term/add/index.md b/commands/post/term/add/index.md index f79e650a..db73f9ec 100644 --- a/commands/post/term/add/index.md +++ b/commands/post/term/add/index.md @@ -19,34 +19,34 @@ title: 'wp post term add' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/post/term/index.md b/commands/post/term/index.md index 05c89022..632b4938 100644 --- a/commands/post/term/index.md +++ b/commands/post/term/index.md @@ -14,34 +14,34 @@ title: 'wp post term' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/post/term/list/index.md b/commands/post/term/list/index.md index 19cfea11..f0f8cbba 100644 --- a/commands/post/term/list/index.md +++ b/commands/post/term/list/index.md @@ -39,34 +39,34 @@ These fields are optionally available: ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/post/term/remove/index.md b/commands/post/term/remove/index.md index f8237272..3e77d408 100644 --- a/commands/post/term/remove/index.md +++ b/commands/post/term/remove/index.md @@ -19,34 +19,34 @@ title: 'wp post term remove' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/post/term/set/index.md b/commands/post/term/set/index.md index 1fab00c1..5783c6cd 100644 --- a/commands/post/term/set/index.md +++ b/commands/post/term/set/index.md @@ -19,34 +19,34 @@ title: 'wp post term set' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/post/update/index.md b/commands/post/update/index.md index fe634406..3759a15d 100644 --- a/commands/post/update/index.md +++ b/commands/post/update/index.md @@ -32,34 +32,34 @@ title: 'wp post update' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/rewrite/flush/index.md b/commands/rewrite/flush/index.md index 0e3631d5..ed081b87 100644 --- a/commands/rewrite/flush/index.md +++ b/commands/rewrite/flush/index.md @@ -25,34 +25,34 @@ to your wp-cli.yml or config.yml. For example: ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/rewrite/index.md b/commands/rewrite/index.md index ed9078ce..bd67a93c 100644 --- a/commands/rewrite/index.md +++ b/commands/rewrite/index.md @@ -7,39 +7,37 @@ title: 'wp rewrite'
    - - ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/rewrite/list/index.md b/commands/rewrite/list/index.md index 4dd7eec2..7acd0fa4 100644 --- a/commands/rewrite/list/index.md +++ b/commands/rewrite/list/index.md @@ -15,6 +15,9 @@ title: 'wp rewrite list' [\--source=<source>] : Show rewrite rules from a particular source. +[\--fields=<fields>] +: Limit the output to specific fields. Defaults to match,query,source. + [\--format=<format>] : Accepted values: table, csv, json, count. Default: table @@ -25,34 +28,34 @@ title: 'wp rewrite list' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/rewrite/structure/index.md b/commands/rewrite/structure/index.md index c313f98a..b1f55c77 100644 --- a/commands/rewrite/structure/index.md +++ b/commands/rewrite/structure/index.md @@ -38,34 +38,34 @@ to your wp-cli.yml or config.yml. For example: ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/role/create/index.md b/commands/role/create/index.md index f94a8515..2d63eb43 100644 --- a/commands/role/create/index.md +++ b/commands/role/create/index.md @@ -27,34 +27,34 @@ title: 'wp role create' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/role/delete/index.md b/commands/role/delete/index.md index 123f3a13..99506183 100644 --- a/commands/role/delete/index.md +++ b/commands/role/delete/index.md @@ -21,34 +21,34 @@ title: 'wp role delete' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/role/exists/index.md b/commands/role/exists/index.md index b757db75..dbaca8b2 100644 --- a/commands/role/exists/index.md +++ b/commands/role/exists/index.md @@ -23,34 +23,34 @@ Will exit with status 0 if the role exists, 1 if it does not. ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/role/index.md b/commands/role/index.md index c5ed9e8b..8066dd97 100644 --- a/commands/role/index.md +++ b/commands/role/index.md @@ -7,39 +7,37 @@ title: 'wp role'
    - - ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/role/list/index.md b/commands/role/list/index.md index e16d15d3..a210e55e 100644 --- a/commands/role/list/index.md +++ b/commands/role/list/index.md @@ -31,34 +31,34 @@ There are no optional fields. ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/role/reset/index.md b/commands/role/reset/index.md index 134b59d9..5a27f72c 100644 --- a/commands/role/reset/index.md +++ b/commands/role/reset/index.md @@ -24,34 +24,34 @@ title: 'wp role reset' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/scaffold/_s/index.md b/commands/scaffold/_s/index.md index a6d3fdc1..21febb19 100644 --- a/commands/scaffold/_s/index.md +++ b/commands/scaffold/_s/index.md @@ -36,34 +36,34 @@ title: 'wp scaffold _s' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/scaffold/child-theme/index.md b/commands/scaffold/child-theme/index.md index 319895b8..721c1182 100644 --- a/commands/scaffold/child-theme/index.md +++ b/commands/scaffold/child-theme/index.md @@ -39,34 +39,34 @@ title: 'wp scaffold child-theme' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/scaffold/index.md b/commands/scaffold/index.md index b7f2b8ea..17889824 100644 --- a/commands/scaffold/index.md +++ b/commands/scaffold/index.md @@ -7,39 +7,37 @@ title: 'wp scaffold'
    - - ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/scaffold/package-tests/index.md b/commands/scaffold/package-tests/index.md index 3f325210..a548d478 100644 --- a/commands/scaffold/package-tests/index.md +++ b/commands/scaffold/package-tests/index.md @@ -38,34 +38,34 @@ WP-CLI Behat framework uses Behat ~2.5. ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/scaffold/plugin-tests/index.md b/commands/scaffold/plugin-tests/index.md index 5a571494..cd9cbf02 100644 --- a/commands/scaffold/plugin-tests/index.md +++ b/commands/scaffold/plugin-tests/index.md @@ -11,7 +11,7 @@ title: 'wp scaffold plugin-tests' These are the files that are generated: -* `phpunit.xml` is the configuration file for PHPUnit +* `phpunit.xml.dist` is the configuration file for PHPUnit * `.travis.yml` is the configuration file for Travis CI * `tests/bootstrap.php` is the file that makes the current plugin active when running the test suite * `tests/test-sample.php` is a sample file containing the actual tests @@ -39,34 +39,34 @@ variable. ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/scaffold/plugin/index.md b/commands/scaffold/plugin/index.md index 1d401cf3..d23732f4 100644 --- a/commands/scaffold/plugin/index.md +++ b/commands/scaffold/plugin/index.md @@ -18,6 +18,18 @@ title: 'wp scaffold plugin' [\--plugin_name=<title>] : What to put in the 'Plugin Name:' header +[\--plugin_description=<description>] +: What to put in the 'Description:' header. + +[\--plugin_author=<author>] +: What to put in the 'Author:' header. + +[\--plugin_author_uri=<url>] +: What to put in the 'Author URI:' header. + +[\--plugin_uri=<url>] +: What to put in the 'Plugin URI:' header. + [\--skip-tests] : Don't generate files for unit testing. @@ -33,34 +45,34 @@ title: 'wp scaffold plugin' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/scaffold/post-type/index.md b/commands/scaffold/post-type/index.md index 7715d41e..746d0b04 100644 --- a/commands/scaffold/post-type/index.md +++ b/commands/scaffold/post-type/index.md @@ -37,34 +37,34 @@ STDOUT. Specify a theme with `--theme=<theme>` to have the file placed in ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/scaffold/taxonomy/index.md b/commands/scaffold/taxonomy/index.md index db7fbc40..171d5188 100644 --- a/commands/scaffold/taxonomy/index.md +++ b/commands/scaffold/taxonomy/index.md @@ -41,34 +41,34 @@ STDOUT. Specify a theme with `--theme=<theme>` to have the file placed in ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/search-replace/index.md b/commands/search-replace/index.md index dba5f45c..df5a8393 100644 --- a/commands/search-replace/index.md +++ b/commands/search-replace/index.md @@ -9,50 +9,67 @@ title: 'wp search-replace' ### DESCRIPTION -This command will go through all rows in a selection of tables -and will replace all appearances of the old string with the new one. The -default tables are those registered on the $wpdb object (usually -just WordPress core tables). +This command will searches through all rows in a selection of tables +and replaces appearances of the first string with the second string. -It will correctly handle serialized values, and will not change primary key values. +By default, the command uses tables registered to the $wpdb object. On +multisite, this will just be the tables for the current site unless +\--network is specified. + +Search/replace intelligently handles PHP serialized data, and does not +change primary key values. ### OPTIONS <old> -: The old string. +: A string to search for within the database. <new> -: The new string. +: Replace instances of the first string with this new string. [<table>...] -: List of database tables to restrict the replacement to. +: List of database tables to restrict the replacement to. Wildcards are +supported, e.g. 'wp_*_options' or 'wp_post*'. + +[\--dry-run] +: Run the entire search/replace operation and show report, but don't save +changes to the database. [\--network] -: Search/replace through all the tables in a multisite install. +: Search/replace through all the tables registered to $wpdb in a +multisite install. -[\--skip-columns=<columns>] -: Do not perform the replacement in the comma-separated columns. +[\--all-tables-with-prefix] +: Enable replacement on any tables that match the table prefix even if +not registered on $wpdb. -[\--dry-run] -: Show report, but don't perform the changes. +[\--all-tables] +: Enable replacement on ALL tables in the database, regardless of the +prefix, and even if not registered on $wpdb. Overrides --network +and --all-tables-with-prefix. -[\--precise] -: Force the use of PHP (instead of SQL) which is more thorough, but slower. Use if you see issues with serialized data. +[\--export[=<file>]] +: Write transformed data as SQL file instead of saving replacements to +the database. If <file> is not supplied, will output to STDOUT. -[\--recurse-objects] -: Enable recursing into objects to replace strings +[\--skip-columns=<columns>] +: Do not perform the replacement on specific columns. Use commas to +specify multiple columns. 'guid' is skipped by default. -[\--all-tables-with-prefix] -: Enable replacement on any tables that match the table prefix even if not registered on wpdb +[\--precise] +: Force the use of PHP (instead of SQL) which is more thorough, +but slower. -[\--all-tables] -: Enable replacement on ALL tables in the database, regardless of the prefix, and even if not registered on $wpdb. Overrides --network and --all-tables-with-prefix. +[\--recurse-objects] +: Enable recursing into objects to replace strings. Defaults to true; +pass --no-recurse-objects to disable. [\--verbose] : Prints rows to the console as they're updated. [\--regex] -: Runs the search using a regular expression. Warning: search-replace will take about 15-20x longer when using --regex. +: Runs the search using a regular expression. Warning: search-replace +will take about 15-20x longer when using --regex. ### EXAMPLES @@ -61,39 +78,42 @@ It will correctly handle serialized values, and will not change primary key valu wp search-replace 'foo' 'bar' wp_posts wp_postmeta wp_terms --dry-run # Turn your production database into a local database - wp search-replace --url=example.com example.com example.dev + wp search-replace --url=example.com example.com example.dev wp_\*_options + + # Search/replace to a SQL file without transforming the database + wp search-replace foo bar --export=database.sql ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/server/index.md b/commands/server/index.md index e9699f72..4ba2fbb6 100644 --- a/commands/server/index.md +++ b/commands/server/index.md @@ -31,34 +31,34 @@ title: 'wp server' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/shell/index.md b/commands/shell/index.md index 96d4b520..8d0687cf 100644 --- a/commands/shell/index.md +++ b/commands/shell/index.md @@ -19,34 +19,34 @@ title: 'wp shell' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/sidebar/index.md b/commands/sidebar/index.md index efff985a..dfa8280f 100644 --- a/commands/sidebar/index.md +++ b/commands/sidebar/index.md @@ -7,39 +7,37 @@ title: 'wp sidebar'
    - - ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/sidebar/list/index.md b/commands/sidebar/list/index.md index 7cd3fc8c..2634a92c 100644 --- a/commands/sidebar/list/index.md +++ b/commands/sidebar/list/index.md @@ -38,34 +38,34 @@ These fields are optionally available: ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/site/activate/index.md b/commands/site/activate/index.md index ad2b5aaf..59860483 100644 --- a/commands/site/activate/index.md +++ b/commands/site/activate/index.md @@ -19,34 +19,34 @@ title: 'wp site activate' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/site/archive/index.md b/commands/site/archive/index.md index 08cc2650..7623b573 100644 --- a/commands/site/archive/index.md +++ b/commands/site/archive/index.md @@ -19,34 +19,34 @@ title: 'wp site archive' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/site/create/index.md b/commands/site/create/index.md index 42eff6e9..2e1394dd 100644 --- a/commands/site/create/index.md +++ b/commands/site/create/index.md @@ -30,34 +30,34 @@ title: 'wp site create' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/site/deactivate/index.md b/commands/site/deactivate/index.md index 9623b03a..ed991a68 100644 --- a/commands/site/deactivate/index.md +++ b/commands/site/deactivate/index.md @@ -19,34 +19,34 @@ title: 'wp site deactivate' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/site/delete/index.md b/commands/site/delete/index.md index f2efdb04..765e4cd9 100644 --- a/commands/site/delete/index.md +++ b/commands/site/delete/index.md @@ -24,34 +24,34 @@ title: 'wp site delete' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/site/empty/index.md b/commands/site/empty/index.md index 3a223653..344b3c95 100644 --- a/commands/site/empty/index.md +++ b/commands/site/empty/index.md @@ -9,40 +9,43 @@ title: 'wp site empty' ### OPTIONS +[\--uploads] +: Also delete *all* files in the site's in the uploads directory. + [\--yes] : Proceed to empty the site without a confirmation prompt. ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/site/index.md b/commands/site/index.md index 013eae4d..a69e5f2e 100644 --- a/commands/site/index.md +++ b/commands/site/index.md @@ -7,39 +7,37 @@ title: 'wp site'
    - - ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/site/list/index.md b/commands/site/list/index.md index a763dd5a..08102f2b 100644 --- a/commands/site/list/index.md +++ b/commands/site/list/index.md @@ -53,34 +53,34 @@ These fields are optionally available: ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/site/spam/index.md b/commands/site/spam/index.md index 4eaf18f3..c1e2c8f4 100644 --- a/commands/site/spam/index.md +++ b/commands/site/spam/index.md @@ -19,34 +19,34 @@ title: 'wp site spam' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/site/unarchive/index.md b/commands/site/unarchive/index.md index 8488ebdb..c0150547 100644 --- a/commands/site/unarchive/index.md +++ b/commands/site/unarchive/index.md @@ -19,34 +19,34 @@ title: 'wp site unarchive' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/site/unspam/index.md b/commands/site/unspam/index.md index 01a93a28..925d735b 100644 --- a/commands/site/unspam/index.md +++ b/commands/site/unspam/index.md @@ -19,34 +19,34 @@ title: 'wp site unspam' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/super-admin/add/index.md b/commands/super-admin/add/index.md index 804ba897..ee32c101 100644 --- a/commands/super-admin/add/index.md +++ b/commands/super-admin/add/index.md @@ -13,34 +13,34 @@ title: 'wp super-admin add' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/super-admin/index.md b/commands/super-admin/index.md index fd2d6feb..64a30510 100644 --- a/commands/super-admin/index.md +++ b/commands/super-admin/index.md @@ -7,39 +7,37 @@ title: 'wp super-admin'
    - - ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/super-admin/list/index.md b/commands/super-admin/list/index.md index b2af021b..e2b2698a 100644 --- a/commands/super-admin/list/index.md +++ b/commands/super-admin/list/index.md @@ -12,34 +12,34 @@ title: 'wp super-admin list' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/super-admin/remove/index.md b/commands/super-admin/remove/index.md index 09edad86..fe1d5758 100644 --- a/commands/super-admin/remove/index.md +++ b/commands/super-admin/remove/index.md @@ -13,34 +13,34 @@ title: 'wp super-admin remove' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/taxonomy/get/index.md b/commands/taxonomy/get/index.md index 3f34af6d..5fb8d9b1 100644 --- a/commands/taxonomy/get/index.md +++ b/commands/taxonomy/get/index.md @@ -28,34 +28,34 @@ title: 'wp taxonomy get' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/taxonomy/index.md b/commands/taxonomy/index.md index e4a85561..9220463b 100644 --- a/commands/taxonomy/index.md +++ b/commands/taxonomy/index.md @@ -7,39 +7,37 @@ title: 'wp taxonomy'
    - - ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/taxonomy/list/index.md b/commands/taxonomy/list/index.md index a260f197..b79c13aa 100644 --- a/commands/taxonomy/list/index.md +++ b/commands/taxonomy/list/index.md @@ -42,34 +42,34 @@ There are no optionally available fields. ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/term/create/index.md b/commands/term/create/index.md index 34c05449..02a8b189 100644 --- a/commands/term/create/index.md +++ b/commands/term/create/index.md @@ -34,34 +34,34 @@ title: 'wp term create' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/term/delete/index.md b/commands/term/delete/index.md index 750a26c6..327ab270 100644 --- a/commands/term/delete/index.md +++ b/commands/term/delete/index.md @@ -23,34 +23,34 @@ title: 'wp term delete' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/term/generate/index.md b/commands/term/generate/index.md index 03c6f16d..d15e45bb 100644 --- a/commands/term/generate/index.md +++ b/commands/term/generate/index.md @@ -25,34 +25,34 @@ title: 'wp term generate' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/term/get/index.md b/commands/term/get/index.md index e240f56d..71d129f2 100644 --- a/commands/term/get/index.md +++ b/commands/term/get/index.md @@ -31,34 +31,34 @@ title: 'wp term get' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/term/index.md b/commands/term/index.md index 47edcd15..5e8bc8a5 100644 --- a/commands/term/index.md +++ b/commands/term/index.md @@ -7,39 +7,37 @@ title: 'wp term'
    - - ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/term/list/index.md b/commands/term/list/index.md index d43939be..37f44465 100644 --- a/commands/term/list/index.md +++ b/commands/term/list/index.md @@ -47,34 +47,34 @@ There are no optionally available fields. ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/term/update/index.md b/commands/term/update/index.md index f68a3d1c..41d95eef 100644 --- a/commands/term/update/index.md +++ b/commands/term/update/index.md @@ -34,34 +34,34 @@ title: 'wp term update' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/term/url/index.md b/commands/term/url/index.md index a3d9724c..94b2bce9 100644 --- a/commands/term/url/index.md +++ b/commands/term/url/index.md @@ -24,34 +24,34 @@ title: 'wp term url' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/theme/activate/index.md b/commands/theme/activate/index.md index 1e509f1a..1f87d810 100644 --- a/commands/theme/activate/index.md +++ b/commands/theme/activate/index.md @@ -15,34 +15,34 @@ title: 'wp theme activate' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/theme/delete/index.md b/commands/theme/delete/index.md index 4c0b2273..59cba7d8 100644 --- a/commands/theme/delete/index.md +++ b/commands/theme/delete/index.md @@ -19,34 +19,34 @@ title: 'wp theme delete' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/theme/disable/index.md b/commands/theme/disable/index.md index d7c31a92..ff2b9331 100644 --- a/commands/theme/disable/index.md +++ b/commands/theme/disable/index.md @@ -26,34 +26,34 @@ enabled for them independently. ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/theme/enable/index.md b/commands/theme/enable/index.md index d2718461..e57082ef 100644 --- a/commands/theme/enable/index.md +++ b/commands/theme/enable/index.md @@ -30,34 +30,34 @@ the "network" flag has no influence on this. ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/theme/get/index.md b/commands/theme/get/index.md index 1dd958a9..0d5532b4 100644 --- a/commands/theme/get/index.md +++ b/commands/theme/get/index.md @@ -28,34 +28,34 @@ title: 'wp theme get' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/theme/index.md b/commands/theme/index.md index 1e6aa163..13e2d749 100644 --- a/commands/theme/index.md +++ b/commands/theme/index.md @@ -7,39 +7,37 @@ title: 'wp theme'
    - - ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/theme/install/index.md b/commands/theme/install/index.md index 8724cbaf..d1587649 100644 --- a/commands/theme/install/index.md +++ b/commands/theme/install/index.md @@ -37,34 +37,34 @@ for confirmation. ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/theme/is-installed/index.md b/commands/theme/is-installed/index.md index 4d23a815..72c46b93 100644 --- a/commands/theme/is-installed/index.md +++ b/commands/theme/is-installed/index.md @@ -19,34 +19,34 @@ title: 'wp theme is-installed' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/theme/list/index.md b/commands/theme/list/index.md index 519f8c73..cfe5cdfc 100644 --- a/commands/theme/list/index.md +++ b/commands/theme/list/index.md @@ -45,34 +45,34 @@ These fields are optionally available: ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/theme/mod/get/index.md b/commands/theme/mod/get/index.md index c19f1c9c..4e24d6dc 100644 --- a/commands/theme/mod/get/index.md +++ b/commands/theme/mod/get/index.md @@ -27,34 +27,34 @@ title: 'wp theme mod get' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/theme/mod/index.md b/commands/theme/mod/index.md index 66564e5b..824cc554 100644 --- a/commands/theme/mod/index.md +++ b/commands/theme/mod/index.md @@ -12,34 +12,34 @@ title: 'wp theme mod' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/theme/mod/remove/index.md b/commands/theme/mod/remove/index.md index 6baef6c7..a8b9eefb 100644 --- a/commands/theme/mod/remove/index.md +++ b/commands/theme/mod/remove/index.md @@ -24,34 +24,34 @@ title: 'wp theme mod remove' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/theme/mod/set/index.md b/commands/theme/mod/set/index.md index f41ad7a0..9d98f6ac 100644 --- a/commands/theme/mod/set/index.md +++ b/commands/theme/mod/set/index.md @@ -22,34 +22,34 @@ title: 'wp theme mod set' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/theme/path/index.md b/commands/theme/path/index.md index a2536659..4bd2dcd1 100644 --- a/commands/theme/path/index.md +++ b/commands/theme/path/index.md @@ -24,34 +24,34 @@ theme's "style.css" file. ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/theme/search/index.md b/commands/theme/search/index.md index 8cd795bc..b791bf64 100644 --- a/commands/theme/search/index.md +++ b/commands/theme/search/index.md @@ -44,34 +44,34 @@ title: 'wp theme search' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/theme/status/index.md b/commands/theme/status/index.md index af1df8e4..323795d4 100644 --- a/commands/theme/status/index.md +++ b/commands/theme/status/index.md @@ -15,34 +15,34 @@ title: 'wp theme status' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/theme/update/index.md b/commands/theme/update/index.md index bcf535b1..6289ef98 100644 --- a/commands/theme/update/index.md +++ b/commands/theme/update/index.md @@ -33,34 +33,34 @@ title: 'wp theme update' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/transient/delete-all/index.md b/commands/transient/delete-all/index.md index 10e0eeea..30d7a6c3 100644 --- a/commands/transient/delete-all/index.md +++ b/commands/transient/delete-all/index.md @@ -12,34 +12,34 @@ title: 'wp transient delete-all' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/transient/delete-expired/index.md b/commands/transient/delete-expired/index.md index 1c2ca46f..d16704c7 100644 --- a/commands/transient/delete-expired/index.md +++ b/commands/transient/delete-expired/index.md @@ -12,34 +12,34 @@ title: 'wp transient delete-expired' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/transient/delete/index.md b/commands/transient/delete/index.md index a42ea71a..bdc73217 100644 --- a/commands/transient/delete/index.md +++ b/commands/transient/delete/index.md @@ -10,37 +10,40 @@ title: 'wp transient delete' <key> : Key for the transient. +[\--network] +: Delete the value of a network transient, instead of that on a single site. + ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/transient/get/index.md b/commands/transient/get/index.md index d609f9e9..fbce1c48 100644 --- a/commands/transient/get/index.md +++ b/commands/transient/get/index.md @@ -13,37 +13,40 @@ title: 'wp transient get' [\--json] : Format output as JSON. +[\--network] +: Get the value of the network transient, instead of the single site. + ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/transient/index.md b/commands/transient/index.md index d4afda57..cf49b2d5 100644 --- a/commands/transient/index.md +++ b/commands/transient/index.md @@ -9,39 +9,37 @@ title: 'wp transient' ### EXAMPLES - wp transient set my_key my_value 300 - -### GLOBAL PARAMETERS + wp transient set my_key my_value 300## GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/transient/set/index.md b/commands/transient/set/index.md index 040a58b2..e6527588 100644 --- a/commands/transient/set/index.md +++ b/commands/transient/set/index.md @@ -13,40 +13,43 @@ title: 'wp transient set' <value> : Value to be set for the transient. -[<expiration] +[<expiration>] : Time until expiration, in seconds. +[\--network] +: Set the transient value on the network, instead of single site. + ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/transient/type/index.md b/commands/transient/type/index.md index 821c805f..10afb03f 100644 --- a/commands/transient/type/index.md +++ b/commands/transient/type/index.md @@ -12,34 +12,34 @@ title: 'wp transient type' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/user/add-cap/index.md b/commands/user/add-cap/index.md index 1c985394..94ce4a4e 100644 --- a/commands/user/add-cap/index.md +++ b/commands/user/add-cap/index.md @@ -23,34 +23,34 @@ title: 'wp user add-cap' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/user/add-role/index.md b/commands/user/add-role/index.md index 76d12742..089c4e6d 100644 --- a/commands/user/add-role/index.md +++ b/commands/user/add-role/index.md @@ -23,34 +23,34 @@ title: 'wp user add-role' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/user/create/index.md b/commands/user/create/index.md index 735c74f2..1b6378d4 100644 --- a/commands/user/create/index.md +++ b/commands/user/create/index.md @@ -46,34 +46,34 @@ title: 'wp user create' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/user/delete/index.md b/commands/user/delete/index.md index 7a4c22dd..06898a10 100644 --- a/commands/user/delete/index.md +++ b/commands/user/delete/index.md @@ -29,34 +29,34 @@ title: 'wp user delete' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/user/generate/index.md b/commands/user/generate/index.md index 059a92fd..693835bc 100644 --- a/commands/user/generate/index.md +++ b/commands/user/generate/index.md @@ -18,34 +18,34 @@ title: 'wp user generate' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/user/get/index.md b/commands/user/get/index.md index 526e7dc3..3a3c2ef6 100644 --- a/commands/user/get/index.md +++ b/commands/user/get/index.md @@ -30,34 +30,34 @@ title: 'wp user get' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/user/import-csv/index.md b/commands/user/import-csv/index.md index adfb3420..dffd9587 100644 --- a/commands/user/import-csv/index.md +++ b/commands/user/import-csv/index.md @@ -33,34 +33,34 @@ title: 'wp user import-csv' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/user/index.md b/commands/user/index.md index 062299b5..1ce9c9c5 100644 --- a/commands/user/index.md +++ b/commands/user/index.md @@ -7,39 +7,37 @@ title: 'wp user'
    - - ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/user/list-caps/index.md b/commands/user/list-caps/index.md index f04f063b..05b28597 100644 --- a/commands/user/list-caps/index.md +++ b/commands/user/list-caps/index.md @@ -20,34 +20,34 @@ title: 'wp user list-caps' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/user/list/index.md b/commands/user/list/index.md index 8e0e11a6..d3b82e5c 100644 --- a/commands/user/list/index.md +++ b/commands/user/list/index.md @@ -63,34 +63,34 @@ These fields are optionally available: ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/user/meta/add/index.md b/commands/user/meta/add/index.md index 2ef68a9e..d2611293 100644 --- a/commands/user/meta/add/index.md +++ b/commands/user/meta/add/index.md @@ -22,34 +22,34 @@ title: 'wp user meta add' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/user/meta/delete/index.md b/commands/user/meta/delete/index.md index 56d0389c..57f6aa17 100644 --- a/commands/user/meta/delete/index.md +++ b/commands/user/meta/delete/index.md @@ -19,34 +19,34 @@ title: 'wp user meta delete' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/user/meta/get/index.md b/commands/user/meta/get/index.md index 9ae4955b..f48a3f0a 100644 --- a/commands/user/meta/get/index.md +++ b/commands/user/meta/get/index.md @@ -21,34 +21,34 @@ title: 'wp user meta get' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/user/meta/index.md b/commands/user/meta/index.md index 8cbb9196..ddcf6340 100644 --- a/commands/user/meta/index.md +++ b/commands/user/meta/index.md @@ -21,34 +21,34 @@ title: 'wp user meta' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/user/meta/list/index.md b/commands/user/meta/list/index.md index eef4b596..0cc361b1 100644 --- a/commands/user/meta/list/index.md +++ b/commands/user/meta/list/index.md @@ -22,34 +22,34 @@ title: 'wp user meta list' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/user/meta/update/index.md b/commands/user/meta/update/index.md index 71ae6722..f2e28cdd 100644 --- a/commands/user/meta/update/index.md +++ b/commands/user/meta/update/index.md @@ -22,34 +22,34 @@ title: 'wp user meta update' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/user/remove-cap/index.md b/commands/user/remove-cap/index.md index 57d3abe3..fb63cadb 100644 --- a/commands/user/remove-cap/index.md +++ b/commands/user/remove-cap/index.md @@ -23,34 +23,34 @@ title: 'wp user remove-cap' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/user/remove-role/index.md b/commands/user/remove-role/index.md index 9f411958..5760de92 100644 --- a/commands/user/remove-role/index.md +++ b/commands/user/remove-role/index.md @@ -23,34 +23,34 @@ title: 'wp user remove-role' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/user/set-role/index.md b/commands/user/set-role/index.md index 95749eec..ba74e87a 100644 --- a/commands/user/set-role/index.md +++ b/commands/user/set-role/index.md @@ -24,34 +24,34 @@ used. ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/user/term/add/index.md b/commands/user/term/add/index.md index a75d96b2..1bac0cdc 100644 --- a/commands/user/term/add/index.md +++ b/commands/user/term/add/index.md @@ -19,34 +19,34 @@ title: 'wp user term add' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/user/term/index.md b/commands/user/term/index.md index c2c9bbce..10d4f1dc 100644 --- a/commands/user/term/index.md +++ b/commands/user/term/index.md @@ -14,34 +14,34 @@ title: 'wp user term' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/user/term/list/index.md b/commands/user/term/list/index.md index 25bc6231..6dff25b2 100644 --- a/commands/user/term/list/index.md +++ b/commands/user/term/list/index.md @@ -39,34 +39,34 @@ These fields are optionally available: ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/user/term/remove/index.md b/commands/user/term/remove/index.md index 45e03405..36bf6243 100644 --- a/commands/user/term/remove/index.md +++ b/commands/user/term/remove/index.md @@ -19,34 +19,34 @@ title: 'wp user term remove' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/user/term/set/index.md b/commands/user/term/set/index.md index cf0fd499..bc9b0953 100644 --- a/commands/user/term/set/index.md +++ b/commands/user/term/set/index.md @@ -19,34 +19,34 @@ title: 'wp user term set' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/user/update/index.md b/commands/user/update/index.md index 78c9800a..2ac15f67 100644 --- a/commands/user/update/index.md +++ b/commands/user/update/index.md @@ -22,34 +22,34 @@ title: 'wp user update' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/widget/add/index.md b/commands/widget/add/index.md index 55aa70ec..5acf9d74 100644 --- a/commands/widget/add/index.md +++ b/commands/widget/add/index.md @@ -26,34 +26,34 @@ title: 'wp widget add' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/widget/deactivate/index.md b/commands/widget/deactivate/index.md index 1378a092..7462728e 100644 --- a/commands/widget/deactivate/index.md +++ b/commands/widget/deactivate/index.md @@ -17,34 +17,34 @@ title: 'wp widget deactivate' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/widget/delete/index.md b/commands/widget/delete/index.md index 80748050..1b7836ec 100644 --- a/commands/widget/delete/index.md +++ b/commands/widget/delete/index.md @@ -17,34 +17,34 @@ title: 'wp widget delete' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/widget/index.md b/commands/widget/index.md index 8b73cbb5..c7784925 100644 --- a/commands/widget/index.md +++ b/commands/widget/index.md @@ -19,39 +19,37 @@ title: 'wp widget' wp widget update calendar-1 --title="Calendar" # Delete one or more widgets entirely - wp widget delete calendar-2 archive-1 - -### GLOBAL PARAMETERS + wp widget delete calendar-2 archive-1## GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/widget/list/index.md b/commands/widget/list/index.md index a25f16e0..c5634788 100644 --- a/commands/widget/list/index.md +++ b/commands/widget/list/index.md @@ -29,39 +29,39 @@ There are no optionally available fields. ### EXAMPLES - wp sidebar widget list <sidebar-id> --fields=name --format=csv + wp widget list sidebar-1 --fields=name --format=csv ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/widget/move/index.md b/commands/widget/move/index.md index c8c0585f..2c916964 100644 --- a/commands/widget/move/index.md +++ b/commands/widget/move/index.md @@ -25,34 +25,34 @@ title: 'wp widget move' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. diff --git a/commands/widget/update/index.md b/commands/widget/update/index.md index f69dc3fa..b378d5ed 100644 --- a/commands/widget/update/index.md +++ b/commands/widget/update/index.md @@ -20,34 +20,34 @@ title: 'wp widget update' ### GLOBAL PARAMETERS \--path=<path> - Path to the WordPress files + Path to the WordPress files. \--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified. \--user=<id|login|email> - Set the WordPress user + Set the WordPress user. \--skip-plugins[=<plugin>] - Skip loading all or some plugins + Skip loading all or some plugins. \--skip-themes[=<theme>] - Skip loading all or some themes + Skip loading all or some themes. \--require=<path> - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once). \--[no-]color - Whether to colorize the output + Whether to colorize the output. \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap. \--prompt - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments. \--quiet - Suppress informational messages + Suppress informational messages. From 74a49c75051471fd96164ce22ee1ce8dfc5fea41 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 6 Jan 2016 15:59:10 -0800 Subject: [PATCH 418/839] More periods! --- _includes/param-list.html | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/_includes/param-list.html b/_includes/param-list.html index 5f380970..988c34ae 100644 --- a/_includes/param-list.html +++ b/_includes/param-list.html @@ -1,6 +1,6 @@ - Path to the WordPress files + Path to the WordPress files.
    Default value: null @@ -26,7 +26,7 @@ - Set the WordPress user + Set the WordPress user.
    Default value: null @@ -39,7 +39,7 @@ - Skip loading all or some plugins + Skip loading all or some plugins.
    Default value: "" @@ -52,7 +52,7 @@ - Skip loading all or some themes + Skip loading all or some themes.
    Default value: "" @@ -65,7 +65,7 @@ - Load PHP file before running the command (may be used more than once) + Load PHP file before running the command (may be used more than once).
    Default value: [] @@ -78,7 +78,7 @@ - (Sub)commands to disable + (Sub)commands to disable.
    Default value: [] @@ -91,7 +91,7 @@ - Whether to colorize the output + Whether to colorize the output.
    Default value: "auto" @@ -104,7 +104,7 @@ - Show all PHP errors; add verbosity to WP-CLI bootstrap + Show all PHP errors; add verbosity to WP-CLI bootstrap.
    Default value: false @@ -117,7 +117,7 @@ - Prompt the user to enter values for all command arguments + Prompt the user to enter values for all command arguments.
    Default value: false @@ -130,7 +130,7 @@ - Suppress informational messages + Suppress informational messages.
    Default value: false @@ -143,7 +143,7 @@ - List of Apache Modules that are to be reported as loaded + List of Apache Modules that are to be reported as loaded.
    Default value: [] From af0b622ac35340840ec80217e59448d71b5b2869 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 6 Jan 2016 15:59:18 -0800 Subject: [PATCH 419/839] First pass at the release post Through issues up to https://github.com/wp-cli/wp-cli/issues?page=3&q=milestone%3A0.22.0+is%3Aclosed+sort%3Aupdated-asc --- _posts/2016-01-07-version-0.22.0.md | 63 +++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 _posts/2016-01-07-version-0.22.0.md diff --git a/_posts/2016-01-07-version-0.22.0.md b/_posts/2016-01-07-version-0.22.0.md new file mode 100644 index 00000000..cba41928 --- /dev/null +++ b/_posts/2016-01-07-version-0.22.0.md @@ -0,0 +1,63 @@ +--- +layout: post +author: danielbachhuber +title: Version 0.22.0 released +--- + +Happy 2016! Before I dive into the RESTful CLI project, I thought it would be worthwhile to get a new release out the door. + +WP-CLI v0.22.0 represents [NNN resolved issues and pull requests](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.22.0+is%3Aclosed). Here's what's new. + +### search-replace for love and profit + +Performance boost! Instead of running a MYSQL LIKE statement every 1000 rows, WP-CLI now just runs it once. On a post meta table of ~3.5 million rows where 75,610 rows were affected, this change improved execution time from 734.926s to 225.509s (3.3x faster). + +Use the `--export=` argument to create a SQL file of your transformed data, instead of making updates to the database. This is a helpful feature when you want to prepare a database for a new environment without having to import and then run search-replace. + +Wildcards can be used in table names [[#2233](https://github.com/wp-cli/wp-cli/pull/2233)]. search-replace against just meta tables with `wp search-replace '*meta*'`. Note: the table pattern needs to be quoted, as * is a special character in Bash. + +Bug fixes and minor enhancements: + +* Recurses objects by default when replacing inside of serialized data [[#2222](https://github.com/wp-cli/wp-cli/pull/2222)]. Among other things, this ensures theme mods are transformed as expected. You can disable the behavior with `--no-recurse-objects`. But, if you do disable the behavior, I'd like to hear from you. I think this is an unnecessary option we could remove at a later date. +* Properly escapes quotes used in search or replace strings [[#2230](https://github.com/wp-cli/wp-cli/pull/2230)]. +* Lets users know to flush their persistent object cache after a search-replace procedure is performed [[#2236](https://github.com/wp-cli/wp-cli/pull/2236)]. +* Bails early when the replacement string is the same as the search string [[#2235](https://github.com/wp-cli/wp-cli/pull/2235)]. +* Indicates execution time when running search/replace with `--verbose` [[#2242](https://github.com/wp-cli/wp-cli/pull/2242)]. +* Prevents unnecessary calls to `$wpdb->update()` when no there are replacements to be made [[#2245](https://github.com/wp-cli/wp-cli/pull/2245)]. + +### Minimum supported WordPress version is now 3.7 + +WP-CLI's minimum supported WordPress version is now 3.7 [[#2261](https://github.com/wp-cli/wp-cli/pull/2261)]. + +### Other changes in v0.22.0 + +Enhancements: + +* Plugin scaffolding: makes Travis less noisy by only sending email notifications on the initial build failure for a branch [[#2194](https://github.com/wp-cli/wp-cli/pull/2194)]; plugin header follows WordPress' PHPDoc standards [[#2197](https://github.com/wp-cli/wp-cli/pull/2197)]; adds `.dist` extension to PHPUnit config file to permit overriding with a local config file [[#2247](https://github.com/wp-cli/wp-cli/pull/2247)]; parses `readme.txt` to find WordPress versions to test [[#2255](https://github.com/wp-cli/wp-cli/pull/2255)] +* Includes `not_found` label when scaffolding a custom taxonomy [[#2196](https://github.com/wp-cli/wp-cli/pull/2196)]. +* Permits installing remote plugin files without `.zip` in filename [[#2193](https://github.com/wp-cli/wp-cli/pull/2193)]. +* Warns when adding a user as a super admin when the user is already a super admin [[#2202](https://github.com/wp-cli/wp-cli/pull/2202)]. +* Uses `WP_CLI::log()` instead of `WP_CLI::line()` in `wp import`, so `--quiet` flag is respected [[#2234](https://github.com/wp-cli/wp-cli/pull/2234)]. +* Introduces `wp_version_compare()` when comparing WordPress versions [[#2237](https://github.com/wp-cli/wp-cli/pull/2237)]. SVN and Git tags include `-src` in `$wp_version`, which +`version_compare()` doesn't like. +* Adds support for wildcard tables (e.g. `*meta*`), `--all-tables-with-prefix`, and `--format=csv` to `wp db tables` [[#2250](https://github.com/wp-cli/wp-cli/pull/2250)]. +* Improves error message when installing a plugin or theme and the resource isn't found [[#2253](https://github.com/wp-cli/wp-cli/pull/2253)]. +* Introduces `wp core update --minor` to more easily script minor updates [[#2256](https://github.com/wp-cli/wp-cli/pull/2256)]. +* Defers to the `$PAGER` environment variable when set [[#2264](https://github.com/wp-cli/wp-cli/pull/2264)]. + +Bug fixes: + +* Lets `help` run early when WP is detected, but not installed (e.g. `wp core config --help`)[[#2190](https://github.com/wp-cli/wp-cli/pull/2190)]. Bug was introduced in v0.20.0. +* When scaffolding a child theme, creates a safe version of the parent theme slug for the child enqueue function [[#2203](https://github.com/wp-cli/wp-cli/pull/2203)]. Previously, if the parent slug included dashes, an invalid enqueue function would be scaffolded. +* Suppresses error notices when looking for `wp-config.php` and PHP's `open_basedir` is in effect [[#2211](https://github.com/wp-cli/wp-cli/pull/2211)]. +* Fixes error notice in `WP_CLI\Loggers\Quiet` [[#2210](https://github.com/wp-cli/wp-cli/pull/2210)]. +* Fixes `all_items` label in custom post type scaffolding [[#2213](https://github.com/wp-cli/wp-cli/pull/2213)]. +* Ensures `install-package-tests.sh` actually downloads the nightly WP-CLI Phar build, and not a redirect [[#2214](https://github.com/wp-cli/wp-cli/pull/2214)]. +* Sets the `upload_space_check_disabled` to `1` when installing multisite [[#2238](https://github.com/wp-cli/wp-cli/pull/2238)]. This mirrors core's behavior on new installs. +* Provides a more helpful message when image regeneration fails[[#2239](https://github.com/wp-cli/wp-cli/pull/2239)]. +* Properly updates menu sub-item parent when parent is deleted [[#2262](https://github.com/wp-cli/wp-cli/pull/2262)]. + +Contributors to this release: + + +You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.22.0+is%3Aclosed) on Github. From 7ca0e487fb8fe5f164f8758e138d5103b79fd863 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 6 Jan 2016 19:59:01 -0800 Subject: [PATCH 420/839] Finish updating from issue backlog --- _posts/2016-01-07-version-0.22.0.md | 30 ++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/_posts/2016-01-07-version-0.22.0.md b/_posts/2016-01-07-version-0.22.0.md index cba41928..606b9d78 100644 --- a/_posts/2016-01-07-version-0.22.0.md +++ b/_posts/2016-01-07-version-0.22.0.md @@ -24,6 +24,7 @@ Bug fixes and minor enhancements: * Bails early when the replacement string is the same as the search string [[#2235](https://github.com/wp-cli/wp-cli/pull/2235)]. * Indicates execution time when running search/replace with `--verbose` [[#2242](https://github.com/wp-cli/wp-cli/pull/2242)]. * Prevents unnecessary calls to `$wpdb->update()` when no there are replacements to be made [[#2245](https://github.com/wp-cli/wp-cli/pull/2245)]. +* Drops unnecessary `REGEXP` query when in regex mode [[#2305](https://github.com/wp-cli/wp-cli/pull/2305)]. ### Minimum supported WordPress version is now 3.7 @@ -33,7 +34,7 @@ WP-CLI's minimum supported WordPress version is now 3.7 [[#2261](https://github. Enhancements: -* Plugin scaffolding: makes Travis less noisy by only sending email notifications on the initial build failure for a branch [[#2194](https://github.com/wp-cli/wp-cli/pull/2194)]; plugin header follows WordPress' PHPDoc standards [[#2197](https://github.com/wp-cli/wp-cli/pull/2197)]; adds `.dist` extension to PHPUnit config file to permit overriding with a local config file [[#2247](https://github.com/wp-cli/wp-cli/pull/2247)]; parses `readme.txt` to find WordPress versions to test [[#2255](https://github.com/wp-cli/wp-cli/pull/2255)] +* Plugin scaffolding: makes Travis less noisy by only sending email notifications on the initial build failure for a branch [[#2194](https://github.com/wp-cli/wp-cli/pull/2194)]; plugin header follows WordPress' PHPDoc standards [[#2197](https://github.com/wp-cli/wp-cli/pull/2197)]; adds `.dist` extension to PHPUnit config file to permit overriding with a local config file [[#2247](https://github.com/wp-cli/wp-cli/pull/2247)]; parses `readme.txt` to find WordPress versions to test [[#2255](https://github.com/wp-cli/wp-cli/pull/2255)]; adds a default `.gitignore` [[#2297](https://github.com/wp-cli/wp-cli/pull/2297)]. * Includes `not_found` label when scaffolding a custom taxonomy [[#2196](https://github.com/wp-cli/wp-cli/pull/2196)]. * Permits installing remote plugin files without `.zip` in filename [[#2193](https://github.com/wp-cli/wp-cli/pull/2193)]. * Warns when adding a user as a super admin when the user is already a super admin [[#2202](https://github.com/wp-cli/wp-cli/pull/2202)]. @@ -41,9 +42,25 @@ Enhancements: * Introduces `wp_version_compare()` when comparing WordPress versions [[#2237](https://github.com/wp-cli/wp-cli/pull/2237)]. SVN and Git tags include `-src` in `$wp_version`, which `version_compare()` doesn't like. * Adds support for wildcard tables (e.g. `*meta*`), `--all-tables-with-prefix`, and `--format=csv` to `wp db tables` [[#2250](https://github.com/wp-cli/wp-cli/pull/2250)]. -* Improves error message when installing a plugin or theme and the resource isn't found [[#2253](https://github.com/wp-cli/wp-cli/pull/2253)]. +* Improves error message when installing a plugin or theme and the resource isn't found [[#2253](https://github.com/wp-cli/wp-cli/pull/2253),[#2267](https://github.com/wp-cli/wp-cli/pull/2267)]. * Introduces `wp core update --minor` to more easily script minor updates [[#2256](https://github.com/wp-cli/wp-cli/pull/2256)]. * Defers to the `$PAGER` environment variable when set [[#2264](https://github.com/wp-cli/wp-cli/pull/2264)]. +* Delete all post or user meta with `--all` flag [[#2265](https://github.com/wp-cli/wp-cli/pull/2265)]. +* Introduces a `composer.lock` file to the project, to fix dependencies to specific hashes [[#2280](https://github.com/wp-cli/wp-cli/pull/2280)]. +* Adds `--dry-run` flag to `wp core update-db` for seeing whether a database needs an upgrade [[#2293](https://github.com/wp-cli/wp-cli/pull/2293)]. +* Adds `--only-missing` flag to `wp media regenerate`, helpful on sites with lots of images where only a small number are missing sizes [[#2292](https://github.com/wp-cli/wp-cli/pull/2292)]. +* Supports custom `wp export` filename formats with `--filename_format=` [[#2230](https://github.com/wp-cli/wp-cli/pull/2300)] +* Magically globalizes any new variables defined in wp-config.php, as they're expected to be global [[#2318](https://github.com/wp-cli/wp-cli/pull/2318)]. +* Runs all registered cron events with the `--all` flag [[#2323](https://github.com/wp-cli/wp-cli/pull/2323)]. +* If a `--require=` is missing, specifies the context of where the missing file is referenced for easier debugging [[#2336](https://github.com/wp-cli/wp-cli/pull/2336)]. +* Assumes db errors during `wp install` to be installation failures, and reports accordingly [[#2337](https://github.com/wp-cli/wp-cli/pull/2337)]. +* Exposes plugin header details at runtime for `wp scaffold plugin` [[#2338](https://github.com/wp-cli/wp-cli/pull/2338)]. +* Adds `--uploads` flag to `wp site empty` to delete the uploads dir for the site too [[#2339](https://github.com/wp-cli/wp-cli/pull/2339)]. +* Includes `ci/behat-tags.php` in `wp scaffold package-tests` [[#2342](https://github.com/wp-cli/wp-cli/pull/2342)]. +* Adds `--skip-email` flag to `wp core install` to disable email notifications [[#2345](https://github.com/wp-cli/wp-cli/pull/2345)]. +* Use `mustangostang/spyc` instead of bundling our own copy [[#2350](https://github.com/wp-cli/wp-cli/pull/2350)]. The `Spyc` class is still available in the global namespace. +* Introduces `WP_CLI\Utils\get_temp_dir()` for safer temp directories. +* Adds `--network` flag to `wp transient *` to manage site transients [[#2351](https://github.com/wp-cli/wp-cli/pull/2351)]. Bug fixes: @@ -54,8 +71,15 @@ Bug fixes: * Fixes `all_items` label in custom post type scaffolding [[#2213](https://github.com/wp-cli/wp-cli/pull/2213)]. * Ensures `install-package-tests.sh` actually downloads the nightly WP-CLI Phar build, and not a redirect [[#2214](https://github.com/wp-cli/wp-cli/pull/2214)]. * Sets the `upload_space_check_disabled` to `1` when installing multisite [[#2238](https://github.com/wp-cli/wp-cli/pull/2238)]. This mirrors core's behavior on new installs. -* Provides a more helpful message when image regeneration fails[[#2239](https://github.com/wp-cli/wp-cli/pull/2239)]. +* Provides a more helpful message when image regeneration fails [[#2239](https://github.com/wp-cli/wp-cli/pull/2239)]. * Properly updates menu sub-item parent when parent is deleted [[#2262](https://github.com/wp-cli/wp-cli/pull/2262)]. +* Stops prefixing rewrite rules with `index.php` when using `wp rewrite structure` [[#2279](https://github.com/wp-cli/wp-cli/pull/2279)]. +* Fixes typo in `wp transient set` synopsis [[#2282](https://github.com/wp-cli/wp-cli/pull/2282)]. +* Restores `wp core verify-checksums` for non-US English locales [[#2287](https://github.com/wp-cli/wp-cli/pull/2287)]. Bug was introduced in v0.21.0. +* Switches to the readline library, when available, for better support of arrow keys using `--prompt` [[#2325](https://github.com/wp-cli/wp-cli/pull/2325)]. +* `WP_CLI\Formatter` properly checks for null values on objects [[#2322](https://github.com/wp-cli/wp-cli/pull/2322)]. +* In `wp media import`, uses host instead of scheme to determine whether a file is remote or local, for Windows compatibility [[#2324](https://github.com/wp-cli/wp-cli/pull/2324)]. +* Ensures updating a plugin with an invalid `--version=` specified doesn't delete the plugin [[#2346](https://github.com/wp-cli/wp-cli/pull/2346)]. Contributors to this release: From 36b6b4350d1511b4b09b188ddfd4c2369f0c3ce5 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 6 Jan 2016 20:44:29 -0800 Subject: [PATCH 421/839] Break enhancements into sections, for easier digesting --- _posts/2016-01-07-version-0.22.0.md | 51 ++++++++++++++++++----------- 1 file changed, 32 insertions(+), 19 deletions(-) diff --git a/_posts/2016-01-07-version-0.22.0.md b/_posts/2016-01-07-version-0.22.0.md index 606b9d78..c43805f1 100644 --- a/_posts/2016-01-07-version-0.22.0.md +++ b/_posts/2016-01-07-version-0.22.0.md @@ -32,37 +32,50 @@ WP-CLI's minimum supported WordPress version is now 3.7 [[#2261](https://github. ### Other changes in v0.22.0 -Enhancements: +Improvements to plugin scaffolding: + +* Makes Travis less noisy by only sending email notifications on the initial build failure for a branch [[#2194](https://github.com/wp-cli/wp-cli/pull/2194)]. +* Plugin header follows WordPress' PHPDoc standards [[#2197](https://github.com/wp-cli/wp-cli/pull/2197)]. +* Adds `.dist` extension to PHPUnit config file to permit overriding with a local config file [[#2247](https://github.com/wp-cli/wp-cli/pull/2247)] +* Parses `readme.txt` to find WordPress versions to test [[#2255](https://github.com/wp-cli/wp-cli/pull/2255)]. +* Adds a default `.gitignore` [[#2297](https://github.com/wp-cli/wp-cli/pull/2297)]. + +New flags for existing commands: + +* Use `--minor` with `wp core update` to only perform minor updates [[#2256](https://github.com/wp-cli/wp-cli/pull/2256)]. +* Use `--all` with `wp (post|user) meta delete` to delete all values [[#2265](https://github.com/wp-cli/wp-cli/pull/2265)]. +* Use `--dry-run` with `wp core update-db` to see whether a database needs an upgrade [[#2293](https://github.com/wp-cli/wp-cli/pull/2293)]. +* Use `--only-missing` with `wp media regenerate` for faster performance on sites with lots of images where only a small number are missing sizes [[#2292](https://github.com/wp-cli/wp-cli/pull/2292)]. +* Use `--all` with `wp cron event run` to execute all registered cron events [[#2323](https://github.com/wp-cli/wp-cli/pull/2323)]. +* Use `--uploads` with `wp site empty` to delete the site's uploads directory too [[#2339](https://github.com/wp-cli/wp-cli/pull/2339)]. +* Use `--skip-email` with `wp core install` to disable email notifications [[#2345](https://github.com/wp-cli/wp-cli/pull/2345)]. +* Use `--network` with `wp transient *` to manage site transients [[#2351](https://github.com/wp-cli/wp-cli/pull/2351)]. + +Framework improvements: + +* Introduces `wp_version_compare()` when comparing WordPress versions [[#2237](https://github.com/wp-cli/wp-cli/pull/2237)]. SVN and Git tags include `-src` in `$wp_version`, which +`version_compare()` doesn't like. +* Defers to the `$PAGER` environment variable when set [[#2264](https://github.com/wp-cli/wp-cli/pull/2264)]. +* Introduces a `composer.lock` file to the project, to fix dependencies to specific hashes [[#2280](https://github.com/wp-cli/wp-cli/pull/2280)]. +* Magically globalizes any new variables defined in wp-config.php, as they're expected to be global [[#2318](https://github.com/wp-cli/wp-cli/pull/2318)]. +* If a `--require=` is missing, specifies the context of where the missing file is referenced for easier debugging [[#2336](https://github.com/wp-cli/wp-cli/pull/2336)]. +* Use `mustangostang/spyc` instead of bundling our own copy [[#2350](https://github.com/wp-cli/wp-cli/pull/2350)]. The `Spyc` class is still available in the global namespace. +* Introduces `WP_CLI\Utils\get_temp_dir()` for safer temp directories. + +Other command enhancements: -* Plugin scaffolding: makes Travis less noisy by only sending email notifications on the initial build failure for a branch [[#2194](https://github.com/wp-cli/wp-cli/pull/2194)]; plugin header follows WordPress' PHPDoc standards [[#2197](https://github.com/wp-cli/wp-cli/pull/2197)]; adds `.dist` extension to PHPUnit config file to permit overriding with a local config file [[#2247](https://github.com/wp-cli/wp-cli/pull/2247)]; parses `readme.txt` to find WordPress versions to test [[#2255](https://github.com/wp-cli/wp-cli/pull/2255)]; adds a default `.gitignore` [[#2297](https://github.com/wp-cli/wp-cli/pull/2297)]. * Includes `not_found` label when scaffolding a custom taxonomy [[#2196](https://github.com/wp-cli/wp-cli/pull/2196)]. * Permits installing remote plugin files without `.zip` in filename [[#2193](https://github.com/wp-cli/wp-cli/pull/2193)]. * Warns when adding a user as a super admin when the user is already a super admin [[#2202](https://github.com/wp-cli/wp-cli/pull/2202)]. * Uses `WP_CLI::log()` instead of `WP_CLI::line()` in `wp import`, so `--quiet` flag is respected [[#2234](https://github.com/wp-cli/wp-cli/pull/2234)]. -* Introduces `wp_version_compare()` when comparing WordPress versions [[#2237](https://github.com/wp-cli/wp-cli/pull/2237)]. SVN and Git tags include `-src` in `$wp_version`, which -`version_compare()` doesn't like. * Adds support for wildcard tables (e.g. `*meta*`), `--all-tables-with-prefix`, and `--format=csv` to `wp db tables` [[#2250](https://github.com/wp-cli/wp-cli/pull/2250)]. * Improves error message when installing a plugin or theme and the resource isn't found [[#2253](https://github.com/wp-cli/wp-cli/pull/2253),[#2267](https://github.com/wp-cli/wp-cli/pull/2267)]. -* Introduces `wp core update --minor` to more easily script minor updates [[#2256](https://github.com/wp-cli/wp-cli/pull/2256)]. -* Defers to the `$PAGER` environment variable when set [[#2264](https://github.com/wp-cli/wp-cli/pull/2264)]. -* Delete all post or user meta with `--all` flag [[#2265](https://github.com/wp-cli/wp-cli/pull/2265)]. -* Introduces a `composer.lock` file to the project, to fix dependencies to specific hashes [[#2280](https://github.com/wp-cli/wp-cli/pull/2280)]. -* Adds `--dry-run` flag to `wp core update-db` for seeing whether a database needs an upgrade [[#2293](https://github.com/wp-cli/wp-cli/pull/2293)]. -* Adds `--only-missing` flag to `wp media regenerate`, helpful on sites with lots of images where only a small number are missing sizes [[#2292](https://github.com/wp-cli/wp-cli/pull/2292)]. * Supports custom `wp export` filename formats with `--filename_format=` [[#2230](https://github.com/wp-cli/wp-cli/pull/2300)] -* Magically globalizes any new variables defined in wp-config.php, as they're expected to be global [[#2318](https://github.com/wp-cli/wp-cli/pull/2318)]. -* Runs all registered cron events with the `--all` flag [[#2323](https://github.com/wp-cli/wp-cli/pull/2323)]. -* If a `--require=` is missing, specifies the context of where the missing file is referenced for easier debugging [[#2336](https://github.com/wp-cli/wp-cli/pull/2336)]. * Assumes db errors during `wp install` to be installation failures, and reports accordingly [[#2337](https://github.com/wp-cli/wp-cli/pull/2337)]. * Exposes plugin header details at runtime for `wp scaffold plugin` [[#2338](https://github.com/wp-cli/wp-cli/pull/2338)]. -* Adds `--uploads` flag to `wp site empty` to delete the uploads dir for the site too [[#2339](https://github.com/wp-cli/wp-cli/pull/2339)]. * Includes `ci/behat-tags.php` in `wp scaffold package-tests` [[#2342](https://github.com/wp-cli/wp-cli/pull/2342)]. -* Adds `--skip-email` flag to `wp core install` to disable email notifications [[#2345](https://github.com/wp-cli/wp-cli/pull/2345)]. -* Use `mustangostang/spyc` instead of bundling our own copy [[#2350](https://github.com/wp-cli/wp-cli/pull/2350)]. The `Spyc` class is still available in the global namespace. -* Introduces `WP_CLI\Utils\get_temp_dir()` for safer temp directories. -* Adds `--network` flag to `wp transient *` to manage site transients [[#2351](https://github.com/wp-cli/wp-cli/pull/2351)]. -Bug fixes: +Bug fixes across the board: * Lets `help` run early when WP is detected, but not installed (e.g. `wp core config --help`)[[#2190](https://github.com/wp-cli/wp-cli/pull/2190)]. Bug was introduced in v0.20.0. * When scaffolding a child theme, creates a safe version of the parent theme slug for the child enqueue function [[#2203](https://github.com/wp-cli/wp-cli/pull/2203)]. Previously, if the parent slug included dashes, an invalid enqueue function would be scaffolded. From db27efd56d92a4ecfccbe0849df3b12de6bda4e7 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 6 Jan 2016 20:45:33 -0800 Subject: [PATCH 422/839] More friendly --- _posts/2016-01-07-version-0.22.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-01-07-version-0.22.0.md b/_posts/2016-01-07-version-0.22.0.md index c43805f1..6921ce41 100644 --- a/_posts/2016-01-07-version-0.22.0.md +++ b/_posts/2016-01-07-version-0.22.0.md @@ -30,7 +30,7 @@ Bug fixes and minor enhancements: WP-CLI's minimum supported WordPress version is now 3.7 [[#2261](https://github.com/wp-cli/wp-cli/pull/2261)]. -### Other changes in v0.22.0 +### Everything else in v0.22.0 Improvements to plugin scaffolding: From 32f5792d9a76f2246f9dbd841a80fa486533c7ae Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 6 Jan 2016 20:47:22 -0800 Subject: [PATCH 423/839] Missing PR number --- _posts/2016-01-07-version-0.22.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-01-07-version-0.22.0.md b/_posts/2016-01-07-version-0.22.0.md index 6921ce41..154a08c6 100644 --- a/_posts/2016-01-07-version-0.22.0.md +++ b/_posts/2016-01-07-version-0.22.0.md @@ -60,7 +60,7 @@ Framework improvements: * Magically globalizes any new variables defined in wp-config.php, as they're expected to be global [[#2318](https://github.com/wp-cli/wp-cli/pull/2318)]. * If a `--require=` is missing, specifies the context of where the missing file is referenced for easier debugging [[#2336](https://github.com/wp-cli/wp-cli/pull/2336)]. * Use `mustangostang/spyc` instead of bundling our own copy [[#2350](https://github.com/wp-cli/wp-cli/pull/2350)]. The `Spyc` class is still available in the global namespace. -* Introduces `WP_CLI\Utils\get_temp_dir()` for safer temp directories. +* Introduces `WP_CLI\Utils\get_temp_dir()` for safer temp directories [[#2353](https://github.com/wp-cli/wp-cli/pull/2353)]. Other command enhancements: From 6b936aa7aa5ee54c275bd9a26350026b01266bcf Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 7 Jan 2016 07:45:45 -0800 Subject: [PATCH 424/839] Post updates --- _posts/2016-01-07-version-0.22.0.md | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/_posts/2016-01-07-version-0.22.0.md b/_posts/2016-01-07-version-0.22.0.md index 154a08c6..c38c2cbb 100644 --- a/_posts/2016-01-07-version-0.22.0.md +++ b/_posts/2016-01-07-version-0.22.0.md @@ -4,19 +4,21 @@ author: danielbachhuber title: Version 0.22.0 released --- -Happy 2016! Before I dive into the RESTful CLI project, I thought it would be worthwhile to get a new release out the door. +Happy 2016! I thought you might enjoy a new WP-CLI release before I dive into the RESTful CLI project. -WP-CLI v0.22.0 represents [NNN resolved issues and pull requests](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.22.0+is%3Aclosed). Here's what's new. +WP-CLI v0.22.0 represents [137 resolved issues and pull requests](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.22.0+is%3Aclosed). Here's what's new. ### search-replace for love and profit -Performance boost! Instead of running a MYSQL LIKE statement every 1000 rows, WP-CLI now just runs it once. On a post meta table of ~3.5 million rows where 75,610 rows were affected, this change improved execution time from 734.926s to 225.509s (3.3x faster). +Last month, [Pantheon](https://pantheon.io/) generously sponsored 15 hours of time to address some of the long-standing bugs in the backlog, and make a few substantial enhancements too. -Use the `--export=` argument to create a SQL file of your transformed data, instead of making updates to the database. This is a helpful feature when you want to prepare a database for a new environment without having to import and then run search-replace. +Let's start with the good stuff: -Wildcards can be used in table names [[#2233](https://github.com/wp-cli/wp-cli/pull/2233)]. search-replace against just meta tables with `wp search-replace '*meta*'`. Note: the table pattern needs to be quoted, as * is a special character in Bash. +* Performance boost! Instead of running a MYSQL LIKE statement every 1000 rows, WP-CLI now just runs it once [[#2304](https://github.com/wp-cli/wp-cli/pull/2304)]. On a post meta table of ~3.5 million rows where 75,610 rows were affected, this change improved execution time from 734.926s to 225.509s (3.3x faster). +* Use the `--export=` argument to create a SQL file of your transformed data, instead of making updates to the database [[#2254](https://github.com/wp-cli/wp-cli/pull/2254)]. This is a helpful feature when you want to prepare a database for a new environment without having to import and then run search-replace. +* Wildcards can be used in table names [[#2233](https://github.com/wp-cli/wp-cli/pull/2233)]. search-replace against just meta tables with `wp search-replace '*meta*'`. Note: the table pattern needs to be quoted, as `*` is a special character in Bash. -Bug fixes and minor enhancements: +I also landed a number of search-replace bug fixes and minor enhancements: * Recurses objects by default when replacing inside of serialized data [[#2222](https://github.com/wp-cli/wp-cli/pull/2222)]. Among other things, this ensures theme mods are transformed as expected. You can disable the behavior with `--no-recurse-objects`. But, if you do disable the behavior, I'd like to hear from you. I think this is an unnecessary option we could remove at a later date. * Properly escapes quotes used in search or replace strings [[#2230](https://github.com/wp-cli/wp-cli/pull/2230)]. @@ -26,9 +28,9 @@ Bug fixes and minor enhancements: * Prevents unnecessary calls to `$wpdb->update()` when no there are replacements to be made [[#2245](https://github.com/wp-cli/wp-cli/pull/2245)]. * Drops unnecessary `REGEXP` query when in regex mode [[#2305](https://github.com/wp-cli/wp-cli/pull/2305)]. -### Minimum supported WordPress version is now 3.7 +### Changes to supported versions -WP-CLI's minimum supported WordPress version is now 3.7 [[#2261](https://github.com/wp-cli/wp-cli/pull/2261)]. +WP-CLI's minimum supported WordPress version is now 3.7 [[#2261](https://github.com/wp-cli/wp-cli/pull/2261)]. We also officially support PHP 7 [[#2330](https://github.com/wp-cli/wp-cli/pull/2330)]. ### Everything else in v0.22.0 From 740c84388760e9294d46919f7229a13c68ee0af8 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 7 Jan 2016 07:49:57 -0800 Subject: [PATCH 425/839] Language tweaks --- _posts/2016-01-07-version-0.22.0.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/_posts/2016-01-07-version-0.22.0.md b/_posts/2016-01-07-version-0.22.0.md index c38c2cbb..96814ccd 100644 --- a/_posts/2016-01-07-version-0.22.0.md +++ b/_posts/2016-01-07-version-0.22.0.md @@ -10,13 +10,13 @@ WP-CLI v0.22.0 represents [137 resolved issues and pull requests](https://github ### search-replace for love and profit -Last month, [Pantheon](https://pantheon.io/) generously sponsored 15 hours of time to address some of the long-standing bugs in the backlog, and make a few substantial enhancements too. +Last month, [Pantheon](https://pantheon.io/) generously sponsored 15 hours of my time to address some of the long-standing bugs in the backlog, and make a few substantial enhancements too. Let's start with the good stuff: * Performance boost! Instead of running a MYSQL LIKE statement every 1000 rows, WP-CLI now just runs it once [[#2304](https://github.com/wp-cli/wp-cli/pull/2304)]. On a post meta table of ~3.5 million rows where 75,610 rows were affected, this change improved execution time from 734.926s to 225.509s (3.3x faster). * Use the `--export=` argument to create a SQL file of your transformed data, instead of making updates to the database [[#2254](https://github.com/wp-cli/wp-cli/pull/2254)]. This is a helpful feature when you want to prepare a database for a new environment without having to import and then run search-replace. -* Wildcards can be used in table names [[#2233](https://github.com/wp-cli/wp-cli/pull/2233)]. search-replace against just meta tables with `wp search-replace '*meta*'`. Note: the table pattern needs to be quoted, as `*` is a special character in Bash. +* Wildcards can be used in table names [[#2233](https://github.com/wp-cli/wp-cli/pull/2233)]. search-replace against just meta tables with `wp search-replace '*meta*'`. Note: the pattern needs to be quoted, as `*` is a special character in Bash. I also landed a number of search-replace bug fixes and minor enhancements: @@ -30,17 +30,19 @@ I also landed a number of search-replace bug fixes and minor enhancements: ### Changes to supported versions -WP-CLI's minimum supported WordPress version is now 3.7 [[#2261](https://github.com/wp-cli/wp-cli/pull/2261)]. We also officially support PHP 7 [[#2330](https://github.com/wp-cli/wp-cli/pull/2330)]. +WP-CLI's minimum supported WordPress version is now 3.7 [[#2261](https://github.com/wp-cli/wp-cli/pull/2261)]. + +We also officially support PHP 7 [[#2330](https://github.com/wp-cli/wp-cli/pull/2330)]. ### Everything else in v0.22.0 -Improvements to plugin scaffolding: +Improvements to `wp scaffold (plugin|plugin-tests)`: * Makes Travis less noisy by only sending email notifications on the initial build failure for a branch [[#2194](https://github.com/wp-cli/wp-cli/pull/2194)]. * Plugin header follows WordPress' PHPDoc standards [[#2197](https://github.com/wp-cli/wp-cli/pull/2197)]. * Adds `.dist` extension to PHPUnit config file to permit overriding with a local config file [[#2247](https://github.com/wp-cli/wp-cli/pull/2247)] -* Parses `readme.txt` to find WordPress versions to test [[#2255](https://github.com/wp-cli/wp-cli/pull/2255)]. -* Adds a default `.gitignore` [[#2297](https://github.com/wp-cli/wp-cli/pull/2297)]. +* Parses `readme.txt` to find WordPress versions to use as Travis tested versions [[#2255](https://github.com/wp-cli/wp-cli/pull/2255)]. +* Includes a default `.gitignore` [[#2297](https://github.com/wp-cli/wp-cli/pull/2297)]. New flags for existing commands: From 828e1b819250e6984b7b96821c6abd402619be6e Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 7 Jan 2016 07:54:49 -0800 Subject: [PATCH 426/839] Remove extra words we don't need --- _posts/2016-01-07-version-0.22.0.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/_posts/2016-01-07-version-0.22.0.md b/_posts/2016-01-07-version-0.22.0.md index 96814ccd..c3a41c28 100644 --- a/_posts/2016-01-07-version-0.22.0.md +++ b/_posts/2016-01-07-version-0.22.0.md @@ -46,14 +46,14 @@ Improvements to `wp scaffold (plugin|plugin-tests)`: New flags for existing commands: -* Use `--minor` with `wp core update` to only perform minor updates [[#2256](https://github.com/wp-cli/wp-cli/pull/2256)]. -* Use `--all` with `wp (post|user) meta delete` to delete all values [[#2265](https://github.com/wp-cli/wp-cli/pull/2265)]. -* Use `--dry-run` with `wp core update-db` to see whether a database needs an upgrade [[#2293](https://github.com/wp-cli/wp-cli/pull/2293)]. -* Use `--only-missing` with `wp media regenerate` for faster performance on sites with lots of images where only a small number are missing sizes [[#2292](https://github.com/wp-cli/wp-cli/pull/2292)]. -* Use `--all` with `wp cron event run` to execute all registered cron events [[#2323](https://github.com/wp-cli/wp-cli/pull/2323)]. -* Use `--uploads` with `wp site empty` to delete the site's uploads directory too [[#2339](https://github.com/wp-cli/wp-cli/pull/2339)]. -* Use `--skip-email` with `wp core install` to disable email notifications [[#2345](https://github.com/wp-cli/wp-cli/pull/2345)]. -* Use `--network` with `wp transient *` to manage site transients [[#2351](https://github.com/wp-cli/wp-cli/pull/2351)]. +* `wp core update --minor` - only perform minor updates [[#2256](https://github.com/wp-cli/wp-cli/pull/2256)]. +* `wp (post|user) meta delete --all` - delete all values [[#2265](https://github.com/wp-cli/wp-cli/pull/2265)]. +* `wp core update-db --dry-run` - see whether a database needs an upgrade [[#2293](https://github.com/wp-cli/wp-cli/pull/2293)]. +* `wp media regenerate --only-missing` - faster performance on sites with lots of images where only a small number are missing sizes [[#2292](https://github.com/wp-cli/wp-cli/pull/2292)]. +* `wp cron event run --all` - execute all registered cron events [[#2323](https://github.com/wp-cli/wp-cli/pull/2323)]. +* `wp site empty --uploads` - delete the site's uploads directory too [[#2339](https://github.com/wp-cli/wp-cli/pull/2339)]. +* `wp core install --skip-email` - disable email notifications [[#2345](https://github.com/wp-cli/wp-cli/pull/2345)]. +* `wp transient * --network` - manage site transients [[#2351](https://github.com/wp-cli/wp-cli/pull/2351)]. Framework improvements: From 5e25a3ac473d9aa2ec7b334da955d7368fa98f47 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 7 Jan 2016 07:56:23 -0800 Subject: [PATCH 427/839] I don't like the dash --- _posts/2016-01-07-version-0.22.0.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/_posts/2016-01-07-version-0.22.0.md b/_posts/2016-01-07-version-0.22.0.md index c3a41c28..5f67eb82 100644 --- a/_posts/2016-01-07-version-0.22.0.md +++ b/_posts/2016-01-07-version-0.22.0.md @@ -46,14 +46,14 @@ Improvements to `wp scaffold (plugin|plugin-tests)`: New flags for existing commands: -* `wp core update --minor` - only perform minor updates [[#2256](https://github.com/wp-cli/wp-cli/pull/2256)]. -* `wp (post|user) meta delete --all` - delete all values [[#2265](https://github.com/wp-cli/wp-cli/pull/2265)]. -* `wp core update-db --dry-run` - see whether a database needs an upgrade [[#2293](https://github.com/wp-cli/wp-cli/pull/2293)]. -* `wp media regenerate --only-missing` - faster performance on sites with lots of images where only a small number are missing sizes [[#2292](https://github.com/wp-cli/wp-cli/pull/2292)]. -* `wp cron event run --all` - execute all registered cron events [[#2323](https://github.com/wp-cli/wp-cli/pull/2323)]. -* `wp site empty --uploads` - delete the site's uploads directory too [[#2339](https://github.com/wp-cli/wp-cli/pull/2339)]. -* `wp core install --skip-email` - disable email notifications [[#2345](https://github.com/wp-cli/wp-cli/pull/2345)]. -* `wp transient * --network` - manage site transients [[#2351](https://github.com/wp-cli/wp-cli/pull/2351)]. +* `wp core update --minor` to only perform minor updates [[#2256](https://github.com/wp-cli/wp-cli/pull/2256)]. +* `wp (post|user) meta delete --all` to delete all meta values [[#2265](https://github.com/wp-cli/wp-cli/pull/2265)]. +* `wp core update-db --dry-run` to see whether a database needs an upgrade [[#2293](https://github.com/wp-cli/wp-cli/pull/2293)]. +* `wp media regenerate --only-missing` for faster performance on sites with lots of images where only a small number are missing sizes [[#2292](https://github.com/wp-cli/wp-cli/pull/2292)]. +* `wp cron event run --all` to execute all registered cron events [[#2323](https://github.com/wp-cli/wp-cli/pull/2323)]. +* `wp site empty --uploads` to empty a site and delete its uploads directory too [[#2339](https://github.com/wp-cli/wp-cli/pull/2339)]. +* `wp core install --skip-email` to install without email notifications [[#2345](https://github.com/wp-cli/wp-cli/pull/2345)]. +* `wp transient * --network` to manage site transients [[#2351](https://github.com/wp-cli/wp-cli/pull/2351)]. Framework improvements: From dfbfb1f34279aaa205340977639b120e6bd7a111 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 7 Jan 2016 08:00:58 -0800 Subject: [PATCH 428/839] More language tweaks --- _posts/2016-01-07-version-0.22.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2016-01-07-version-0.22.0.md b/_posts/2016-01-07-version-0.22.0.md index 5f67eb82..a6b31c89 100644 --- a/_posts/2016-01-07-version-0.22.0.md +++ b/_posts/2016-01-07-version-0.22.0.md @@ -72,7 +72,7 @@ Other command enhancements: * Permits installing remote plugin files without `.zip` in filename [[#2193](https://github.com/wp-cli/wp-cli/pull/2193)]. * Warns when adding a user as a super admin when the user is already a super admin [[#2202](https://github.com/wp-cli/wp-cli/pull/2202)]. * Uses `WP_CLI::log()` instead of `WP_CLI::line()` in `wp import`, so `--quiet` flag is respected [[#2234](https://github.com/wp-cli/wp-cli/pull/2234)]. -* Adds support for wildcard tables (e.g. `*meta*`), `--all-tables-with-prefix`, and `--format=csv` to `wp db tables` [[#2250](https://github.com/wp-cli/wp-cli/pull/2250)]. +* Adds support to `wp db tables` for wildcard tables (e.g. `*meta*`), `--all-tables-with-prefix`, and `--format=csv` [[#2250](https://github.com/wp-cli/wp-cli/pull/2250)]. * Improves error message when installing a plugin or theme and the resource isn't found [[#2253](https://github.com/wp-cli/wp-cli/pull/2253),[#2267](https://github.com/wp-cli/wp-cli/pull/2267)]. * Supports custom `wp export` filename formats with `--filename_format=` [[#2230](https://github.com/wp-cli/wp-cli/pull/2300)] * Assumes db errors during `wp install` to be installation failures, and reports accordingly [[#2337](https://github.com/wp-cli/wp-cli/pull/2337)]. @@ -81,7 +81,7 @@ Other command enhancements: Bug fixes across the board: -* Lets `help` run early when WP is detected, but not installed (e.g. `wp core config --help`)[[#2190](https://github.com/wp-cli/wp-cli/pull/2190)]. Bug was introduced in v0.20.0. +* Lets `help` run early when WP is detected, but not installed (e.g. `wp core config --help`) [[#2190](https://github.com/wp-cli/wp-cli/pull/2190)]. Bug was introduced in v0.20.0. * When scaffolding a child theme, creates a safe version of the parent theme slug for the child enqueue function [[#2203](https://github.com/wp-cli/wp-cli/pull/2203)]. Previously, if the parent slug included dashes, an invalid enqueue function would be scaffolded. * Suppresses error notices when looking for `wp-config.php` and PHP's `open_basedir` is in effect [[#2211](https://github.com/wp-cli/wp-cli/pull/2211)]. * Fixes error notice in `WP_CLI\Loggers\Quiet` [[#2210](https://github.com/wp-cli/wp-cli/pull/2210)]. From d0f8e78a6615759c2df73224c2fdd5ba680426b4 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 7 Jan 2016 08:35:17 -0800 Subject: [PATCH 429/839] Update contributor list --- _posts/2016-01-07-version-0.22.0.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/_posts/2016-01-07-version-0.22.0.md b/_posts/2016-01-07-version-0.22.0.md index a6b31c89..db152d6c 100644 --- a/_posts/2016-01-07-version-0.22.0.md +++ b/_posts/2016-01-07-version-0.22.0.md @@ -98,7 +98,6 @@ Bug fixes across the board: * In `wp media import`, uses host instead of scheme to determine whether a file is remote or local, for Windows compatibility [[#2324](https://github.com/wp-cli/wp-cli/pull/2324)]. * Ensures updating a plugin with an invalid `--version=` specified doesn't delete the plugin [[#2346](https://github.com/wp-cli/wp-cli/pull/2346)]. -Contributors to this release: - +Contributors to this release: [2ndkauboy](https://github.com/2ndkauboy), [coreyworrell](https://github.com/coreyworrell), [danielbachhuber](https://github.com/danielbachhuber), [davidleach](https://github.com/davidleach), [duncanjbrown](https://github.com/duncanjbrown), [ernilambar](https://github.com/ernilambar), [fjarrett](https://github.com/fjarrett), [gilbitron](https://github.com/gilbitron), [greg-1-anderson](https://github.com/greg-1-anderson), [iandunn](https://github.com/iandunn), [jjeaton](https://github.com/jjeaton), [modelm](https://github.com/modelm), [rodrigoprimo](https://github.com/rodrigoprimo), [ryanshoover](https://github.com/ryanshoover), [stevector](https://github.com/stevector), [szepeviktor](https://github.com/szepeviktor), [tristanpenman](https://github.com/tristanpenman), [x1024](https://github.com/x1024) You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.22.0+is%3Aclosed) on Github. From 65650277913bc07d33ca2e438187064b3f99f526 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 7 Jan 2016 09:24:08 -0800 Subject: [PATCH 430/839] Update CTA --- _posts/2016-01-07-version-0.22.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-01-07-version-0.22.0.md b/_posts/2016-01-07-version-0.22.0.md index db152d6c..a0f5060b 100644 --- a/_posts/2016-01-07-version-0.22.0.md +++ b/_posts/2016-01-07-version-0.22.0.md @@ -4,7 +4,7 @@ author: danielbachhuber title: Version 0.22.0 released --- -Happy 2016! I thought you might enjoy a new WP-CLI release before I dive into the RESTful CLI project. +Happy 2016! I thought you might enjoy a new WP-CLI release before I dive into the RESTful CLI project. Use `wp cli update` to install the latest and greatest. WP-CLI v0.22.0 represents [137 resolved issues and pull requests](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.22.0+is%3Aclosed). Here's what's new. From b551aee29015d8c1dd2f343267576ee957e9f826 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 7 Jan 2016 09:29:11 -0800 Subject: [PATCH 431/839] New line is better --- _posts/2016-01-07-version-0.22.0.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/_posts/2016-01-07-version-0.22.0.md b/_posts/2016-01-07-version-0.22.0.md index a0f5060b..b0c50281 100644 --- a/_posts/2016-01-07-version-0.22.0.md +++ b/_posts/2016-01-07-version-0.22.0.md @@ -4,7 +4,9 @@ author: danielbachhuber title: Version 0.22.0 released --- -Happy 2016! I thought you might enjoy a new WP-CLI release before I dive into the RESTful CLI project. Use `wp cli update` to install the latest and greatest. +Happy 2016! I thought you might enjoy a new WP-CLI release before I dive into the RESTful CLI project. + +Use `wp cli update` to install the latest and greatest. WP-CLI v0.22.0 represents [137 resolved issues and pull requests](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.22.0+is%3Aclosed). Here's what's new. From 68c992b54fe1951d41a91aaf339f5b3d1562c407 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 7 Jan 2016 09:29:50 -0800 Subject: [PATCH 432/839] Even more better --- _posts/2016-01-07-version-0.22.0.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/_posts/2016-01-07-version-0.22.0.md b/_posts/2016-01-07-version-0.22.0.md index b0c50281..97050bd2 100644 --- a/_posts/2016-01-07-version-0.22.0.md +++ b/_posts/2016-01-07-version-0.22.0.md @@ -6,9 +6,7 @@ title: Version 0.22.0 released Happy 2016! I thought you might enjoy a new WP-CLI release before I dive into the RESTful CLI project. -Use `wp cli update` to install the latest and greatest. - -WP-CLI v0.22.0 represents [137 resolved issues and pull requests](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.22.0+is%3Aclosed). Here's what's new. +Use `wp cli update` to install v0.22.0, representing [137 resolved issues and pull requests](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.22.0+is%3Aclosed). Here's what's new. ### search-replace for love and profit From 5773d9255bebd1b48ac89d1b9c9084a388c01ea0 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 7 Jan 2016 09:37:55 -0800 Subject: [PATCH 433/839] Final release note tweaks --- _posts/2016-01-07-version-0.22.0.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/_posts/2016-01-07-version-0.22.0.md b/_posts/2016-01-07-version-0.22.0.md index 97050bd2..2990abe3 100644 --- a/_posts/2016-01-07-version-0.22.0.md +++ b/_posts/2016-01-07-version-0.22.0.md @@ -47,15 +47,15 @@ Improvements to `wp scaffold (plugin|plugin-tests)`: New flags for existing commands: * `wp core update --minor` to only perform minor updates [[#2256](https://github.com/wp-cli/wp-cli/pull/2256)]. -* `wp (post|user) meta delete --all` to delete all meta values [[#2265](https://github.com/wp-cli/wp-cli/pull/2265)]. +* `wp (post|comment|user) meta delete --all` to delete all meta values on a given object [[#2265](https://github.com/wp-cli/wp-cli/pull/2265)]. * `wp core update-db --dry-run` to see whether a database needs an upgrade [[#2293](https://github.com/wp-cli/wp-cli/pull/2293)]. * `wp media regenerate --only-missing` for faster performance on sites with lots of images where only a small number are missing sizes [[#2292](https://github.com/wp-cli/wp-cli/pull/2292)]. * `wp cron event run --all` to execute all registered cron events [[#2323](https://github.com/wp-cli/wp-cli/pull/2323)]. * `wp site empty --uploads` to empty a site and delete its uploads directory too [[#2339](https://github.com/wp-cli/wp-cli/pull/2339)]. * `wp core install --skip-email` to install without email notifications [[#2345](https://github.com/wp-cli/wp-cli/pull/2345)]. -* `wp transient * --network` to manage site transients [[#2351](https://github.com/wp-cli/wp-cli/pull/2351)]. +* `wp transient (get|set|delete) --network` to manage site transients [[#2351](https://github.com/wp-cli/wp-cli/pull/2351)]. -Framework improvements: +Framework enhancements: * Introduces `wp_version_compare()` when comparing WordPress versions [[#2237](https://github.com/wp-cli/wp-cli/pull/2237)]. SVN and Git tags include `-src` in `$wp_version`, which `version_compare()` doesn't like. @@ -66,7 +66,7 @@ Framework improvements: * Use `mustangostang/spyc` instead of bundling our own copy [[#2350](https://github.com/wp-cli/wp-cli/pull/2350)]. The `Spyc` class is still available in the global namespace. * Introduces `WP_CLI\Utils\get_temp_dir()` for safer temp directories [[#2353](https://github.com/wp-cli/wp-cli/pull/2353)]. -Other command enhancements: +Improvements to other commands: * Includes `not_found` label when scaffolding a custom taxonomy [[#2196](https://github.com/wp-cli/wp-cli/pull/2196)]. * Permits installing remote plugin files without `.zip` in filename [[#2193](https://github.com/wp-cli/wp-cli/pull/2193)]. From f1b698d2bc5656f65fc816d4c1cb04201f1c7301 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 7 Jan 2016 09:59:47 -0800 Subject: [PATCH 434/839] Properly format the date --- .../{2015-4-25-version-0.19.0.md => 2015-04-25-version-0.19.0.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename _posts/{2015-4-25-version-0.19.0.md => 2015-04-25-version-0.19.0.md} (100%) diff --git a/_posts/2015-4-25-version-0.19.0.md b/_posts/2015-04-25-version-0.19.0.md similarity index 100% rename from _posts/2015-4-25-version-0.19.0.md rename to _posts/2015-04-25-version-0.19.0.md From 383cf817918ff28eb5c09e7bae5abb704612013f Mon Sep 17 00:00:00 2001 From: Rodrigo Primo Date: Thu, 7 Jan 2016 16:12:31 -0200 Subject: [PATCH 435/839] Fix typo in 2016-01-07-version-0.22.0.md --- _posts/2016-01-07-version-0.22.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-01-07-version-0.22.0.md b/_posts/2016-01-07-version-0.22.0.md index 2990abe3..f707d89e 100644 --- a/_posts/2016-01-07-version-0.22.0.md +++ b/_posts/2016-01-07-version-0.22.0.md @@ -25,7 +25,7 @@ I also landed a number of search-replace bug fixes and minor enhancements: * Lets users know to flush their persistent object cache after a search-replace procedure is performed [[#2236](https://github.com/wp-cli/wp-cli/pull/2236)]. * Bails early when the replacement string is the same as the search string [[#2235](https://github.com/wp-cli/wp-cli/pull/2235)]. * Indicates execution time when running search/replace with `--verbose` [[#2242](https://github.com/wp-cli/wp-cli/pull/2242)]. -* Prevents unnecessary calls to `$wpdb->update()` when no there are replacements to be made [[#2245](https://github.com/wp-cli/wp-cli/pull/2245)]. +* Prevents unnecessary calls to `$wpdb->update()` when there are no replacements to be made [[#2245](https://github.com/wp-cli/wp-cli/pull/2245)]. * Drops unnecessary `REGEXP` query when in regex mode [[#2305](https://github.com/wp-cli/wp-cli/pull/2305)]. ### Changes to supported versions From 9ae27fd6a6ecb4ec95c49d01c1dbd17d767d65c6 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Sun, 10 Jan 2016 09:04:21 -0800 Subject: [PATCH 436/839] First pass at RESTFul WP-CLI kickoff material --- _config.yml | 2 ++ _includes/navigation.html | 5 +++- _posts/2016-01-11-restful-wp-cli-update-1.md | 28 ++++++++++++++++++++ assets/css/stylesheet.css | 14 +++++++++- restful/index.md | 18 +++++++++++++ 5 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 _posts/2016-01-11-restful-wp-cli-update-1.md create mode 100644 restful/index.md diff --git a/_config.yml b/_config.yml index c67bafb8..70cd2282 100644 --- a/_config.yml +++ b/_config.yml @@ -20,3 +20,5 @@ navigation: - text: Blog url: /blog/ layout: post +- text: RESTful WP-CLI + url: /restful/ diff --git a/_includes/navigation.html b/_includes/navigation.html index 819c0007..fca69687 100644 --- a/_includes/navigation.html +++ b/_includes/navigation.html @@ -12,9 +12,12 @@
  • {{ link.text }}
  • + + {% if '/blog/' == link.url %} +
  • Wiki
  • + {% endif %} {% endfor %} -
  • Wiki
  • diff --git a/_posts/2016-01-11-restful-wp-cli-update-1.md b/_posts/2016-01-11-restful-wp-cli-update-1.md new file mode 100644 index 00000000..ec3e7a6b --- /dev/null +++ b/_posts/2016-01-11-restful-wp-cli-update-1.md @@ -0,0 +1,28 @@ +--- +layout: post +author: danielbachhuber +title: RESTful WP-CLI - Kickoff +--- + +And so the journey begins. As with most journeys, I have a mixture of emotions: excitement, anticipation, trepidation, and eagerness. Although the destination may be far away, I know I can get there as long as I consistently take steps in the right direction. + +Today marks the formal kickoff of my Kickstarter project, "[A More RESTFul WP-CLI](https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli/description)". To celebrate the occasion, I've launched a [project page](/restful/) to document the project's goals and my progress along the journey. I'll keep it updated as I write blog posts, hopefully every couple of weeks. + +For the past month or so, the question at the top of my mind has been: what does it mean to "unlock the potential of the WP REST API at the command line"? Or, even more broadly, why is it worthwhile to pursue this project? + +These are big questions, and I consider myself fortunate to be able to explore them over the next six months or so. Here's how I've unpacked it so far: + +* WP-CLI's goal is to be, quantitatively, the *fastest* way for developers to manage WordPress. For anything you'd want to do with WordPress, using WP-CLI should save you multitudes of time over doing it some other way. +* WP-CLI and WP REST API both offer CRUD interfaces to WordPress resources. `wp post list` is more or less `GET /wp/v2/posts`. But, `wp widget list` doesn't yet have an equivalent in WP REST API. +* Building the WP REST API has been, and will continue to be, an exercise of modeling how WordPress works to a consistent (RESTful) interface. Furthermore, this model is declared in a common language for clients to interpret. +* At some point in the future, WP-CLI will be able to ditch a lot of its internals when it can use the WP REST API as its interface to WordPress. WP-CLI can continue to serve as the fastest way for developers to manage WordPress, offering higher-level meta operations like `generate`, `(push|pull)`, and `clone` in addition to being a seamless command line interface to WordPress internals. +* As WordPress developers write new endpoints for the WP REST API, it will be quite powerful to have those endpoints instantly accessible through the command line, and as accessible as core resources. For instance, where WP-CLI currently has the `wp post *` commands, WP-CLI requires Easy Digital Downloads to produce its own `wp edd *` commands. +* It appears to be supremely possible to deliver this project as a series of improvements to WP-CLI, shipped over one or more versions. Given I like to release new versions every quarter, it will likely be at lease a couple versions. + +As I said, a lot to unpack. I'm intending start off by working towards making `wp tag list` work interchangably with local and remote sites, which already raises a few issues: + +* It needs to be easier to register WP-CLI commands on the fly. In my prototype command, I [had to](https://github.com/danielbachhuber/wp-rest-cli/commit/f5ec393632fe841aaaecfc664c419ed1bdbcc566#diff-6bd9ca08588aaa4472208db14aae6750R112) `eval()` a dynamically generated class. It would be much nicer to be able to [register an arbitrary function, closure, or method](https://github.com/wp-cli/wp-cli/issues/2204) as a WP-CLI command. +* [tk specify site context] +* [tk authentication, and storing those connection details] + +[tk sponsors] diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 0758b0d3..bb2c6075 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -329,6 +329,18 @@ footer { color: #b5e853; } +.main-nav ul li:nth-child(5) a { + background-color: rgba(122, 208, 58, 0.5); + color: white; + border-radius: 5px; +} + +.main-nav ul li:nth-child(5) a:hover { + background-color: rgba(122, 208, 58, 0.75); + color: white; + border-radius: 5px; +} + .main-nav .active a { /* background: #202020; */ /* Not yet */ color: #f1f1f1; @@ -594,4 +606,4 @@ hr:after, .main-nav li a { padding-left: 0; } -} \ No newline at end of file +} diff --git a/restful/index.md b/restful/index.md new file mode 100644 index 00000000..359d093c --- /dev/null +++ b/restful/index.md @@ -0,0 +1,18 @@ +--- +layout: default +title: A More RESTful WP-CLI +--- + +*Last updated: January 11, 2016* + +WP-CLI's mission is to be, quantitatively, the *fastest* way for developers to manage WordPress. "A More RESTful WP-CLI" is a [Kickstarter-backed](https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli/description) project to unlock the potential of the [WordPress REST API](http://v2.wp-api.org/) at the command line. Ultimately, the project will comprise a series of improvements to WP-CLI (and WP REST API) + +Blog posts: + + +This project is generously funded by: + + + +- Work completed to date +- How to get involved From 76c799b7b139152148f1a12f991a187fed760bb3 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Sun, 10 Jan 2016 16:03:03 -0800 Subject: [PATCH 437/839] Blog post edits --- _posts/2016-01-11-restful-wp-cli-update-1.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/_posts/2016-01-11-restful-wp-cli-update-1.md b/_posts/2016-01-11-restful-wp-cli-update-1.md index ec3e7a6b..9fbc9cfe 100644 --- a/_posts/2016-01-11-restful-wp-cli-update-1.md +++ b/_posts/2016-01-11-restful-wp-cli-update-1.md @@ -8,6 +8,8 @@ And so the journey begins. As with most journeys, I have a mixture of emotions: Today marks the formal kickoff of my Kickstarter project, "[A More RESTFul WP-CLI](https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli/description)". To celebrate the occasion, I've launched a [project page](/restful/) to document the project's goals and my progress along the journey. I'll keep it updated as I write blog posts, hopefully every couple of weeks. +*** + For the past month or so, the question at the top of my mind has been: what does it mean to "unlock the potential of the WP REST API at the command line"? Or, even more broadly, why is it worthwhile to pursue this project? These are big questions, and I consider myself fortunate to be able to explore them over the next six months or so. Here's how I've unpacked it so far: @@ -19,7 +21,11 @@ These are big questions, and I consider myself fortunate to be able to explore t * As WordPress developers write new endpoints for the WP REST API, it will be quite powerful to have those endpoints instantly accessible through the command line, and as accessible as core resources. For instance, where WP-CLI currently has the `wp post *` commands, WP-CLI requires Easy Digital Downloads to produce its own `wp edd *` commands. * It appears to be supremely possible to deliver this project as a series of improvements to WP-CLI, shipped over one or more versions. Given I like to release new versions every quarter, it will likely be at lease a couple versions. -As I said, a lot to unpack. I'm intending start off by working towards making `wp tag list` work interchangably with local and remote sites, which already raises a few issues: +Lots of threads to pull on. + +*** + +I'm intending start development by working towards making `wp tag list` work interchangably with local and remote sites, which already raises a few issues: * It needs to be easier to register WP-CLI commands on the fly. In my prototype command, I [had to](https://github.com/danielbachhuber/wp-rest-cli/commit/f5ec393632fe841aaaecfc664c419ed1bdbcc566#diff-6bd9ca08588aaa4472208db14aae6750R112) `eval()` a dynamically generated class. It would be much nicer to be able to [register an arbitrary function, closure, or method](https://github.com/wp-cli/wp-cli/issues/2204) as a WP-CLI command. * [tk specify site context] From 106fa222d511b0741d8c7490d557174066c07eb2 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Sun, 10 Jan 2016 16:21:39 -0800 Subject: [PATCH 438/839] Developer-level backers --- _posts/2016-01-11-restful-wp-cli-update-1.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/_posts/2016-01-11-restful-wp-cli-update-1.md b/_posts/2016-01-11-restful-wp-cli-update-1.md index 9fbc9cfe..adae058a 100644 --- a/_posts/2016-01-11-restful-wp-cli-update-1.md +++ b/_posts/2016-01-11-restful-wp-cli-update-1.md @@ -31,4 +31,17 @@ I'm intending start development by working towards making `wp tag list` work int * [tk specify site context] * [tk authentication, and storing those connection details] + +*** + [tk sponsors] + +**The Enterprise** + +**The Firm** + +**The Agency** + +**The Developer** + +Aaron Jorbin, Aki Björklund, Anu Gupta, Bjørn Ensover Johansen, Brian Krogsgard, Bronson Quick, Chuck Reynolds, Corey McKrill, Daniel Hüsken, Dave McDonald, Dave Wardle, Eli Silverman, Felix Arntz, Howard Jacobson, Japh Thomson, Jason Resnick, Jeremy Felt, Justin Kopepasah, Kailey Lampert, Kevin Cristiano, Max Cutler, Mike Little, Mike Waggoner, Nate Wright, Pippin Williamson, Quasel, Ralf Hortt, Richard Aber, Richard Wiggins, Ryan Duff, Scott Kingsley Clark, Shinichi Nishikawa, Sven Hofmann, Takayuki Miyauchi, rtCamp From 5823de382748d5ea6522a1bedbac9310bbaeec0d Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 12 Jan 2016 04:55:50 -0800 Subject: [PATCH 439/839] Lowercase on `more` --- _posts/2016-01-11-restful-wp-cli-update-1.md | 4 ++-- restful/index.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/_posts/2016-01-11-restful-wp-cli-update-1.md b/_posts/2016-01-11-restful-wp-cli-update-1.md index adae058a..ce99954f 100644 --- a/_posts/2016-01-11-restful-wp-cli-update-1.md +++ b/_posts/2016-01-11-restful-wp-cli-update-1.md @@ -1,12 +1,12 @@ --- layout: post author: danielbachhuber -title: RESTful WP-CLI - Kickoff +title: A more RESTful WP-CLI --- And so the journey begins. As with most journeys, I have a mixture of emotions: excitement, anticipation, trepidation, and eagerness. Although the destination may be far away, I know I can get there as long as I consistently take steps in the right direction. -Today marks the formal kickoff of my Kickstarter project, "[A More RESTFul WP-CLI](https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli/description)". To celebrate the occasion, I've launched a [project page](/restful/) to document the project's goals and my progress along the journey. I'll keep it updated as I write blog posts, hopefully every couple of weeks. +Today marks the formal kickoff of my Kickstarter project, "[A more RESTFul WP-CLI](https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli/description)". To celebrate the occasion, I've launched a [project page](/restful/) to document the project's goals and my progress along the journey. I'll keep it updated as I write blog posts, hopefully every couple of weeks. *** diff --git a/restful/index.md b/restful/index.md index 359d093c..450a2608 100644 --- a/restful/index.md +++ b/restful/index.md @@ -1,11 +1,11 @@ --- layout: default -title: A More RESTful WP-CLI +title: A more RESTful WP-CLI --- *Last updated: January 11, 2016* -WP-CLI's mission is to be, quantitatively, the *fastest* way for developers to manage WordPress. "A More RESTful WP-CLI" is a [Kickstarter-backed](https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli/description) project to unlock the potential of the [WordPress REST API](http://v2.wp-api.org/) at the command line. Ultimately, the project will comprise a series of improvements to WP-CLI (and WP REST API) +WP-CLI's mission is to be, quantitatively, the *fastest* way for developers to manage WordPress. "A more RESTful WP-CLI" is a [Kickstarter-backed](https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli/description) project to unlock the potential of the [WordPress REST API](http://v2.wp-api.org/) at the command line. Ultimately, the project will comprise a series of improvements to WP-CLI (and WP REST API) Blog posts: From fa88e92120bacd2c262f162cb09483749806d5d5 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 12 Jan 2016 04:56:25 -0800 Subject: [PATCH 440/839] Today is a day later --- ...l-wp-cli-update-1.md => 2016-01-12-restful-wp-cli-update-1.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename _posts/{2016-01-11-restful-wp-cli-update-1.md => 2016-01-12-restful-wp-cli-update-1.md} (100%) diff --git a/_posts/2016-01-11-restful-wp-cli-update-1.md b/_posts/2016-01-12-restful-wp-cli-update-1.md similarity index 100% rename from _posts/2016-01-11-restful-wp-cli-update-1.md rename to _posts/2016-01-12-restful-wp-cli-update-1.md From abacec416d37d981fa93653509376750f5eb189c Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 12 Jan 2016 05:17:59 -0800 Subject: [PATCH 441/839] Add a tricky bit to the header --- _includes/header.html | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/_includes/header.html b/_includes/header.html index 093b163b..028110ba 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -19,7 +19,12 @@

    WP-CLI

    + {% capture page_url %}{{ page.url | remove:'index.html' }}{% endcapture %} + {% if page_url == '/restful/' %} +

    A RESTful command line interface for WordPress

    + {% else %}

    A command line interface for WordPress

    + {% endif %} {% include navigation.html %}
    From 26a4846d8d4e7f3c2d3e1e398aea696a6c3a9461 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 12 Jan 2016 05:18:15 -0800 Subject: [PATCH 442/839] Edits and expansion on the blog post --- _posts/2016-01-12-restful-wp-cli-update-1.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/_posts/2016-01-12-restful-wp-cli-update-1.md b/_posts/2016-01-12-restful-wp-cli-update-1.md index ce99954f..ce7783aa 100644 --- a/_posts/2016-01-12-restful-wp-cli-update-1.md +++ b/_posts/2016-01-12-restful-wp-cli-update-1.md @@ -6,18 +6,18 @@ title: A more RESTful WP-CLI And so the journey begins. As with most journeys, I have a mixture of emotions: excitement, anticipation, trepidation, and eagerness. Although the destination may be far away, I know I can get there as long as I consistently take steps in the right direction. -Today marks the formal kickoff of my Kickstarter project, "[A more RESTFul WP-CLI](https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli/description)". To celebrate the occasion, I've launched a [project page](/restful/) to document the project's goals and my progress along the journey. I'll keep it updated as I write blog posts, hopefully every couple of weeks. +Today marks the formal kickoff of my Kickstarter project, "[A more RESTFul WP-CLI](https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli/description)". To celebrate the occasion, I've launched a [project page](/restful/) to document the project's goals and my progress along the journey. I'll keep it updated as I write blog posts, hopefully every couple of weeks. Consider these blog posts both a development log and an invitation to participate — I look forward to your comments, issues and pull requests. *** -For the past month or so, the question at the top of my mind has been: what does it mean to "unlock the potential of the WP REST API at the command line"? Or, even more broadly, why is it worthwhile to pursue this project? +For the past month or so, the question at the top of my mind has been: what does it mean to "unlock the potential of the WP REST API at the command line"? Or, even more broadly, why do this project? -These are big questions, and I consider myself fortunate to be able to explore them over the next six months or so. Here's how I've unpacked it so far: +These are big questions, and I consider myself fortunate to be able to explore them over the next six months or so. Here's how I've unpacked them so far, in a series of loosely connected ideas: -* WP-CLI's goal is to be, quantitatively, the *fastest* way for developers to manage WordPress. For anything you'd want to do with WordPress, using WP-CLI should save you multitudes of time over doing it some other way. -* WP-CLI and WP REST API both offer CRUD interfaces to WordPress resources. `wp post list` is more or less `GET /wp/v2/posts`. But, `wp widget list` doesn't yet have an equivalent in WP REST API. +* WP-CLI's goal is to be, quantitatively, the *fastest* interface for developers to manage WordPress. For anything you want to do with WordPress, using WP-CLI should save you multitudes of time over doing it some other way. +* WP-CLI and WP REST API both offer CRUD interfaces to WordPress resources. `wp post list` is more or less `GET /wp/v2/posts`. But, `wp widget list` doesn't yet have an equivalent in WP REST API. We still have a ton of work to do. * Building the WP REST API has been, and will continue to be, an exercise of modeling how WordPress works to a consistent (RESTful) interface. Furthermore, this model is declared in a common language for clients to interpret. -* At some point in the future, WP-CLI will be able to ditch a lot of its internals when it can use the WP REST API as its interface to WordPress. WP-CLI can continue to serve as the fastest way for developers to manage WordPress, offering higher-level meta operations like `generate`, `(push|pull)`, and `clone` in addition to being a seamless command line interface to WordPress internals. +* At some point in the future, WP-CLI will be able to ditch a substantial amount of its internals when it can use the WP REST API as its interface to WordPress. WP-CLI can continue to serve as the fastest way for developers to manage WordPress, offering higher-level meta operations like `generate`, `(push|pull)`, and `clone` in addition to being a seamless command line interface to WordPress internals. * As WordPress developers write new endpoints for the WP REST API, it will be quite powerful to have those endpoints instantly accessible through the command line, and as accessible as core resources. For instance, where WP-CLI currently has the `wp post *` commands, WP-CLI requires Easy Digital Downloads to produce its own `wp edd *` commands. * It appears to be supremely possible to deliver this project as a series of improvements to WP-CLI, shipped over one or more versions. Given I like to release new versions every quarter, it will likely be at lease a couple versions. @@ -28,7 +28,7 @@ Lots of threads to pull on. I'm intending start development by working towards making `wp tag list` work interchangably with local and remote sites, which already raises a few issues: * It needs to be easier to register WP-CLI commands on the fly. In my prototype command, I [had to](https://github.com/danielbachhuber/wp-rest-cli/commit/f5ec393632fe841aaaecfc664c419ed1bdbcc566#diff-6bd9ca08588aaa4472208db14aae6750R112) `eval()` a dynamically generated class. It would be much nicer to be able to [register an arbitrary function, closure, or method](https://github.com/wp-cli/wp-cli/issues/2204) as a WP-CLI command. -* [tk specify site context] +* When we register REST endpoints to WP-CLI on the fly, there's the potential for them to conflict with existing commands. Furthermore, the endpoints will vary from site to site. Ideally, the commands you see should represent the commands available on the target site. I think [site aliases](https://github.com/wp-cli/wp-cli/issues/2039) may offer us a backwards-compatible implementation: specifying an alias like `wp @prod` would only enable commands available on production. * [tk authentication, and storing those connection details] From aa1ab50b44dedb775b70f1262181a3757f233b7c Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 12 Jan 2016 06:06:36 -0800 Subject: [PATCH 443/839] First pass at adding sponsor logos --- _posts/2016-01-12-restful-wp-cli-update-1.md | 45 +- assets/img/restful/chrislema.png | Bin 0 -> 30627 bytes assets/img/restful/humanmade.svg | 687 +++++++++++++++++++ assets/img/restful/pagely.png | Bin 0 -> 10098 bytes assets/img/restful/pantheon.png | Bin 0 -> 35367 bytes 5 files changed, 720 insertions(+), 12 deletions(-) create mode 100644 assets/img/restful/chrislema.png create mode 100644 assets/img/restful/humanmade.svg create mode 100644 assets/img/restful/pagely.png create mode 100644 assets/img/restful/pantheon.png diff --git a/_posts/2016-01-12-restful-wp-cli-update-1.md b/_posts/2016-01-12-restful-wp-cli-update-1.md index ce7783aa..f4e82c5e 100644 --- a/_posts/2016-01-12-restful-wp-cli-update-1.md +++ b/_posts/2016-01-12-restful-wp-cli-update-1.md @@ -28,20 +28,41 @@ Lots of threads to pull on. I'm intending start development by working towards making `wp tag list` work interchangably with local and remote sites, which already raises a few issues: * It needs to be easier to register WP-CLI commands on the fly. In my prototype command, I [had to](https://github.com/danielbachhuber/wp-rest-cli/commit/f5ec393632fe841aaaecfc664c419ed1bdbcc566#diff-6bd9ca08588aaa4472208db14aae6750R112) `eval()` a dynamically generated class. It would be much nicer to be able to [register an arbitrary function, closure, or method](https://github.com/wp-cli/wp-cli/issues/2204) as a WP-CLI command. -* When we register REST endpoints to WP-CLI on the fly, there's the potential for them to conflict with existing commands. Furthermore, the endpoints will vary from site to site. Ideally, the commands you see should represent the commands available on the target site. I think [site aliases](https://github.com/wp-cli/wp-cli/issues/2039) may offer us a backwards-compatible implementation: specifying an alias like `wp @prod` would only enable commands available on production. -* [tk authentication, and storing those connection details] - +* When we register REST endpoints to WP-CLI on the fly, there's the potential for them to conflict with existing commands. Furthermore, the endpoints will vary from site to site. Ideally, the commands you see should represent the commands available on the target site. I think [site aliases](https://github.com/wp-cli/wp-cli/issues/2039) may offer us a backwards-compatible implementation: specifying an alias like `wp @prod` would only expose commands available on production. +* Remote calls will need authentication. Ideally, it should be possible to authenticate once through a supported protocol (basic, oAuth1, API key, etc.), We'll need to store these authentication details somewhere on the file server, which is potential rationale for a [config management command](https://github.com/wp-cli/wp-cli/issues/515). If you aren't blocking web requests to `wp-cli.yml` and `wp-cli.local.yml` already, you should be. *** -[tk sponsors] - -**The Enterprise** - -**The Firm** - -**The Agency** - -**The Developer** +This project is possible thanks to many generous organizations and individuals. Thank you again for supporting me on this journey. + + + + + + + + + + + + + + +
    Chris Lema is the CTO & Chief Strategist at Crowd Favorite. He’s also a WordPress evangelist, public speaker & advisor to product companies.Human Made is a leading WordPress Development, Hosting and Consultancy Firm with a global team covering Europe, The USA, and Asia/Australia.
    + + + + + + + + + + + + + + +
    Pagely® is the World’s first and most scalable WordPress Hosting platform: We help the biggest brands scale and secure WordPress.Pantheon is a website management platform used to build, launch, and run awesome Drupal & WordPress websites.
    Aaron Jorbin, Aki Björklund, Anu Gupta, Bjørn Ensover Johansen, Brian Krogsgard, Bronson Quick, Chuck Reynolds, Corey McKrill, Daniel Hüsken, Dave McDonald, Dave Wardle, Eli Silverman, Felix Arntz, Howard Jacobson, Japh Thomson, Jason Resnick, Jeremy Felt, Justin Kopepasah, Kailey Lampert, Kevin Cristiano, Max Cutler, Mike Little, Mike Waggoner, Nate Wright, Pippin Williamson, Quasel, Ralf Hortt, Richard Aber, Richard Wiggins, Ryan Duff, Scott Kingsley Clark, Shinichi Nishikawa, Sven Hofmann, Takayuki Miyauchi, rtCamp diff --git a/assets/img/restful/chrislema.png b/assets/img/restful/chrislema.png new file mode 100644 index 0000000000000000000000000000000000000000..79b56d5b235f823dcec4ef0b8a7470e67fa75fb6 GIT binary patch literal 30627 zcmeIabzD{5);5eZNP~0IgMc(h=VlYqu<4SP7U?c2DL3660wO6L0us{Q@h$KB zocnOjbI#*?-tYa>{oBG|t}(`(>zc9Vy2hA>Dl5vMqY|USz`&r(K9^L5fq@MJWM5=N z;HO2^3MTLi#s0ar6Aa8l+@Jp*z@(%R!oWOZv{cuEXeqql2ie)M8k^dgfLYya>;Y{U z7(o#?dt;Cl7(!_RHn+4DqS|Y0rJ}Sn6{6DQQD9fFmjGK>KKF10t9dA@gFLK2e5O<) z!l;67{D1=+FvOVB&Bof+iQi3#>JPvCfc&$Vjf(OQ6^NA(mDtY;DYX=oDJAS2!IV6# zJS-q~P7X?5K2{DM9$sEfW=c+W4sJGf4mJ)h77jjsZf<^dcFMnfsDx1gNzl>Mj9*n! z`ft?%e+f}pKp^(~Y;3NsuB@(Htags(Y#e-id~EETY@D1dfCh_`yDh}njm6f9`cEf+ z_ag~*0y$dRLoDrVDS!GkHnDSt2vJe}tmv=L-|oxC{;!H`o&JU$fFhflu{|3HD?8i2 zGcpDJWn=H`X#GdiOhIg5Yp@O27UBfhar|35dkZ^=os)&#f2i`W%m1-rpidMO{;K=m zw%5ky-&XAek#Yeb_#34E*3wDc-5$)Q3U;z{b_9W?T!34l{&#l|u{8Tf=lqkWpI824 z+re&@|H16%l|Rk?7z%&(kRWic{1T2}V~Cxjx}BZ1@Smeh`R@=?N=W=Mswn9dj6s&R zKXGLcWcyd6fAsi2{DCEnAz)!(MDnn(KVxBks?Nc~&&kct#l^zT3yjNqPX5&V7at0C zrj};z|IP;wKL_W1ANMr>)dw(xOpPJN|3_Z#>)!KY3gS1jbF?vr2wU11n}gZxZOsMQ z{!w^O^RIEmFJWhG=Lj?lEX*ay_V0@CS^Y8A_+@RKAjY;Ju&ksoP{3+wY03{~XMbkK z!~2ZInA?n-h1-OWkHz?z2`>xyDUUJ881#$-!~yyPL&{W_j@B37{7n4W@=!Ee=hy|1#8Pc zRwa95M_!{{GZMCKmGo*;lEZO$oBII zU~T!&UGZn>Kljkz$L#;?QNf=J8$U1_fR-8m(F+`cZ2zO|A2t7}ul2K6t)2hS=jCJv zK5QI6fBwz%{^fr))&Ad2?_d5`(|=fM*jhq_IsaDMzZBoI`nmf4xiF{!8wIfNQyv~J z9znK$E&f*vWlJ}(wU(qMFoT_bj?1S!z>WQ3^siU`t)=!qEIBxN?_1ux@;A#rJL}#< z{g1x_IB}DfXe#3PijbF;Y;rb;+_Z5D_bsvpi%D>_IB}DfXe#3PijbF;Y;rb;+_Z5D_ zbsvpi%D>_IB}DfXe#3PijbF;Y;rb;+_Z5D_bsvpi%D>_IB}DfXe#3PijbF;Y;rb;+ z_Z5D_bsvpi%D>_IB}DfXe#3PijbF;Y;rb;+_Z5D_bsvpi%D>_IB}DfXe#3PijbF;Y z;rb;+_Z5D_bsvpi%D>_IB}DfXe#3PijbF;Y;rb;+_Z5D_bsvpi%D>_IB}DfXe#3Pi zjbF;Y;rb;+_Z5D_bsvpi%D>_IB}DfXe#3PijbF;Y;rb;+_Z5D_bsvpi%Ks}|sQ)+s z2(|@I{ka0i`vzz~6#z#ADM8Ow6<}aIp1{Do4uFBVxC4IwfPrylhk@BNf`Q>rf`K8h zduP}!4Fe;5Br7SV?l!ZX?wX{p>0G<${bgs&oSQn*WA9}mm}k~eBA;-KBaoQ#F$E6| zMG}_y)oXZU7A$0xw}JSnFs$EbwVM-F_Q3CdG%xymxxKC9N-!Oo^V~hISXi%*UQMnq zD5)ISD`}q8k+bq9`y`D8FZT0mJN%()!nlp8=I?(~nZOuB11ORGf$u(NNAQ&BpI0_8 zu)}_q0bgXPKTP4p0(1T>pcGg6n|U_<9~zWzl=1%bFG-L3rxg_*!k#y3p>^>-~baJgub-3q0C_MFmB{*g#m6g6T|FV&rswGb}yr(&RUTvV`P1q5P964 z>pah}T-eHXUW9S>%~KaNaZPBdORg@as0@l^u~-}rEt2Xbo4GDb%$G`UyG)&<>1CBwpkhn#FJZSu;>{QCPh z6K6~l$>LS<@S}3=^&U)5Yj?Kne4XS~RneC6^hCA5mzKFmpsmPj)rnHxtVhJS@!kY${uE+8+u5Gv@pn<)C$m`fFpNH1U1jLX ztP!DiNIY8uD1Hm&T=EE~K}uO985@GN`Fo75M}+7y1U4|F_fh3LwK^$kgg`evsJWFHvEj%7H9ujOMl+p`$Slu<( zW4cbd+Wn}_(nlbyKa*IpQsLWD_9M!DmF06Av~xYsdMohg(O1G?@%i^O*1EZPbM+2n zzIW3~F{!D*A>)I#c51I1lEvJT5?EykDm+7vy-3{`8G4_4Z#O08To=>fd|E0F!zX7lX}#kDXgrueGT$ALSz8O4Q- zPVXPB`reb95PGCAm2ThQlzmq92^(skxP{s~c8ZHG^9|rLl4?Ag@?n#B;i#l+iPl4KF5fh zoQ^nOLtV|G4uqrg6W_a}>+7b+&_UkT8;O>yW{TL<)X3fy*|l&g;>aAl>u*qfL$+kM)%MziJt!_m zYai>O8sNb8XPFNf^B1NH(}u3-vTSULv&A3hXV7P( zmG=Z;6~RPfBYd$<*b(!zzExD_mGm+F&G)gP(W&9*FU@H4EnTi08uec=lMiKP%y)b( zo|K*w+FkSw4C`k^Jv{Pg>TSO@HHAkG62D&RGe!PgOV4W%wk(g+#GCEW_)u zCI&o>@#92mIlJ+t#>0pvN?hK@4;w+;KFS18?y zD)%&-#1-TEJ#mrTT!D*AI=_wpJZeUlk1}29^9L_!4$!W)jz{D^63*Pbx5csHRF7)8 zR??E$6Pv_nhaqQ@n#Qos7S+yL{u*6UrG z(OQROOp-g=<+E+nl;8HMDT&B?diG|`f(ItZxNECoVz5QG#&P2&h{wQ=KjeyXTPdm@ za}k5KCdj^Q?@#IdrjZf%qqCAO4nI5>8mzaome9x+b zOq2tJOVsvc3@>~`+c@_qQLoC(aY{rpZ(uGjYl%V$gO@C*#&kd_X0=zd!2$|{EJFyNoAJu9JqN+2~Nr<%Jcaw zqa`ONTh51DrUX)ByKK)3T64Agtpkz!`8OqmP&dtba_2?&HaU*2qlWj=vj8hq?QYbzSyeW5n& z2E^SVSwtd72WC9)=BDEijekb7RERE!?CH6MEq&=R7dhp!WdN=~(SE0s4- z0kG+{sP>1?x`Zo}>czN`ZFS8KSL@IgLlxgh%`jyj5Wz1^s5Cj*H=T1pwnjKy zuNp2VH?|guUNVpfm}^?5`h#LNI2H00$m+iD*4W^p$at=*oLqU2PfQ$K(Pfb1d8P?F zWsDUJov4lzOM*C3Qgws7D}@}7p8@S{#t*Zt4bRWVk0KRf6?YisH!VTA>Y7y^L{e_K z-Snf$aR7fL_TSiQnfcOEnj6pg0kymffgh)<<$RJo;^_~}XCr3EtF7|K zY?Tz3c9V2bV>h?uU9f`FgcoPe8}U?m2?lbYMMPuV(~z^v2SQ3R^ixdP7KDg8Ru~j~ zif&j`_L;Y1M-T|S=aaIAg#IlOl928r@7)WVKZ-mWKlS&2x9CH8wYAyXq5iasibF5d zdHb=2@VnVKE4yTPHHy>|OqYLswUJO9`e_9c>gv-(Ys!K+cBPs} zT7t#zhTX9wc|fL_Qr@t#0H1u6#};v1R)SY*V^dXo;@ed|L0rnCt*!kzlQ*QcW%Xpv zbExgf90sBUutG#NCc3jZIactwY{SpG?iwG#oncHl*VNQNt!RMomF zJ8sh?*qr?^sHmuT=CI6tg-N=WJ!y-d{miIq7OEud|4R6sR?kl9vu$Eg#|g1rMD+>I z{UI^;0-FBWdd_zHW{6^yw2T#{9^#VxM!x9z|U~O1{x}>N=14VqJnDpL~BHsA9 zW-je*{SgPt1lkC(g;1#NC9b5dZ4u(Kmi4QT1Fg|2$4}z~tkhGrWwxM9KJU1HoH4bI zPe&^#OWBD=dSY=VW_eY%Z$wCn`H_i*3{W~E%zI(Y@6%a`q&E!Bytac~`^+XQLbx6+A%cv)!D8ltEOd}g%u-^dqROfa5ye+@~V}q%R0L^*d zq1OlqLMOfJb&jjVL`2QSCE%1W`)A_rQeWTJW|Ik=*{^Q$aH`FPgSBP3FbEOdnhjib zW`?XNnkYKCWo%kWRI@D%Z%Mg#x6_|j@r$$ws*g|;#x5ZFxqp-6z;49RzKa(quH2rd z9q+=-p#l$A5j0+|4>ysJ*|aWIZ}c544T>th?NZ!BCpXD)QIojc4zG{zW8$nkCSMb)8y_Ae86Kz#|qEnhbqRiPqT-I>57EiJ_hFJ zo6#yT?vCW!CWdcsTc@O?uQm&2F zPvwZ3WnfW1>UiGiFXBa5QgmuLW6=t}JH@F{&DzQ!Ju#b5XiVFaA5W*U?GIs35Dx9v zPgJLAQGHF2g}U3RcPS9@L@B#RBn~Ts_e7fvk<+a0d+S?acAbU_)m&PZQ1G<3qWF$W zqXlr#esUKM&M}fsDSc@_2K0T+?Cesf@sz%%stTj1d7z(hs(BBFk8fJGyLNWPY<@-~ zf{B?DKb)@GTTKnu^NfP{tGBI1pvilD?}J?4&DH!9eM-+qJ))>&6tJpYS#Q2Qy7(0h5i1X%6ZUmL(lJJIi4aFQZ9ZT zR{6x8#NLxV|IWKLzeBZquS@F|t*76cu-G@c-h+wp%*C>@5DuGJe$m2QWrR$*)KLVCTl&Ta8K$$g<-HeZCX!Ldkm9lBEKfas1E0T$Wjc+8@ zIA^ardS8m#=?c4B@PSQ^p{n#^p5n4rb)W?{`Oag98u#><=G; z^&3xP)8pg0&-rb&nUh42^6;G2KDX^1(ay`fN}(MrEw!Gmkq9*LH8#9Lo#Joi>J?SE z#Oj$V$JAEse1(C77Q+4_{`d(Oek9bo z&jco4DYZYsQVr!vpPFR~ZMIPonZPNAoBlq>V?5_0F~|+Y=ppSUvhv3Vpk0xHLMk-2 z>?A&drm<0ZSTZZZZhToMSY=jA$&Msi{BQw$7rdbt#0PitH@H<5hN#w}`WXM+YHPfloOYI-2ab2V-cU}9+>aam2E`IGe}X5Ktt zn;c+#=5QE++$}6pa_B3T$5RCB7fKlJ3(zV=8i7kPJ^fXuQ$O~dvBUHw%jB-Gd$^sQ zPb^Bwc2pqsda`$4xN$ECUAN~XtgLi1%Xgr?nOV(3&QI_MD)`T|^RY;R#pp@%t4nQ$ zcf2;o`4ltw!!2nO1()mtrz_3a-4DAGt@&NQFmHd6+!jKW%FMKy9GI&2giO4n;La|T z0B`irjix$r6OP^Cuf|@Rcd&PVR%9cT(9NB|>lb1b(uI(Ug~;Whqks}FgQaB#;$xo2 z<;ml}OHY>)T<~tdFXeG}uO}68ND;ciIQ`L(qO0=^Qb%J+wJ%BI6xh+>5J6%1oI6FZ zLWv=0g4h!|A)|J0NhX z;PlWy-R2H5YLw}_@*8>IWhTlqFE|;9Bo0V1fQ zHmCK)(&Avqydxi5bs3qOdg1QAnl*d*Z3(9%=DBKg&P2*{ntq#FmZsHp`9x+a5jM6T zHg`q=D{vL3TR6 zwdQM-hU;Enk1i*G(?j}|r#eu4DNeo-W<)EZ-pLGVv2^`@S=CCx$48jWdb%&(0I^yt zp*w-Vb$DhW0pe>yPii(3*Ea|Ccw&RGX=_!A`{W@~{rLPXoJ^hllB4R#?2{hz!IbuQ zi74I6C@b1k7UVi~i*%cg^~fRA+amT_Kr1Cp_W2=k&&na@a70J!s1)x;BncNFq|W4@ zb42TpWJ($0Tu~XfSl4wQDTwL(c-cO-zoHP^_ z7n^T|H_J~tUUyl#?D4hLIUvZEvyq0fd!D|Sn1l9@I2O;Y<`mTjg?-o*t3EnS_oQbk zZrfA3Rb3n%?KuS3LXB>j!rkUvhxAQN&(*??=b8j>&p*FRNlBHW&sW%byiw?4P{xMw zVWZRt(UcoIn1z1=HJj^8^LJw82$Sd>PIlDY`sy$hM$ftjdC;LIlB+qo$20Wk@`SkD zPoLt3N^+pBW))k!80(%9co~EJ>3PcJPz_IgJ)hvku@eM-tQ@}DX;PSYljOidQ1*-Q z(%FTU(-mry0b5PF$6ht?W+wiaACV*4L`DXQPBD!Z>$!nOPX%+60j7K+B(q{G3UHd9 z9`9KEdU7Sdq$EwPKzj1<=o@nPFjNx0as_No@M_MCNH)+|c+@VyKH$i}v`&TSp>(YR z>f&n`_jFHf9+aUR*sB@Wj~I5Mnj*pt@?@y6!=rQJ%=i*~dauH}O$dYAgVC)l>@aB~ zIbG`Y;u19-H{CdUEd=18|DHZwDIJe4qd*3{h0VZEmsUcf&pr>1%Wc{33;f^0c7%}9E zXnmoJuy8J~uub)6(<93+*xqP=@rXfSv_f|)h<=q?7*Sssx~KSEM8Szhm7EfSe|4@4 zFb%m(w-2Q)VRf^kcU}}>`(kE44|JPz)cZ_Ntbmv3yRUJE6Db|*g5IedNF7tfR1FNr zH%IGic_mxc+W1FngJvcNfpN<}%$mqCH8gkvxP)`3TR@mG_VBe#^)OHqe6D;Y(Asf^ zrq@K7wiFGH?DXl2G1I&D&hf8b!<8WsU;QvNpPkXpi1v8d%P({tODhgxrQxR836g=S zpqCtwlf5*$=xDeVa+ooJO&idcb67?zR7p=hD)-kt`cnl90nQfar(esnbDc+fgH)d2 z6@PdIP&f=uSIyjO5dL#~)}-DvJ}#7et(Pz59KLUG^op_QSp9rUg(bRuzaW{12i1xg zOx=@3v$5Q+9@klML|1(M3RvUVY!{^z6%|LfDs4!7+j@nB+;AJUs$Vfo^YJkRK?hcI z8X6K<*mg;IZfx2zlcIP;-_O<4REvR`<6_v!pokki>(CwL%O5%(-Uhf;(jf!s1%kvZ zRM1uW)1YWN>%I5-uB_!Bnm8)bJ9x1{6NylzX5N^!54<~_u^&@y`O!*4MjkE7JZd51 zSt2Ved1OR5de%!BZ2axS!~HhMMz7ujooS)A>3vO2s5GcVuO-m6Wo0mm>g`o{pyu$V z^>z`$%fu-LR`Q{Al8M7kikrC4pCibnl-u?SJ~SlIWq1WE`CPN9Wvl=XMqm*X2CF+V zlhd)Wg+y-c!2nx=rL!y2yi0&B13GDJ1e=B$WCX$j9!~O7QjdVQc$)B!l{Trb7l-s+ z%j7+piqvQ;eRg)P50r)gN@y{6USTY&n&*=roQ(T-8#}!0jW=3ClEmpsg|=_SL?;-7mC;R4$U6zKUeMdte4 zg}m2~hneKu(VF`DLclXMA_7fj(w%E-qHK*f`X=f*jekK%7H;klcvIONLoAc`;#JR> zuSdqjgbODpob1lx)Nt4A;wgJKZV#NY@>>}LA6BT=T>B9hu#=T_5<4YO5mJvw-snc4Lv0_(F?{ zUU&12jE&mFt}BNFJ~PH25zV)}wRo#GYsd@vs%z`97e{H=!3;cTv{xnH`~{CJ=#)UE zvLy-Gbj;g&)@;3Zcw?sbBZkNuX9yR-ZarRLz41khK@PKDI=a}uy7s<;zcw{9eVdrr z32ME8laW_MoAIuysm6`$R%OlYHQ@*g>xoJAq^1PjH1Gi9CvIZmyNw7hU23OHG}KA+ z5Pq(-)Mk68IX?(atHF(U_&)N zpfTBkrvH6tH{SR4`NJcBf5F|xGgfP+db*($U!)>*<#IdhqZ0@IabZl^`dH8LR6^7*F()W z`=)c1mejFy3N&$46z>=JRy?%%JkQ8TAE~YHH_|-8j_eQ}gtzqZxGKX%;91#Ij$LGX zy2t6=;}y|;7Xy~MWNH6xZ)YeZ|AaZ(2TE z=_QCs&M|p0*(^yl^5BGi7ob3xG|RD{tIYBdqH$QQL2M1HnM+rOl7!=vxe5v*>Lzt! zW77u#0v0<|QX1k(1}~Km?5h001xc%dPoFTmOO|Fb$#wYX?OWbPFJH+^y8K98E| z?qpu+u%a_F!~f1>NRO3(fK7ktQ_M=O0k9>Tt=-F}6cLenlJE@puYZN|J^Q|V*~BX; zTKBB&#!+T>%OMzA`&ON%rqR!&pcKdmJT*d8UZD_IxMODAdI}9)Ie3h#as4vlz%H<% z09x#e5y>XXo-{=S04&iekyN-eyx^OOd0FFCKPm?kI>0^xRde(8TJ#r_(rT%63it|^9~8Pb}mlh{GIH+ z2d-x3n~7pXr2@JBBseiBAfEnlSiy^=hvWero_S=aHGD*@gm>&~=OH7Jp2OAA*;c-A z?K6@%w+ovOa-Fp559#@>_!#X<2|a0AV=W`eqAMYNQ~>k%TA6+>#C1!uI(9CNG=Zft z@@luPs>2 zqP&dETY#K+kLR+pLsp_wAIDRyc`AseQ?v4o6nIkwgPqrJ&KA3X83rta1fTi_9Uv?N ziSyD2fjJ8(bcub%yNi;2(AaaYh4&fiW88&>g==l?xh1-dI)Nr<=AYo~I0E}g4P)kA zNXMcAmc*a)%{-x$<)4HFa-wDl~R{ z;w#;Wqh+b3mDNflW-INFLx_sXg9ojdH8tZ02yzVKG0$5cc5|7t0X)BH|LAKVPJ?`& z%;kxnH`)KD+e2{+APSQB!JNs-#-4Zr1bPb7#*do&eg&;2oX_wnA9D&de7%}k!mKZ@1|T8vUctZ#-18bm*b1*tV&HF z_vF3MX`<2Rq=5b;xRu2~{R_j5FgppE?nvZyh)hF%ED%xdO1dU6nTxrxU7Pac(F^Te zk)*;#qrPZqDdX?*@jd*Y%4PNfG?=0xc-yK(^T-IewaWD`xZ%Ceye|dG+Ohn|;j>gj zH#sWJzI;2Kjiq}$G%(n`b@B`qky9ZyVGW-u#-hJD=Ewf>>3sUdtJrX*PIhHf@~a)( z>r>y%F2zHb4_2=(=5l=p1r~1eHLq>^zsr_r)db!kMFA1zcy&UnQa)A3w4NTb!y_jd zJx?-Hx;L(2M<_G!;?Bc0Kex~y`GcjiHm5#)j7HSc#!5o;>-&~DeniLqs43_R!bcKh zo~&|jiJ2wQZwy^Yw+sDbL~$?6;*&kIKA&+2^eL32^J<{u3a7$6>*T*O9Oc4<^Y z^zB-4aCCB_XCzKMOe*)a;F{J>mbGFv2ZJ3Cmcc-u^d(mk@WZ`oNPM6}myo_!?+G_n zpy15i#hN?)4JLQ>yec13L#qppQ@8A@1qU?)C! z4!eO@uN6nKyfd}FfTBQWs}3W}XeO$8ix#%{u-^4eGg3$F_r8#6!*+TvxXU@2VU{ag z>ZCD_4s@3z28)?c75hv=bwbV$A3hv-sA4jszR|^ZKRF*4!u#DEa_I!JvS!qGbLm>x)E$#&~-ql!T`up7#26eQ=C9^N{Ziwf!h#3U*sa3D0BlApVJlmrH7 zj={P_4e*apnT6Y)_XDjuR-CX8fDKu0OUnaSOn-p0qQL=AkIrhXQa-NkU1?wCBx4b3 zoVR6UDn>?-xG@_7Vlz2KMMQ~>zTSqx##o_}eD?d#Yg-N3eOZszzT}q*orD>w&AQqr>NYN-9_6!`5C{-LrmDanemTANEbO zZOA5^z@)o0u0w>Hx-CdPk%7+#Xl!(>?OJfxbkz~ln1+aW2qV}OI~Wn6C&E`U6=Sya zL6?}Omzp&%y)6;utEE=4HMDh;5f~~BEIaHg6bY^p!Y?>#t|*T>+1b&}FU}k*D&04# zQ!Onl>Kr?1oMK8l^2Jn*iPqMzp)dr8tgvh ztT&W=H}L&%RkiF`Ss%PJqk;D*Ql9Zk+$EQUlDqGFlfv;z^w$Df_?EKP^r3=D?a^pf}YOTSc!5j&=54NOBCmCrNr z*FTVloUCv*AWOWL#OtY&!6k>;DH$}G-LSd~jN%EuL0rLJwe=TOB-YhMqmff2suo^jub7qQMA6X= z>jHJnNmW(Hch^mG59E_g2@$iElK?*34HjUg+wZ3@bUGYyym3jpC6@9`trF&~@ zYevtssP;af=o^fjWktPPq2u$t#qkquYvq*H(B#(4DuSL2-jlL3NFNcyC`GhFu8l=(ssbQ^(PNa7VcSrcOW(YMU7 z{v$C!8Llr>6uY)TC+jDsOB{mtv9kDf=SzhojCmWD+=sFSudce>@+}{j}JjtM8)%mVRRe<9}eaxG{azy>*0AM5mcdCCH>eYaCqwV7*X42P;OGh>NOF+U-$aNzFUNc?a}W zvXGS1L_)47Wc^84VfDo-Qg)JwcbLyCeGsu2ds{9wBHR~=Q>7oqXXo-5ndNe>W6ZgC ztYQ@_fq15a-uZ`jC^t`9C~y-y)7(}~H0$IzH|jTCwqNmip28-8^YGZ-?l%BwpNHSp zJhdB4Rc6-HxQhrA2UefMyecjFP_`ROHqifJs`3mgnW!j0Ylfdc>8TB;$W5Os()VN! zA@W_V%CI8>*1S2U9}bO0R)y<*1sSWc6n6vIBW6h6Rq8-vAKBX1M4UNdDy)ua^^(7E zJ3*`j@$UBUdk~y<`v&gw#1Xvt3d+1eJ+0pR^ojRn*K!1#IOU}Kt}q;A6?1r}pm)Jk z>sGC#lLQ()AFW@3ay8Ytk>3pG$l7=U1HYBl>;ZR+j}d)AP1pG|lYuWL=N1;F04)jJVLM`)40J0Xbo<$ZCXb$Qj- z*k!UW2;>iaWV=QWM4}urd5?HCBLX5@cnz>>Mo75eIa}M<1~u*(hvRxoi6$~*v^U)h z6bMSv#6b$}W$vW&Rp!=&^b>*J2Wp|do&r~IijNi#FiIX~cJW`rG&pG9ZFD`Pkl`hJ zz72NqM`v_O<~B9{gdEgiiTt7ENsP~4Bl*t_LRq4wOCwE5Tt|%!5Jurph&^k$!iM$n zE&sv;>fxSaHFpQ%>v}BB!8T{Csu$N6;XpFgCVhJ?cshbav+aY1JkoLf+WKn6+UX-; z6)NyD174CV!sKe~D2R?a-r9_FnEO14Zxw9D(c@KU343u)>I(RANPz1lubgzLEM^?u%O`)DW4= zb6OuQdKI+01tLjzr`0_LCC-I+G26SN*kIdl!eXzN?SyXJ7 zRn`I|aKGaB7sF>u8`5k!rnmE0+4Asa)!nLsRY&V=WA~u*&s?ks2)^tgx6)Z$J_`+; zhD>?@1QpWtbXha#(e3L+6~(>?(bqs`=I{bG>8Z^GkEyxKx-siH!US{>i&g$k4llHi z-tB?+tx8D+h4`+tdb^qW7h-iI7xR`XQ(Rrrc^~}wIC2u^KMy8sgI`~b7H`v=!L zGNMH7Tr_z4+zWWzXFT`o^cWRda;PU1$$nF;sn&}{p9hS@xOfdtu$+gJ89SlrUWh4Lk%x$PCwNmXyYGW;i< zHz`Lf+p%^M-OigR`MT}X7wO7G{O3%CSC3}mA7+>!GfQ2V`!g}ch{LtnOH^UZ`yh7o z;>hAyteOgnObaa_%| zP-jT@^x(nMjeP214|x3(YW7OXk7$Cp%C|(JchM7Bz>x+w3@XjXGal52d1@tH76oB< zuhe-5udnsUZ{{>fHEuRoUJ6E8rdVsW24nhso5zbHX*yQQx5Pn)KOY3OuJjdTk_|g) zCjikOe9V?jgN2JvsaJW2GS6_bfn1icRnusyIz3t<21j^)@JNTB!upy^%NcFg8ZWnD9{1*!nZq+Z^h~zz*ZJ!Sq3!aC~&RE9Or_p!RD%Qeh9~>T}2XHgjBd zAN=mtSw=!1HmY+Q^i%R>ZEVOAc=l&WeJ+m-Re*Fnk*nyvGyZQmnohyS!=s~e-rg&( zGmA?~{DEYRk@4{kL*M02Z{ZA^>A;RJr}Q&5kwfdbb#B+62yx>(fOiHy&p6etm6zpI znV3L2c}-cAEN-}3Ms7AVGz4HHP*D#N2QjuLOP8kC4QYrYX}#-*|3*c+9%W-Tr2?CL z?6AJ>WnHmes8TB?SZXZOx*_#BVk}`{5rx=AL8w15llTbl1D=zysdeFq3Wu6mO(4Gu z@r4^nlHUjzOCT+YGD7%x*6+gy^MI$1)=EY)hg7ZR*Yo6h%X^3(0QsKnKV$8C83ITr z3r0DYyr^AX@X!@^L3^qYjyhd_20 z155Ll1Kfh2oS*TPb;w|pQSLbzVYpA!Q`qK*_C%=5p>jsAE@e2(d}YVS2s@Lm#newt z)-5y8vR0X0e(*|X+Ov8PrgKo_bSm&Yxh󐁝Giq_A{SkrlI!(aSL4C1cXg#~A zC^;piL70MxI21U@vO}NrBu0j#?Ry_JNFY`fwR|$%rOx*SL;R`mBtV%02_AvlCF2XV zH8n0jW22k#14v&nfH(aTEhu~^JE_#`)ckg?AseyW!Ny{?qi8m;)m6U1w@MuHW z@48Ovo!Iej>3XjB{2U)gaKweC93OOj+%UD?hEQ$vQ;5}>L6SSt!}+$hz70u-$oiHa zh@Olg7cSQte+DwCCm&GZM@Md6jp?{bZ=8BJR51@gLxyW?;#AMQTd+aJ5fQI*TkHsF z+l}4;r+BKOd^eO)=vOzi13R&S-RW5IJ8$pRjK-(mT#};#sb~_$NJxNm1O5#A!@Ulz z`iDF}PEdwS()@JaZK6Bi$PeP~c5B_j_Plo;c)=0O5k?`lS_WZ_5ES*~ahZ0NNoN7# zN*oEoA&gpyg-zUXOmO;C(0$hNraf5+GSN%wOLz8D_0u97rmt)xLmFRsfSew(0d_Rl z2X}8?Jp^b@QkmS@8W%kt#H{+fc(TURcR+HL>T9W7j-JQ?^P8D$Z7HpKN1~vh71C;} z!~q2f32GoE7C$@bWx??y5c36G&pShjp0vO-+d?5c7n9}3AZ(xnNJjMU*A{w>n=bUx zSA=G==;}fY1CAt_h>)u_!65!I??#xfn5*7q??Wi!gp1;p?JikT@oCnY@1waD+-dk@ ztmCirg$&U~%-*Q0EW{(?pKENY$Xg~SDLgkgVSTEEyt;EHW}vS0L@X?&QDZCg5_xD- zgtqUguj63z(&XQU6R@f2c%Vnm%IB4ZY=bQ7M^yr8gSDF7aff~pe zp%;g0#ws4na%kGh4BimeIpV}BMzrg`s}X3X!vB^U0R7gO#AFE2mQLUH=8ySXmC*Z1 z{Z~;C2!H6AN8Ca%nO2qdw29#=FZ3fDDKtLzx!*Vv438j^^~G7VOxTMX1Z9--;1RApvQmDg!%SSU5Fh`wwfL*uN->omZ}_fcux{1 zST!@6$H(jOV{Dr(d;R%(R&;(SydNZD&_5_Mp2Ck6^!WZ~i0c9teqcp4MaB9iJ|Q5^{+IKrf%Y z>dAe}$8~VT4!2VJ5x4iNv1syJK1`miO!i4qafK^Fv;WE5m}B z+n%<_n>5RT&vPIthe~^`p^TmgZsBT3%8*U9_^Y-yg_Oz`R9i!F=2u8VFUHDah8XWO zLQ$U-Sz{wS`XmM}Cvkg>ofOKkmzq?J(eXW6%t(g{mTzv_;IeqHM_d zm2L3{W(ejlDeM|XBur_%bzvM`0y!7@S?E_v+|6@H`RjfTb~kotpW z_GQEKW%$L>+S|-bfXyG1U*FhmB5S8~7%*A6jCu5$$9I7gST*E|E zqg%b+-V8x^s&=Ed7TgoL^Hsq>rtTa$ubumtgv6_G4WH?49=THu8_)9) zG~%0cIC-{r!Q>n2y}PoZEO8dC4`+bca~z$$hGty_EpvyxS}w@G@fre15~hp7qP^av zD{uRgOs%SNFKq8sl8xsw(KW-jq!IOoorM0UIiOM?e3wOXhYX}>?8Jv|aSMn@6MNTe zt#%=D(upnz5q9s1MS8v-k>(~|l{dV=zdM>;92+0^AK{?&-FbKyS?__ z+fD@Celzs#$Miks+T7aWc;WO30Ynv@orrL>wjVTfXE?DiBBC1!aIfv_t>@8tEnbgG z+u7~7y=-PJvI+~|Vz%53op0P-w7p@{tTP`H6Fv(ncU0n&D+D`w9RMZ8ktnG(@^Wo9@J1D6LSH-{BwAG@J8o?yY3 zi*1m0ZIi?*D#h}I%1V0*7DjXzwvm3)d(+=U7T-+VgwVN+?|fuzF)M%OIgIv6FS1{k z_jpqKjud_f!iE=#rhZ$ja@z;zv^#;jk)U6=J7-D!NhgSyCb}47QgqDajmGKRsTY?@ zP&vh0N|t#qn0c2vbKUO?q5TGY$2)m9uno?bRq>)%vXEW`WQ~Q5$`9+p;SWD)h4t&f zPs^)ZluLkFjH-?RS{_KqLesfzBS%nQN4${=UpouuJum}U;Ge5NQgA5e_}fKuvzLfl z6AKG_U(H$d8#??XWDFT`-NKP4*`3yo#fI)CGsnlrfs+kBR570h0_}6Cl`=WvotyC% z0GcEcNJZC-(~Rg{aT6q;m}_|l#KzG`bb*=p(Yx0Gc)c^kKK~l8eslVjDT&i-j55+b z+bz6%1Q8MTngUI=NoBZTfLZ?!b{+9*os=_zXdKF+$ko$B-(- zoK-A_5I3eSo#7a{Vf=pk06XF&qHpOi876VAGaucPaRJTl2&%uIkUlO}=I%oL^K7)Z z>tBbD|Notr{;%9%{kVDv;JdCWAqGXx4k^lb(3KEk7 literal 0 HcmV?d00001 diff --git a/assets/img/restful/humanmade.svg b/assets/img/restful/humanmade.svg new file mode 100644 index 00000000..d1984c3d --- /dev/null +++ b/assets/img/restful/humanmade.svg @@ -0,0 +1,687 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/img/restful/pagely.png b/assets/img/restful/pagely.png new file mode 100644 index 0000000000000000000000000000000000000000..5878fe32a2633434b7f0aacebb3d96c31fa1ce27 GIT binary patch literal 10098 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 LYsi&6HxK@Q2s*l@ literal 0 HcmV?d00001 diff --git a/assets/img/restful/pantheon.png b/assets/img/restful/pantheon.png new file mode 100644 index 0000000000000000000000000000000000000000..da1b63fc820700237dcffc5f150dca5d6986af1c GIT binary patch literal 35367 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 literal 0 HcmV?d00001 From c9533ed64435fdfe17e9358cf303b6ec700ab1ea Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 12 Jan 2016 06:06:53 -0800 Subject: [PATCH 444/839] Ignore .DS_Store on MAC --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 5ae67303..accb727e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ _site - +.DS_Store Gemfile.lock composer.lock vendor From 87739568c806a2fe6c6c9d152d07e3012e808657 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 12 Jan 2016 06:10:25 -0800 Subject: [PATCH 445/839] More formatting --- _posts/2016-01-12-restful-wp-cli-update-1.md | 60 ++++++++++++-------- 1 file changed, 35 insertions(+), 25 deletions(-) diff --git a/_posts/2016-01-12-restful-wp-cli-update-1.md b/_posts/2016-01-12-restful-wp-cli-update-1.md index f4e82c5e..3776f4c2 100644 --- a/_posts/2016-01-12-restful-wp-cli-update-1.md +++ b/_posts/2016-01-12-restful-wp-cli-update-1.md @@ -33,36 +33,46 @@ I'm intending start development by working towards making `wp tag list` work int *** -This project is possible thanks to many generous organizations and individuals. Thank you again for supporting me on this journey. +This project is possible thanks to the backing of many generous organizations and individuals. Thank you again for supporting me on this journey. + +### Gold - - - - - - - - - - - - + + + + + + + + + + + +
    Chris Lema is the CTO & Chief Strategist at Crowd Favorite. He’s also a WordPress evangelist, public speaker & advisor to product companies.Human Made is a leading WordPress Development, Hosting and Consultancy Firm with a global team covering Europe, The USA, and Asia/Australia.
    Chris Lema is the CTO & Chief Strategist at Crowd Favorite. He’s also a WordPress evangelist, public speaker & advisor to product companies.Human Made is a leading WordPress Development, Hosting and Consultancy Firm with a global team covering Europe, The USA, and Asia/Australia.
    - - - - - - - - - - - - + + + + + + + + + + + +
    Pagely® is the World’s first and most scalable WordPress Hosting platform: We help the biggest brands scale and secure WordPress.Pantheon is a website management platform used to build, launch, and run awesome Drupal & WordPress websites.
    Pagely® is the World’s first and most scalable WordPress Hosting platform: We help the biggest brands scale and secure WordPress.Pantheon is a website management platform used to build, launch, and run awesome Drupal & WordPress websites.
    +### Silver + +| | +| +| + +### Individual + Aaron Jorbin, Aki Björklund, Anu Gupta, Bjørn Ensover Johansen, Brian Krogsgard, Bronson Quick, Chuck Reynolds, Corey McKrill, Daniel Hüsken, Dave McDonald, Dave Wardle, Eli Silverman, Felix Arntz, Howard Jacobson, Japh Thomson, Jason Resnick, Jeremy Felt, Justin Kopepasah, Kailey Lampert, Kevin Cristiano, Max Cutler, Mike Little, Mike Waggoner, Nate Wright, Pippin Williamson, Quasel, Ralf Hortt, Richard Aber, Richard Wiggins, Ryan Duff, Scott Kingsley Clark, Shinichi Nishikawa, Sven Hofmann, Takayuki Miyauchi, rtCamp From 9bebf257d808b9ace00238254ff3ed579ec04904 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 12 Jan 2016 06:34:37 -0800 Subject: [PATCH 446/839] Sponsor layout --- _posts/2016-01-12-restful-wp-cli-update-1.md | 32 +++++-- assets/img/restful/{ => gold}/chrislema.png | Bin assets/img/restful/{ => gold}/humanmade.svg | 0 assets/img/restful/{ => gold}/pagely.png | Bin assets/img/restful/{ => gold}/pantheon.png | Bin assets/img/restful/silver/godaddy.png | Bin 0 -> 41931 bytes assets/img/restful/silver/jetpack.png | Bin 0 -> 64194 bytes assets/img/restful/silver/madewithlove.png | Bin 0 -> 55007 bytes assets/img/restful/silver/roots.svg | 1 + assets/img/restful/silver/siteground.svg | 93 +++++++++++++++++++ assets/img/restful/silver/themeisle.png | Bin 0 -> 4916 bytes assets/img/restful/silver/versionpress.png | Bin 0 -> 89774 bytes assets/img/restful/silver/wpengine.png | Bin 0 -> 12947 bytes assets/img/restful/silver/yoast.png | Bin 0 -> 7694 bytes restful/index.md | 6 +- 15 files changed, 122 insertions(+), 10 deletions(-) rename assets/img/restful/{ => gold}/chrislema.png (100%) rename assets/img/restful/{ => gold}/humanmade.svg (100%) rename assets/img/restful/{ => gold}/pagely.png (100%) rename assets/img/restful/{ => gold}/pantheon.png (100%) create mode 100644 assets/img/restful/silver/godaddy.png create mode 100644 assets/img/restful/silver/jetpack.png create mode 100644 assets/img/restful/silver/madewithlove.png create mode 100644 assets/img/restful/silver/roots.svg create mode 100644 assets/img/restful/silver/siteground.svg create mode 100644 assets/img/restful/silver/themeisle.png create mode 100644 assets/img/restful/silver/versionpress.png create mode 100644 assets/img/restful/silver/wpengine.png create mode 100644 assets/img/restful/silver/yoast.png diff --git a/_posts/2016-01-12-restful-wp-cli-update-1.md b/_posts/2016-01-12-restful-wp-cli-update-1.md index 3776f4c2..9ed7eb33 100644 --- a/_posts/2016-01-12-restful-wp-cli-update-1.md +++ b/_posts/2016-01-12-restful-wp-cli-update-1.md @@ -1,7 +1,7 @@ --- layout: post author: danielbachhuber -title: A more RESTful WP-CLI +title: A more RESTful WP-CLI - Kickoff --- And so the journey begins. As with most journeys, I have a mixture of emotions: excitement, anticipation, trepidation, and eagerness. Although the destination may be far away, I know I can get there as long as I consistently take steps in the right direction. @@ -40,8 +40,8 @@ This project is possible thanks to the backing of many generous organizations an - - + + @@ -55,8 +55,8 @@ This project is possible thanks to the backing of many generous organizations an
    - - + + @@ -69,9 +69,25 @@ This project is possible thanks to the backing of many generous organizations an ### Silver -| | -| -| +
    + + + + + + + + + + + + + + + + + +
    ### Individual diff --git a/assets/img/restful/chrislema.png b/assets/img/restful/gold/chrislema.png similarity index 100% rename from assets/img/restful/chrislema.png rename to assets/img/restful/gold/chrislema.png diff --git a/assets/img/restful/humanmade.svg b/assets/img/restful/gold/humanmade.svg similarity index 100% rename from assets/img/restful/humanmade.svg rename to assets/img/restful/gold/humanmade.svg diff --git a/assets/img/restful/pagely.png b/assets/img/restful/gold/pagely.png similarity index 100% rename from assets/img/restful/pagely.png rename to assets/img/restful/gold/pagely.png diff --git a/assets/img/restful/pantheon.png b/assets/img/restful/gold/pantheon.png similarity index 100% rename from assets/img/restful/pantheon.png rename to assets/img/restful/gold/pantheon.png diff --git a/assets/img/restful/silver/godaddy.png b/assets/img/restful/silver/godaddy.png new file mode 100644 index 0000000000000000000000000000000000000000..373dfd15803ff9f2af7dfad245adb19d0e7a6d63 GIT binary patch literal 41931 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

    u*+AE6_c+%Z9n})17gq8>D9sEPt3~5` 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 MDV<9?qxazd0E$n4)c^nh literal 0 HcmV?d00001 diff --git a/assets/img/restful/silver/madewithlove.png b/assets/img/restful/silver/madewithlove.png new file mode 100644 index 0000000000000000000000000000000000000000..7be24839dce388e5ef98a6b78b15a67bdbd29a03 GIT binary patch literal 55007 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%0DS)n}s1jI1zhZC+BOBLWd z4GtGZ$-XQRTcJNW3mg2eU$W(Dh*P7ky%`L1M&i^Gt=QYp!73K@k<)wI8?(6=HB_)C zp7{O?T|8s?=>S!{_n>!6j$xh4F{IlJd?*$;l)yK@n=rPmjrdJ`ELA0QEuw2P$b2$V z^e!I*kCTnTZ9Z3KWd`ov&8&(S;zTomXb2%eeD{B_3st91>Q^#$N~C5vW3r;`0E2@I z;b=I%svWdqq}~|gTD$G%*<3uQ@%6R@)I|_WJ)d+TYGO_io>{7TEi^Jem+@E>BsT2U zVfcwT3an!gP)HHF(`(t{70Qu_8!}K4J7B)*9Zy`ad0c9>EeR|?=@sj(Z<807-_gM= z$~I@za<jI?udX)xR!Le$>Yw}O!;Fr!U4~#}=Faqi5^)Sw(=qK#DVifuyRq9@B_BvG8 zJ;>~IT1~OjU=@PYLORtm7;Ms@$a#6O3x_W5P%Yj<>-pEOxIQ94-p4&NffwH5A*C7oF{js~ z3w#Y?e+dB+Z^aL@os(9lhcLZvC-@I`0ncEJ1{bhJeZqQ$W?abSTvJ3|%6=*ICjy^? zz;e?z=wMdBHQ3sRavXgbj+w5=*rs>b(e{{U%-*i>n@qNUk_ERC{Mt~=>@qDARkI14OEm3jMY;tc`;3S2aJ$py43bx z3m3r`Y_zB<56fg_cZ!O%ht!;3tF4nt`JU+sfVT%U(_D^vt}dzL-OvmmWekguIrag# z_~C(rUvniJqz9amjDr+{3bag=3tE(Y6JN|VNBckR+Eg-Lh)5=Mlz<|L3cd*96J$xM z+=~UGrrm3t>5o_9<-zvWZQja@*xY{tZ+}e-pw2+o?V?)p&vKP30i-)k#7}Lb-|fL~ z6LdF$W*3=;Y4}m&uX_e)WNsWBcW)^Q`A1KS(?7C_iXa_0)dE?H!W)un0!UDif`L}j z(fdD~KQde+L1OivkjK9t&0H~_kw_oYA;m65Zr43!dEACUoqp*-IzU0#1-Q5<5$ z_dWv=;pKjUUfumG0!UkTz3q7s3>&^=@{i6_t=F`bFP*hJO{L5jzim){Di-~BtQM$2 zMKOgv1yb^vE*cY#!Lcu#PoLyERMxgP&0(3+X%Drh4AbyDrjd)7?Ab$Ja6J8o2i#j(a=5}es z9n7h#Hpr3tHFLyr5eTyndjby#+faHJTkl-%B(+8!QSZ)r?MT}*a=FY0;r;)$_vQak zx8MIvV@pZ)ZfgkHqq1e`mMkG<&0dN`)+~`>v?yzc>{KGz_npx~b}2-bv1i|77<|ub zyg!fc=lc(Qe|q0PnY($-bzSE=*SXGlp659)?y94I2T@ofnwMndT2XU6UF77yd9$vc zKV}G3&6+M$D4ZB+FOnF9M6TM~&|SXvU@jP&JmP+DRhtDHNd1zGmH(yoXAA5Ct9e

    N#?{2CcAITD~qW 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 BL%{$5 literal 0 HcmV?d00001 diff --git a/assets/img/restful/silver/roots.svg b/assets/img/restful/silver/roots.svg new file mode 100644 index 00000000..2dca48a5 --- /dev/null +++ b/assets/img/restful/silver/roots.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/img/restful/silver/siteground.svg b/assets/img/restful/silver/siteground.svg new file mode 100644 index 00000000..f76b7d21 --- /dev/null +++ b/assets/img/restful/silver/siteground.svg @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/img/restful/silver/themeisle.png b/assets/img/restful/silver/themeisle.png new file mode 100644 index 0000000000000000000000000000000000000000..64535ebab9eaa233c049029bf70cbe8e024b9a8a GIT binary patch literal 4916 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 K;uE}A)c*kUl<2Ae literal 0 HcmV?d00001 diff --git a/assets/img/restful/silver/versionpress.png b/assets/img/restful/silver/versionpress.png new file mode 100644 index 0000000000000000000000000000000000000000..8e63f96542a7c822a887d9c8fc994e3ade8d9189 GIT binary patch literal 89774 zcmeFYbzD?i8$UV%(j|x>Il_QQ=MaL@3?(TY0yA`nfC19dFak=5(jXy>G$=|BDN+(D zje;nGNb6l=oO52@_w~M?dw=(H|IyDmz}{=GwfFw6C%@0LqjWB)Qjju|LLd+dHH4BL z1cKKMfgE{GObE`@iE2W@FA@)gi8lm7PlNmai2c16;3}yvjt0g)##)-vw(hP1)<}07 zlz_jh2e=vnkvZ@0VQuS-@`2i*>>b@?**`WmvqK$`vg}6UT0&YLiYNz1#1$`;{*?;` zwpW~OrI76B&ymXbOM?YmQ9jmCe^(bbZ)ty7_V4RTgTHa71=*qBFY$4fWtYd@5NfQY z166eQLP5m^;QY2i!eUSfDFI<|xP+7hA5;V!3kpdJiU{!wNlA-~N(+fVfBs`XM+*Lu z@j}{3>nW-Hyd5}_Wq0uL@sJi2^z-u*@Dmkq_p%ohmXeYZ6cP~>5#a|{@OuZi`B?k& zyLof`Smf6_N+@qzFGmj_M|U?UZe42|cV8b_c6Qv2{`&Xxy<9#1x{;grPwW7Sg8tSX zg2Dnqg8yj}()O=89=={K-yaQWD~NJIxuV>Byum!-|2WUX!QIE*+rj<6-14vC|9WGv zCt6y6-TOa2udC~SytTKF@?`+QPe}jcOmBk#50s!D%G=%7%NC`48N3R|e|mc#N4vi_ z=U-OBjr`YVNBKMcmua|>AJe{z!jB!20q-iU=!LTOarZKCcXv7WL&|i1K?qe;{4P~c zZY^tDM>iaClNJ$^7MA1}l9Uz_`o|(a zt~|7cmOIkXF5q9*5Ed~If=dg7|D^u8#y_q+yav!9q_vOr|Fp_Kul>h5NLy(;cQ03K zpL33`*7hht4>x-m!M{)b_TbzQR0Nnp__V35~Yv#{sj{m-${~H89*8j)!|9%fY2bA0I z)a%Dm->>@bi+H=+`S@9Tq2%p>g#2&1|6|>Mop|^LGJ-gN;NtlI!B%)%U;cl$5&xTB z{XgA^|6rs3|J;bbCE3=&+RYw?JSX@|h<}~<-}dguj{d85{nFTf*G3tfi;@PK45Z5X zy9No%2>#o-zwi9xdSjeMy7>OMUR((GPf!^5^XJ@ujvt0j3D|KuNkztaE7RS&K8 z=O%{$`TgM^xPFh%q0v8Z9RlR{hkxMuJwAs<|G;$!kl!Evf$R7992)%t*C9ZDfA|Nk z-{W&=^bcHz0QvplAGm&x&!N#ja2*2V_lJMr`aM2}M*qNd2$0_&{(}ab7=GrT!#Sp{ox-YE^8vO&;AwYhA_y?}v<8x^A4_t=;`TgM^xPFh%q0v8Z9RlR{hkxMuJwAs<|G;$! zkl!Evf$R7992)%t*C9ZDfB0LtNdNwr6XgcJ;PeBZYF-veISM}WgxVtXv>=cxoDj&3 zPzYq_8~FVW0`V1sK$b5-Akufh=c4Xtt9BL05txXYlDvWc#QRsM#Hq2nUk+Zs+IzAU zHQUz9J!xadSQ(L)W-rD^*kfadr3_VMdfDcZCQo=WthM*$t5yz%tkL=``d8O?Gtc{M z#j0Fd%3Id=95Gx_=BeH&D+xR}&j?|Z-}V!G8&v(UZtvTWwBUYHzwjlcxoCRTx0#o} zB9?rRVWXcmk6kG=T7BW*X_On&s}1|$=9A(Pw8_f*!TEDyee+<<6`f~_%8Y6@sG=*Mwt<^ubBBn(VtwrZ$4PcXf=qliFKs3S9&5nS{g3#gj0Pa zEVan!bX8lEbT;SWh#JkUVq=y468*9}qcq=^t5OM^BCwxR+r}0xFYGApj@$}_WI>)G z6uP{*26&IGy|-e-HZ9c8zb)06zgs^(UmY;+KjQL)j&j`JR~{bFCwq^1zaXZUpvxQ5 zL8H*27JK^+;B>Q> zl}A(AfA5J=>*UsB#(;n~CC65;TE)~~dmA(>P5E)dG03xUZzPWQx}dus^BA+JQ^mKB zTKihm1Sy8p-#CfclgqxXe0!G~$Chp7c}?ljMm^iROlei~%k4LN${7Y{LXNEpFbq1~ zW2>##^Q*3(Er&}?jVwmo6AGMIyzuJPVtnJIjO12TfZmqK2j`8p>#mk{5BtcrY6E7z z!riCdEXEN{G<}lGpkj5{cow>P&L5E^$m+D!-nts-AGY3^8{5f{P)md$m?hyM))vXi z3HelIqAHa2j#!wa9dUF(&)Pqpv~wd?m*p74$g$u-(heUbJ=?Q6l5^5IaRREgP1vv= z;moMpwoYgKi)4#g5Iz`#s&%*qz|E_@?yQiHHgZCI^J%VyiF9oXzE$=PnQs45Y{G{Bt@E2o`jE}MHhrz&;h{eHVbQ*4nMtws8H$nv z;*oj-5|O&OFcpbN?+!6l9or0!Vo&}Pb7nb3B>aOSv}QI%YOz@U%HiZxNhc=_8F8&= zpMmzNXt0Yv^5qmS;UIZb&SmYXsxr9f+-yM>k_IWDRj|wG3ONZCJtDHJH^iN!l1Qjz3sDboX-ciZTo8^ot#OwgAs!Jd&momqb>-nnTMv?;pu zg@V7Qyu5w=OSSQ9yUH9_mW7u!tnscZGq9Pdn&7z?Pm<;)o#laQ@)SJg$!NsaNI*Fk{}&nleAqm?BiK-tWK~<3So3EL*;F%mdDpc#dejS zzol0ks$)p6;e0M8_+j)dJ?l_a@3$yolst7dAF(18s&~8j{EM?6zUt=c58S+bn~8LO zk`5bcf*xTXA4T^@U}QB!8rdgJ(IX0J7D++RH85hyX19bIWl0`AEVyKCrm~sJ+iXG= zk_Np~d>qTQaYTd&`Y3)h$zW`1#e{4f5^2tq)N5=G;p^cXGfYXkXF+HP@z9AuemEX_ zNq0joW90#_;KA#6>k<8QMx$nN^UwIOZmkutM@cfnoN00M*#g*6g@6hT3}-TxwY)Q< z*lu`-4&2!kPis=o!6)YRP?f+{bFhOqbxwqx3SYme(z(iEni+Y`=98isy6hHVdO&5DwB?S7YyPQI@shbqXm(oEmcJQ_o#@moM*M>aF>~76 zJRbhsicr!8ws$N>aSmSZSq9(lKej>xDM|nW7{h6DT^YQBVeI@UGWW~z-pAlo-yYm;G%c6dv`C&8a6B@xkO&OWStd<=s%J=57F=n<_y2#{o3~++Z1yY zN+#bm8+=3{(GfOeOqhyqyzTg=y(saEg*}Vl!$|$kEq67;nEA7gYVl95-H2ERW@S0M z)QVhdPtSqz#8(S%$Bu7wKx%;2JS*2>%{H5X=L{CxOLCa3s$LC^n!g%pt!B74_?jv} z&5#UfmgJ%hr4mO25QgO3v^u6nkH_>B8$Zt)O?w&m8F{w8;ki$3DK*xk0_xp;<)*%m z@Xkuk)XH_T4Ob-$_674L$8!}jw|xpyErS-;A)W+X?D>d@PnxzzZ_tHNt5Wj~QHfp6 z^UK_C)bAt=9a^C9a5EE}dr=eYad~4`t~#CiG@TzRcRQ`QF_)B830++5#d%@%$;W zBO+{2@2#<<%?klzCG>O?$FOz*Pha3c>!_{ltT>-Qm`jy0CyBuhUY?%#_TF#h<+bsh z?g)8R%%qSK(9pi5(&ODuNkDz25>pg_nRua-N{G?p*5EK<>>iAL86Udl{wAJn;bn5)**_qBOr>FA$7WczG=|3j(t$lrQ zk@Ydthrz}f%c#B2ABGREP%Q_mXfMkjr4qlQOC@ndKS69)CqabO`EyD@(_q4toWXln z(4P!|xAM`4Zffc$_I4FqS~ltM);cx3p_M&cR3MZ#7%QwbGyHOq*vZ@*W)Gr^Meeky zzQN(VMFuBKTk@i@rel2j@Sq<^GZG9T&#k5F4n;G zH%#?}9&#StFw+xi7C*WnSZE#4lfE8m^tFMJz*|lT#E=C=77m1o^=vgs(0dB&eX}z9 zFnd})Y^CvoOD2@hFxQ@PjOl#3DruJA;(AQH?Q9geX%LqNQv`sv!J>? zN|EfmqS9UFOS{mYNQfCh*lkxmM(otM=I>9`d>5}8{b1L#+|_c1=IBX3@0N)zXz6vT zmXjbxluBCNlhj?^lX}4^^<<9P+*D!~#DVg;7Q}IvlYGlG?hgv=YU)4U{zm&_L*#{% zgN8BJMu`uipB#(3z>wYe36UCsd7R`zi4!zhjvbP->?UWD#}TZ>G}s!2fGTxvoReDk zWT;@mk3L8p9&Y&H+Yx6DzYVe#eztGw;`nfzWzV&?LM3ArWje4gf zO=1%zViSVI9oaBG3lpycDhkhR<)3J}6{**`3)AUg+ zsulM+M~-7Jhhh3Zlhp5qfB5N}x%U&SHrUR;DBm8s3AeX}Q9VoWy)bMcZQrlWaDJp- z$8W`4YU}M((N)e5L-qRRuoc;2B08D8tsK_TtNICVuNSGFOn7%4#X7d9tNr%ijGLMp z`TZ<6^1LiZa`ee@22I%>|8n85D^G-z8AlknavNY0$~trD>{4@DTw=;tO_%5bF7bAq zTbu=A?KbMSSTsazRlM=+?Y!CT;HPa2H`M!GqNMuNGVA-WcP2|ubg7V;>cvgGn0}t> zM(ptBYoNS#H5u_Df;}Lq&4wC7e4{nk6w@x1;Bfo+Qzw|!{&8b=wJxpymfL{`kmuH&PIA&m$E%cYOjnYFH#!Cn~YK=&1&ijz^nEZ}qJ?y|P)y zYci|VIael_?h@?2Vt9*wX0m}UuxygS>|*M?t0v4{RcG?TEf!*@$*4;zh)IF8=QXd0 zT_?jUYGk<@kB!z4&5&;*UiXBppHr&+xYSm~cHd@_ioN0bc@;RJ{7?lXJwo}5qba%8 zL5rzYeyhVL33*(&j<=)=?gHY6@`UGaGC9*IaN&mw&WDZ5ef2XzcT%;Y!4~6!BfNmR z+sMdNvHG5q#)CBlGcT*ZSx|)3Lye0Vu)Q%?AtpsDrv#3LkG-)-S1cFo3$}p{fp_jb z!n_eYt>85?WJu$>I||~(#tOOVYvDct1+{EJePym3p3alRwWD$S=+dW;d_@;VcJbO( zG2z1Tar>sV-D|-v$6nUl73rwdt%yTVq8R30a+`CaIp~zCKjseOjWb}0sK)}Stz8>E z6Z+}W35kH$o_Of{$yaN2|I)8_Z025J-b!%rdq%t(2OQJV2^Ux+4+y$=vRzD*sz20e zcdB3t;}Bo;OwdHM*aErHof%KA#MPL2XgGqh##@cDed7wpN)odhO3g5S{?ivFuiU6* zbgzn6Qyiz1JW8#G2CKy@oDnmRv{SpF+pJb_oV{L(h0N?l<(d~^YEAjOmoGo{glh8f zs)%eH-(-hqz>_V40+jnVvrzR|C}a#Z!aVHkYxLXJ9nV7#LAD&Kbzm%y3Q_rEeV z>X$W@=zq+$<@l<2&zCim$R}$!l$7;Fz|5(;^sJ)+-mHT=IG;GQ(=AgjsyllQVRY$hk;lfO>J)gsc_K-ybNwGpKpUZ{96XJ!o zx@LqY#Pg|;K24u7pL$yudeoD8+t&4N@W~k4zFb6mKlTj}sE}EaPPMn_B#jVGjLYm@ zhYXl24&7U!aMt=Z{vgR^mhdU+26^2>xAQvK3Y*sy;` zSO>ADL+re!OKc98xQeZwtr(YtvIhIOjgvlk0lXdj;wunuw=vacw!fm!Op84snn6=! zqD69NB>AR^R@9wW$wk!I6W$rOiURu7?u=!|1_1B!CbO3S6Rzk@%ABq*MV2vCq}=D& zq2qR;b9U5+&#gyJbLDH$eKs=r3dEVjd~H2^4}WD15t(&FU$l%d6_R!dC{sU?4CZ0& zfv)Q45oEC`RCG#yniOv=w&s@ml`2kr;w^Y|P z_wfiw)YH_}Ek=;Q6U&sn_?WP+M8|*uigJw<&J{kA z-f;B!Fh4W%D$t}8$A78NwobW~rI^CUo5v`4U3NV~Ied*mX*X#*w3#xc{3Pl;J~(GI^VAt)_zg9H#Eex@AYstpc4G9bPx*!*FzA&om6vy7e+*+zU} zi$D})U&9As9IBCH99F!_t+E{A22ExmZTsow(K?p84%*yQaCCk!U)=mvkgs0F@f9x6 z$>^VYIDh&g-nb#`d{99;kph^MV*se_;F-~_xo6I^&13C(2mcs|0#GK zK1Yl2u+h*UqG#-Ce1iHx=ybmRdi8z$4RVwCoy4OUKJ=sVR?a)ff?wi%J&lEn*;*>(L*P)2$USMv~PGDka?OF&i7D>G~-Cjk$9ld_j@zp?-tE^mmHEZ6i z7TPr7X{9H{*GHF6iB(gEj#W^nGyZ&+ylnH@9FMU6V;svyUHf&flNw51N9~f#6>jzq zzuFWK*&1&APCk3gO}&|p-(#BkBo|7wc|RnQQKmSOsYx}8w&_3@koUhRxOjrUq@olh{$k=n6JCfi^2TG0R8f>tiZ1Pr=UtmB#+}*Iluz(qx*udap3YbM;NaFmIwSbf4YnS zQ-%mMbHxJ^D!tyd@k?XEh&>j&%CWVlV@})brIj$x{Y8aI#nOFX`01l<#FCjPcqW+1l#zi?^eG6CFOHBrf9gR=Vr zXFW>dbPkG&ZX9F86@Ba#hH8*M)Cvt$gFSnbde)R`dOQN^;IycyKPTkB`HN3ImE4Xl zWyQL1pFc~k0XPWPa7;DeKaiC$dt-_PlvYXcLYec-aMRar!G}%tluvD{IZbw9;x|xf zV+e#!`Kd8Z`sgG+vW3zWkAWlmUgfo46KaA)KAOF1U>CN4RZO;SJ zev8fcVUS3c`Q>~l_gkFO|JX9aF+Tg1P+~cl&`(_o&Clw#mdEP2mc#10R=_&cEnB{s zo%MWIPuuCBsE|S1`9NyG0bi1%I`}vn_Qb$Sh*Yl6Dds@s8io?G+>UoGQmJyO8ASxvZ*30VDNX1&-eGW^+&=wWs;C89XC;A%yP++fc%yI(!HPsN0ia$W;9>Saql)!hLUDQPZkL#~ht6xOxORURVa}Kf81# zRD-gV2ot3`>gzv$XNImV>HO{zHo*4<^!1 zPxB0V%(N-@`0VDT$C15?v5_EUS6zP04M(%Nu65YbBuH%QXp3#@X~Va5wbf)^O>4^z zQA0&Br>HrYU`c$Rn&1or&Y{BUOgRo!@Z-7F*$f=QhD<7PLlL%_@JzF$&J}hcd7B&o zw5S@rveu}wzCMG#ukf&#MQN-aY~XpPEthTTx#09N?c}svE44mU@6c&or=+I)!bd4- z$e8qtmE#~AhYYr9rct!0i9SzCTi;ik`3gbjKjOgEOYCB2o-gTce zY-CTPKmn(n4a~y04&@`7?k_5sYFv&!u47rybEDwOv$$}tl%H0FG<)B6HJT|N2~Tu4 zf}MwxC%L#o&0>IuDNzQ>rD{fk1UdXA4q!#>I0Cw%>?XcytV%fRp~?vYGfZd-!VZ5N zL?vX%c7&U0C|#fP^vjwP*fQ0xB$v(*GrIyVQ7(1$VO`*`c*axyn3wTL+JS4(%IV#- zc*|L$xt*i*U7E0rfcekK?W$rQi@&(Oc>vZ8p{?J75ZNYEOCGYmS;W%=R zRKZ;CruUV>&9PUQC_Ws&F~mo2tdI03+RrIHjy)GfZAD%8tz=_^9^b6SZ>O4DRfMVA z1*V}W^-`VtdwFM_(?m8oxAYZ^7iY;+ZXnTMybD=NHxdK7=4Yg} zDe1ABuZL|(Ss!j?XBBPbXO(W{X4%MCeAFI~osWPnOLc5eJR2^GpiUd4$R1{h(1Rub zd2WJ-q~E`k14pOl#pQ50=N6x#F}#hmU=~-T*X~Qcldo~#ZiNQ5_}0)S{(@}c(z{zi zR`)ddpBL%?N!~2ZRNfVHsyug>aTq;Smu@;(7vY7JtS%3A-$;#q@%qa7p@iL16|nW0 zOjo1amEung$0gJB7a!Avey6PT*brv-G`9b2gk7hN70Rw9bdnk|Mu+R zyY`jKf>^Cdsb^fLw9X`Yc&?h^JDw27QbD*p2?u%vJuz@r*c!f;2?D~57-Q+ ziHODrMsoV%Z0QeaI{q5XSmAxBV54^ zaG5T=fZViG1T`TnxE2l$vV_T#_{`9&u|Fa*lmODT>=5K5FePI;*DFI|kT%6Li6+psbCb6+7zgV#mfm3K zj>Me^j+-pH-?3^SWUHg$HRQ$9)qh8r+ zfx5!cqg$g5ULS0ytX5QHbyhCO8n2w%pq`sC)m~1L7F-^bc3&1gnlQGbqdmN%r#-r( zt1X;WzEPM}OqF=jgbg8U#?}_lKfkkk$;sgQ&EB`WI_fnri7;yyMTQRXFz*ftB^_EA z7hK7UOI*oXPw_aHgpzk1VzfhNsH!sa-Gro51UyUhmas;KT;C{{S1&Fu6V|@1)HlYd zPv&zbIW#1^!N4g=AZ|7ld7ZG@;F-t)k5hf1c(p<^5PAnWF46%#*ka2_t?kVPE#SeC9e5Z`#~W$Zkxg~w(-}t`$lRL2;uHb#13ej z*?0z57+*$%s+Bs9%oa<&cpJ%^#Qcy3%bP*Pk-Y=WdaxN@;Fa|&{5zc-q$e1MjA?Yv zl-wGY)&~&kY^ebV)d7Sm0K)!&o1Z+&h?bJ1wE={J>a1N&r zfpn=WM%Lkh;*kkRvZapd6MZYw6HVD$^tY|v5Qd=8a)z^Hj3i&{^MsAEKt@__B3i5$kQboZEN+sKqK2r8}Jfb)h(MR8+b09 zc>MG-!0~>sd`KnV%1C%>QF|mkI^buVJhiU_3e!$Wr8Ph5#D+1zT70ueohON2IuUAy zE~IQl%Q)ZE0Mr^)C$6*{=?gMjuQ};DvGP#oIqCJ19(Om<>qlAv0gHFjxu1@PE^++L z+cf2AU&kBkcH2nPZIC_=O5xMB8;HE(tTf4H?-R9n|2FUVwgB;Gu`O0VN`aWY8 zK(8nkSH^m7T4#RRoMEtHiznGUCPI7i)-uPLar6{*+!>0&J3PW=ry@ijpGr+1r0z@` zr%p(txXg#0Q0g~dRd>q5UUQ|f4~D0CJum1g62LZyIYkNFHGR;NXwqR^Zl+wUBGPKo zoI00d)#>T_>c-2(1FJg<4~O&b!o8VRuNWKosd7jHiyae5UGJy_$z71aReUk!Ya6t;@{yzVN6)(-Qplt2ESK{@w+ z@tNd&T&DL?KMHJQ3j5Bf6a=V*=OY3EP5*Zyn2#gbn7T&U$CC)__o5%sVYBQYo&z6*+6Yh- zZ<|D-4w5pZAkBRE`=Ug zDfEFS72T`4+tH3wsuWIYZqf)&I7^P9dY%}I{GGtlAIg0~3a$x=Eo``Jj^H_TgAxhO zO)w|{cMLq^`)Iz@d9y|s(4jI=ECCK1P%$zC{WvfAkN%AZpoM^{wkGc7=+{Xre2*%7 zwSsJySkzcw``EX!vl%bhuy#^%K40W6x=KWeToK%hJAcK%``}v z!x>))1BVQZ5_)CX%2+Weoe{wLo?@_|4-xjw&IF?CYdyT(;NhfT5f}1?Tu;GU91y!hp_beyXUF%VKrg1+F_Uw`hi|aJ zwivFc;;S}VwkWwg`c$`;@B&SLLp3w~E9vfwwOMlo0K8O+n{E@{Phvh_34Yo)iq^cd zR3v|M@3dBg&$pNZqiZ50*90ha%wfE1&0>&mr7K8h-EYnXW~g=q9A93iWJcZK+FbC1 z#6=e3LH8w(q+a5&k9q8$8;cMJZfV>HtUL{a>;;~Jbdz-n(auxa?YsyF897ckYhGTk zOX`HraZxAR`)BS_XpJ{98A-9FzxZV#)&foIbJjjc+m8St|DMf&3L-9u`(D`H5l+EX zsP$mH;oqAO0=RMI=*eThOe3&*$3YbSC|hPAUdJ#RN%Z}4DGipqqDOgoK&auSCw9wt!lpNtZSYKzjA*fW#dvcQzR8KM%771GGWwTFJZ*rlhs~E zcTP*zWUe*f0id|jKWUb+*(1x&Z@RcbfG3U71x9bs_u25B2I_v}j=BaNr)w4r;@JY` z5edj#>}FEtnN8i}Y+YVJZi-HBRu1<@NIIRcy{y>On;Ajiac8Q+vwH(M8VzM!_xtVxj6A<>Ez(m~T24CKK#Jaxfd0PKiE$lItJ z3f{HVC#JFxk9-2GK*QZ+K;lr$1Cdb@wfTIt*!bWa&xPiDxb(vRrn-}iCZ`0eiu&BK zu$9X*-;$-|^rhYX4SFLBlzuvF-XBiU2}fuH3zxlLkplc5HsO17!grVbqe$(6i>yZ2 z1C~KAiyrqREp{W~)OVH#v^wBia&2V3EBk1tFx6(f@z&6wGFQ7V>s(O=(R_-XC0&Lo%SU;ocD|Eo$(|G zMhIr>8P6r&dq~k%Gy&~@J8`N1&IGknDYkAxr+<4wNL?7c!j5av^i3L0Zs2xuvJey3 z3I>*@Q}+?Wqm?<-;_zu5?-klJBXVwt9A-u|>I6JbCx#)0N$-qvaFansJZgg6Ny;|- zGTlOvg_e}#m`5h(a4J&b)s=3G+TgiC%rTOfBe~!k^~)(z0(hK1v%RJDZB!Hl`kX zoR8nU^%w~aq$h;7^J8P>9%&E~SiEoky0p6zd1Tg^A5GClO$uGx_|V&z)bMJoh0%{k zXFUISpQqf7`kXo^Wbsyu63p?oEo5QQ< zs28gRy}`Yz>y~XIv!C~h{0{=t2o8?$BvtAKB?7%u;?x+O|6E|Z=JN8!H=Z;iEiAKx z`XXh*`mZ>XJIpKGcIL6TKwa&Nw1x!FpnS4TxqMzuvUwhTsL@H;UjMxA&?{Blx2}|S z$86LQ&|^mmsKBB02TM4%)Wmb?=nq=UKT& zR$SYNCqg$Mgt)Ti6UiIX8iZlUle^mQ$R{DQ?)<yGnm5zVOx(Sh zcysu}tWvR(S8O~9l11=BZ9??es$!GddDSzC7dcFVh_Snhh*7r1JaN|6%yfT;XgdXc z8Nco1zR&{WpVltwDlA(j`9}qB|4tdAyoMDR7Z*R6Xemy(0mTox^J4Rp*#TqyLe7wE z;hnEAXywe3x{1?1SIS(i(S!86`B2#llVbrcYH&ZH_zh#kB)_a724 z0o_;Q4Bb3Qy*df=2cWzUVi2~Ryx`2z^RWg8$6zZ|b4gx)4$<~hLEQ9FKZp(}8R|5s zfmx#6yhv?%s2+jZn_JGK{TkhEe zB?tOhg}L2M;S8wlLl~NYrW9PlbiC`#E(c+vPG)Avc;V|kC7m6Sue;cUC+*Xu%4fl>R-^E zAd2a}H_Kixop{C4#=w`_-p5x+yg)jPk@s1+mli|ESeUhfR$XsfIm=@%8LUarQf_2Q*V#un&mrZ`hLhf1>`8G%5k1)4vbe83ji zw=V+(`vY4X(|Cfo^9ObU|BVpzui5#f0Z{*bH)wsO@nM6V)?*KwR^N0@)o=QUk zo17+%Ou7@VZjOGKX>-`pt0Z^U@Cx|=ISq`5U!wX8mYiXBDdix7lX0Du6rnU+&VtFe1LnI1vmqD#S~^vloGjrtW++%hAzSc`p@WK7@5%No8rv*Dl8 zPJ7YPKc|}vPy^lo(d=!xR3?)JRavuDZCN80IoSb*i!9ut4bnFm^;tAO1-l48;Yv=| zq2&^-aU~aj1W!%pj6uH6Z18t-v%nL7D3Fv6y3WV| zqm~xFi8VI9$47#EjovkIa=f12i`n(zE74xUHA0<;rzqhr1Qr7j9px0xXKEvSfw7R~ zq(WvH4ROIFSa!&7YyfiZvTk6$)AaoyuH*Pp&()z!pv=x>oHFTGIVr~up#l2Fbqo>` z`1;Gk^U7~WaFul@kh@`K(WNw?;~((pjobC%yjn-@BP z#+*Oc2vGkmbhpLDyTjjUOr%-1j0Gp4F+q?lhU>1!#mI&u#X2Y;B15C zMBLg7_m(fIZ@wP8QNn@?o4-OnT~T#^$(%?+koi&d=}sVl2vS3YBh1$mGDE+2w%L_q zMeE^b&<7=)Owv-a$D}t~wO6jR9PtG9h!hyN_<&J_{Ntjq1EuA9&2kxU3_>&n^v;QY}}KYNvJb@@Ex&ZlO)F^vAr&*f7Ya z+Vsg6+>9k)>f$KbUvo)0ziECEvMFP0a1mho{ZyA4ny#Hh%r+4<5I~+gBZdkI$4ld>el~F#=TwLsP z^{=ji5@iro;HYiDWZwne;d|7R<%%P*fEbXKf*1-{NW}$GKv>3cEF@^_R>5q5Fga2W zCgBox+l>~F$aLTNj$KTy=ol1(U#gZMDQs+}9LJiPLm@m}8A?y1BaXuRXPBG|KF{Fn8+)c(2NFn#H+Rr0 zCu5c?PnJxl!-KO`*TVzDEJUE|3RYWZCxTx=NGicL^0_^>OLB`GM+QZPPKrLTI(O6;Cy{m&oC|li3q2;wcfk#MJ&2C^b999sI}E-qYbnXndZq z$uGs$Aq=Uzi5o8+3-r9PU)uC70fOhEEOH7)D);u@+1CdspH?@Tvd7-H=fz&>=Dmxz zss2j9l^UsV>-@^166Pn5?!?ONYe<3eh5~@S0im!y2fEtN-~ysL*qckBS_5_#n8naI zpgg#5uehnWfJF@mjsx5fwKeF9a zDBeWvLju~Rt?74ONZiV>9@F8cGFjqlVdMBJ|7IB1ZinZ0nv{L!@ygI&$B>>cJ|wH81nbA2Stm z<-rudZYuIhL5qn10L>d(RGIQ@xUQSpsi`fjTPI!$ecCYG zTJNHyc$#oNPl#wW4~>2ayKotgx{5fu#J0#}q;mNEvSgZ6Z2ib5W=5=d)Nn|83Nuku zxVT!TvN+b*pjCB!cH%f+u~vSnI$w#_9N$B&&h-hO(xSfUA{DP!PA6|ShiZQT|3QK)7i|f>GQhEWu55d~Ch*%@L2rXPo0<+jsexwq2hqL$}S()8*WVL8?e{ z%+koKe37dx@2t?{OwMH(3`=xipssHIl)%>UcB>2L2fjC;fxH;bE~Ryqproo(D4UNV zz3Jqyu>;}!dHA?|ZW%*2n#{(S)rHk1SjSbK?&UM;HIeQa>; z;9MF(1n712NK|)|gxzY3zBeBN|M#P}FNlrZgbxeaqpmMYJS()Oy;hY` zS^w$w!y{8h0`E=HJNjfAFeb&5!JbQd%OL|y)L!M_-$gJQObw!gC zpxL7H22`Y^aXvh`L6N_5;_=OrM-?Zrn|sA6n?yxD_25tgC{FL=u6<;n3l0z#0Ip? zV?_k}^--?@S-tQ?ghMNfe``+0=!3Sb6|3AC6)$C|iV=a0rZTm?i?Wb-IeQr60O&d5 zZ7otunHffQBzF@#IiX;2Hj@KxszQZ z^Wqezd2D=Z1p(2Us^VqvN?__@1ws0h$uB)&r4j)Ir23B_{(LsBI~Ft<;L_M1U-k05 zPXIL>@I93~uCL~MW$xoJ_$H+8Fy?!$m(R|W+Vs%2W z991A{RbMy532KDoPqz{-;-6L+*rW){Tv6>BKgTny1fm;uhNLAe&Fsve_6kDi3~1|s zMo`me5Jw%Qu23ky?RL62-50G_$7q{i6ZD!dy_!wp$ zW&`}-xE;()p+5I5DX4LR??}VFwkcn^H^&UEHrl4nldlQ`ZM3fbBAF$y9>Qf`@Y5gH zN+h$DdpxR#fp4VGf=@m`h00bfONLxyJr)G8;|X6PDqtlC4j&_%U_E&Cfwb3rGX5{7 zzB``k_x;~|Qc1C8|BiUq~jO>(|6%w+yV^&Bi6bIQH^T_z!ug2&5 z`==gycy!L|bzk>&U)S?`KA$)7``63EHZ^UXBkHiPduY)NRW?|8V~S##)%wJ>7TK!* z>gUozI*9bBuBnb}R@Q7VS75}yz6HP;Zw%(^q8H1N0bA02Gh55BsjZi!8%G9Q8$9rJ zB3;BGo}>OckzU1NY{i@Z5)Wcn43&HJ9E9lm*JJGCUd_c{j$7R&T+TBSwV8Ln=i`*{ z2O;PRF8|!J`vcTomWv50>VYYl@AOhK-uW`{9X>C(D`~cl2z)h~81!y5H>h+p7IL%5 z=38wMkdZW5iCrBz7k@d7E%uUiARSNNek79rtt9@^aHRMW7dM+>)R1NsehHgVl-^UW zo(jNJ%^;b2Gpw4umZ3NGWcZ#do4v6kA=n_sPTEHF!dbU#ISX=ZGP=xkGvaWK;)j8} zOz$CSWAmNthT=Q88m|mqzqw=NWR}#A$`Nu^(z>&3`czI_O>CxWv3aUyrTJ4$gxeNv z^K?xKP`kR$cuTs?_@*<@wtBFHtc&!hG+l`}wBWrwMBzz1+hMh^fMfsH0LvZc#p-ks zsUnb>S-9czwlER-z9AIfK1vX()E@5L`Q&)K+IT>1j0O8xpz0)#RsiMBxa#;lv4n?T z$V_!J?O~>1h0Anq6D+zGUf1e|e&QzAcku?>Xx`U~w69D(X9s=zP$M3@?uslt2 zW*j36R!ER(XuY z@T%s^iJMe4EC=p<6l^3Oq~6I?93&5GCVrB>=IPwgAST6~oQ+n8lvdF`NZa#5nFPv_!4IW9~X5Tyf z1-qUT52utz{btI8^06N-dB6%J@T)+QE%6OAEkuPIajF$p_0{aiWd>~&Db@7aUyUs) zidbHr@ITU=fTCK-gEl$g^j;%*@sFU7 z0UtT5&~wBT0D_cZtcp5EIdZBYQnFzMF|rYb3bke1DJ04Z@Xshno|%(GxKN}COme*_ zr=j?emrV$2BztjR&ZY7e(tXaQ3UtO5a1a=AIZ_Hx8nNmnR>C=QfqdUOU%9$myNte4 zkUdw!XUuiD(dpW^pbncr1G>l}++77~-Gaf!`4r&#!=kfg zCwjo9Eojz@2mjG32F-4(nT7!Vm2E-l9%JVtEBtm@;?w(lRKq_$vd%)ig!pL>2I<7{ zLvqX8RoFN6j<`Wzu6^%wE%l#b4a_o{V7bhJ56^GIrWv~C#5JBHa&G>qb9?fMhijr! zGFvY#cmQAuN}4~^v43L)Xka-c^OJS54P9|z#{e7H>OuP-JFVM3byGlYRE(F~&Intfy?}#@%N96tes*hpmiIxP6 zJidc3`#l1xK3nx*rwA6@HD#V908}sDJ*SiJH1TQlHj-{A%L>NBkO~~*|0oJ{&o>JIhht)M)Yl1nx@iSPKtOJ(#a7}?>_5(&5gMIOsU`Q zttR~n|BC+JD5Nc9rsSvRG#Taw7?7rbEsHp=2DL_|zGJ4Ii>Y>rJ#J*8LyYesXZ*BR z(WkDAqPMW%sj8=@L^`h6ZPfF^bUd^o-C$CnHhDulw4#BXpI3X#Syuq=P zb4|I_Ao2Za^_ML3%fOIFgeMVQZq1COdI=8p>?~e7VGFrM&UmVyo7(vaoQEAaQfATzDXU@r{E&XzS!LB<=ih^Jq1SXM1?5`?ojMo1b^4ymWn_bU2Sai=Dw(GTL( zAF5iH(;~RCWx)t$#E>~K`bHYJOunu6j$__Y6_XtU-J-M(!-bzr7}rewce|vVJ{J z>fzSt9pV5%E)YC>iM+8Yea5b`tz>flsq`Z}tYFR5$rz z7v(<)U%!69`e}P`nD%9H4mN#dnq_d@Q{!N2m&VvM>)mj~Z+YLi3#JH?#>kk##Bbt4sWdti!9E4NM?I7M)&ZrTEu0+chz{NB zU~r9)idBuX-H>=j<&2XNpzYzf@|~qcD3#WPRxye1S}B{VCik@;0Lr3N*5V*2D-|fs zP#V(YODuLuznx~upfzSU%A1mwZNQ*0#^bEbL%q+nSb+{pzNp{sAM(q)o_USe`PjZfcJyJ<#uH2 zI3^97-YkRA4(Gzcb|N3rR%SP>s&0BJTFw-?p-&+N9NYSxbiJonfFA0xuag-B5Q~#3P8|%__&gJWWJ4vy^=F$HHJU^xuo8 z=!^APpA?O%_yld)I!rMX8Ba50m{|prySb*=KAh8gGJYJr(qnj!cf46jz**iG@?C-$ zH!kd}t(4N%ixGnab9(_r5(Vt2=LP8juZErmy&EFXp$hzw&Fo1t3m*-r`AjuI@oN!n zCo^7d7e0P(;29ia{4-qk3D1?jW;oOM3H+|><0yAE-fR8EA9Xc(uPteET>BkM%0pgU z0`^X3Lc)o+Te+2$0Zn$)ev~hzj57U}t{)GAEs+ae&PoA-CxIM%lzaUP0gxs&%knq{ z#YD0k$eLaWrw30%u>xv^tH?)RsJ^`Y8Ge{jHQp0|;lZ>^>j1+8WnnB9K6k6Tsq3WtRXW>8WKSvD# zGLX93a_VX>a9+If|K16l16CFv{42M)Q1Q-_WX zDk$|${Q4Tk!e2I*nigbT52@VJj+9Ze(tY_`H%^=nyCyJ69qqL;mFivek}nsBqZPO+ zkF9iG-S`3r<1zrufQPcvn!D{@E)(CPbi2u4>z}8LG5gmB&~76o0EI6R`NI@4IC5u7 zWSt#nZE?CGx$z`o(`H}(E5SRPvmNyK84gAbQ>HA#uv9%z+g-ernv7(&5vCDg%iF5H z2C`eA2FkxZPAdFHF5jU8(b2cZ@yHAeJ8hAR^Y-G?bJbTO>NV0#F9C!XTYiw!Yp6U% zGHlM2tHb;06N8HR*v)TQjpR85lh0fDmyTLse?doeK3fhzhqS>5elbKCD&}Vu>O7WkqB+acH~TQc$@de7uudg#ZRhQ3Laz zgmc%eU#Y*6c~1KW&)$kh3O5eEF4~4!stfEEQh_vK`|j@n>0dCoKXlEP~J}A0%sF{{EI>hV=`Rgc2Pwgvp!g~Q z7O3)Y+Nkk3aaX9m$TWtHa964pWttT0b5SQ#xTG66-WhBWh+NWdN$_!OHmWK8R{6=x zA;R4}RjP94<_nMDy&t8WZI&Oc$S}JoQt?n;05dx~%MCY3x#?%3y&z$`aBvhG`jrpz zkQ)8ZCmm|(q`xM9_B{`%XkNYcNbzeO>=vgYN*$xF@J+bCWXsBTS^cpsGx(SrYW>U0 z0Nxq8oP7h&|M3C%pMgy?YYbSc5DHoX^#YB5CIb+b1F5cnnl~NnA;|9w^bU|V2oh04 zn@9*stJVYn8sDv+3lJ~zSeU7O)6w4W@Hq>{qr^Zt5d*U{&viJV{A0|M@S2^4Jij_o znS-yGOBMZNmhjFExy=?#_wjXvFtvREyGA{U+~UnG#!jIEt4#%;!!T|2Lrl)bQ>F~# z&^Yzlx}kD$&FWX;%nk2W*nvPDTKA4^oF1;Xi!u`vk5{s4ZwaftmD3_#4rae}tspDimLD%ckpK4)xuleNR28H|==gr&v2B4g-@H_IJ!K z4cZ}5)JrKYjrt%MHYUcE(?IXbofn;JZUpC<;*F_scZaadn7;tLDmQ;iWxZv7C9(S4 zLhBZlf*IW8F;iV>ldXNwVG$QXcs(MdfhF+%)@}DHiFl5{?)Q1Qod0^9jVpifDklI@ z#oMWMutE|qFhCgzYP()wv~jB7_BM0-{pHFr)g1ymx$oDzGKd%Zo9}DXdn>VB*oe}8 zs%`yzZ1pqSn)FmlCJFgkPSK|rYP_j6uZEVd5`>D^%krYi2KWakadnpxut2?&80p9+z(x`4#YPpY zZ;;T-Um`|mpwS~f2`kM~1Y1ebPFW4+l&R?5teW}EfVMZ=f;O?Gr0$ss?cfjQ7H+Va zG{9!cjEi=RH#K|~3Hnr^-XM8r8BqE&&HiPGh|qLf%v^ zEe%k=w5dtd!wNw@jy<^bidC~sQgIRzkCxD(JI}Tu=e%lF?eg_c z9_A*#mW7s;fT%73pUH7Amx}L?zH*Y{>#zDhwhd2uAt%ZZkZU331x1zvF#L-Fqg61b zQ{*ZFK8Yo|1x_r$k_-&H-Jm~wq3y*3=CPp10>b)4@C(1GfS#@}lj?}zG4tk`nrM^d z)9u&mThS7SoxjG=meR$N5XS%d4{%i*2VVfoHA zm7k*LLcsD2jQ8lPDG>_?Oxt;wtv*2$)NwZ%6xskl1IwO4E{JxZ&3)z~zShHXSpq}H zyo-$)`xLS=7sTEEHEym2qrRdsJ{_=Bf;IDHrkIT^|=N3%6UBMnD*uqZ!H1R~Wz?^6zxt7x@yS5PXnXyJh6KvT2_P^e{k6U8PY;{>JR4CPp|L9aX*YHtY_wfxEP@i_It zg;5$c9$cg+@eW30_5}a93#xBPjLo5GDJ}@Wg&%#5~s6X)$ z3|cDSL=`fqpY;9>sv4$`$f%h)jnn;QJaDk)*+Q4#E1a#6=(`N6Rz18Wz=# z{*;#iL)S!aCCsUl7qYJMdZ~nrLzGVw<;ywxi>9U)`GG2n$BA4;S5Sjlyg~g1@WZee z<%us^$r$jNV##iLEfisHm^q}E;xJ!d?=X%+ktYC|RvAhNgoxEZ33H@RHNO;_ek-j< zM&);_x*DDeze_wB&(qa{$J+_~7|EqNtu48WpL>;I3m;i&9?8g_?SK7caJ+hWA-M8& zejwHJ)P*TFO!xpIvS#ui77kgK-EB5pwz{OFRe^)uG!|I3S*wy(<7xVqJj-4@0HXah z$I4Vjy~|npZ1{^5OC1>5734aar~hqXP8jm6C9O6CEtmtJ{N^qJtt|sse6v6`;JyHP z(xKclpydHpc0B0-O9t*5ZZH$4uEsCaLj@EYcbF@itUgzUFFTAq;_Z4vFM;Ki*0-0+ z9GI%%^GHggeymxCBwtgRw<+=qx|^6&4UpSNDZeLG7T9|CtrRhPIw+K+jM4K3OFQ zDc8g85O_&&R(>1zVhS+-doWx>Y?*|M_*I?kZ25)byK#N=*qvSVs7ooMZO!$XM;`!^ zYJXauS-;*hBl_ss{tp7a)Rs(HeLgE$eYRn0^pxp+zVtAVgtU;{yjJo3C0upILh%iT z@^4{TCAwV0`gJe3DUwOG9bM7^Q=Gc6*pJU5Qw$Je>nGyG_KS&#$Uq3cH1)k){M zZ(1H=@K|3pk$jVr$EnXfX@AXlw13{W9-WcW8j#&q!Y2d3{B@IfhkjPG-;llyymrUn zgfMRm6vA-KzRSwxmnQnJj_CAXrL&m5g%RC^1LBfA%(F^7{#n9}lW=Eex&1lAzs*a> zt)jdQ>l4ki8J;BMZ9jQO~?; z4S$&EY>5+v<**>3+_c5jPt*Blg?u#*16W?Sc?Of2ESXvtqF84=0qu0Ji1>t-FeWwJ z_;Aa@AEd$ee67DgV6Z^((XsiK79kp{cHx1+v2gfooF~Rv?Y~sh_hxTHtq$u3kn7mJ zz`2zRc;BMHx_`F(Me2l%k>4LfO7Ow|#WV~4F1m7S-?TNhl$xv(-4(~UB_BuEJFj{~8^b!g(4oq9fe~Wy?pj)S zCAHWyzqb-2)I-?#=z6@HHV*&=PY`%T+L$SF#@Q(r*2UTOh21APeki)wv86KXFI8Q* zUbE8#D&gyPYT8(-Zz_*O%{YWJRkf=nWlM}0ki{kpFRGM%rb%42ruCA|VVi#+oL#C7sI@_N)J9FcEpc1NbAen$Cm{?Xbj52R|i-bpXJkw5;GGlTT_l zjp)#ZRkc=T4LkV@O>K=8PY>SZW-d`Md9g(`o5wpGe|-ldBgG(=d32KLm)iFd-5#!b zR@x+aGQxmUNF%$O)ouys@ZwX+s>!cOK!H7IO0c{`Xc}5mx#I47>4%}G5SVH1_tc$m zIm(1~At)nkP99Qn0;K+T$uMKWI9QsK^_pL1yqRqwK8^ct-!`qwd(a~oSU{bFTHhi(1L8yp zWjC}5;f`n+ynZ2+!IFqf5E7el=xX7f2Cd|FZkT)XdjrGwPM^WR)klB~v1jwvMiQ>)UCveFDx=SN#L~EkkztI` zsFjR67>*n&m+Uh$3Vdb{q@!jg51%x2tc!^l=F6J*V}A4XxGA)t8L^UE;a|E_Dz~5X zHx$&1EWbar`2Pe`T+u*+`dh^c%pp16-uP{w07#O?abUF4Hl++iUx1n-1n1KKVVHfr zEQhc;qk28Ae1322`dqEf%3%gx_BdxIrl}mh_iY+=Sn&KN<97DqXR1d!2BPt2zUZ!Q zBj@1pn2-&-Cwg6#U&hJ;(g%zLHl} zR)TFEco~N$mIDnY1eKT3Lr=!{OPW>3kITR{3KK+KCubO%LqzGIZ((|tGx|)QSYC?< ze|d0g%M{vf$T92?F5^>!~SaPJy;pWu-?p0)24>vc5!x}~% z0@VbZ!8l0dqDwWmBd$@L3ALWks0- zInh$i8L8z}{XIq-o%V(a-hZSY%HavhfCVogZgBVwzv)9V2RVogE;$6%M-*6K2>z80 z9Gbu9-fj^4ilT(WRIlJMg;9m6UXIUPgS(bO$XG#B_*c|G%wi2~IEDsD4AHko3Rq{) zm9vm?(y&G6Q`-V6*${#|gz!QnS9ANsotQCV3<*w7H41d2Y^_Sfrvk~*<0Ph)Fi z8U?XPY=)I?zv!&jB}CS~BRSTR5g0!b%6qjY;go=ErVCSzN^*EyTnXo zY1ZDU!{uUqX}CViB;z^5FHH>s$=zsNHR{nKfm+LYl0F_S-dYzy>-k$>UEb%B{BM?%&CHq-0{zwc3t<_JSy)@R(^=P=g6C)QJ_Y z15n4p{i0D^6qTPcDoc~Sa82o(Xy|93x?7d6tHWRRq#OZ0Rmp_DMtIvX)pVi)A9|l91sWtSyqbBV795Ei?Vb%IvHV@7~#WqJIwi>*ZtT^I}kDho!If zHP33)uj&>Si{RF)Sb$9aq(jF3SARkHK*$Fpija4e65mHKaq>h4>dc5CELhhCI?uns zxk*?7gM2h=j@$|kwr$T$duXihsdV!f9XR=Rny0&(NEny+UU<$tI@rAbBFr9UQJlf} z9AG+4uNH}&ANJe2YAur_5Fm%`^A1VrUTNR8TD~nAI**%E%O>aRG@QSaTk$?b_}^qn zjeRwMQaX1hY1M}ZkcNj3e}G<2QpVN2Kt?$Ewlv=({U^vXCRhD1en5$2m5GA$AaHH- z)^LA7bgswvpoXSW_Ff@ZHt?l!hfQ!Lbf3L2b(PbjrzG$1E@HQKx~Twudd5b&o2E-;lZ zz?N26{793?uJbn2`B&?6x{OdhOc<@AUkZfc&BF#SbtWakb*d%#Q}yeJIF^3_;OAY^ zAJqjouB^LP*0a7_rzT%Y3gYGnKK<9JgvFwK(bDx0NfP3MNqSH-2Ld8Kl!O7Y0r6Z) zWC1n^wm3NG;B{3(S9l%Q?nhAMPHazh)Jt?$P7!t488Fo{MTzBzUGrA+Yo*W-kd?$- zG<(=jeArY!pTD+n5JD03u66culJ_KhKIPHGJCa=&DvF`!5!^Q|;H*8=-{7OEU>^H{ z&_nH_p03X3kol<6+P!ruSbF9p)S+ax-1CGjn;3qEx0PF4nz6N`Q}Ma11D3^DEC8$G zMNp`eH&Uo@SVXiHp~OUt3%YU=dIOM~0wAMJr|-npmdWpz{5|4HCsqQeq_cMHf6pGI zxPH6M0RaE^lRpD|H)J;s0OW`c9i~Fa41a0FEdFV80}~c9J$b(Wcs`s&eo<4yCr>JkkWNQmaFvovF7+TW<}#G8 z#GO%%V<^h~1 zu$og4G5;%gS1?-_M}bU=TgRgsM|$Tf>cTGRn%n}g@0 zX6)UT_jab}{j&%%HRpGHIANdW){e~>&!jgZFUzb9ANAengoRH>eil48^?loP#&v!; zXROT=bCw#1mO#u9TG8CvxHxrDpOuE|*Fkq@G#U_qTSICP8`V*$fnhRJo4{`Yxo69Y z|C*%Bf{{J$5a|iJiPZpG!{nyXpO%cSnl*gFA~PwpgVcqq6WOU$UD?m5RJDc)Ua+m= z8W^Ag4fYlIg=KIiQ3{TwtFd~5s9teF0&XV?#k@d}q>Y5etJ>yO+gJuinK8b0z7+ zzZhj!lw)Vve4})-#tSluhT`pJStn`}WLRJL^js5P>oM7uFx>V|V_btM91nCdmVyr) z>8pPAHgQasit#q6a!JTmDEpvqj<2J7=_|n#1YPk{o7WAbw|He8<9xvhnm-WI%jr8= zg8zt-0sv!jg5bs9Fh4~30p0|_C@uOotU>@ z2hJG_xAH^73J<$?CK*mbzo}I~iW#{`{AJyYKOdFm2T6Gb7`F~>r$w!VJ!cMXU=!P) zzEb-3dI5%gC1dW8&%O3EP*1%-Y$@f)ga3ci2q;1Bp%Cl7U*P(X?V_*3CH!Zm2^%+EcW1x!{HgG`c5J6FC}8tH*0*3Wx{LD zS99F3rMNJ-F}gu^<1@I5l;cJ8?tvK!<5pkbKCOfNT? zoQ-C0CcCRSRq@EkS98gzBd}T)#hmSeZkV3iy zzy<@{4p-nv@EeH$LfdS=n0j}pqj6ye-g*Fb(7(F8sL0J>6Hmd)k##;I64vnYXeQXV zHZwT4!@muqi`0Og&z>caSOdi)(ZnCth~*JQypys{NW+)6gI;*ABjFYzvrfBvUd7nK z=-+$%Qrire_8~DcAoG2Qg%8%5-i0-tf(1R|(U-TT@Fkmf?lSZ60*gs+G{JpCCHRU$ z0Q}D0R_SD?nNiqJR}de?>0cm3}=gIfK& z8-}#`+FF#*zurNY6a99Q!E1mRxnd-V8c9U)&EzFB)m7j2S7k&B)UmqdCtdoX6>g*$ zY6?~p3H>;B?UCCK#@@MA*h~SEueIaqN%Ka+MA`W+x)~2VQa5-cdl(lm)*u=Bj%6lK ziFm>f@GH`KStsBRFHo}54VSF0H+h<_y=ZsG(Z*#ZH; zI35M`(A8@|6`+iIv53RXtJ8;iQG9)8QF!%O=qxN)&$%Rat&-w;DZkTPoksmyY+#MU z-L8%HR~JSS;}6d{HYeSTq!}L`{R;U)RG9Ma$G+{YYseo7$mh0kNH4lHdKVtJ%#QM? zNvP`OyN2!Xk)Uu)`4?Ifx`T5=@T${P{M66i7Tz7HjxmlGr*A2MOpk_JzAIGclaiga zgpXV|aHD>eW*MdlWKrJ3^oU$e?YmmDw%>vWx~Yc?buPkA_5ac!`X>o?dOoytQ0H$c zBq5GU2AqEBS;AIN49I-29N1QH^evfI|AU+?eHF@GT8ad~kI@E#Gz}tG7^TMKsgPQRb zBn)E@H=p9GP1Tv1nR?0D)MJPmd>`b>p-LklreF@#SROIWp&%Mt+wuN4T6*qeSnB-a znI+?s@uPvC?w(H&M@8Vp_;3TQ)6GE}Cp&EnVGhw$L2*(1r@oQRsvQ$ z>$X{WkP(=(olK=V&Nao1PBw#ME?y;WO4&FyXtMfw>N|96#;;P2b^KI1&31d}X?S=8PgMwG zEkV*<6j2(CjPlRzJn4UjveyFE1Y}vrB#Jhk3_e>&1j9F9r-;9$n#`2$5ik9Hpe$$sxQ_RGZlSpbr_r7I_&)Bcoo@FN{3|S zjBuZUhhP_m`|4eB0D`UlI$yq<^WmJ^b2$e}t1g!*cfPhuL+d@ad-0lVp3zbe7-(hv zCJR{%U^M-{OR>Wz_mH(a_cWMkvf{ha+39<~O?sH63`g&k}9&NJ58lR0}a$HpV2 z8{?beGwUPP8-s(pgxXvU3ns^4MPgGj7Hw2)LrpTSjo%!_BWCy8S?O-%8EN zBU98uTq!LTAkRX6({)w$pcWPs&0EA0=aYBRwuT9d@+IVCQE7Qci=Z&yy*mXKXl1sqocjOI5fG`Yb66v zA2XPVF!nJS zj38@WZDxheD&}lp1^)AWMAo2zHvP96L0+Cc+Us8FHVHV*m70@tff(>(!Z0-L@|38`y2 z6KsFQCcD_zmo=oLL6ycYGLl7`wXBlltT}|rDvHRvF_fKm1FY`#(q>liTTy~ix6%b! zZavA#Cet1pZhV$ccT@0|C_E>ZPRToB)HIa}tZzTxE!Y7@XyfNZoeZ;{AK$z4~W6`;H_i(2}jdwO! zs>F~1DiDCNod{eMY|~6s*6no(qI=Tk5&sh?mDBhl%Dm{w{*ds$K@9r_h<5|DB+07Q zsm|tb0uVE)`fa7BLup?as#zY1GnwAK3KA1g)P-QD#EVrb3Q!G~;?Ao1KkT}kK})s1 zklAYcxi>$(!N7Rb-3viF7jk@v!ei#62hI!0`&KqT-w{@n>U7kBxlK_X|B!RVQ;fdQ zPpG-Qq~$@kr`ZOH>5J{EJo73g6g#WHFpw2byi()39`I*6!2guV(0wQVutY^1{J04c z&?ZPgG&;Q2RVOrO`=5SvO6OvYm5~*pAABV0T|>MNVg5UL5K0&1Nkna#!*`-o{e~KF z>g~gP&^f~_v8X#5b1(wb3yU@w(b^PNR5Mmz#Y-ybTMfb2W5U0gec#(QiX6m~+6_3S zm7H(CszX+L%-zNsGB1h>y`&uk#|gGIM&y6>in}V5H?IP$kI@2PebRLhfvf_t=Al@) z-Tg|?YS}aWkX}%R-tP28zm^3Y6Lvs%YGCuBW3Tq$<9R;fqX7Y^Hbwui3unIk@f8HH zBo76jt=5{YWRMewP~nryAO90tgQ2`-a^W0kQ6Y(ClOQOvjIH3%1|*H8KqHJQIaBB> zwp>hYuOiV=snKlps&84+ftud04zw3ovwN;PkB;lA3KWVM{V9Xm{I4-E9&{~9Ndr;c zW(hRNIck7LdGrCT%;*Mf#r*B=;fdBS+D?aOl_evoIH_KfO=nRmDl|NCPqHuS81%p|^P_sg?xK%deQV#hYDB z6<1-5BdcUx)%}Qtg(aTll->>U!xv_eNC!Jod2IMfnG@Hur(|+tV@bs;%gTEDzAr0q zozS>p1*$U6yRX5D84*1LP zZ8)i_`@J_o+RfAO332lr%waJKKVvQlNV(bafDfMN0l9kzHmXC!JaFHKBI>^k)fM@c zP1eynR9It!OJM>38wnoj9(4lwB{V<*C8j73oWTAy6JJnQ<-KXqPL~kj?t_GRNkl>j zR~GVS=*8GUw&*HRWf0uBVEb(9SG$|Z+`>-8Acu4+;C_PHZgUng74#V_)6D1xe2dcU zep}!BxBV-5=>#yMNSu^9%s^*RxHRsE++5HPs^@NTAc7|zF}1u`hf!_4{Fr!TV97+q zm~J+vYX#Rx*4@xZ9tH`hWRSy`$&*(if@;J@*}YrjtW&2M(i^yp!jlMaV+cRMPTG%Rt>oe zDORED_Y1AdYOH<3JE^vJ{CdvwD|b_OCHwd7-m7MUxk!Wz%lFVkS*V%^ham8U1Y|!G zq=#bY$LNPP50^vDC0-LS*_OsC#Ly!4BIA%a;21nppWC=JHwxKR_gS-sQOyTHZVax! zD<$B~X9dp&;0rps{%JtbChL=nFW5OL1LyqzlQ{@4@uEK}1wQWU(+nRk9>vfcChS6v zg6(EZ?CfgH4_!fAMXWioh#jcx$L{15tJhH9TQPg}9@DC#&&skQ*l#Z?aHDUVrqlTf zzjOG?$md7dk}Gpq`kI;OAz&2}#bfl1`zE44IEEFzlg=6l?H;a6nve#QB^jB5gI=qDSn_MiVY2#j zM~LlK@`v0400sy}2Hn0mAMHMY{r7^xux*NSi`%8RfeaXU4Hk{Cg|3FFQh?kASHJN$ z>Kn|bn$v#Rb8blWZJ|RR!HmwY1cn6QtB&p($g-F{26h4bbi<@Yq_&LKFMGhet3mp9 z%}{RVnzX<5*G?LyqJdZi4-Xg};eSD{-mlR6g&;kAd}jF$524hWW_d4Nzd2T&=bOe} zntPhwo5F@yKQUqxk&6mbUlx1w9I%V zXeLN2JYrs(tV{~$-8^?J>?X!e#rI_*JLIz<1l}PsU$9f(+y7KMHyV?fSLgaNV{e%j z3mj%6KxP8QPQiemilowfo7qkn>r3)JMC>T`#y@nqJo_%hXZ*)k;sTc{{TYCRPCRko z?D4(kLEeRKgXK*&dskq{wk4g2?K!(0Lo5@ zAhm5pWLbM0y12n@2faZ9~dm88)J|E`03_)W}2lkh6~A)I)O#fAG9XU=X3*F{*VcI14zJ+#%k8H&kw zBl66fsa&Fel|P7?Hb{ICnJ26i3oLACHWE|3KFek*`5?SqeGyjxsA8cGnhJ#X6R9Q4 zF+BSsv{w(&!XT*CWdA}d(YggpSAc@|mgB3~f9^>x?BIsIs!je%Xp8c~eP8l-^3#r> zjE!$p{4$6^=Ys08V=~KOiHc{aenunsqk{C$VejBFGLM}H!_2e5-MsT917f}`T_KP^ zjs7{15bjtIIRXnSpzzXlGC}sPwl4hq$+Cwbk4fsH3mD=(aQcPGg{P;LU&1@G_20DG zFd%~O!OF;iZg3)5Rr)z}<8_FtFnq>59(maB4r4TkN0NOmCPwh37jzxf7k2Zx2@5eM zUmnN(Ya9&~(2qTTfJCa<_A@q~3Q(#`Fvin0BA)qh5F7B}>Loxol{$gtb^@7HAOc8n z8+ycjseK!m!HSHnQnq~9+#88W3CyhL}}dg(SN*N=z(qR&Z8m%x>(U92FI)WPR>v(!G{* zu{A(JLlTwBE}_E{^9BZd=~8tk=U#j3%+`)ik`Xkrw%p~rRecw-2mcY~YV-p$d78E5 zCx2ryn1Usy_=r$4zBJ5o82ALws(ZDI!EiE)nR5(MPIpu|5u;YrO6b3g!zKWEA_Aup zB^2u~h&w7MsBoLhKnhg6s5WjVrSasxv$lKOL&@7oyn%ZuJW@9R6i~+kzh5&HiN>Li z`Jv{D!A0BpU&u!to8alg>dL;YEp0Ox7aod&Ew$FGZJ}=0_N1VG_vvmHe!vWKY7r#@ zII{!fLjlbRxLHqzh-z=5o?7>Xf1LGR)Sr>OWjPka#IUj?iO-S+0 zmH<&Wf&a~xF6NTERQgx_SW51S>J#{}G~OlBCpcoNzDxA+>XH6%1b5TBdospUH@ene zV4E5|zyRAq-!1XF?fnlotGMnsu)ul1tLYwCd^uGLxBqPDLzt_PYztyP0o3%Yx9S>^ zj-%(iIN)8$?suPrGcsyDS~=hQSN19d>X%-EE5655272;7bJ1}oZwcj_jT$64sIl__ zK3X7}KVbMg>m6(`z2xtO;IFoi509)bf^Wm)RcNa2{i*uGtw*({ddT_uU?#s|M9)MkZ z1!x^>fnWxuo2i0gqf2Y6K5&j34aB@W?gh;izc$#pkk6RyBJM&D!VD9{oM3D-%oz+- zop#c+(%N8r)}5V4O>UT@INfI!Z(w|kE3ARD!4&6eay!<%exYS_9-g!;v-w5MK%=Ko zAD#5B5|}Pb5ILYPs$_ zIaE>+qXUdhD#n*0RE(>tEa?7^S+6Tj#0oA#aD{e~BEWK7T1)3)j0OK&75Uj(FOaC& ztPTc|iI`LAi4p0W-{kG?*bkHttNVF$Kg*{X&+bjlw|F)>kPP!yIAN_WdX8bZ$}e1o6lw!iB-kSlL=t__nY|zadiQl z1tcb!4r-vB|2fagp`RcL-1!MaXIx#aAlAdIs+5wjh z;#_lxe{Nt>@!g+Cp8UNms9n+Lm0+G0`Yp0KrN-*Q(fGJ9=#=m_MsXQsldD?tSet&c zoBfBn^rSjVF10a9X0%Mx%T-SF4>H`(8dK4Kf3M05hTl~aai;-3FJXVI^-mw9(H|#pyH(Vcz_PVLl<}c+zT5B zwRifUq6&PM53P%zijOud(`j(}vT-jz?q-1n_qz|E&6ph~I(846TO?|k%avSc`?7uH zbnBaSr)Ep1?T?#3&}=`-Z?#h=uxxFi*;`6Rg;igxiu$Wdu+bwAlfC~mwI$!*gO$!jP% z!D(zfVRb<6^v*Gk#jMQTe%~gsy)g4@sYqPd_-~yO$ga~)9sqV1n2V_RkW)GizG*l7 zm4%e}!G``X6S>T2cvy81xKTg9Rn6NEu~Z<_p_ilxb%<3F!I?(y&H`81ibKX7*HVYS zKE80Q|JCZYBWlTtz>qh@LW5NZuMS@2tH2Eof}{L7`4Ev${y4Y%CaoD?1!krV5pCeB zT60UsQzh!yeaxDFpGSMX^ZymTA@hY0RbTSlIM2dC$xhDLa3?vz#^WN457Ecb*}@0= zX{bU%hX8jbiKMs3*s2|6H9KmcROVDqc6}xn2qbhcV1%;NWQeAv*kJEV_kha`WSdn? zaoZ1@-)d0ExG%OI=E)%)af4MRa-#pi*=p-jQJ{Yn{=eHbtD;d;1eBA!INqf;_@xdS zsD5JCPyM>CNB#WJ9C);qTyCtB+=Xy?RJD)d{^d0QEItbdRtcYg3wPE$<|4!8hiRR; z`SrIr^-objGCnuVLOxai#$CLU>i0P%mAy55K6txoe7KT*pOue=C7f{^?Ij{qHX!Tknz#G! zGK*J5^u@FQfB9_*TR*MZ;c&KB;BP&!7Iq-<=`M;)_ zTJ{*o(}V@yP62G-AU9EYc04sxXr>*@5smtlU&^@ou;a^penml<&#l!Os9RbK3_4?9 z=bol_jx<9)aKCS}ytZrssmXuuMNgivD}0%GeMr90=Yh`Y`2UK~s%)S6POlt}bRZZ5 z1mTE~UJVrM(n#<~J=yyF{ZnR)uDqQkt$Ggl4I92Ko#UXTVaF!Xn(nQ}5ijR}Hr`bP zz~Z~BhY0%tF3*(Y@RUh;SE7wL{=GpPKbfD}^~>jUdyIZ>&!jq6ab)FT;M?BU@VS`& zc;9WGNQ8|7ur{}nkULB8GrK*tO>VS!2ygL^%RE}5vH!=_n}`PS2u^l61muzFLgvMG7j$MT8-{(~C&-J^0e<;^E zSJyn}`MlT1{kZSDpiDI3e?9caIvw{}UfZy?yj}O~m#4j~EJsTzoXUlmmdl5Ac31Q3 z_tf(n_tCCnPZJpbZyIjzby*RyyCm+pu?||9AD<_*LR+|4YDdok^?+gi; z$f8?}Zo=FEfum*WsV{a>ojoCM)HxAJwysVZwYlQF><;>?1Pa$SiAB8=CdI@HO_mvf zoG$C)cuCVwUywXtEv{9wy%? zU;w5Dmpz`SvM_m99}vn<*|2%^9)54f9xzJ6(KU~AusTp{v3I77bGV`WJ4RDkcow*vp~+-)hYNi zrGIeKf@vD1q4OJDBrB-G6ZMbwo2te zV`z5O%+s4vWna$y?6qa4DyHsn;ngwXcKDl(?Qnb0GjK-R?c|wD#AI^w)R*LD?o2+T z+`1RP?B4~Z(Dqo_J;(X6f`cEu{`!9u;Uk^>eGK;$Z_-5MI$h9`l&vF8AQ|8-&4iZ*Y+g*tL|dF#X{auwcH;`b7}MreBpwo zEYfwsFFK0BG*?8`?{eb1WkIwFHVM{R>;_~EY+D6|1hFn%^i#9Ls1_4{L+wEpZlvjp5Lt2lFd@bt zEWTl(Ykwmf+HU_92>VZ^!I|StQzzt}%=BDtJMn{Qeq4a2C*#HcTC|v_IR_{mrj&Ie zYu3Nho)4{3XRM=Y8bGN?3sK$>Zvc|g@0pvQ2F#aBeb@}3-QTt6Zhg;H@C0FN1>o3K z+`A18o9v8Cg7ZccMk!U%qT0{b%O`g%y*(T3jf{!odanQzrkA8+PhNb*Bc|?ip&|?f z_~Tm6{^KIO^mA}#V90P%U=kQ!^khoO74nePj6AM);X_Q{{&U=v`c%5i^{vXkWpL*F z93V?L5q{-fI%yfAetBPbN4NTkOFi|R`UUbt&G2aay^g46*r2R9=XBNvjl!XWERlaF z@k{T?V3|nlBs^rx$np5ai?*qX!qs0E4DJ0b3s0UfXF)SCGDuB^8UQ%mV2me) zlP5a9)DqTLV*THLBKMIxyEUzBGQ>y_zJbAFMlLh&zbuZ`6V*2<-kn2&vWEKKpNnbt>%XY8Rs!{}w9lbmZ=3c}n#WD8tu&H-YzAL}AUP{Kzje8Gx0++U9S|k8UxIc?ltnxYBaC1yy861!zQ2yT0IFI3)WHEr)8rt>r7JPyFN-$lu5qIRIimXRnL@8kus5>z9ICkM92x_f zyT?UbJ2VX4x;3;xwar)LkRJ>yrIUP9Oeb0PV$~5%9FO&z$YSeRc<~%(7jrwlstvUs z_V+P9n;xh>zc&-g*{#VJlQ#QAFKa`=Ay?Xqr; zO~0@D<{o8Q8;KDRgeVJAL7eA>e=Neqo_5){dd9;EtPifg4yT!VV|=&PEQCvMK5f6S zeU!9*>-efIsQQ3P5EX^c1y8&)B!Y=vz#LjbjsA2;UYA&3z?H0fv^f^AeW-@oIX=LK zVggN_EN(bI^YX2q={nmJPMGl<_qaw_Znfo=iW(ZM-96Iy7uXoRClx4o<;=okMu#l6 ze1{x1e43YBQo5g9OuCO8V6Rv$NUYYme*OZ3wYNfd-;@5t16}$YM!W!@U5jevf^z! za505NW0$pz`NDWDUL4oK5hbHrVbm_$N4); z<9X?)dO*N+{?eZeF64bUn2&^Oh(&v!IT0C}lK0(PTKx6urGkvP5h5sQbF|xuQucZD z;4_ErMy&c3*SD?@oN7ZKyw*&rzvULb)p$j8`>GgNW3Hkhy1j9jQ@kMpr~`tIZmxcdpv)2>p8wS)MzLP%_RtlrN6L|AJhh*G zc1gFof9c-cYVYmsbqywUQm^1Nv*TCx1L8GaF7`HT*5_=;#A(7ubL*~NJV7**@=)d` zj`)c@zIZ}+@xSVW@dA(8bjuW1H>mw97tvXQNHC2H-0Waslg{!wigy+2oa5E5ZbT=C z6COvoDq)0?NwG8}YpKFmEKaI#?gkTSiRF7$?ExEhJ&V7dzmxHflo(m+@NPP3LtZh- zMhP>{SKx(Y&aZMD*c|`QpOx0P-o~w&fo6r zHiY%4+VIwjD5wh^?266rE-I!MaR_l&PL<`Z979@r%<83@`{i;W9B8CA4ZOD@(&u!n zG)#wXc)ae}mRa(Q!CYh3@@U7PAuLNrP)WoZ1iLOk)#Q(!ABC)08~p;A6MCi;eHD|A zG@I&osOOFbLWfpSWQD7V*nVkGNb^lR*&n}p&yO|4n|Bcrv`eSZNN(1KYFi;o;m*>k zTiuo1@8Rd$UK(wzxZ` z5edIY&*WKDjz^z2SV{<83&tgQ-xhw^C13)N@TPV+`uNg$9?Ezs;MCR%SmHo#)^LB@FTSZW>)(U zg`^_{&dx*Uv{$Pu$(%%g*<5(n%F#ghE?eT>YZdFY=K>r{(FvM$@?661@nIdt?uouH z@FHrMWRPyFoh`jbWq&S(1RkO55p<9jYHG;;(VT&CfAxRsUp8@ONWqH)B1AGnRtXrv zJ#+-L5pqG41Qy?mRUe{mo}?q(bQ(Iz=tK-V;kHkc(BpGw(N;<_SM` z@l6Cd&8qt%fh0``MOE?;kBsa-@Xie9F!tBrLuhB+tE%^PS*~<+ijrZVh62HX<6Lg- z;ckpPMvq+J_`E5ow-&q&chj&KVvi^2d5&mfj7QAjQB_N127cloM)wHucr=tA*UD95 z7bya3q@;iBQr!ZPXhniy4EB}_7& znuKoIJRk8DcjWW<+&Pl}oI~9^Rg#+|G4G0wlssOWWCmrh*tdea2JH*5TLe%~0|VJF zx`ahBDyS{K!Rr z=)`29kOf_o(i}Y|o%Zn<9ry4{(}OM3OsGp6H=MC#@vDij+;uSR5B4qybmTi+;io0i zdZ?yKE4xH%MF=EQgEL%oO(FTy@ebY^Wj;Pd(eDoReA8;G%13O=b@hfvZ$VZ1??Wp2Bj#k1wQ+BZ zV7(%_B>5lxU4Ac3D^Fu8C1BZ5up`)!jgy!xLFCoJ0du(gUww7idMERJe?qM>Y(9-Z zPVa3*t9!8*pMl5EpZL7h_w?t!bFvlx^%!#HYlud!>TcjQv%4Zm)p4ybl~}b`n)Z+P z)25H^iqoptH*K9<9+a(?YGhGwo~aE=0(Oxi*Z4rSp7|ORR(pfrcBu!lWX66Hb5rCT zC>Uc!Y>jvtIBQ4{&5tW$cxi(N!q=>hTfFV>dL*}-vLQ`l*#>ZVDQZi7MNG1y24?*8 zsmrv47}12-rFRG>4Zj+z^NnqhYW!v1@#O0aqv)1&v~fQT70h>H>|@fnVqg=x*AoTi zfx)u61Y6kE4&pmu&ECq8@?lh`5b2OZA3&HkL3Os>8U3q+{W{h6uMGhsvbrMi0^_;v zN~Gzz!=(ph{4g~LA%9OsM~cE$FTUgV6*(Uxt9IsN3*$4=q-yse5@+YP+TH)A7X_xz z@lki~F2<3Oz?aB@%8(4lw8ANEbF-FH8tv8)Y3#z8YFqf*@!?grAG&B zb$5^)1$vs_-nku;WK3gqXL~ z!kcM&%8wrOb4e(IiA3R6qTjwJGp2q#R3BK)SdFErhH+>q_mq3&S8e8)mr~{cQZe=R1(QB3Uyz8);(^^DZ$-v zRk|5XuDlsBiepk5R}Z8{Mcf-4+eA&v77Wl6q-;1telDn$I{r9r(9m%=gF|3GlR&6Vcyaai9~labT-zs@4qhbOm)hbZa@>f(PMIc)R;w@z?<*XWSdOm! zcdD=xjqvSYQscV+E7T8oSq9`UiIsUbR;k9@UJye;1lB7TY{te(g>P_o0xf2pF523O zLokYX8^cq_6)?t^1v=**Arc64-OI7yAz0cdkwB#`_(Ur~;*2)#Ia+Snnth$UB<$i= z7!B!xWCGy_f5l(-e{xG@4%j24l`^K1r$YiidaQW;GHcx`Y34M-_hYAE z1E0D#=@O~~&tsQ!I4pPhq_8W2T!gJtH0rZW+8xh`8mmd#0VDm)bZ&hptr6uYlxie- z6WEduNtJd?cQukxm)p%kCwuK-9D~LC?tH^vH%VhC)o~_lzb~0}dMelz1O<%1q)eH* zXAV3J>~ekAD1BuO)$d9SO#c9JsD@|wqM>*)kgeO=1~19@WT{9VV)3Wd|JoIsj@wkC zGo?7*W0Ytk9^cygwU!v1A+P-{-#yj6Ek@}nGVPn^)3oVx%u%MQTs5TIm4;t=U)@WK zD87VOx;*ko#JOD$O&Zu8AbJgzBSO%QhVZ~Be4`aoA47*}CXdwAX7_sd?L2nKaFSXO zBb`awjRp_@TMVqCz=IaWQ{>>{+UV0l5Se&X2g=+>NzX+HCsGZ>fg?`RIwnCuK#*Kd7`j#43_yx0u!P@&}2oXOLLX%W62OU z16BY0cB$jS>S^EQUmW^Me|%51mDH9RCZJ;+*|l`lo)OG!Q_m{Gk1W| zmvZc+LhbA%3QqJna}PmXlEhuUOZ1u03EvxesZiCqQ=i_-!cw9nR<~U)V7xSvF*6TJ z5N^9>zdmS~2iMKfV5fY^uJ%*Gb)mU2oZzTn4S4sfL~{ELy9eiELJM}`gQ17tbrFoK zsoWC8ejx?S=88PLfoPInsc-Pfx3GRPCs=!Dr_DXJ3?tcrzLyp(nqY58O^OhO?RgTh z$~^eG3Jb1!qqkF{_fGuuf4rX0c}lL9zZ>J34&u}_8BXN-PS1jRVSK~Qlrf2$ZzWmC z!J?K%NGon4@TzBEgR{vxPP3PM-zo99lYC#h+bD&}{JBuJn^K1tc{>lCn8BzFo|5Mg z$B=X1=s(B2sVPiCU}#pFD?nGVxEc zLDy@K#RheM^LQSj@)iBH?f_ABU3)OEn3PYsbwzON?tUv(CjtXv894J6>t!pBCz4NF zNf39yh*uF7gpvodnpd{Qf&N49jCWs}J2Ak+W}U;x&0S|-KWjl{mBCo$F2q5Wjlur0 z;K#0PsfBs(zZNf=KrMrN40aVFwo(3wuWFfJjDA}8w6BCJh+(M?AMpyacG}SxrqfC- zVXLMjA>yF4qbXz+18ARsOt` zS9Pq#m3!$OBTHeQ1vM%p!wBvlpe0CIafY~ZA{X-So%8AWG_>H=a=mw~G_mSXy8I>j z{A$e0)uwW05WC7=`%gZhV#(n78~*}b;f@`2oU>d|j_VFhf?7Kj&PCJnnGq0~$o~_W z(TYT1TLXm{@NVf_sG#=n&UEY)TD67nEvKfo6sJ$ZC7M=>!#eb0aMgzP;^sP->$9T0 zR8Y81h5XDWNlc>&@vIa=U~L+4=T-(xDwli54!`(RGjxX&Y^y_M;D@=c&z=0PHCM>O ztY%0v3$Pmok=V*JjTAxofjW&lTS;yq{6{WisXJ z`>%9&i;mHEI6OlX;>HR)#U*JD3)xSW&D1r&PSyGWW{D%DbO;%REN;> z+d1EWGml`HzJf!8#7_MY5~Yg3rsRy*hia@YzN+(nfgV46+hT^~6ZWM)&5%vkLuHTj za*Gb~uqt})W|fDe^W0U!M80`zM@L=>WNusXrR@+rj~cJzt{&F^^UVlKzvBvfga3;# z!12!(mnjseEVo(RTD(LTbkXL4mGcD_eE0A%qOBCe;_gr9OV@E*q~}KdoNqr#0p-NI zhEa4BZ~aM3QIMzDrT6h%n9e)w0Wds{p3zpk1k9R`zRG+vZy5m875Ps z*b!K;&&zH)b94Hz$3;07Ymi&S0qikFm~)F#A;Hi!@V`t)8(0s1ZeBr__VXA0b(G$@ zqg=~7ASW<0kTKkmVrS-%y>SXuUJYdPNwr_Jg^BuLeFa!QK2?p^EGBRl0QZt-)3kz z2k)jqR?JvGN#c&v+J_S%O|l*_t=C)s_`52W>9CI_;prc~zi(3@>coC$=1|jb`Vgy+ zALS`ny=$KIga}ou(+hjV1xNOjF(=-zz4JNzzJg1j`zeIsf08hWSRI5kF_bblqZWd5 z)nQ~{TUjl;_DEd;!xOb*dW0CTmw}Qy{@+#0yokWsjmV=0NBnPPpYfADfr_}_>{igf zQ!87Ml}NUxcr<%0&b5iN^>%6#Wxs3#c9l*4op^4FRl=PA7u|f~x~ujPqMLy@h(`iu zol|dSP**kFmrPJ=qry!YpT0g`!`&hH=ccjb3$f)#b6w>UC_WRV8i(}LAR%{!I5=M|Kvt6uqv9t4i%)>3xgfw(A1ECsyjk{wFojp{>?4XAI zV4`|J)gfr7c;zqnFs4HqMhoACU8Uhz9h|3&kY<_uL0jU*Y(HLv@MQradlvL`66l-> z-0I}{uhi|UU7;$KH(zl{!@zQwxg6Q6*(F4n`!Rf{5;f{Sj0m)(bDhitIk) zx%tTU=ghLaL-Iy*QS2-vl3^I?J|FhcXiTBjP})$U&RR0Bxek5#i^HqCX{oaGWmb=QD-LDcSSZy9IB-M+HB=U8Z}a z!_DC6rQu{P%!pFzNEw&s`A1xuY7-1(73PkGsRRvQFQJ5?zqflPX+gVI*qJ#z{8;n1 z+%N^-cZ$|Zxr*A~@oi||mx^4%Zb}>1&6CJK^6wH`^7%tCJ-}wD^Gc|-OKW~Q#^LJH zX|XhBQ;rJ4oRlOsxT|8=>4R=-aXL^l2Af>V33N%8`4fVHq%#?;f6R5*4pVi@<+ZkHjy5u~MPwM&6 zgiw$YZODs(_x(FJ?x4CTe9WH*&_O0S`ka#q1F`TRMWm7$JOlB-#7vlmnk{H}znJRhV zNp_xkd3WyDs<2zl@6Z7ZNt9u1mOJq9=;}#{8+#*3dTggv+ zq#@UodCvd1V@)YvRF^_nCk5j$$bGy%W5kX)jWE3jep#x`8A_7Ze7EV+U{iHG6D(k0 zx0i-TKx$igboHZOc~IRv4Y{I>KmX5}PV;D9QLA;)HmB7b4mH3Fzh}}ka`;x@cqbBzoo!qC77JW7ZkX%7rCDks9_RgZ{>km;!VVAah^sr%`rV` ziaxAf%_wxtdAzNQ({UP!G8o6rWa)$2Z8S02%R!hm88Hz=bBuTe-%U2@h0u?&W6Z#- zT@E1}NyHEgAB1YfykxLd6KqL4(%1^#G8w>oqj4+=<+WQG|JYfiP@yz~5;R+qt$1!k zVb$+9Tl>D-YU#WheoN!ZXeHUqH4fYsqF)Xm)By0g61 zFNWHwajgu0v6=9-=f-d=I(s-1VSd3d4a>OsK$_6hPX70PRWW&@r%4A@)C(^G(`-JI9Sw(=b zMYBv%KX(G{u5^MJW$JDmMp`^p zAQ3IMkSz5ZuC%_R4o~N1{@aTD1SQE{B=B^OJVHLKy(#~4`3y(v%9ilRVe3FBB7qeF zw#2`k^-je4LtQ*i5qgLw|A*U+(W=?QmgUd=2U^va05mw*fK#Yh%t77E52{n*t*#wv zqs9sR6{t{8^DB+`(G`ef2(aYsNGcGGb@W7@Jt6VF+n?0lXS2XY8&q(OUTGo7%1lEB zq-eKi8ca&3^cWu75xie1q8jIK_!oOovSKTN|3Mpd;sw$spFjkL{xI$?? zND!0Q>bVnlzT@jBA3NNB>yF8;J1-TZ^apzwU_5E+2vcf=rIV4kNdjB82W-*42@kc; zX)oH72X7u{A&dVBqCp#OEPfU3Ppf(3M8RsRCM=i-aSP^&uc5NP@Y5s;+THQAlhORd z@2GvGLqA_d9Q`F`gA>z-ui5~pQ zPt@Btf~OI;OWtX;orpN_9hkkd2KULWbzUFawBzsod+(=pKvq1R3*x6~O3-bP3rbWV zA8P1{q?e6ss)TO&Z50k*A+53aWI%mp${5~IrYD^A$nJkMAH9NVigs;(=Hw80iXo3FbnDuBbBOS9B(OMePl*O*VG>TAqZU0}r}&TZrHJOV2K<_mxzSpYz;c)|eks)Soc zFpvZ#p9t?wt(g)Q)4hO+*AHJe*w7)d2-MDPfb7x|DiX=+J80g+sz8zb~S~*m2Z?=cUmkpJG z&tCOcMvs2T#&`yUs^AU5A!tEt+eCNi$D~Jq@y)eJNPcHgQhu9p^5OvnngbF$dM-&; zk5EmCE^lj{}}b#HFYAxopU9ayjZQ76wn(`yv;lL(5C(|Ao& zDP<#K(_2W#)L>@lqFgo;4dTKSy3!67A{ULx(nn#>Aw|gHuq};cdU&;@T`=!kSq<8^NRCUmG#WN6QcJyZLN?9%gcvSQWUwVE z>g0j)Fo&p6~|%IMs55PY8N!S51+4ekK0+OS~p7bAW)UEF5vMf_?SUE zed(=4zPT%eVCNKX>{pbSqhBOFA-L^N?!2D6n4Cz?$7ao7S3QjCtN;5i`V`gelZaon zL`eNhG9_HZdm^;IHuPJ(dl|Lt^=aB4jF8q2-N$Fn2Vp#uJJG#kP6<`z3~Syw;d?gc z)RKp?4u5?;Z16vZ>fn9d_0(JJ2nkB_`2~?|72=QU-Tc`rDsLv)Ver;{m%yiZ_fNia zms4B)Q4?BNDrrD>?X;C>wY0!qhFMdi%29`vu6^>tsj+fI(8Dhf=`NT%1*vxrgD@}& z$#@x|P+PS0x$`Sw+2vD4%`@O%R6$nI$;M?5pG-0owbVaCRGPDTrlgxTVrcKC)-gUV z24Y3SapN?b`h==o%~g-Bn=%*fIgNz6s8vi3+YjJb!JQ9xLzWufc<=R|8T8vru0y@T zvt2obW0L%9xyfenL;BuEJUY0%?w2)pf!HnB85tJD1I4Ts(V9GEC)5!T8`*SP0`s*E z8yRRG1w9u(nw;%xPlqrRBnw7{{Bzw|@f&2xOZ&oAP$ZMnWIpD-mu z3sNLd2XvJH89$lTQJ)|c=*U4{nSZ)xPkU6cgii=AZvt(2PZH&TAT;Q^y|K% z2jaN*8gS8TkWo#_u?gNq$|J*l@$`hhMMjwrkb?m#L@{2ohYG(qkwi^Z?8I4C`mH6! z;y^=?cC~8LLDV=E>Z|mDT^a3dWF~k*zJA`?oww`k)p!h#PViVRK_t*IeDdo64V}lW zpk|vfwLz7echBxjc<|9M;t=eXiA4^uHFh1`T$;jRNFDlOBHM#gB$S{;H-GIPuSd=V z$s|}`NJ%s_{Nd50fBG|-gNvQiQiKDYjv{{5d;qGN3S}^1k85$-B0}Dj%8wg%O^o|P zm317Gs#(gpzmvgaOv!)OOlc_v=PrPW#}v8IQxXJSf&lnSdUSv#)FUTcePv@aX{m8_ z^O=iUbj$6*Grq9(BnVav+O58ncF;dMiwpioMBY^GUi05%)mWiSg5YB2f7-A}MHy2P z9ZYrsUI%Zp4F~mRBZX ztty?@#*&BQFl!*FgLX#!#&#l1nX zLf7ZPn(==^e_m~pH8LX_3rq>vhF}OEKT6D-lXd#{xy#b2Nj7xmeFJCUUKMteZ={07 zgTg_amVT4-Prmewjor7euR$j(ra{qgj97J@mB_2+CQ!e>q!#zvu_V?PGZ3nzY1AG4 zILMu;u@s-)b=O2*K2An*S?OXjhBqUxh%Jp`i@0;Y{{iS<=Mmto<`b5!W>& zi6ZQ&P+=VTKms)4fdHNz6)`&Y5a;Bnw-x$}ARL{W2`bpJV%3eN#^s!UYJ3`+u+PT) z;xf%aR&`gNBcsxaHHF>s+lfwdgj1&jN6%jAI}1g$XQ^fhCc4-i!75if}M z0NZOyJlyn7A5u zbh)F@?r8Xz8U%dYXzD)-^@=^urP-cjD3`cz|J)ZvtXkld@oB311Qi!}DH{U(JvGZX z+^db|LMHpMA@0sc$UBLiQJL4h*tkLUvmr2cCEt;AFLORCtA0%T{;&Ov4|5K*am zXH@c!rB${8h7jNv_0 zZA5<9zdpMmPw3sX2S0UhA-m(E3sUGrt-_7^WaWUU*mO zq;=U4f-D6y(R<{vrS+qB_RgpA2Kkfm)^d$F^Hdsu6Fk4pN;bO>3&}Ay_Yu)&2XXt+ zniq@3`uqaLj8YYo{-TPWl%hMR#-&s6-D1299YN}i^zkP*K8xh397gx2oR6lWa$v2Z zIDIByv#7x|)vvw*c5C^|85sMqe)#z4-dShh z2-sdai;&{7!(}5Gl@Z@mmCWKRUL2kPI;LnjyMF;FK4Dz2qvnWny;{PxtOQ{{Z=XX~8cAU=u=&&hKylHxNt9|Vh5x=OLwwQ!NiiEw? zaJ??lUHnkOn9`9m#+gh1|7d#9E123R4IKNmTD;1vo#$ z5AD}quk_FbHGNmZ@QMi_FLQ=KV}ZO}H}B4mz-Hdd`kpv7C?zYDOejwfwUbVm#%Gq1 zko_@5vh*ZkUGy+zdm+eNl@X>?RWA7M_*o!hwcSRr-*aqLZ)TO>?PZN~raRsonw9gX z-l?pcBMWj6m|=l0s##V8@NWxB&aKvyIfk z{8PqRmcGThYOKFNz*HP+6U4Qi8 zg8@R}L#!n6ekG_Gf>aSr|FLzgtA|hZRdP-(-YmeFk7z#&NdOVk4-F<^2r)zm7cB=H z0YO`<5&+n=9-zz|pBJr011enI$Z0s*XRGN#&OVpB(XK8Z(dl(CHh>D+@3x1%cZ}d4 zb6M9r+FVlGeG^q~wqj$4?htyd`2GhJeAdP}`xlYWK)L{CnvN2dg0Iplb-Q*4Sr(^p zlHkD27hYKcwlX7LVt7z;?}^p5ExPV}=PD#dtjWDQr z%Uxhd+c7Os0QoI|>%0J5S8_h7DwUof3RijSyjOjyje{0+aJ5PaNAYz!7YpObS^5;< z(54e5M;fE?^4@By^LZ3B@riBg{61X*4*&!X)i$`1bB;mS048XuzaQGT!Y+Mg%}WOR z!fsnW0CUaH9y}B~hI^)B95u)))`z39jQtb3=x4uC1kou5n51sN2(pqSt^w0GZE2Kt zw%8I>i!06Q-t-MxnbmGUBs6o7d(GaZ{_VB5Ys-QK(_{M=e+!sv3QY#>FQpz zhj_mRn@7Pyi}Ub$mG_60nE-YmrtLE?1M?Gii0#l4*%kivgX7Pk1DpcEpOnqe4M7w8OKu~fm33ZZb)FL+sw)8wSKn`G|nZ|Zwr~~o_PD;*69zK2OI&*z~!-deM99*>F`bCzwN>3PM=|~q@RF_88B&;*fQ-ulQcg;m0VtZ>#P__Smdw*_G88gv%U~XNj?IpeFv3B7HTjFX3MLsd zK*I^&asgnyuGlGv@%M}7-M_VI;m;`YH#884)zz?Ve3o^O&guP}zXCYT|)q5Bs#Vt)t zG7OU_wI5!h6Cm_b{b!4F+?{5#JUV6pn3G@c zmZjO%x0`hQqxcCM>nLtH^{Q6EJ(e$FK&RsdxOQM`DFkh8DF8VDXL+D%{0Hf~Y6Ncp zm%s+1T+UCKK0lV^|CvQJ8ESyi$|gY7q@q7lg}k&`;=9#RaK=ylMP9qDlvOsA5l(UmSBJEGARyljfzOFN>z+4LBf*fdWxu`V8@0N{Cwv@ zBrzTPsVK}al7#WJtHgR6uw(tt1Rg%iunKPdk^oprSv}pGcx<-11s+^iwC5 zvTs)0ufJIcmNtEnKz|+9jRa-JP(ts|9UgAwd2?|s@O8e0J)rZVaP?n(Y?BEk#gY_i z)h}LuxHyo~VxthY4+2*m&Jb1vy5QU+r)LgUTcqwDe+f#g1*qG7p?GVo2s|5sw|@IV zaQW6x@zKd5v?|k#d=M1q84Tsz(3&)kX;-S`>Hg`4efC=3a_%bT8t$fK-~Vo%lV!U8 zlTAa#{cl!o-z>O2o)lmZ`T7DKu5O~gh9of5&WYl|Yv>XKMa36#SMwssI}eE6JFEaw z=wWp0fVBZ4AXFzum#jSZ$sF;I1ONP=SR=H>|aSFPi@^fy5*JRx1U-h z%&l`RhU6Gwu2we8-SM|^KuO8X1I%FnsQZ`*T$~O*rdpAqIm1(gAbvPfoKwH`*7r`1 z81UvGos_gXLZM9y01`|R9irf3JBL$cjn3`dToBW_kCaNsZTHuxCUF@H@5YL zf5YZI*J#``s2Yn$LIA=W<-?z}csjMbQ1Ft^Lz>zdmtU9XrI9}*gP|Jy%YKyEc?S62 z8WefqNMx-Y>pe}Q{iveVZ{V%MiO1x}xETM!x{?ikQ#Gl>w5x@2DGCEj%&taxEsYYG zya+&{tB{re{Gk*HrV@h`5Cxq#=dukGO%NndYRTQtbWcxf=^C7uS+uU@1_Pszqehb8 zdt^g`MEanghnqI?0Xt*aI_gL30b`YqxXmkC{gDc9{Za{@U7in9*XVn%6WtKBBAG=E ze{;agq&(JFvp3c(3x%?_&+-01w8M(y*jMe33AWvbFK^%cZu>v$8D=WHh|adRgEB%q z?Sv_ZFf{-EYOA3rg8`9CqepllNz^yTx>N=kR4C|OJNGB)#@?*)F2Cnw-*>S(!%w6t zZ^TWKxbE$vw7;t>7)d)?1K{wLIEvKPb#D!s$<;Lr{QFv*H%wm&zOTwb(1!5I23ZOijpbR zcSMr-zAupNg2^E*dXzH;E1hgYg*gyHPZHg^d= z06(%T>+Ur8^W0yLD3x@|uJ-FNtvzHRiLfeW#U7^XGQPpUw1W_UEI>M{dR6NP@!=e7 z`A~o>5mnM>1|n2LU!AxXC_!+YHGLh~fbnYBZam>ag>>aN0bNp_aey=S2>c+ldtHqD zS7xqe?#cyvagZ%CpYAcgK&j@DYyqXT7*GgMs%CX#s1rmlpNBd>D&2h_{76}S+5+5A z+zEOvlLd+Hvi1qFPm%|5vPF}=n`##%DH?v%j@`gd_>U7!DEze)Yaa63>XDKu>G|(a z3dC$jDIpd3+fwSH%8bqxgY&B=&W$`;pXuS}L^3Y|R#-Z^a-)*MP%huifV#*`PZAga z0gsWCaiQUzWqHM}^TCX;9>jMB30IsH#f_J^ca)xC2+UlUPWZ}=nlxsOM<*MA+ukDz za|Mc~gapR++pDxsUcMmSr9Yc+)Xo?lu$7VbdVbU{NahbKE;m4%l#T&)Chv9(frNJN z4u6yXIKoN#-H+i&*}mwJR<>6d&wOB!aBV2gH3ZVpXE(I!UGZ$mQP;WPCq0e;CR3l9 z=GA{Y!WtFB<1vI!z5#l{*E`j|;kP1X;P8SF^BN|v(H~ow?y|<)OocX$k9U0u-BUR5 z!)&?qmr-iWKHd3Fu2O>PYd!tJKqMSA4*{-r3H}dO?w}Zf%m?}8S)s> zLBr|!567*50^gD9h9^Dso#^E6mHYsKI^u=5uG<$%a$O1ge0)s7$5GAD>WBDf@?$P^ z3_tOM%^n6BnL`z+fs1R&>~0&mZFOHpaD(4+{<4^CM$?}PiR0~)Q?+|8Tt<}MAS>>U zN_`61NdPYs<@Bj(ukx866_OcYt3OF$9pzDL0q_?2dV^dsd&&Ff&!g^h0F>5DV2Hv- zCz6-OObPXZGfRtMb!%R$TezI}#rGvy6Ulh!fE#)Lbx=#zsNp1gY&&zM?f#ls{29WR zsWX-$B`Pu0es5MG7632j zsP0UupzFx6RA=Sb*fiX>=o?Cx^`DU>I!I|-Ua2#3>fLltttw>Ty0uULX0IQW7qxS9H$VgmSAx09Sb}-_E&X(=W#Q>URU0m|lw8gmDFq6(ax4x* z_R`eqMdt;Z7rdY&8`Tn`f~}{8on}i zV+n@;fAn1sQsbR}>->%MbYX(qr;$GfZR~}D903Id6f{9&3*(dLR6%upH6EH3i%+w~ zMhDMlND{?IdLs>Fdz&xJ1kyu0@7U=H-S@|oVnX_YTe5#8=$_b@ba6ZHhZ7=#@ZeMSGkm7f6+n(f z^XjD01U*@fR+}jeNucTd#{+ma)nb?@w_Z`B%tYgHT{1PeVJ{g+H#!0n}-DR*K8sd({3 z%TC3buXDFY$K>U8qHX-)C71sNhS{c|*#Dd0Q7HntQU37XW<)_BOstrC$z_@!J(@37 zpZ)az)!3^(>3v^ky7J4QA-oO(W|k*SU2}(rT{n6I!HpS94S#my>h!A2dHQ*27Kt6R zSS|dLh!R!sUE&4r*bSV6zYNpDP;&HsfFGab=|^Igi+9f2{MA%IlB$;=IsN7wfDPBQ zgq}pQe(&?p@XwX@C&ue=%AaB-h@_{A7;soTFN&{w!uih7PkWO7N!vRDK)JAJ}fjD-{$%saTeNj5AeW z0YP~fV80Jr&s5&2)SdcEyfow)TJXfTuDrVEq#=R93C*jS$cISx{1U5l*bI7X7JLBZ5x8bGH7$Xoz9!GQW6 zhOkwIN6rVFKtyN!iU?6wbG%iyK?PVk`#2g(#eN^uZEvF{gVqRkAI^Iwn)t>-_Cw+c zH5QTIJ@9yLB3EzJ^h!J>j0;)=LGibo_X0HQ1$sVl`>V+!^&u%y$FW%?eDNtSE*F{K zR*4w26ZV5v>FTw7$pSCxNCq+qSsuBib0*g?$lZZbM>VlmOQ)VN=ti%jzDZ$h)FfK^ zl*HV})EG5w3pKOd#Gylx&CckBd^2;1)xbFcdpZyQ5fv7;W7eb$k^34e4Hi5~h zjwrUor3}$Ec4D7J-^_>jTTx6LN49b@$=FO{S;a%lnxO^FEswegtY z3xAcpVjKf7lwzO2?K8^ZsNzn>dzIwy9tX+^Zd`ibn)mz1AYYL7D&L46$La)$kl2$! z37W%{oSn+iWL9NXE~!N$1WNYTVZHE*@z+C&*xxb*mMdXAgz+(iCH65TB)_pJRvxm& zHORm?QKo;&%9GM(als7xPEh6V*z&Z0Tw=d-8XZ|a&W{J(wtQ=1Wu4q2@`$KK1Q}0n zzls9d{Y>K&_Ax9seMhpeX=@cmJ9kwOPI)R7=b8U`pb|nopk1Oj&<+ zWG~HeyF-JEtasNU=zdZ!LCP|V`%*RxVZ3kwc%!tgzJhRk9wN1D^rpKmeE%|-ou46ZH;7=uE+7HD0DiL zcLR5Mn2)<25?!+^mJNb4dCi`9SU{I#pybaR@GpoB&X=S>R-^1?GSA&Z_CIAbsI0wB zR$Ez$bt_qEnYmG$Fw6+Wn-C@Ng^o{H9)$*De30q~b&Ia1XTK@wlUNB-zIUEm-2AJ< zjVsb)@xst4{uWzedAsCE@Ous`daMJr@Jzo6=9;r26}b`t)v)OGV990{;tsoN<`tnC zq8dQ88oepg!F1C$rd61Rs+d~>OK~ZOOkgfEN8z;qBjLo!pEPcSzE$pCp&R%VLXAQc zvC8$iJezr^xX&H^;qANV?Gqc9Z^VS-!)O+iK8&DX%S0I6-^NXRvzC|mDdpT8^`9@{ z%5PC3AGkzfc|)W@MoP2(SD5I-Cc%~bPJyeNce9|-cshJ%%UVus;a18zHP)`v(_f&Z zFHkAQ;UVEZ+UtWEV|ugR*2l0hUm~A-k6};OIi3~=htbG9?1+~Nqx`2Z(2aC6*K_f> zgRXO5-bE+6W2i*CzpT}k*WUSF*shw0%ANIX)o|X-!z@l^1+}`UzFF!wWy8UrW{tvs z%}OGLCU=l|F_wH2CS`|ZW@Wq<=EkS?jD=N?lV|mDKdW^wrRDrQEfLkBbps)Z3fFI~ z^{o*4`Tg&AGCexp4N1=`Fph$1>u96+qP{GaeOU-vsVNQ616!N`$ zLSNp9?)H4cRCLz8T05Hq6z`6B0?p&MhbflV7=A|~^s!#HN$8&5N#6_9m{$cc%StVL z&W_xff8Sm_zV{dWVd6pwlAEpf)xwvb01;@(6D{7T^;XK{89xEikFpgb&v>!dv#7&A zWf?`0^wnMfJ$l6h!Mi*_B<8CQ>=}E3;O=r(|SJc4MkuwjS|4Ls3TWmMR_TMq#kTc*@)}{Pg zg9Y*hpf3P7(vp-jHhxAQf2TrU;4>0eR4HS02jz39i=iC|JSkvxKkl2ejiS76hxpBv zg)TDxe*6F%#OlB9u5*|bzYe37k?)9KiuC#S2r~3N<^3$39N}Moiuu(5$1yX7Obd5E zcH#(*EfPx{;OmIo z)AUkM)y1P#XE=-wk7?8u}&r4!ezuPnkI;hDyU43q)r;#iKD2Pk0 zB{!7iyAKHichkf9n@>!@TctXUN8R0N(wD{qlaRm`7bg>-G(Q&7)4v(jz{Eq)*6)2>j@Ht80o(*2pp6;2Hh2Ehtqt8kK)0MbLlx zyyl~<6PqrQR8U-_R<_n+x2#L;fL}j|H)`?ZBS7zSsZn-|qQ5PPf)2{-SI*M-clwx^ zfB!7DJX5A;P)aNvxy(#^C|PB&vGzpN}ieN>TrZ<7iQir zf08k@`0iHCxit_-Ac39%`2glqA+h9NSw_mLj=9Wr!lp!ehA-s!ltG~gX8&o6+>=mU zhT8nc$y55AAdhwW{E6Az=W`R{j2F1ikp(!93B$~Rei8j4Y%P%^EzttOQWO6>afX%m zh4IEGiowVw=7)LL6yP``n>COOup2Y@O}x;x0>dd{XG3k|kSEejW5-^4S4dbTV)*cG z-=r9k553a#x}2&S7!3=Zxjm4cIp%j+CL8rCCtCtkZSo)q%gs*y?nfaKm2s*k%)kJ1 z>h#&Mhl|m1i@EP@)Ec4my>ekTths&{nE5Dz{x*ULeML#WS~nzNgt;dEEb%+BtToNU z3PLxM$9+);eM3y$V7ZVR`8yvT%#B zG`eFj><*c`?DuniqXli(cY4YgnDZIsu#~}+Q-DAzIniQTx$h}`4ZcO6_<|WdL+|S_ z>Sjf2n%sDhV?@@)zaF}zFMROIxyd+X{RS0i*%~3Tx)RFjZr?ya(^taSsQg2md?WDd zZVISxB1M%=$6;#JheHG~9v)IF_PgO=?+>sFG^5LNG8N-U;ag562{6NcngXZ!C#ilB zsvU!DO8`JVce2tDb7Mb!vn{t}{ZP2^%Mufe*GL(k15LFqVc28fE-34uM6Yc4u*I+~ zH}2945HRW8mcnL+xjeuYg;Rmm0p;5rnq=}~U-^ysoB8EG++Hu?jGB>6kD7hQ6jd>z z^XBtN=v%u2*$Q^v{M+l#|=XNLV8Y{+x3%MD3*W)$Iw-9OQIO)M{(gnnHMe_wCdQJd#pKa*rea{#v?NkY@H`p zCs;Yq{sR}ILD9J zIMa~!*2?CPa7gA1a8 zpFGqf#!{^v=H@iv-{+Xc^TU7UxTOK!F{RAUvmc(#>2xZ*>Wul&nikHAy)7P7wJXO^ z{CY?fey8z#jqb0!?0X+BlmqPFP$B@L9D@p$I(48t(9a$4?ZQNQIhBN_TJ*}F*i*r^ zP1gdRN4%U_2dI-yyFp2}$Pi!Bq$UTrnVxG#eYV-GcbO=UpKo*~*KN+l$%&alnKQ`` ziZa-4cXR@4P1oM(f=-Lg*sfHWw9F(M(v(<(L5InI0;^|kuxI%TDdYMy@j=CpF!I`Q zrjh0;EC-)B*qJgHH3yYz@4jort<}lKSXDJwD~B1Ir|4^~9i99fy^- zu9n=HKC0xd6g49vC+LZkk@3liS_OZ@D;ovuYx?pBWgKYM2Ygw~de%=EIcktNoI?rt z&sLvgeI}M9BV&5dPb5wev<<3&l0LJm1x-b!NtH>0jZ7K)%knHh1qYrx@W)QsJpJ~` zw#Fzs&5LEXUeDiR>2G0ECk%t2d>j1|hBeDyanWmenO|yL_q$WJ$cv#^9M|%4%vt$` z-hac*)~px^JCwq-W@_Z8Vtg>Hnq2C3pHIgJY{tQ`2q0>=<)VN^eCmeh462yG_q_GB*V`5BYD&c4F*T7WJw$36o$izrWGa%GS3n^K=|7dqluWaOKeMHW-8_>5;=1<2Iff{l4N_)@YLrf?EucF>BuN0FKBY~+rE9! z@0iWnUqjfB5vLJSw8j2ikSnZfTh80ti+BFw5>3NmOx(TIZI14-?B=v(&r|x~NN`7T zP>8(QF#lr1h}OeEIRm;rG+^hzS@2m_Mz(s2tab(e9KS%;e2zF9p%|TLC2Gl#gHyfC z^Nyu6A&-v0vYa(hhc>d`m!L&|G_&`21quK4FE8dVIPz07*3@W3-e2O-^DZ&|ZYSQA zX8ioSNoQsWcTiNF2*{uRAem6gdPfoK!wEQv<#Yz>iKieKcF;1`=mm0_3B- z8Vr?Y((58aksUqZnm-!|%}bA$^SLHg^myR6oQ(JIEYm3ZN?UQKfXHX>6m_aBg#aNR zbU!$9B*0@TK>Fx?!6PLG6Pn+;K*EN0d@1f zCb<{ngoujXzX7g|LfG+R5cn7Of%JKkY#`Aw6`8Dq4z21UA5~9_KaamN9v6;fvyPLd$iW_1eYMExG_Ku5NI*_b?k z>7)7mkeNhK61(yAgns>65O!inyt28of2+C!4dioWb$w6`poNPki?X`DBfZHU?d_gD z$*((6u|?6l=)}~%J*B^iY@-j%fgs(sJY~Ka)xcAo8EbjK*j|T&;|dbbw7{SPQv2U` zzc|lmqN=3UMPOJ!liNF@^?)5zhp!b`xjuS~t%f0Hq^b2}@e`no7 zZulH~&Oie-0rg1cO*Z=>1!0}Qf1;_vHw65Jn(@g|6+`J=+8d9}f#q=3@nKmlJ-!dt zdjoBTzBVG`aKgju zmI2>$^1f2Zy?T)EFX7Yc+vfAK=xnNVGhiZc)aWyYfvnX9<~LK=QR%cn;gntAs;w+>G?>{ zii*)kqYgA!;Y$-EG|a@QN^2z4%X|sIeFaA%P)42G(c4yrgQ^ufAs(R1m?nAX8< zl&BENMEC6{43&Y>>yx9QL$hLpM}aKx(jjt1$RRnb9qhsJQ^3OCsve*4$vr`>9zW43 z)6Xc^$$k7*emV-lfcv~yJ&gd(4Bz(OHToF^|3>&1O8+4=z?8X>tcGMN=uyL+s>ayp ziElZ*Rn&WdcfwFmM zu!lRGyLZ7^HckFa6NCit;5@I8B3HXx8_Fi{qk-SG+aLT>s__nh4VlPA)gzTNPvcKc zIkThp;VA|pS^y%ZpLEk zO-}%~%-y9NtZ|3EFj-k?x+(RA*wLO1%kEP!j6QaJR5N_E%&EKoO07Ge{J=7J#-WNctGrp`%(lUcmkdeRCa&TlZ(z@kP1AIZBM6KzGJi-xZ$2YaPKv ztAba-Egg8P`cCEKiBOAlv-YOL!@VJzX9_9fT_b z8;oKFMf%Tmle9$0$4g^gocY-v!lp7^&Pxe8MyD6caaOGgJkpyDkn0QPQGzB+e<{?B|jgJd7jT5}St-+(w2 z?4Vd{(`|mRaRp7clh54<>sbkk4&o!PgfH52cw|r@Cg*;z_9yrH#wBof;v&r{-r+#4 zES!>|7W!p+dKFsI8_GqVwD$v*UaRgXj4aP#SUy+6|M#d;&G^y*_gQAK!syT+t=Ue) zt{!(SwaMkTO}N6^QtoKghqud!sE4}pED%8S{SwT~TV9bQ78ZCQ4pss)ZfsJpR*zUdaN0wb>(D1{a+FO$!uiMEP~`k`?!`>rj8x-I~64 zLU{EMAALVMT#3W_+tN}tu7xRF1peyO+nAo4hAUYuR_O^inn&o>4nt(9>ttYBv>McB z^jhM+{Xarwi#+L-PNYyRpC~=Zbb}-Q-2nYJ0bqh{9HZv+y$Ag%tD=u^SGxvK-(1jB zbu6hxQZ}!y91RPsI6JGOCY%O^n^s)Yz-xI;4L^J7+%?sZ+OrDk|*rxcpV^!R$L zBmwnr-;en7r~|Xu=fz=ebZMhE&FYR z!uu=Z?VF=1?S?BTR=dUZ(sFOF}l8}2CHN0=}&3( zD=SO_#|-4)@o1SLW;-qu__s30Z%BRoe=QE&`kQZfpljNc6jcTy%8p}y5L^e1% zImjcf&tG_gnK}D8#%f(uivTrq+%-zoHt0W79nQxCmva0)7!*ubN&Vp6op%MMrn|wr zwZINOOF$$Q<_5L9d7O@r=LE5&%t08nnt2`mt01v?jfD`XmwB8X+w|U0dL`J%EE6lS zyI?e>y8sb|JSD52O%wa~uKIs;%I4ZA;ZNSOd@}82`9vc0FR<@iYe(#Y!e}x-|BrKX z3X|w-E-YWD*-JN#;5*Ar)xtI&d(4gDbe(nlZq*^oA$NQ3!qsVjn9pk6sI7D zo{55#N$m5NZ`~B=Q)W^B-8b*>V=aq7c`_e=Rgffq2 zHIHri?245C^V&Zq{GLg^>TQOY{f0bF+6DP^bHG&HNuXM%OiJYxeX1K zWvTN>=_R-!{^yThvJuPm)p&&^-7gqTDr~^*w9Rkvenscw`CI18bH3C_4K_Md{-bZU z$KF>9f5irZ{@`OAV&^cy6vQb*=ty(&YOgzLnf< z1If!g%cEatmW>U){E8J8oK$F*W4|mw>bFY2oMHfMLjp?X58X#BKm6(b4JrsZs16Cm zq?b~;%rQ!Ntb>v$1v6&(^UAsiP=5|iKmv_FN#_(8s~MY&;GxhhBv%NuyS7&ibG<2# z3doc17fAG(Cs0{JDU1&pc97`7<`tU3!4YxU)WaEC?r>GH5<`yH)W2>gM$ydto7l0O zL6GEyAwjjxZ<1>7S9~BbPHZ4(Ctx7iglb^+xmUN^n?!@7@BGVitd+N~T=+A8HfE~Y zRm$S?S2+s!w6tbRE}n|~^-prQ8N&Y1iQtPIGGUASf+Sr3d_nFQ@)wYl;Gb8JSoHt- zFWeCQeHaoH{r`pmhWO_dV8Q;can3yX3OTD3>>SnUHeHjC`1P=AUcp0#RU~{lIMRaF z9S5t+hPHEwg!Zx*XV?YDCdi3)_|Tm_Jx`v`2z%J=kzl92ZTe;lWn6^05Qbpq<``#& zJ$b}n(RG7%^vW8W3^(|6)t8sN_kyxkio9zu5QoQ;zRBa`hDSW1ShOQR`?nyKS`1An zGT6r)KIWy5Fysw04STMA9eb0dbZ8qB$%LN;)xiDjU7*iR9Hiw9CNb6l>lv zYLo8#-XO4z!0d+z;(d%@nK%stN#4|>Z<_n( ze15s+jpc%!#mlC61mHiF6xjr_^JY^%*5_@s=bzDkq}aDjlc9_J?=N&?u0pIEjo>>g z!B`Q;U+}H?^M7BF34J4X%BdIqY5o667Q!joBt*g`Y!v?e&}qxUVy>AcvpeK47N)C9A>t zu~-q+@;tx&$Pgvo%OJyelxObXUY8?%s^4FL&c11q&j-?Wkf6fdqQgi*>Gz;oi*6`(E1IA8? zhzv3VuW8Z>=d1D=H4Vfp&(0q`+}tbn(Oh^G1$Xn0UJXW$MYpG#)XSZ8wAL0z{%60< zhzDo`8zDNi<@W~B_A0MSuUeN6sebq$n6$y^j@YBIkOP@JyskD%BF&$V{ohkK)p3RK zy2~ej?9V@}GQyFT0!IQIk><9SwS&K3aCRniK=}X7p@`Bcdcc@T+N+eDDxH9mdu|S# zOfZ&x>H(6$@Xxs%SFU$qdjE|E+6-V8J=aCv}f7WW|){@9z>nHxyrQUx7 zD%G3{FD@Z|Q7Pe2qj=$ZvE5}-RD6a$7<&Grojm9DxosF;Puu1zc~c$n zp_XZt#4j=T{IWHD-+_Ble613+#SN)H(t^#kQaHh3?1i1{7nt?lY9kjy(80KZ;Y4HaFlbr8x6a2xN9Sv+!FIGc4wqbYp{rQJ4gXrqP zSYpjD=(C`DTAT>lZWl+v&LAhJ01@yVN$0dC?z!MzrB9eD+x5-&tPtA*+la~ngMFNW z()r2>&L!EZc_KQQzz`;cn#NK{Gg}aMhPcq`9SPQ>SZNT<%zvJG}% z43LIU$&OG9OwvY1`nCB5l%$jHJ;gq5_aXU^(XMaW9~(EP!8d;eOe-GL*xV*4j-cBm zilo!=14SEn8Id`YxpJ@D?Il~poRR?ionU8p6Tf+c9h;Wwm<5Nk55{rOM}6sFb65s@x`bSne_r^4`iK^8P?j|;!8RT7+Pr}%dIhoOxrrrn<0V)S zS7Z<`4}MbK>Sv!V5MFHmuKcH<5GFZwX%2dXapj;9fA` z=@J}t2h01(;AU*;mC3v-a~J8Ds=)jln!n5>8JfX$oGn-!Pv`W}>Z|iXH=4Q|Co7qW zdXhniQq?Rf@-(%GI61lD>?}tgTzv5->vp-?y;-Q5cg>ot_yF#U{UZE$0lXK^l}wOr zfNlDm#pW6`AbLfB7tkM=UXa2|~E<%j1jFvT~93l8R0BdCYYpW;H|%o~2UUkdh4)Gu=zH@HXc zUHjOiH<$TwLETzsLO^*86KCocc47S(XOM0;&acUbZMECS?J!zf#JK79jpN)}L*Bvp z?QWOAP^y8VtGs8pkRS2H1LR;u>yGihlPMvb;@XPIbB^Q$f9CI!YG2w%LpR^Pdm)D2 z3EBIlfm4QW6=7<3=D%zTd)*rBus=*YYzGi&96~V*@)=G8QdK2bx2+;}_yt;xZ9v-` z1aQ?3K$J9lJd4n^1grRT`q;F0r@AV-f-ypDF zz*LJZ!gRBfY$-HfQcljmF${k@-JbXfq>^KU(kZ3Wg!+{;y{M3%umt^MjvNn*43G}= zwv)eb9Ti>1ll`2v#M6DqBXR9j`WqJ;|7OwUwpH{b3Ak3Ex34p9y-%6*3IvlW)i%O# z?Wc%aNr+GH&(HG!g|43OmHH?^*VZ3IM(_{jJ0+%qFhah`F2lWa zKS&RGKMv=NJZ`{Q&JrmY6Xi+_Xfz$eMHI!DYHe7sB_wK|9YYbHjvtQkKHiBzHEN8b z+3Q8bn>R951a!EHWFIM7e$z}>b7V``aOoOd6)XH+3OTTaliYY_LGKy+%S|9!=zK27 zZ)`tBRA*F9rIE`xx z<7X5N^k&js9`r^s_rXrSW)1tE-<1YKgNkT zdY?^hP|=P&QUGq#4y^XSf24zsaYpxWBs14_PDk~Qy2QE#o6K-1z$8+l8lto|5r)gN zQPoa%@_dghY||m@uk%(qZ!MlCOaydEJ%*SbG0HmYUM1v{4J_iyq*yoBgkCkT<$5@> zxjX+#&s>MUwQlewN3`I_LG%6i=;(_1_ZQs{$77u2Zc`2(77Q6@+ja_Ge8Ni@oyI!4 z@a(v|$?iUw&X#_4@FG`xsXETLx{kXm zB$fSO(3^Dg#!`+pk&zqv%~0(d!x8DImeo%<*O<9%J4M3rSwAjdC(39ozozic4)hS1 zW=7x>L*?(MvPY=AN?D@P zm-nHFtacg{5K8(5-JrOpqQuF%Vq8q!5eNX<#1xcEZ_e~$Dy^2m{S#i8)dDWfJ0S4u`d+8GS04R zC|fhnk+rhzXjIu8$QD*Dm84n)FD4muET#zL8a{kJo1jvt@5C_dQaQ${XVp7>{q2!` zs>lRxeNXxpL-(OaQ+fHW-^tD=8or2Kg-qy3>6NjqIgRAgn|N#3R=l{#=Y=~i$Z0;q z4fQ%(&bjt3 zwo?te#5lmb2*AVDFOJ-86bt;+j;4FGaPuDW`7?CeOpW6%S(>Rld$+G1l`p9(XCTSY z_Q9$AgFClm&7lJ9argPxxi*hHI9+)FA8DmO{?nTF)|W5x$-9rcrz)`ByL7$KBB~*0 z$!HqC$PoC8H*k5~ZoX1A+RftpGT(yULrUFBuJg5huT4#|%E$GW763fweSqW8QT*CT z$m>|*Zd3jWGE`Y z`io&bX+d<%1$EN~(}W&s-M~KO&#zGBA0mVxgAQItg8(55DqXd)$>)WK z8*$8g$I2PpNDeyO7-ORTK=^@nF1q8Qxmta5_~mtoZMuZb$*>+vYG9r@;2xf;1MKd% zl=?}(fD;$S_{|OaRYoMix9%Z}A)uVl_v z8sHA#gc+4IyU*Z=6}CvX1~r*xEQ^s>CuQL08F$*w@De|Zk}>@&>#-@Wg%)^2&@)`U zy%G&doywz^4GzsC5CB%ne3@RXd5GD0?SApHyS`c;rz=^YRF&M6iOiP-y)?2p=$^WU zT+Tll>2*vfLjqlJ3U7HBx_|<%#Of6 zYo%6Ka@0{g&-=m^p?!LKEhs>JZp$m9x5p|xCF2?0Q{tc9C3>i45kC;5#e0K(N8aZx zK*z_~1FU84&UoS=3bb~{alB;qn~f)bBJ)7H$zcDx^6*#qn4QH;ZqQu1W)VeO#_`0> zLRQdAhu3GO>83717#ugl88isRn4s}YR;`y2)d_SWGtuOGDbj6O5YU6FVK(~lEObEA zv#S`tnnGKOy=h{EiUqe&vq)chI1AFRZ@LF@5Jj|Eby9tFZoL*Hcz&*IJN6oJ?RTIC zzcq{x_hph^67RhrTY`Syd`DX4Fq|wnv*cc0aE4xY%!kMlsPilY@p5!!^DOpg43xvP zCKLpR?ra)^bmiOJuVT%Dw2J-Li_aEXY3kW@8*dC|KMbtM6b$IsZN`TRhgHkgzzgD~ z8eI&r;J26B^I6|0XdC*n9Mzq%+TR%CV`u5$7J%^!MvHnPQLpA(wYF7Xs09 zBLQ2{8j=xD*!*hz)6<;G2D7iDq6&EI1WsB%mg1g*`k#w;?j|SNy~hH=aDPX%>|&?b zcQ$j$?|9{|51n%Yg?x5r`fg&P@W zyFX{EnWwVbw|RLoeXi$I&z|n=vOT&5La_l67I)*j$RJ5<#n}4<1>ux1!D4Y^)RqNB z+b0=VHU6e;5^J;O>vO7gaWBo8WiW?kfTYt)eD#BP%2w+v&J@Ld_zLyFYFzqat*}We zxEW21saUhV;~37Lg3TLWY^on)wPg|l=-v|I7U%#yxO^Av)V1D~KYfoBGL8RWlqwRl z2{slbGb%}1Ic;jrMsTjF3t?vHq9jl_HJqHeIVklN_~s_kLgCahVfvoJDLC5elj$7M zu5LI#7zTTty2SBR{SLfnPVsz;9J?%)lyP#ov=4^#M4DghaI|Ge zPMQiftom^TLgLgVBEMus?kzn3F?)j9?be%f5%FxnKH5x)6Mzr^#`bYdOB)-8#k6E~ z{O;w|dW`RMyR79@1-A`rNG=fJ3i;`?N_c%Ji}M&*((0BjGf8m|+-v##$v?qrpL5s^ zPq5SZ``%#L=_x*2(}Xe0fCXhBXrg+vz34|Av>e@AEYj(ydm+`j(WTk8{zJo4TS}wh zy5hE#bI~Ee8mh_x1^L^TBEHXWYz8u@Hlc$E*Rskp)322qcjf6lWwnlC1sE` zi*)Ey@taV?k+wH#(2Ff&A^8+O&x)t@t77>Zm#?+#Ad3y(S|qe3y_$1QPu`HJMY>V%i+QjBd zQp;z4ns*I>I*D3b=3568Ns%{vZhPIUY%jy*|NA^5nmmT=WjKGgn_dnD1KL6OPNm1} z*Y9&0C-0?repTRFWleUK7)2a@ETw(7#$p$kZ|y_aeY}}NHh>EmZ=~}%(Gc^ir}O*p zgXRKepZDbiuWVbBR*3zeI8>bG_u6^W_Ql393F6^`$1V7pZVP3Dxc&|Vd(3#(ai=bg zj8+28$zp5Rjw#2p?U2X++k;Qqr!H8)m_=02elF$G8VQ#6eOAjol7T3o(Wn;ITQHf3 zCLd$BGoPCMoOP+WVV^BJ7GOH8RC=~(JT@8WE|AKa*5{ zRLd)*SEGIb+PVMs=W_dIvCWm{oGk6R=&rv&rKPuMsp4PeFL?OQ$}viQR0mg2%5tQ& zNn#VPVc%eHfg&dWut5`=Q#pOw#(fjZ%dFpwUaIPz_U^S8%4pRuCJ%Z+iIq>A92EWX zwB%;u9nZAkY9gQDwDIv)Fqwp3n$|G)k=eq|+)gE^xcsa}%37>uos|mbg95c-56TSQ z)Zrz~_Qw3(mRgwIh#E;JjmPOpoH?w}?u@8@)yug2*x69Rvt%m=I=}Z`zfEP!y3<~czQjpfRPC)w;nV<%atN`89ky;ofRVKH z8%V%Mu+PU3y~bTeCzn8z{j%shuhIhfO!LOdoST{p*Ynaw;`zq}R?*OO(Zk_>Lk_xw z74_`-l7>g(i2T8&xBT~lNFfG*Lc%395>o3rW=TQTqaNl6dXO8 zEWg9X=hz~4JkGcn3ln4}=jGn5aL@V_H(`V}ns~itMc65s%6=A31#v1HYfvgI4UcC) zf-NH9#2Tk3HcXT3fEklxYVq2_rAQRb^tVFQd{7SIz=8PH%afx?_@m*2#atY=NH;bu z&Y+=pP<yvq$U$6@lmRR~o&1h)`NsgAYpCZ;D@ClXUW&9`X2x5W2+(K=l4Z zUW;XCbQKLhgL44^RYFemVER`UHgtl+gqp)PC@!J&^E??rnZIk`9L*wyHwbTZp)^_A z3q9%97YkqM^47{EF7edaPMpPkEdqPhQ)}BwIy#~uQ6*8;#M7fHOOXRHZ)_1|rtx6_ zHtYvvjVVe9(EkXl7I3D12pEpEyt?p-*fZ%2t@=Q};O#t-*Ui(e2?T8k))#jGOzg#U z@gf+w&^ym2rGDkQ4Gvcwfaxp4BsaI@DM68umlM`x*@Iev7oEm;Uv;jS-?Oh<*AjWU zVQ1`Weqt>)rL0vsYMUOEX5PrF7pU;-P-tMAyJ1ESbL-FyXaDJih|iDcrIl~_y9aO_ z`^kuEsRSM`JSzaN3-v2Pk@hwMr*-1d6-Mbhwz+yQ4@7>Mxr*$$DN)VT!1S>tYq_yZ z#no>EV$r}SJqbqM`1r0P?jbU2eDf;OH}hqFKSS~?04Y=|mS0$U30sU$=weR~(&)yP zTBxA2l-oLw?4DB9HIn@77FRvE8e@JTNbYZBq+H`4e^hkfL^r@0^phr?LH|bk{qOp1 z&)BgcmtW&J=`pSunsu8!qITfsHH@-FTmeo`qg&&fI^bSH%wZNJgEV8tuX|`d>Q~6u zPu{Q3vu;RWOJ4$1a!iAVF52*+2T7++%$&gf)WT7cUy^kL##g$G?M|EPfS)0Ln0v%` zJXCn3T~;9oIPYy}-2ORcaPva}xH@n^{iOE6>=8V#+7B+I0Kw!CKn$WIRJj=>p}8&0 zxydqne2OHlF`M#l0f(^H+8DK+ptlgX@ct6Y%8_9rd9X^}S8RMP*D?7FH;*qcdd+Lh zrQ;rSR2!~3imUtclZiec$d@{NzvHK=@Cb|VIghwO<)u^0e=?5z zs)B{=v?<-t0N>(^0fqmJLVF9X@VkbV*hFX~Eqwr`E%F9I&*nZdHY|SO6BQ+84O2V2 z!9~*4k^Kr6cd>X{^?z-XDU%TMDjjiVbu*}zrIFe#p=B4ES=E_ zHHS^$`|@>Z3I~m6iF`T|%Kt5#HOZodyR_S})#CwT2PfgDH@e;K3{IK|UC#6H=w8-? z@4(<}fyaApb-Qg!r5lT=d93>EeqjnEUn@SW*D9-fZQh7auHK2*DLa{wa%dlAj~IP# za3fFNgLsq$b>mA_@@6Y-Y!w_nZZ4NJDAzp_62rA(ji@FimVHSl?QkUZC)I}d`3N#f zEn#9q6Tr7LjTR*3*#6=sKwAv~G66~Xs#X4k5y!Uy0pju?8+LF&b(z2WmLYlde6{#m z0??K^0pmLq3?u&8J{L$*HxR%3c&`HH;}5@J#)aOc9%zc$$81~G*^4p}QC=U#_r}-* z0S&$n-*1peJ8mBtixr+VHgGTI&{5%`7*5%T$!!DRXA9DOlobR0TA2zW*w9Xnw&`N5 zy@R`{Cl-dLY`ZvC+!XRYA0zl7_d;ao+t)u(yp*`6~7 z@{WS327$FFat6cqY%AiH^ZnrJgLG;&{(yiT)x!1qF=ja6gGI8iH7jyc2q~fr6d!gg zwTU=*_1k_x-?Z~lAlPZ1)KG27$M>{zKh-t=&MBG=NG;c&<&~7n46^%``}M+uq`(}p z60GsVZ-G8_vW%7PD^wBU$dxSXBh5bXL9JUVh z1k*wC46xfDw&Uy35EZ7hLwUXKPXKq~W+vF#Dq98T!!ij#;B+Z@{M3GviFpM`)}@8$?RvExsF>mS_(P0abnRTzP|?)YU|1fF}HI> z-e)&D=#qqBDkV2)T5TCoUF(%wb9^CTI=qCIqQ7^Me@GxW2p#7{1eb5V7-bJP**`w< zz9gH!zv$ptzh~HJhlmE|4H@$D=(&bGpk02%jXvG>2!vsTEyb51)#pF>}H!F^s0j(mMo;(5(iQ$Pa#2-hl2WM7o; z8;)ftlk;Sm^zkI;xeGk4%ZUacX`6=JFO%wVT_U(wSVE}=+&{C}yXoQFUZvjoS3?7p zpEu0gcyXag_Xb9q?LQHe`shQcez}B1s`a);Mah6Hb1SJ?`V1@8I{`)_j?geAHx9HSBW^qsfG+d8c!!QBO|H>xYONt-E$Gz zkFzwUJy#bhhiKM9gdm4UYpj}_8Oj3w zxiRWL4oYWdW4YR1evvb{o?bWgIJKCFgx-|9F@8lsf&()Uqf=#5OV*wRif^~{GRw?? zxP+ec)2RzgOqBNk9~=>dsw~ujgcz6MCBp>_xAVn!Ff@Be-Sm34=>#W&ZTML1t4zlB z2L|nwrgp_G3SdX>4g5``HI~+8ztHAv7PTKN|Dr>KOcESpl(s{8sH@A*yO#E_vsND1 zMl8u9xzRC2!)A}163w$|Zug#10RW{J<`UkiBB{n>DlUf?h}@r<)xbAdH>{+c_^QkTkR1MgTU8X7-= zYpPr|@7~15>1+9Z1qUQrNIKIrIqTD`FSM+sTLTsz1sxRYGv~Us0?uh+)K`$c-m8$t>j(Ylc(%(+(Lra}Pr4H9jsmhO~F{Q61BgsC& z?nzZ#P?27ih`)rnBDyqb+w*rpp8ET2g83w8^C3ue{8~>?t=8f0TH0^I4kN>l8cK*AwgvC}jMx^y*SM3#y-%FKGvI^{1>t+)Ynoy<~54ND7>?{g<4vDX*Z+a)EMS;i3f*=|A@^6{z5HS$$p7dv}y6dSzM+aa4+}cka)9jSY+j z0l+L`wIXy+Yj-||e$O1r%Al&fv9 zk<~V^Fq$0NsVg0kO*Bx#lWpO12;zl~ejcZ0ZFQIU8JJ`j*vkC__*K>fBtf=3a(k~0 z4ig)JoA|>U`b!|>h!0rW5ngH0Q1X}Ap2mqQ)Gb=w?$+!k>mj{;;}E+_^l z2Ji{2()~IgY0YoyK*X%XrYM&>^&{vCt#K5O)UNSQW!|yqLU-n$yu1!X#v7$q*LE?O z{sQ@)Vo}6&5=e+sda3<9`x2zs4mDX6y457Rq>`|VJXb;zRASZRoj*y5jpNqOj2$$v zrxQG*+L_wd*x}CSY@^@Ts<#NyUHj;DV?Wu7LMFA#ov#X1B-5$e0e%5vLC@U7^^Kw{$q(l>|2wuC|d+VaZ)UCiYL|i*tzWRF_)mx+1 z$-XY|#-v+!!83jG(j3Gy1W-UhU;B<{^-2K+OgzjB3Hog!O6ynSwhV=FYsgA+-%5z4 z+otHbuM6^#u3iEpfxvkrsm~!aESY|N5g#kLotJzc?J8B zH1mr}TSY3zooBeSrdN7G^<$nt(w6oK2f#;PTAv?$h3m7`d!+<$Xzt`6kC-y5y>AXb zZjIUrlC3g|^x#=+nVJe39Za}l9X?Fcl@cyDst5rKvRjc~cII#EA4~@wT(Iw5lTnz& z7_F|YuQM8b2oj0x=@6&x(bIY4`@9%E7#{?D5quHFuDH@J9vQ-E;hx8lZgx-a`RqU0 zyd5$3A@G+4g%L8_zoX%+VR#y{kLlHsl2azS19`bm4^kC&rav68Ew3RKqfL(Ix2@!C zbct=CINyD;R;Kiu#~>L&D|u`Yep%))=?Aoa2Xn9nv6Wrhhzz=Ojh#Fd_$?6iN)?m% zeuj(D7E(B6;*HMOVM(4Nmu!J0^|Nd_*6^X}?4gl&?(rsF{i@bG`XfyGsa9IpNzER` z9joUTvnLqCZlm59&+CmJ?DZ~GdNynMIq9hL`8TA=hXE-<`Jr_!;>&UEjjMnFH5&j>kCYPOWu$_h@vf+3wwGO^gt#D$ZGYqN4(4_a> z<`p)(zG3;^YkCzX(mDD^=kfJENJ8rQ@qHLODC?Z1BJE#Aa8Y5o=RL(WE%F=QFb6WP z|5MwY1~qX7Z~*5Jq9B4AC4?%|PKBTpN;#DyQ;#BqL()o8P_!r!=}ZWRfi^&pK%kU1 zc1j}^EJhF<<I1&<^^kdTBVeb4b*$1l!wKkv-$?D6)!|Nl3$ z3fWLZEz!MvWqd$X%C2)D-@jBkqypMB%DM9=+yO)s=Oq=zGr1}q}y8X&=(moc1rUEH$h zB9ku-UT|$VLZvK`tc+)ccw75QTqCS)xC=W?DiG0;(w%(~zJ_3Ue-d5ne`&v+FopdjyJe_9D+oxC z$57x~YbV|Hz?j+`kHpX?*TVK%0dsZ?d@KRou(jn+&EA<7O@;0p?-*I{$exhWFifm( z@lR7vfxwV858+`q$zxf{eF`OFZAB@JQXD<_#0&F`()6L9{h>iSsf!gmr4U@%9@N!% zp#n90@3=IHsT&cvw2lWsopnPwI}iDBwe!5bjO3$o9V_`B_fl6N3xbh*O-qs5CNa;ZS6JtX%Oq}^hC9GZK%j6EZsRfAu7 zaO(ZxB(=WNZscKm5w$Pm9&4g=Emp1s%VGIiJl78iZE?4GiQ;uSk1j*4i|b3s0| ziC`dhUcbZ(a?k45KZny3krTnqNSmaV-^+DC3z2s^)#h-j_^Uluabp-ER=l5%ztHg= z@=;I1yiJ&vX1ZQUTJQMn^7FPObR)+t2kGBXT_Z(xzuZP;UCoADECs~_=R=NiIgP>xmsXoG9n2tfAdyvSq8`L|F8 z@Ud~;_Rr&anA=Y^$UaB7hc4EDV`#)}_ph8zF+q_7!G#1VRpwLg4U~|gTFgth>rNU3 z&)MG8BAy$g8r91LA%!{LB+U=_vTBE1b3hSbM%gygeE#T0?w7*ZY?OORLMtu_60MFV zFoOGz{w)GwjtDgRE!kqCQHuRxV0OCPMBxY67~aijC8Rh-Z_Q+qG&p^rFP1~hMF>|^ zJ^JvbG2jV->Hb6q3J9FOl%0mz@`O2$m2a zg~O25T3Vbj2aY6xHF;y}Sum{7`>;kql@0-%WsB@bSOU*U2->(3SM&?nU5)i?#8WZ| z0l-qb$mp4jpNYz;wf{5TP)NV2_X$2{#+&s|Q(FPYc!Ua`&O4KmB4bZo%I~LPr$kwO z<-$nK0!djGlqNH#$1-8JplcSWM-6BvnzH6lQqvR2c(H~2>#&4W`B=O$-kj~5>0ACs z)cqDW{$I-dhMd3MdcXS)gJ;a%avJaK+ikuw(oK3f$9LZfCoY(PE%aFA(Z<7P^Zx~7 CnzOe6 literal 0 HcmV?d00001 diff --git a/assets/img/restful/silver/wpengine.png b/assets/img/restful/silver/wpengine.png new file mode 100644 index 0000000000000000000000000000000000000000..3fca748f6e07e8f4e7d18a8fc3a576304198988a GIT binary patch literal 12947 zcmdtJbzIZm7e78iLQ+u?kQNY$(MXp_2`DH?gD{Zp?vU=-=#ZA~8YPmWyFt2R#DEdM zp`YLT_jvsN`u_dh84KO!dg-F}4g z!nXkR(eA6lU^e+Vv;VEmIu@_5)VqhC?jc3FjNx8@t;M0cBFT|w)Z&MWLlem3vevuX zIg8!S?xDC9m=+1-1TmDM#4>eJC!u<^)(N4HU2iI)^W=&}LxBa*c+H-Z(i1e^mjQrN zNQ-)8`(buIrJ-DWk3^&i>21M2^8#Er|R8|r_&N}oC0Q) z$}!L=E&aa_&Ge4S5Qc>TWeCLJKQEG&TD&fKm}-13JhaT-{zHOgKmNyrD;76+O!*(q zwgyf)z;8L@{}4TIQ-1jmTN?)s^dDmUfVO`Owu%2ARMpqL#Pxae$mO1jkHLb&MN+B} z`pRkW%X?xz5};0VP3Sw`r3~*Ixam7CG+VkO^!pZ!tE=^~$_p-91|Ob^ah&@qfIiJ% z)k2l9B$xju%K!VSqGbKlAf3DMMi(2UE(7YfmTJ&Q*<=S{FSvz@2bqQk?C(rd>e;J# z^txTB)~OhW?lw5Oupv818-kFuORXz{gRHtzOYlB#y{3L5l(e2x`9hu@W{9OhFD^80 zxzCovFm)>FL`v01P4c!+!1Iq=zm^L**_7!$Jw%#wz8Rp@Imy{H2eRH<=8~aZ6mZ_D>w6OMj>MI>YjaNO6)==3+(GQ4fQ^3a5o5a?6y)AXbKv|mJZ?f@+ z6)lBPw%_K?lqrew73+Sy0!M#ffzl(1CBIODq8iBd&- z*DGp@=5kr;$5|MwXF{%)ee%v?pK~5%!FwUqxk*d@*~`AOPVvlEc>0-#caE48jr~dc zyED{*UlfcH;WIjaiG_#mdn!qc(I9vn0kWu^5y0<#nw~7fy%ZmJI@_zeKNWWef8nE zv_3uV?SW3&RI|sx(C${9#f(*7 zASesNkF4se*<5QJp?`$vPL*p0LSioDbs2h=6gVp#J7pq>5!SN9c{4{cpd}^R)5I-i z95HAL)PlM39o<}rhVchr%W5hCC&Q7j+&{U;@|4U|0vhUhxG2)*80wD)<3x(h2?woP+o0)?)y(-(@k03=__Eyl-g zW~K&P`*nrjTUW7o#(kO7^Vr(jgug82gKj?cL1bKa-|qgIN}uRZ+4LCZvyYb*0Qwg_ zwmG((2=t)BZPTtl=-5JTYGU`k?>T0K{m2<{9u-q8Mv@^0qO=&aeW&u-2h;WEp?;F8z&uk1Sg}H7p?bc4@qP=!j z+Wf_L=V^C!aBurqCqgKz6V{V~iOI1n*^xktC`= z@Qn{Rh?|P$gXSHCOPlO~T?v(T<$pYTYEsJ|RW7-j7oQ#F`Nl}+rULm3{9%edRr0s9 zYt6a%P7yT z?n(qphU-_ay%0v<6lT<^1L*%i2dCw?!t3lGb`6~8`H^4@778U+ouU4(vonKCFWmPA zwFveUNw)W3jxDq03vreFOQ7t|zQaLvteTWmELA6-A;V_9gzY(5@8qhbNxn1NLKT~gvFPN?EbxeS5ueAdE+>{~C z&958#a=dNRwcG=t9qu0WRm!dtzfp{VWyO2oFEfIp2Z~{q!#-93BsLM@LJ%UM* z0(>4{=e4Nsp@xMx$7m&8-zX2FJnW{B%kRUgR2Vu4DuL^s_X7FqYqfOpoHWMDfOnJW zm}fZ9Qwr_G#Bx8N+Wi_yBJ%@s_EJJkp3NYqXQ45mciVylp5@a9G&7*uZAt9YqyY`Q z*^mVzA8&HiBk2qWd7a^B7oPc)cO+Ue&1OLjZr%ri*P7++5Q4tYoDKy7uK^3;8$E$X zIc(pQk2+hS42T2EAP)vKh&4B-<-qF^i8~{IH1FYd2yZtHKl5RCQVHl#Yo3T@-E&<$ z!qTrF6s>@FQJY4bQ>x&#|RH|6_bY!8C5x`9Sab>6*L8_w@FLH4vR zJ>I@o%WzDzYKJ37(8WI!MlE<^zukLNKgl3#NyK0=;9zc^5*0dhju)|ISTXx(wwXl&WjbEEfu+pB-)F|7^G?G68<=Z=|;1OA^Ps}PD&$3gSxE#Pbg(; zALy_JuN>Q0E+2;|cdU z-mc7bwUgrrnQkjkZ*!KFXVjf*%|1!`%n4^GZ$2FJ7}hxZClrk98Ea}^*i1*@SM4v7u)FwIh_ zWQn}?U3G#q??dI>kvJsR*fr+mT;|f0Z}<+^^OGyD9@ZSXGzfvKnWl&LfnhYSU2NUX zxmDx%jA7S_9lI;6dc2)mg!X9i#NBrK@sl^WnTu)810>N8aN?W%_J2c*kNXGs4pg`&rGuOtma_D<4EW`GBBIdCxVgnrk zW)o@A#pyZn0mr{x9ZAm3S*^O>U0XfW+qP^CsVj1G;DZzP;qeekU8vzyNY$uzSIj3S_O zKa@pF!W9{LS3~Wd5%`hxFF39S&9(DTD~4^FQsY?R;&(#^#)8Cr|u_+!Ng> zOEOKj^?Gd6>~5J%{RaQhX}bDOQfUTvSvAoZ_}24w3uW(nt40W0gn#h@$;2RX;uy)! zIex$zU&EEb()K{HV#^`lffM$md0ai1!TE85OSm;jo3tuZ#4J9%d};Z)ohl1T_Av0uxn zX$0IA9>mn17Nqi@9ZC|EsvY(guV=vu+0XWN1#=@3*285Qq5Mmk?>&ZFu5;!Kv`w1g z*QJg97r0g*D7__jkc;J$tc^;b`f0yjxjKyG6-adR?B*P8e?xX*WX+VFUgi3QgXPFC92NzGK6 zP98NEMe~p7#clBO9rX6?B~0YLuVc|u_dZ-mZn>^j(QWZmLI;*dW-7$n5eZ&25gxqD zbG-|0$Nq(Jtq3N|8cfIC#08DD-RKNa>@`q*(oNg|vC%r_9ZFKKS#!LaJNctoLuu~* zuqAw1S9=`4>m1+0o#d)NRQ|?&ZgkP*k-p`ZgU_LifEfd_FH1x(88wF#t~S%DBg1C22gX|wmTckHjCke$CwB-Gy@|1iHiG1f9y_XoUHtNrUKN#vUtBPpzs`3dAaMpL`WoUZl8T1%eG!ee zpLp6Q2zD2ewARFy%rx(Ek$2N0zc^0o+HZFZk z$X69dGN*rJ0qs{f^!O&2D!`--c~cIpslg3|E#C^fqbR*=<;FH6*@$aZ5PTxhZ@5JU zeI}N}PP;c}Az+YHtN9J^u0?xWrsVwd;M9IqhYCGDN@uw2uraz?uv`pRyJwF?O%}@g z3tF)*YByUUyMp?-tlEMt(EimN>y&*v3fpw8+O>#~A&g4+ry$t@VK!yO{chn=I2ZRo zO4ir5<+s26Jy0sbb4r%hA3cd}=I9$VP5myoaDeY4T;e#^YZfN&^=91t=qFt8=RAgK zopGk#V4QZ*QI^!km+w~56MXq>LmnP`a_ zHLXsi8B%<|ytD7_%#XQ|qxt5^H;T&-{Assh=V?@4C#Q&GM~J2!#JZk4H!j|#s+4v~)cjLcDAxD;0pN)~CoMzF7dEGIl@m32sYmqh0sI>f@*=~{simJ0xi*2CFAwy$#* z_Wo#GfiaSl^W*tsLRasZ3MZSMa;tl~_MVUjB<(Q2tHi%~f7hx?eb2JQFoQ;|khmwW zm#C$S+lt1l!%jfVnX}b!?p~^p8?quuj>{l(y*92PSNfp@=jzhfkp)cniNb=bA+f#Q z(B~F--q18x(LN)5d1uG70k1&O!>0|;O=g(Ev_U3qpfo~bLxcR>R*~M&c_=xxcu67X z>&`a-C!9l|GSDHJA)YN+@J`f;OSKR$8B4%0qfdbj5x^IGO7-hURtBgkm3uC?S!e#F zT=@>*OL`ibsQ|~2nNyaya@kp)TVBr$V!*7WpvrSYnCvWz$cQrdY}_^Sy)2yhEa+~; zsedD*Q=Vq7*B1wdG=f|Ug>mx zBBt&=DVNtXxX?^eOr2$$<$6bkB6DNU{;DRv7puXC&U=&(1rnC~;B%1}eRs?ob;8j~ z8;X1RX2k_5A=R57FBKVxo#t%BhJoln#JgJ2fb-8pwcn_}s!b^i!Y`#rT-pb58ry8? z%VC+ECp-ksH`+3fmaGM9kBeBwoS6qp%>>xm^D{Nf5F51ynMPHXy#*PC{BkC{j+ zURFOZMXd|GyIZ`zp#!IJB}j|OUdqzz+xrje2-de8__Um184!Z0*4EtIF&f{7Z|mQ7 zOgy8slhTR)eHN)TYlziLlUBDo#O?`P#YMDx%q>GnP;@5xi5-0B0++?}4Xo%--VoFg zJe;wxDSfP^>Emmvv6$^Y<63SnUMi=n<0@ylt*E5-T-UFPa5s{@R-npd+(t~rljhG@ zS9jVYm-fe^w{8`}C!3b7U;X=kb;0%$s|E23@%R$U1 zdbg(0iF3v?LKEF5sVpO<4bO*mjf!B>uPAZi518AvGWd{tWh#DCHC^ZFFB-ubWYsAY z%BtE(mRf4kNg%iUJ6O=Uq-a=_19iHPa`3Up;E1+77Ggqsx&AJr0ZyFN^4A^4|jI3t9G>#|v5c%qG5#_L^3H7~X?C#zkI(QHrIMXK98kWi`Dl3}) za2T* z_2YbED=1tHx?miPgo|-#n$LIqlr8L{94&1^*OMFZWo2xbC{X@%V%YNh6ri)T(sxv! z6fZL7AY;(Uwt_FI{h`nE4-m9%oKotmVE2tOQfjd%$KjgR(SkLU4>;FW0tde0Xtv#4 zN#J$5I* zZN=emgh>@-XViyGt!e5}@DP<8;BAQ$Gc$J-MMOjp5w3>WS_}&3At|u;rL`h5ro6jz zcW7lZKj(!oN)9S=P5wN$Z0tI(^xA0kIXxfVv zD)@fkzfZ&HDE6AkTr2dALv_ZJ`d zhDwB}sxNfk1$lkQ?^`&se2a!9TfZN_Pp5ITpy^yr$D1Y&V z!EDD;w8XxKvNzuIujN*t;bAx?4aL#bZ;v)Kx5?q2X}8B-s-)Kv(d_6*Xa!aq0Pw}6 z6|{$-j(zoF?|3DVifmzOGys?Rq4N5(C6+n3dsCuT{b1gZ70b~t(|5=9C;MJ-Olkmt z=|<>__;P2ns8BL?qa1LVA_W6#JCJE*6gcDE8J~Z>RT)v_Te|yOMP&3P6HB)$qd@3m z0HBQ!9e8j?`HGh7;o%lMo>Zo1IZRb}VBkAY#aX$BD71 zxdk{8yP)ZZl}I3cvFO!67|nW%@HJ=!suqA7JQoJ`1qam-l1Ag-!V{vXBbUb4+ zF9`tjOJ4cxO+6zthSpDQ>Tgi?;ttJdmd4gxd+TjH>vNo|nfYSoFlO_XAAKk1DdL!J zc<46pK13*X<&UZJ3*{8AK&>Kn_ZQ)nPXH}d2{KV?6#2f3OwKlGOJ&l^X0uh%=>i)3 zE|tHxUM>$QZ=(1_9b|+tb+3oJ-H@Fq;3h8_giR~~dg*{1ihU}A@vQ+0@{Ue%h#IA^ z2{<+`)9Qi|&7weo2{rO{FRSfG&s_Dzd_IrchLdjeOunr0c~M2s3!_Cw_F=EQcEK(`OW>5e_Dn{4sva^E^NUxYAAh^9Kj4jjvOw=%wd!WjUG8N4#EBaypegUUSv`_=6NzkbK=Vk?}7Aqjp6mVZA5I`kGgY+iTM{gh|yf%KEBvQ zg@8sAmDbNzRyS|VFf=`YOy7y!Oe(&y8r4o_eXmO)JayirxSl@-90Hlh(llgSh0Ygn z2J1vxC8x(gQuJ1A!x}#^D#Nv+0(vf@Z4FSdPZuSBjwi2wzr*^@hYswIvVi!epb}<-MW5^4H=WjM_!8wJ~#u*GzjGHt zcj&35^5ha9vK#2T7Q6>=D9y)}1o)Z@XvFeya-^bo{A~F3J0i%G+jm|#*4_ON0ox9;;`ziUG4M=q{ggEpbvc}6yEv+fow{00wn?O?5&eL|HR zVzYs}RCkM`*Elrscg-(*;LVCzakzWBx?Q;ErbIoDgFh@t$G#kKlI!jT7HuP$TeatU5eYiBa5D zgJnd-GTKRiY54i`bC(90VGy=-qhkLJE=Air^f?!&DGeH05m%#)r4A4IIsH1Ng18vT zHjI8^q_2o2anY>P@o}6
    2gDyW}JimAu(*8lO$CjPph^%pq$lxwu_(_tn4*;03x zm{~5H9qivf3zhlkTz|#5Eu(D5D4Z63g{=P49_Kw8CfhV|qMg|_5hXr!K?r1A2|e3N zyckTd1d~m-$$8;IyTt|Y0|q-}dXJ6S#S!zBfRY|TDP>1{F<$|B6Oa8~RbcW{72anG z;0G_`@mYKT=Xsg>0_}!wm2jpW;>Tcb8=(``q*=s2RGNOpQOw`vYaT~o#=kR z>0#lRp-rTt?shtw54Z3F2H)s-hKL+3+O+l?+gEPdhsQ=n_3~AujIe zpOCzKcUESAS2fF2o|pf^r}VÏ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 GzyAm7VY$fw literal 0 HcmV?d00001 diff --git a/assets/img/restful/silver/yoast.png b/assets/img/restful/silver/yoast.png new file mode 100644 index 0000000000000000000000000000000000000000..9c8ad0c72080665ff53955caf62cb1a554907ed1 GIT binary patch literal 7694 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 literal 0 HcmV?d00001 diff --git a/restful/index.md b/restful/index.md index 450a2608..ef0cdc6e 100644 --- a/restful/index.md +++ b/restful/index.md @@ -5,12 +5,14 @@ title: A more RESTful WP-CLI *Last updated: January 11, 2016* -WP-CLI's mission is to be, quantitatively, the *fastest* way for developers to manage WordPress. "A more RESTful WP-CLI" is a [Kickstarter-backed](https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli/description) project to unlock the potential of the [WordPress REST API](http://v2.wp-api.org/) at the command line. Ultimately, the project will comprise a series of improvements to WP-CLI (and WP REST API) +WP-CLI's mission is to be, quantitatively, the *fastest* way for developers to manage WordPress. "A more RESTful WP-CLI" is a [Kickstarter-backed](https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli/description) project to unlock the potential of the [WordPress REST API](http://v2.wp-api.org/) at the command line. Ultimately, the project will comprise a series of improvements to WP-CLI (and WP REST API) with this mission in mind. Blog posts: +* [Project Kickoff](/blog/restful-wp-cli-update-1.html) - January 12, 2016 -This project is generously funded by: + +This project is possible thanks to the backing of many generous organizations and individuals. From d84a11ef700789c922b1d5e88b34def4aa6b7227 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 12 Jan 2016 06:45:26 -0800 Subject: [PATCH 447/839] Homepage CTA --- index.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/index.md b/index.md index 520d1939..2550df0e 100644 --- a/index.md +++ b/index.md @@ -4,6 +4,21 @@ title: Command line interface for WordPress --- **WP-CLI** is a set of command-line tools for managing [WordPress](http://wordpress.org) installations. You can update plugins, set up multisite installs and much more, without using a web browser. +

    +

    Requirements

    * UNIX-like environment (OS X, Linux, FreeBSD, Cygwin); limited support in Windows environment From fca9738ab3669fc4c540aa49d08185f45f90e071 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 12 Jan 2016 06:47:09 -0800 Subject: [PATCH 448/839] Add sponsors to project page --- restful/index.md | 56 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 54 insertions(+), 2 deletions(-) diff --git a/restful/index.md b/restful/index.md index ef0cdc6e..3aef31f9 100644 --- a/restful/index.md +++ b/restful/index.md @@ -7,14 +7,66 @@ title: A more RESTful WP-CLI WP-CLI's mission is to be, quantitatively, the *fastest* way for developers to manage WordPress. "A more RESTful WP-CLI" is a [Kickstarter-backed](https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli/description) project to unlock the potential of the [WordPress REST API](http://v2.wp-api.org/) at the command line. Ultimately, the project will comprise a series of improvements to WP-CLI (and WP REST API) with this mission in mind. +*** + Blog posts: * [Project Kickoff](/blog/restful-wp-cli-update-1.html) - January 12, 2016 +*** This project is possible thanks to the backing of many generous organizations and individuals. +### Gold + + + + + + + + + + + + + + +
    Chris Lema is the CTO & Chief Strategist at Crowd Favorite. He’s also a WordPress evangelist, public speaker & advisor to product companies.Human Made is a leading WordPress Development, Hosting and Consultancy Firm with a global team covering Europe, The USA, and Asia/Australia.
    + + + + + + + + + + + + + + +
    Pagely® is the World’s first and most scalable WordPress Hosting platform: We help the biggest brands scale and secure WordPress.Pantheon is a website management platform used to build, launch, and run awesome Drupal & WordPress websites.
    +### Silver -- Work completed to date -- How to get involved + + + + + + + + + + + + + + + + + + +
    From ae0a22ac722e2561de5111d9617cff1dac5d46e8 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 12 Jan 2016 06:57:44 -0800 Subject: [PATCH 449/839] Let's go! --- _posts/2016-01-12-restful-wp-cli-update-1.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/_posts/2016-01-12-restful-wp-cli-update-1.md b/_posts/2016-01-12-restful-wp-cli-update-1.md index 9ed7eb33..1b663c84 100644 --- a/_posts/2016-01-12-restful-wp-cli-update-1.md +++ b/_posts/2016-01-12-restful-wp-cli-update-1.md @@ -92,3 +92,7 @@ This project is possible thanks to the backing of many generous organizations an ### Individual Aaron Jorbin, Aki Björklund, Anu Gupta, Bjørn Ensover Johansen, Brian Krogsgard, Bronson Quick, Chuck Reynolds, Corey McKrill, Daniel Hüsken, Dave McDonald, Dave Wardle, Eli Silverman, Felix Arntz, Howard Jacobson, Japh Thomson, Jason Resnick, Jeremy Felt, Justin Kopepasah, Kailey Lampert, Kevin Cristiano, Max Cutler, Mike Little, Mike Waggoner, Nate Wright, Pippin Williamson, Quasel, Ralf Hortt, Richard Aber, Richard Wiggins, Ryan Duff, Scott Kingsley Clark, Shinichi Nishikawa, Sven Hofmann, Takayuki Miyauchi, rtCamp + +*** + +Let's go! From 6a7f7ecd386251497df08f5ea3d0a269e9568954 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 12 Jan 2016 06:57:54 -0800 Subject: [PATCH 450/839] Clarify project page --- restful/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/restful/index.md b/restful/index.md index 3aef31f9..2ffb26c9 100644 --- a/restful/index.md +++ b/restful/index.md @@ -3,9 +3,9 @@ layout: default title: A more RESTful WP-CLI --- -*Last updated: January 11, 2016* +*Last updated: January 12, 2016* -WP-CLI's mission is to be, quantitatively, the *fastest* way for developers to manage WordPress. "A more RESTful WP-CLI" is a [Kickstarter-backed](https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli/description) project to unlock the potential of the [WordPress REST API](http://v2.wp-api.org/) at the command line. Ultimately, the project will comprise a series of improvements to WP-CLI (and WP REST API) with this mission in mind. +WP-CLI's mission is to be, quantitatively, the *fastest* way for developers to manage WordPress. "A more RESTful WP-CLI" is a [Kickstarter-backed](https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli/description) project to unlock the potential of the [WordPress REST API](http://v2.wp-api.org/) at the command line. It represents 283 hours worth of improvements to WP-CLI and the WP REST API with this mission in mind. *** From 01ded174cc827a6b8bc3ac088c489c0d83d4e11a Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 12 Jan 2016 07:22:10 -0800 Subject: [PATCH 451/839] More specific --- restful/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/restful/index.md b/restful/index.md index 2ffb26c9..d2fdd16d 100644 --- a/restful/index.md +++ b/restful/index.md @@ -5,7 +5,7 @@ title: A more RESTful WP-CLI *Last updated: January 12, 2016* -WP-CLI's mission is to be, quantitatively, the *fastest* way for developers to manage WordPress. "A more RESTful WP-CLI" is a [Kickstarter-backed](https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli/description) project to unlock the potential of the [WordPress REST API](http://v2.wp-api.org/) at the command line. It represents 283 hours worth of improvements to WP-CLI and the WP REST API with this mission in mind. +WP-CLI's mission is to be, quantitatively, the *fastest* way for developers to manage WordPress. "A more RESTful WP-CLI" is a [Kickstarter-backed](https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli/description) project to unlock the potential of the [WordPress REST API](http://v2.wp-api.org/) at the command line. The funding represents 283 hours worth of improvements to WP-CLI and the WP REST API with this mission in mind. *** From 25dbac94332be3a8ffb93d500fca3e941043291d Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 12 Jan 2016 07:48:48 -0800 Subject: [PATCH 452/839] Project page layout --- restful/index.md | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/restful/index.md b/restful/index.md index d2fdd16d..8435827a 100644 --- a/restful/index.md +++ b/restful/index.md @@ -3,18 +3,49 @@ layout: default title: A more RESTful WP-CLI --- -*Last updated: January 12, 2016* +## A more RESTful WP-CLI + +*Landing page last updated: 12 January, 2016* WP-CLI's mission is to be, quantitatively, the *fastest* way for developers to manage WordPress. "A more RESTful WP-CLI" is a [Kickstarter-backed](https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli/description) project to unlock the potential of the [WordPress REST API](http://v2.wp-api.org/) at the command line. The funding represents 283 hours worth of improvements to WP-CLI and the WP REST API with this mission in mind. +Quick links: [Achievements](#achievements) - [Budget](#budget) - [Supporters](#supporters) + *** +## Achievements + Blog posts: -* [Project Kickoff](/blog/restful-wp-cli-update-1.html) - January 12, 2016 +* [A more RESTful WP-CLI - Kickoff](/blog/restful-wp-cli-update-1.html) - 12 January, 2016 + +Releases: + +* [WP REST API Version 2.0 Beta 10 "Chief Wiggum"](https://make.wordpress.org/core/2016/01/11/wp-rest-api-version-2-0-beta-10-with-security-releases/) - 11 January, 2016 +* [WP-CLI Version 0.22.0 released](/blog/version-0.22.0.html) - 7 January, 2016 + +*** + +## Budget + +Here's how the project's 283 total hours have been used to date: + +| Activity | WP-CLI | WP-API | +|---------------|--------------------------|-------------------------| +| Development | 3.93 | 13.29 | +| Support | 0.61 | 3.26 | +| Documentation | 0 | 0 | +| Blogging | 4.19 | 0 | +| Meetings | 0 | 2.16 | +| Admin | 0.77 | 0 | +| **Total** | 9.50 (of 150 budgeted) | 18.71 (of 83 budgeted) | + +Note: time towards fulfilling the Kickstarter rewards is tracked separately. *** +## Supporters + This project is possible thanks to the backing of many generous organizations and individuals. ### Gold From de8f5115c9f42986640e2991404488322ba692d5 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 12 Jan 2016 07:49:46 -0800 Subject: [PATCH 453/839] More verbose --- restful/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/restful/index.md b/restful/index.md index 8435827a..a696d78d 100644 --- a/restful/index.md +++ b/restful/index.md @@ -28,7 +28,7 @@ Releases: ## Budget -Here's how the project's 283 total hours have been used to date: +Here's a breakdown of how the project's 283 total hours have been used to date: | Activity | WP-CLI | WP-API | |---------------|--------------------------|-------------------------| From ac0964bc9e5846ecc634fd950747490728ba6e4f Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 12 Jan 2016 07:50:08 -0800 Subject: [PATCH 454/839] More clear --- restful/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/restful/index.md b/restful/index.md index a696d78d..64e70013 100644 --- a/restful/index.md +++ b/restful/index.md @@ -40,7 +40,7 @@ Here's a breakdown of how the project's 283 total hours have been used to date: | Admin | 0.77 | 0 | | **Total** | 9.50 (of 150 budgeted) | 18.71 (of 83 budgeted) | -Note: time towards fulfilling the Kickstarter rewards is tracked separately. +Note: time spent fulfilling the Kickstarter rewards is tracked separately. *** From 333b8544355ad6429034e416d50c519430107651 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 12 Jan 2016 09:25:14 -0800 Subject: [PATCH 455/839] Add Platinum sponsor --- _posts/2016-01-12-restful-wp-cli-update-1.md | 17 +++++++++++++++++ assets/img/restful/platinum/pressed.png | Bin 0 -> 13771 bytes index.md | 2 +- restful/index.md | 17 +++++++++++++++++ 4 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 assets/img/restful/platinum/pressed.png diff --git a/_posts/2016-01-12-restful-wp-cli-update-1.md b/_posts/2016-01-12-restful-wp-cli-update-1.md index 1b663c84..1bea6bc8 100644 --- a/_posts/2016-01-12-restful-wp-cli-update-1.md +++ b/_posts/2016-01-12-restful-wp-cli-update-1.md @@ -35,6 +35,23 @@ I'm intending start development by working towards making `wp tag list` work int This project is possible thanks to the backing of many generous organizations and individuals. Thank you again for supporting me on this journey. +### Platinum + + + + + + + + + + +
    + +
    + Pressed offers white-label, fully managed, WordPress hosting, built on Amazon’s cloud infrastructure. Launch your own managed WordPress hosting brand and let us handle all the maintenance, updates, customer support and billing while building a new recurring revenue stream for your business. +
    + ### Gold diff --git a/assets/img/restful/platinum/pressed.png b/assets/img/restful/platinum/pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..7272e36a4e037d12f1c682c3637f741beaf4c8c3 GIT binary patch literal 13771 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 literal 0 HcmV?d00001 diff --git a/index.md b/index.md index 2550df0e..4b75993a 100644 --- a/index.md +++ b/index.md @@ -16,7 +16,7 @@ title: Command line interface for WordPress font-weight: bold; margin-top: 10px; ">A more RESTful WP-CLI -

    Unlocking the potential of the WP REST API at the command line. Project backed by Chris Lema, Human Made, Pagely, Pantheon and many others. Learn more →

    +

    Unlocking the potential of the WP REST API at the command line. Project backed by Pressed, Chris Lema, Human Made, Pagely, Pantheon and many others. Learn more →

    Requirements

    diff --git a/restful/index.md b/restful/index.md index 64e70013..dd14a3f7 100644 --- a/restful/index.md +++ b/restful/index.md @@ -48,6 +48,23 @@ Note: time spent fulfilling the Kickstarter rewards is tracked separately. This project is possible thanks to the backing of many generous organizations and individuals. +### Platinum + +
    + + + + + + + + +
    + +
    + Pressed offers white-label, fully managed, WordPress hosting, built on Amazon’s cloud infrastructure. Launch your own managed WordPress hosting brand and let us handle all the maintenance, updates, customer support and billing while building a new recurring revenue stream for your business. +
    + ### Gold From eef2ebadb20d807982ab68eec2ef6e02ab809ae3 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 12 Jan 2016 09:44:19 -0800 Subject: [PATCH 456/839] Add individual contribs to project page --- restful/index.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/restful/index.md b/restful/index.md index dd14a3f7..83626440 100644 --- a/restful/index.md +++ b/restful/index.md @@ -118,3 +118,7 @@ This project is possible thanks to the backing of many generous organizations an
    + +### Individual + +Aaron Jorbin, Aki Björklund, Anu Gupta, Bjørn Ensover Johansen, Brian Krogsgard, Bronson Quick, Chuck Reynolds, Corey McKrill, Daniel Hüsken, Dave McDonald, Dave Wardle, Eli Silverman, Felix Arntz, Howard Jacobson, Japh Thomson, Jason Resnick, Jeremy Felt, Justin Kopepasah, Kailey Lampert, Kevin Cristiano, Max Cutler, Mike Little, Mike Waggoner, Nate Wright, Pippin Williamson, Quasel, Ralf Hortt, Richard Aber, Richard Wiggins, Ryan Duff, Scott Kingsley Clark, Shinichi Nishikawa, Sven Hofmann, Takayuki Miyauchi, rtCamp From bbdb12aa32720ba660ab99079ecda51cfe655f00 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 12 Jan 2016 09:46:08 -0800 Subject: [PATCH 457/839] A title I'm happy with --- _posts/2016-01-12-restful-wp-cli-update-1.md | 2 +- restful/index.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2016-01-12-restful-wp-cli-update-1.md b/_posts/2016-01-12-restful-wp-cli-update-1.md index 1bea6bc8..d83b7b4c 100644 --- a/_posts/2016-01-12-restful-wp-cli-update-1.md +++ b/_posts/2016-01-12-restful-wp-cli-update-1.md @@ -1,7 +1,7 @@ --- layout: post author: danielbachhuber -title: A more RESTful WP-CLI - Kickoff +title: RESTful WP-CLI - The journey begins --- And so the journey begins. As with most journeys, I have a mixture of emotions: excitement, anticipation, trepidation, and eagerness. Although the destination may be far away, I know I can get there as long as I consistently take steps in the right direction. diff --git a/restful/index.md b/restful/index.md index 83626440..342608a4 100644 --- a/restful/index.md +++ b/restful/index.md @@ -17,7 +17,7 @@ Quick links: [Achievements](#achievements) - [Budget](#budget) - [Supporters](#s Blog posts: -* [A more RESTful WP-CLI - Kickoff](/blog/restful-wp-cli-update-1.html) - 12 January, 2016 +* [RESTful WP-CLI - The journey begins](/blog/restful-wp-cli-update-1.html) - 12 January, 2016 Releases: From 91b06afda0a8b56b2f4956a18b17aa7d239f0f03 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 12 Jan 2016 09:46:19 -0800 Subject: [PATCH 458/839] Edit --- _posts/2016-01-12-restful-wp-cli-update-1.md | 2 +- restful/index.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2016-01-12-restful-wp-cli-update-1.md b/_posts/2016-01-12-restful-wp-cli-update-1.md index d83b7b4c..2f2a05bd 100644 --- a/_posts/2016-01-12-restful-wp-cli-update-1.md +++ b/_posts/2016-01-12-restful-wp-cli-update-1.md @@ -33,7 +33,7 @@ I'm intending start development by working towards making `wp tag list` work int *** -This project is possible thanks to the backing of many generous organizations and individuals. Thank you again for supporting me on this journey. +This project is made possible thanks to the backing of many generous organizations and individuals. Thank you again for supporting me on this journey. ### Platinum diff --git a/restful/index.md b/restful/index.md index 342608a4..ca6efb48 100644 --- a/restful/index.md +++ b/restful/index.md @@ -46,7 +46,7 @@ Note: time spent fulfilling the Kickstarter rewards is tracked separately. ## Supporters -This project is possible thanks to the backing of many generous organizations and individuals. +This project is made possible thanks to the backing of many generous organizations and individuals. ### Platinum From 5361b745c56d3bb9c7d3b0d216d15ee4c7d07584 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 12 Jan 2016 09:46:24 -0800 Subject: [PATCH 459/839] Flatten CTA --- index.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/index.md b/index.md index 4b75993a..4703eb4f 100644 --- a/index.md +++ b/index.md @@ -12,11 +12,7 @@ title: Command line interface for WordPress padding-left: 10px; padding-right: 10px; "> -
    A more RESTful WP-CLI
    -

    Unlocking the potential of the WP REST API at the command line. Project backed by Pressed, Chris Lema, Human Made, Pagely, Pantheon and many others. Learn more →

    +

    A more RESTful WP-CLI aims to unlocking the potential of the WP REST API at the command line. Project backed by Pressed, Chris Lema, Human Made, Pagely, Pantheon and many others. Learn more →

    Requirements

    From 6ffc2499ca303187c36d35b0fc2553aea710c481 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 12 Jan 2016 09:54:26 -0800 Subject: [PATCH 460/839] Edits --- _posts/2016-01-12-restful-wp-cli-update-1.md | 12 ++++++------ restful/index.md | 6 +++++- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/_posts/2016-01-12-restful-wp-cli-update-1.md b/_posts/2016-01-12-restful-wp-cli-update-1.md index 2f2a05bd..16dd04ac 100644 --- a/_posts/2016-01-12-restful-wp-cli-update-1.md +++ b/_posts/2016-01-12-restful-wp-cli-update-1.md @@ -6,7 +6,7 @@ title: RESTful WP-CLI - The journey begins And so the journey begins. As with most journeys, I have a mixture of emotions: excitement, anticipation, trepidation, and eagerness. Although the destination may be far away, I know I can get there as long as I consistently take steps in the right direction. -Today marks the formal kickoff of my Kickstarter project, "[A more RESTFul WP-CLI](https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli/description)". To celebrate the occasion, I've launched a [project page](/restful/) to document the project's goals and my progress along the journey. I'll keep it updated as I write blog posts, hopefully every couple of weeks. Consider these blog posts both a development log and an invitation to participate — I look forward to your comments, issues and pull requests. +Today marks the formal kickoff of my Kickstarter project, "[A more RESTFul WP-CLI](https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli/description)". To celebrate the occasion, I've [launched a project page](/restful/) to capture high-level goals and document my progress along the journey. I'll keep it updated as I write blog posts every couple or few weeks. Consider these blog posts both a development log and an invitation to participate — I look forward to your comments, issues and pull requests. *** @@ -19,17 +19,17 @@ These are big questions, and I consider myself fortunate to be able to explore t * Building the WP REST API has been, and will continue to be, an exercise of modeling how WordPress works to a consistent (RESTful) interface. Furthermore, this model is declared in a common language for clients to interpret. * At some point in the future, WP-CLI will be able to ditch a substantial amount of its internals when it can use the WP REST API as its interface to WordPress. WP-CLI can continue to serve as the fastest way for developers to manage WordPress, offering higher-level meta operations like `generate`, `(push|pull)`, and `clone` in addition to being a seamless command line interface to WordPress internals. * As WordPress developers write new endpoints for the WP REST API, it will be quite powerful to have those endpoints instantly accessible through the command line, and as accessible as core resources. For instance, where WP-CLI currently has the `wp post *` commands, WP-CLI requires Easy Digital Downloads to produce its own `wp edd *` commands. -* It appears to be supremely possible to deliver this project as a series of improvements to WP-CLI, shipped over one or more versions. Given I like to release new versions every quarter, it will likely be at lease a couple versions. +* It appears to be supremely possible to deliver this project as a series of improvements to WP-CLI, shipped over one or more versions in the next couple of quarters. Lots of threads to pull on. *** -I'm intending start development by working towards making `wp tag list` work interchangably with local and remote sites, which already raises a few issues: +I'm starting development by working towards making `wp tag list` work interchangably with local and remote sites. Doing so already raises a few issues: -* It needs to be easier to register WP-CLI commands on the fly. In my prototype command, I [had to](https://github.com/danielbachhuber/wp-rest-cli/commit/f5ec393632fe841aaaecfc664c419ed1bdbcc566#diff-6bd9ca08588aaa4472208db14aae6750R112) `eval()` a dynamically generated class. It would be much nicer to be able to [register an arbitrary function, closure, or method](https://github.com/wp-cli/wp-cli/issues/2204) as a WP-CLI command. -* When we register REST endpoints to WP-CLI on the fly, there's the potential for them to conflict with existing commands. Furthermore, the endpoints will vary from site to site. Ideally, the commands you see should represent the commands available on the target site. I think [site aliases](https://github.com/wp-cli/wp-cli/issues/2039) may offer us a backwards-compatible implementation: specifying an alias like `wp @prod` would only expose commands available on production. -* Remote calls will need authentication. Ideally, it should be possible to authenticate once through a supported protocol (basic, oAuth1, API key, etc.), We'll need to store these authentication details somewhere on the file server, which is potential rationale for a [config management command](https://github.com/wp-cli/wp-cli/issues/515). If you aren't blocking web requests to `wp-cli.yml` and `wp-cli.local.yml` already, you should be. +* WP-CLI needs to be easier to register commands on the fly. In my prototype, I had to `eval()` a [dynamically generated class](https://github.com/danielbachhuber/wp-rest-cli/commit/f5ec393632fe841aaaecfc664c419ed1bdbcc566#diff-6bd9ca08588aaa4472208db14aae6750R112). It would be much nicer to be able to [register an arbitrary function, closure, or method](https://github.com/wp-cli/wp-cli/issues/2204) as a WP-CLI command. +* When we register REST endpoints to WP-CLI on the fly, there's the potential for them to conflict with existing commands. Furthermore, the endpoints will vary from site to site. Ideally, the commands you see should represent the commands available on the target site. I think [site aliases](https://github.com/wp-cli/wp-cli/issues/2039) may offer us a backwards-compatible implementation; for instance, specifying an alias like `wp @prod` would only expose commands available on production. +* Remote calls will need authentication. Ideally, it should be possible to authenticate once through a supported protocol (basic, oAuth1, API key, etc.), and store these authentication details somewhere on the file server. This is potential rationale for a [config management command](https://github.com/wp-cli/wp-cli/issues/515). If you aren't blocking web requests to `wp-cli.yml` and `wp-cli.local.yml` already, you should be. *** diff --git a/restful/index.md b/restful/index.md index ca6efb48..082fcdfa 100644 --- a/restful/index.md +++ b/restful/index.md @@ -7,7 +7,11 @@ title: A more RESTful WP-CLI *Landing page last updated: 12 January, 2016* -WP-CLI's mission is to be, quantitatively, the *fastest* way for developers to manage WordPress. "A more RESTful WP-CLI" is a [Kickstarter-backed](https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli/description) project to unlock the potential of the [WordPress REST API](http://v2.wp-api.org/) at the command line. The funding represents 283 hours worth of improvements to WP-CLI and the WP REST API with this mission in mind. +WP-CLI's mission is to be, quantitatively, the *fastest* interface for developers to manage WordPress. "A more RESTful WP-CLI" is a [Kickstarter-backed](https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli/description) project to unlock the potential of the [WordPress REST API](http://v2.wp-api.org/) at the command line. This funding supports 283 hours of [Daniel Bachhuber](http://danielbachhuber.com/)'s time towards making improvements to WP-CLI and the WP REST API. + +Wait a second, what does it mean to "unlock the potential of the WP REST API at the command line"? Pragmatically, it means any endpoints registered in plugins or themes will be *automagically* accessible as WP-CLI commands. For instance, if you were to register an endpoint for `GET /my-plugin/v1/product/`, this endpoint will also be accessible on the command line as (more or less) `wp @prod product get `. + +However, this project is also a multi-faceted exploration of what it means for WP-CLI to be the fastest way to manage WordPress, in a world backed by the WP REST API. Quick links: [Achievements](#achievements) - [Budget](#budget) - [Supporters](#supporters) From 09ecd343b10f6fc69a0fe3f5ef3eb5ce498821e5 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 12 Jan 2016 11:13:31 -0800 Subject: [PATCH 461/839] Add @tommcfarlin to individual credits --- _posts/2016-01-12-restful-wp-cli-update-1.md | 2 +- restful/index.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2016-01-12-restful-wp-cli-update-1.md b/_posts/2016-01-12-restful-wp-cli-update-1.md index 16dd04ac..7096674b 100644 --- a/_posts/2016-01-12-restful-wp-cli-update-1.md +++ b/_posts/2016-01-12-restful-wp-cli-update-1.md @@ -108,7 +108,7 @@ This project is made possible thanks to the backing of many generous organizatio ### Individual -Aaron Jorbin, Aki Björklund, Anu Gupta, Bjørn Ensover Johansen, Brian Krogsgard, Bronson Quick, Chuck Reynolds, Corey McKrill, Daniel Hüsken, Dave McDonald, Dave Wardle, Eli Silverman, Felix Arntz, Howard Jacobson, Japh Thomson, Jason Resnick, Jeremy Felt, Justin Kopepasah, Kailey Lampert, Kevin Cristiano, Max Cutler, Mike Little, Mike Waggoner, Nate Wright, Pippin Williamson, Quasel, Ralf Hortt, Richard Aber, Richard Wiggins, Ryan Duff, Scott Kingsley Clark, Shinichi Nishikawa, Sven Hofmann, Takayuki Miyauchi, rtCamp +Aaron Jorbin, Aki Björklund, Anu Gupta, Bjørn Ensover Johansen, Brian Krogsgard, Bronson Quick, Chuck Reynolds, Corey McKrill, Daniel Hüsken, Dave McDonald, Dave Wardle, Eli Silverman, Felix Arntz, Howard Jacobson, Japh Thomson, Jason Resnick, Jeremy Felt, Justin Kopepasah, Kailey Lampert, Kevin Cristiano, Max Cutler, Mike Little, Mike Waggoner, Nate Wright, Pippin Williamson, Quasel, Ralf Hortt, Richard Aber, Richard Wiggins, Ryan Duff, Scott Kingsley Clark, Shinichi Nishikawa, Sven Hofmann, Takayuki Miyauchi, Tom McFarlin, rtCamp *** diff --git a/restful/index.md b/restful/index.md index 082fcdfa..64fb0318 100644 --- a/restful/index.md +++ b/restful/index.md @@ -125,4 +125,4 @@ This project is made possible thanks to the backing of many generous organizatio ### Individual -Aaron Jorbin, Aki Björklund, Anu Gupta, Bjørn Ensover Johansen, Brian Krogsgard, Bronson Quick, Chuck Reynolds, Corey McKrill, Daniel Hüsken, Dave McDonald, Dave Wardle, Eli Silverman, Felix Arntz, Howard Jacobson, Japh Thomson, Jason Resnick, Jeremy Felt, Justin Kopepasah, Kailey Lampert, Kevin Cristiano, Max Cutler, Mike Little, Mike Waggoner, Nate Wright, Pippin Williamson, Quasel, Ralf Hortt, Richard Aber, Richard Wiggins, Ryan Duff, Scott Kingsley Clark, Shinichi Nishikawa, Sven Hofmann, Takayuki Miyauchi, rtCamp +Aaron Jorbin, Aki Björklund, Anu Gupta, Bjørn Ensover Johansen, Brian Krogsgard, Bronson Quick, Chuck Reynolds, Corey McKrill, Daniel Hüsken, Dave McDonald, Dave Wardle, Eli Silverman, Felix Arntz, Howard Jacobson, Japh Thomson, Jason Resnick, Jeremy Felt, Justin Kopepasah, Kailey Lampert, Kevin Cristiano, Max Cutler, Mike Little, Mike Waggoner, Nate Wright, Pippin Williamson, Quasel, Ralf Hortt, Richard Aber, Richard Wiggins, Ryan Duff, Scott Kingsley Clark, Shinichi Nishikawa, Sven Hofmann, Takayuki Miyauchi, Tom McFarlin, rtCamp From ce87155b71f7223722dd3cdbf155f1e1d70a31d3 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 14 Jan 2016 08:22:21 -0800 Subject: [PATCH 462/839] Fix table in FF --- _posts/2016-01-12-restful-wp-cli-update-1.md | 8 ++++---- restful/index.md | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/_posts/2016-01-12-restful-wp-cli-update-1.md b/_posts/2016-01-12-restful-wp-cli-update-1.md index 7096674b..84077027 100644 --- a/_posts/2016-01-12-restful-wp-cli-update-1.md +++ b/_posts/2016-01-12-restful-wp-cli-update-1.md @@ -37,7 +37,7 @@ This project is made possible thanks to the backing of many generous organizatio ### Platinum - +
    - + @@ -45,7 +53,7 @@ display_global_parameters: true - +
    @@ -54,7 +54,7 @@ This project is made possible thanks to the backing of many generous organizatio ### Gold - +
    @@ -69,7 +69,7 @@ This project is made possible thanks to the backing of many generous organizatio
    - +
    @@ -86,7 +86,7 @@ This project is made possible thanks to the backing of many generous organizatio ### Silver -
    +
    diff --git a/restful/index.md b/restful/index.md index 64fb0318..1e59a4a4 100644 --- a/restful/index.md +++ b/restful/index.md @@ -54,7 +54,7 @@ This project is made possible thanks to the backing of many generous organizatio ### Platinum -
    +
    + + + + diff --git a/_includes/global-parameters.html b/_includes/global-parameters.html index 3c5df66c..072cdb7a 100644 --- a/_includes/global-parameters.html +++ b/_includes/global-parameters.html @@ -9,9 +9,11 @@

    Global Parameters

    --user=<id|login|email> Set the WordPress user.

    --skip-plugins[=<plugin>] - Skip loading all or some plugins.

    + Skip loading all or some plugins. Note: mu-plugins are still loaded.

    --skip-themes[=<theme>] Skip loading all or some themes.

    +

    --skip-packages + Skip loading all installed packages.

    --require=<path> Load PHP file before running the command (may be used more than once).

    --[no-]color diff --git a/_includes/param-list.html b/_includes/param-list.html index 988c34ae..a2209572 100644 --- a/_includes/param-list.html +++ b/_includes/param-list.html @@ -39,7 +39,7 @@

    @@ -63,6 +63,19 @@ --skip-themes[=<theme>] + + + + + - + diff --git a/commands/core/verify-checksums/index.md b/commands/core/verify-checksums/index.md index 48854268..e295f590 100644 --- a/commands/core/verify-checksums/index.md +++ b/commands/core/verify-checksums/index.md @@ -10,7 +10,9 @@ display_global_parameters: true
    -Specify version to verify checksums without loading WordPress. +For security, avoids loading WordPress when verifying checksums. + +### OPTIONS [\--version=<version>] : Verify checksums against a specific version of WordPress. diff --git a/commands/eval/index.md b/commands/eval/index.md index 7ee5ea48..37157bd1 100644 --- a/commands/eval/index.md +++ b/commands/eval/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
    +### OPTIONS + <php-code> : The code to execute, as a string. diff --git a/commands/menu/create/index.md b/commands/menu/create/index.md index 692ea5cf..8ebbba02 100644 --- a/commands/menu/create/index.md +++ b/commands/menu/create/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
    +### OPTIONS + <menu-name> : A descriptive name for the menu diff --git a/commands/menu/delete/index.md b/commands/menu/delete/index.md index d49699d8..4698b57c 100644 --- a/commands/menu/delete/index.md +++ b/commands/menu/delete/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
    +### OPTIONS + <menu>... : The name, slug, or term ID for the menu(s) diff --git a/commands/menu/item/add-custom/index.md b/commands/menu/item/add-custom/index.md index 91e0d2a2..768597f1 100644 --- a/commands/menu/item/add-custom/index.md +++ b/commands/menu/item/add-custom/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
    +### OPTIONS + <menu> : The name, slug, or term ID for the menu diff --git a/commands/menu/item/add-post/index.md b/commands/menu/item/add-post/index.md index dc509b98..8fd30ce7 100644 --- a/commands/menu/item/add-post/index.md +++ b/commands/menu/item/add-post/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
    +### OPTIONS + <menu> : The name, slug, or term ID for the menu diff --git a/commands/menu/item/add-term/index.md b/commands/menu/item/add-term/index.md index 69f14774..3d8efd95 100644 --- a/commands/menu/item/add-term/index.md +++ b/commands/menu/item/add-term/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
    +### OPTIONS + <menu> : The name, slug, or term ID for the menu diff --git a/commands/menu/item/delete/index.md b/commands/menu/item/delete/index.md index f7d430c7..33af9976 100644 --- a/commands/menu/item/delete/index.md +++ b/commands/menu/item/delete/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
    +### OPTIONS + <db-id>... : Database ID for the menu item(s). diff --git a/commands/menu/item/update/index.md b/commands/menu/item/update/index.md index b28f41e4..b47a02c7 100644 --- a/commands/menu/item/update/index.md +++ b/commands/menu/item/update/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
    +### OPTIONS + <db-id> : Database ID for the menu item. diff --git a/commands/menu/location/assign/index.md b/commands/menu/location/assign/index.md index 6dc30508..d9d76b7d 100644 --- a/commands/menu/location/assign/index.md +++ b/commands/menu/location/assign/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
    +### OPTIONS + <menu> : The name, slug, or term ID for the menu diff --git a/commands/menu/location/list/index.md b/commands/menu/location/list/index.md index 49636f90..94d7fec4 100644 --- a/commands/menu/location/list/index.md +++ b/commands/menu/location/list/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
    +### OPTIONS + [\--format=<format>] : Accepted values: table, csv, json, count, ids, yaml. Default: table diff --git a/commands/menu/location/remove/index.md b/commands/menu/location/remove/index.md index a080d30c..e8ab01de 100644 --- a/commands/menu/location/remove/index.md +++ b/commands/menu/location/remove/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
    +### OPTIONS + <menu> : The name, slug, or term ID for the menu From 3a96f89757abb681399cf023432f1701b8f181c1 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 29 Apr 2016 13:52:53 -0700 Subject: [PATCH 634/839] Use `rouge` highlighter to prevent Github warnings --- _config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_config.yml b/_config.yml index 1b7f8547..e6dbf531 100644 --- a/_config.yml +++ b/_config.yml @@ -1,6 +1,6 @@ safe: true lsi: false -highlighter: pygments +highlighter: rouge markdown: kramdown url: http://wp-cli.org permalink: /blog/:title.html From 26452323d74562944d08510c792fd037378d0981 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 2 May 2016 16:13:12 -0700 Subject: [PATCH 635/839] Document how to import an attachment and assign multiple thumbnails --- commands/media/import/index.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/commands/media/import/index.md b/commands/media/import/index.md index a23d3dab..3cf1e46a 100644 --- a/commands/media/import/index.md +++ b/commands/media/import/index.md @@ -46,6 +46,12 @@ display_global_parameters: true # Import a local image and set it to be the post thumbnail for a post wp media import ~/Downloads/image.png --post_id=123 --title="A downloaded picture" --featured_image + # Import a local image, but set it as the featured image for all posts + # 1. Import the image and get its attachment ID + * 2. Assign the attachment ID as the featured image for all posts + ATTACHMENT_ID="$(wp media import ~/Downloads/image.png --porcelain)" + wp post list --post_type=post --format=ids | xargs -0 -d ' ' -I % wp post meta add % _thumbnail_id $ATTACHMENT_ID + # Import an image from the web wp media import http://s.wordpress.org/style/images/wp-header-logo.png --title='The WordPress logo' --alt="Semantic personal publishing" From 6f052ccfec8ef06d0bfb41ed438e00c9b5728301 Mon Sep 17 00:00:00 2001 From: Pete Nelson Date: Tue, 3 May 2016 20:56:47 -0500 Subject: [PATCH 636/839] Added rest-api-toolbox --- docs/tools/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/tools/index.md b/docs/tools/index.md index aeaad313..8baeb46a 100644 --- a/docs/tools/index.md +++ b/docs/tools/index.md @@ -56,6 +56,7 @@ The following table is an alphabetical list of known commands defined in WordPre | p2p | [Posts 2 Posts](http://wordpress.org/plugins/posts-to-posts/) | pdf-light-viewer | [PDF Light Viewer](https://github.com/antongorodezkiy/pdf-light-viewer) | post-gen | [Post Gen](https://github.com/trepmal/post-gen/) +| rest-api-toolbox | [REST API Toolbox](https://github.com/petenelson/wp-rest-api-toolbox) | revisions | [wp-revisions-cli](https://github.com/trepmal/wp-revisions-cli/) | revision-strike | [Revision Strike](https://wordpress.org/plugins/revision-strike/) | safe-redirect-manager | [Safe Redirect Manager](https://github.com/tlovett1/Safe-Redirect-Manager) From 99d43e4e3385a0078c3385a5ecee542ba6e1eed6 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 4 May 2016 03:42:27 -0700 Subject: [PATCH 637/839] Use secure stylesheeet --- _includes/header.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/header.html b/_includes/header.html index 38b216d6..edf8dcc3 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -4,7 +4,7 @@ - + From d7b25882d6c309ac8904e23549ee799a1c9b2678 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 4 May 2016 04:10:21 -0700 Subject: [PATCH 638/839] Mention that we now have a Cloudflare account --- docs/governance/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/governance/index.md b/docs/governance/index.md index 7c70048b..90b4b8f4 100644 --- a/docs/governance/index.md +++ b/docs/governance/index.md @@ -12,6 +12,7 @@ description: Summary of those behind WP-CLI. * [wp-cli](https://github.com/wp-cli) github organization * [wpcli](https://twitter.com/wpcli) twitter account * [wp-cli-commits](https://groups.google.com/forum/?fromgroups#!forum/wp-cli-commits) mailing list +* [Cloudflare](https://www.cloudflare.com/) CDN account ### Who controls the wp-cli.org site? From 04693fdaea91d11d77bf4489ef594081d7e9173d Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 4 May 2016 09:02:47 -0700 Subject: [PATCH 639/839] Mention multisite rewrite rules will need to be added manually --- commands/core/multisite-convert/index.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/commands/core/multisite-convert/index.md b/commands/core/multisite-convert/index.md index 5c9f3bd5..851cc1d3 100644 --- a/commands/core/multisite-convert/index.md +++ b/commands/core/multisite-convert/index.md @@ -10,6 +10,9 @@ display_global_parameters: true
    +For those using WordPress with Apache, remember to update the `.htaccess` +file with the appropriate multisite rewrite rules. + ### OPTIONS [\--title=<network-title>] From 3b20cf82587b0a33a7d57ad766bdbd7b5f63e5a8 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 4 May 2016 12:38:22 -0700 Subject: [PATCH 640/839] Fix syntax --- docs/hosting-companies/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/hosting-companies/index.md b/docs/hosting-companies/index.md index e05278f2..11666656 100644 --- a/docs/hosting-companies/index.md +++ b/docs/hosting-companies/index.md @@ -15,10 +15,10 @@ In alphabetical order: * [Byte](https://www.byte.nl) * [Cloudways](http://cloudways.com) * [Dreamhost](http://dreamhost.com) -* [FatCow] (http://www.fatcow.com/wordpress-hosting/) +* [FatCow](http://www.fatcow.com/wordpress-hosting/) * [GoDaddy](https://www.godaddy.com/help/accessing-wp-cli-on-your-managed-wordpress-account-12066) -* [HostGator] (http://www.hostgator.com) -* [iPage] (http://www.ipage.com/ipage/index.html) +* [HostGator](http://www.hostgator.com) +* [iPage](http://www.ipage.com/ipage/index.html) * [LiquidWeb](https://liquidweb.com/wordpress) * [Kinsta](https://kinsta.com) * [Media Temple](http://mediatemple.net) From d8ebb8c27ef0bfc63e0008b8677c94cc6f34a2d8 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Sat, 7 May 2016 08:07:44 -0700 Subject: [PATCH 641/839] Fix link formatting --- restful/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/restful/index.md b/restful/index.md index 36b14f08..1d67b605 100644 --- a/restful/index.md +++ b/restful/index.md @@ -20,6 +20,7 @@ Quick links: [Achievements](#achievements) - [Budget](#budget) - [Supporters](#s ## Achievements Blog posts: + * [RESTful WP-CLI - What I've been hacking on](/blog/restful-wp-cli-update-3.html) - April 14, 2016 * [RESTful WP-CLI - No rest for the weary](/blog/restful-wp-cli-update-2.html) - February 4, 2016 * [RESTful WP-CLI - The journey begins](/blog/restful-wp-cli-update-1.html) - January 12, 2016 From bb2876f155b448ea7ca1f1c46f8d61f92720d5b8 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 9 May 2016 15:58:15 -0700 Subject: [PATCH 642/839] Link to common issues and their fixes from bug reporting doc --- docs/bug-reports/index.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/bug-reports/index.md b/docs/bug-reports/index.md index 3ea2f680..c283118f 100644 --- a/docs/bug-reports/index.md +++ b/docs/bug-reports/index.md @@ -7,7 +7,9 @@ description: Help ensure your issue is resolved in a timely manner. Think you've found a bug? We'd love for you to help us get it fixed. -Before you create a new issue, you should [search existing issues](https://github.com/wp-cli/wp-cli/issues?utf8=%E2%9C%93&q=is%3Aissue+bug) to see if there's an existing resolution to it — or if it's already been fixed in a newer version of WP-CLI. Once you've searched and discovered there isn't an open or fixed issue for your bug, please [create a new Github issue](https://github.com/wp-cli/wp-cli/issues/new) with: +Before you create a new issue, you should [search existing issues](https://github.com/wp-cli/wp-cli/issues?utf8=%E2%9C%93&q=is%3Aissue+bug) to see if there's an existing resolution to it, or if it's already been fixed in a newer version of WP-CLI. You should also check our documentation on [common issues and their fixes](http://wp-cli.org/docs/common-issues/). + +Once you've done a bit of searching and discovered there isn't an open or fixed issue for your bug, please [create a new Github issue](https://github.com/wp-cli/wp-cli/issues/new) with: * What you were doing. * What you expected to see. From c364e7b85c4e0db54cf815ea8a31b080494793db Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 10 May 2016 04:51:48 -0700 Subject: [PATCH 643/839] Remove docs for two deprecated commands --- commands/post/url/index.md | 54 -------------------------------------- commands/site/url/index.md | 52 ------------------------------------ 2 files changed, 106 deletions(-) delete mode 100644 commands/post/url/index.md delete mode 100644 commands/site/url/index.md diff --git a/commands/post/url/index.md b/commands/post/url/index.md deleted file mode 100644 index 0e263488..00000000 --- a/commands/post/url/index.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -layout: default -title: 'wp post url' ---- - -`wp post url` - Get post url - -
    - -### OPTIONS - -<id>... -: One or more IDs of posts get the URL. - -### EXAMPLES - - wp post url 123 - - wp post url 123 324 - -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins - - \--skip-themes[=<theme>] - Skip loading all or some themes - - \--require=<path> - Load PHP file before running the command (may be used more than once) - - \--[no-]color - Whether to colorize the output - - \--debug - Show all PHP errors - - \--prompt - Prompt the user to enter values for all command arguments - - \--quiet - Suppress informational messages - - - diff --git a/commands/site/url/index.md b/commands/site/url/index.md deleted file mode 100644 index e2c82a44..00000000 --- a/commands/site/url/index.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -layout: default -title: 'wp site url' ---- - -`wp site url` - Get site url - -
    - -### OPTIONS - -<id>... -: One or more IDs of sites to get the URL. - -### EXAMPLES - - wp site url 123 - -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins - - \--skip-themes[=<theme>] - Skip loading all or some themes - - \--require=<path> - Load PHP file before running the command (may be used more than once) - - \--[no-]color - Whether to colorize the output - - \--debug - Show all PHP errors - - \--prompt - Prompt the user to enter values for all command arguments - - \--quiet - Suppress informational messages - - - From 74744ba2252bf16eeabb059185894a9f716a703b Mon Sep 17 00:00:00 2001 From: Nate Wright Date: Fri, 13 May 2016 17:18:49 +0100 Subject: [PATCH 644/839] wp-cli/wp-cli#2746 Add a policy on abandoned pull requests --- docs/pull-requests/index.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/pull-requests/index.md b/docs/pull-requests/index.md index 2741e756..b255f00d 100644 --- a/docs/pull-requests/index.md +++ b/docs/pull-requests/index.md @@ -84,6 +84,13 @@ To run the unit tests, just execute: ./vendor/bin/phpunit + +## Abandoned pull requests + +We'll work with you to make sure your pull request is ready for merge. But if changes are needed and we haven't heard from you in **two weeks**, we'll consider the pull request abandoned. Someone else may pick it up and make the changes required. Or it may be closed. + +If you need to step away for any reason, make a comment on the pull request or the related issue so we can pick things up or put things on hold when needed. + ## Finally... Thanks! Hacking on WP-CLI should be fun. If you find any of this hard to figure out, let us know so we can improve our process or documentation! From 0ee9c831e1ced307af837eed070cbf403333788a Mon Sep 17 00:00:00 2001 From: Monarobase Date: Mon, 23 May 2016 19:04:56 +0200 Subject: [PATCH 645/839] Add Monarobase webhost We now preinstall wp-cli on all of our servers --- docs/hosting-companies/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/hosting-companies/index.md b/docs/hosting-companies/index.md index 11666656..cdca07ee 100644 --- a/docs/hosting-companies/index.md +++ b/docs/hosting-companies/index.md @@ -22,6 +22,7 @@ In alphabetical order: * [LiquidWeb](https://liquidweb.com/wordpress) * [Kinsta](https://kinsta.com) * [Media Temple](http://mediatemple.net) +* [Monarobase](https://monarobase.net/wordpress) * [NearlyFreeSpeech.NET](https://www.nearlyfreespeech.net/) * [Pantheon](https://pantheon.io) * [Site5](http://www.site5.com/) From deaee41cbcee9a06e9bb38e19af4c4a27472299f Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 24 May 2016 04:02:51 -0700 Subject: [PATCH 646/839] Mention how package-index is generated --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5c7b9f77..958024c3 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -These files comprise wp-cli.org. However, all command documentation is dynamically generated from the PHPDoc for each command. If you'd like to suggest command documentation changes, please submit a pull request against the [primary repo](https://github.com/wp-cli/wp-cli). Command documentation changes are deployed to the website with each release. +These files comprise wp-cli.org*. However, all command documentation is dynamically generated from the PHPDoc for each command. If you'd like to suggest command documentation changes, please submit a pull request against the [primary repo](https://github.com/wp-cli/wp-cli). Command documentation changes are deployed to the website with each release. ### Setup @@ -17,3 +17,5 @@ vendor/bin/phake 1. [Install Bundler gem](http://jekyllrb.com/docs/installation/): `gem install bundler`. 2. [Install dependencies](http://jekyllrb.com/docs/installation/): `bundle install` 3. Run `jekyll serve --watch` + +*wp-cli.org/package-index is generated by the [package index repo](https://github.com/wp-cli/package-index), and won't be present in your local instance. From 42eda8d376027e2658e5a445a97cff93cb67d865 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 24 May 2016 04:08:10 -0700 Subject: [PATCH 647/839] Fix Jekyll error about invalid template --- atom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/atom.xml b/atom.xml index c29429ab..f1ee8f6e 100644 --- a/atom.xml +++ b/atom.xml @@ -1,5 +1,5 @@ --- -layout: nil +layout: --- From 668dcb8b31f0b2deadc701eb36f1c470e9513c55 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 24 May 2016 04:12:58 -0700 Subject: [PATCH 648/839] Quote descriptions to prevent Jekyll build notices --- _templates/internal-api.mustache | 2 +- docs/internal-api/wp-cli-add-command/index.md | 2 +- docs/internal-api/wp-cli-add-hook/index.md | 2 +- docs/internal-api/wp-cli-colorize/index.md | 2 +- docs/internal-api/wp-cli-confirm/index.md | 2 +- docs/internal-api/wp-cli-debug/index.md | 2 +- docs/internal-api/wp-cli-do-hook/index.md | 2 +- docs/internal-api/wp-cli-error-multi-line/index.md | 2 +- docs/internal-api/wp-cli-error/index.md | 2 +- docs/internal-api/wp-cli-get-php-binary/index.md | 2 +- docs/internal-api/wp-cli-launch-self/index.md | 2 +- docs/internal-api/wp-cli-launch/index.md | 2 +- docs/internal-api/wp-cli-line/index.md | 2 +- docs/internal-api/wp-cli-log/index.md | 2 +- docs/internal-api/wp-cli-read-value/index.md | 2 +- docs/internal-api/wp-cli-run-command/index.md | 2 +- docs/internal-api/wp-cli-success/index.md | 2 +- docs/internal-api/wp-cli-utils-format-items/index.md | 2 +- docs/internal-api/wp-cli-utils-get-flag-value/index.md | 2 +- docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md | 2 +- docs/internal-api/wp-cli-utils-get-temp-dir/index.md | 2 +- docs/internal-api/wp-cli-utils-http-request/index.md | 2 +- docs/internal-api/wp-cli-utils-launch-editor-for-input/index.md | 2 +- docs/internal-api/wp-cli-utils-make-progress-bar/index.md | 2 +- docs/internal-api/wp-cli-utils-write-csv/index.md | 2 +- docs/internal-api/wp-cli-warning/index.md | 2 +- 26 files changed, 26 insertions(+), 26 deletions(-) diff --git a/_templates/internal-api.mustache b/_templates/internal-api.mustache index fcd66a95..820e1ea0 100644 --- a/_templates/internal-api.mustache +++ b/_templates/internal-api.mustache @@ -1,7 +1,7 @@ --- layout: default title: {{full_name}}() -description: {{phpdoc.short_description}} +description: "{{phpdoc.short_description}}" --- Docs » Internal API » {{category}} diff --git a/docs/internal-api/wp-cli-add-command/index.md b/docs/internal-api/wp-cli-add-command/index.md index 34acaf22..0a7b6a50 100644 --- a/docs/internal-api/wp-cli-add-command/index.md +++ b/docs/internal-api/wp-cli-add-command/index.md @@ -1,7 +1,7 @@ --- layout: default title: WP_CLI::add_command() -description: Register a command to WP-CLI. +description: "Register a command to WP-CLI." --- Docs » Internal API » Registration diff --git a/docs/internal-api/wp-cli-add-hook/index.md b/docs/internal-api/wp-cli-add-hook/index.md index ad59eebf..d091366e 100644 --- a/docs/internal-api/wp-cli-add-hook/index.md +++ b/docs/internal-api/wp-cli-add-hook/index.md @@ -1,7 +1,7 @@ --- layout: default title: WP_CLI::add_hook() -description: Schedule a callback to be executed at a certain point. +description: "Schedule a callback to be executed at a certain point." --- Docs » Internal API » Registration diff --git a/docs/internal-api/wp-cli-colorize/index.md b/docs/internal-api/wp-cli-colorize/index.md index 773e9aa7..ea48229d 100644 --- a/docs/internal-api/wp-cli-colorize/index.md +++ b/docs/internal-api/wp-cli-colorize/index.md @@ -1,7 +1,7 @@ --- layout: default title: WP_CLI::colorize() -description: Colorize a string for output. +description: "Colorize a string for output." --- Docs » Internal API » Output diff --git a/docs/internal-api/wp-cli-confirm/index.md b/docs/internal-api/wp-cli-confirm/index.md index e7452c35..32d0106e 100644 --- a/docs/internal-api/wp-cli-confirm/index.md +++ b/docs/internal-api/wp-cli-confirm/index.md @@ -1,7 +1,7 @@ --- layout: default title: WP_CLI::confirm() -description: Ask for confirmation before running a destructive operation. +description: "Ask for confirmation before running a destructive operation." --- Docs » Internal API » Input diff --git a/docs/internal-api/wp-cli-debug/index.md b/docs/internal-api/wp-cli-debug/index.md index 378a2cf5..690388ba 100644 --- a/docs/internal-api/wp-cli-debug/index.md +++ b/docs/internal-api/wp-cli-debug/index.md @@ -1,7 +1,7 @@ --- layout: default title: WP_CLI::debug() -description: Display debug message prefixed with "Debug: " when `--debug` is used. +description: "Display debug message prefixed with "Debug: " when `--debug` is used." --- Docs » Internal API » Output diff --git a/docs/internal-api/wp-cli-do-hook/index.md b/docs/internal-api/wp-cli-do-hook/index.md index bb74b20c..2f0ef056 100644 --- a/docs/internal-api/wp-cli-do-hook/index.md +++ b/docs/internal-api/wp-cli-do-hook/index.md @@ -1,7 +1,7 @@ --- layout: default title: WP_CLI::do_hook() -description: Execute callbacks registered to a given hook. +description: "Execute callbacks registered to a given hook." --- Docs » Internal API » Registration diff --git a/docs/internal-api/wp-cli-error-multi-line/index.md b/docs/internal-api/wp-cli-error-multi-line/index.md index 86a8cb7a..fb21afea 100644 --- a/docs/internal-api/wp-cli-error-multi-line/index.md +++ b/docs/internal-api/wp-cli-error-multi-line/index.md @@ -1,7 +1,7 @@ --- layout: default title: WP_CLI::error_multi_line() -description: Display a multi-line error message in a red box. Doesn't exit script. +description: "Display a multi-line error message in a red box. Doesn't exit script." --- Docs » Internal API » Output diff --git a/docs/internal-api/wp-cli-error/index.md b/docs/internal-api/wp-cli-error/index.md index 877977c3..ebf68541 100644 --- a/docs/internal-api/wp-cli-error/index.md +++ b/docs/internal-api/wp-cli-error/index.md @@ -1,7 +1,7 @@ --- layout: default title: WP_CLI::error() -description: Display error message prefixed with "Error: " and exit script. +description: "Display error message prefixed with "Error: " and exit script." --- Docs » Internal API » Output diff --git a/docs/internal-api/wp-cli-get-php-binary/index.md b/docs/internal-api/wp-cli-get-php-binary/index.md index 7b598fe5..e30c51d3 100644 --- a/docs/internal-api/wp-cli-get-php-binary/index.md +++ b/docs/internal-api/wp-cli-get-php-binary/index.md @@ -1,7 +1,7 @@ --- layout: default title: WP_CLI::get_php_binary() -description: Get the path to the PHP binary used when executing WP-CLI. +description: "Get the path to the PHP binary used when executing WP-CLI." --- Docs » Internal API » System diff --git a/docs/internal-api/wp-cli-launch-self/index.md b/docs/internal-api/wp-cli-launch-self/index.md index 5b403dc3..22c1d9c0 100644 --- a/docs/internal-api/wp-cli-launch-self/index.md +++ b/docs/internal-api/wp-cli-launch-self/index.md @@ -1,7 +1,7 @@ --- layout: default title: WP_CLI::launch_self() -description: Run a WP-CLI command in a new process reusing the current runtime arguments. +description: "Run a WP-CLI command in a new process reusing the current runtime arguments." --- Docs » Internal API » Execution diff --git a/docs/internal-api/wp-cli-launch/index.md b/docs/internal-api/wp-cli-launch/index.md index 086c7ee2..55d6e2ba 100644 --- a/docs/internal-api/wp-cli-launch/index.md +++ b/docs/internal-api/wp-cli-launch/index.md @@ -1,7 +1,7 @@ --- layout: default title: WP_CLI::launch() -description: Launch an arbitrary external process that takes over I/O. +description: "Launch an arbitrary external process that takes over I/O." --- Docs » Internal API » Execution diff --git a/docs/internal-api/wp-cli-line/index.md b/docs/internal-api/wp-cli-line/index.md index f13ec5bc..c2f11732 100644 --- a/docs/internal-api/wp-cli-line/index.md +++ b/docs/internal-api/wp-cli-line/index.md @@ -1,7 +1,7 @@ --- layout: default title: WP_CLI::line() -description: Display informational message without prefix, and ignore `--quiet`. +description: "Display informational message without prefix, and ignore `--quiet`." --- Docs » Internal API » Output diff --git a/docs/internal-api/wp-cli-log/index.md b/docs/internal-api/wp-cli-log/index.md index 7ada2f5e..00594925 100644 --- a/docs/internal-api/wp-cli-log/index.md +++ b/docs/internal-api/wp-cli-log/index.md @@ -1,7 +1,7 @@ --- layout: default title: WP_CLI::log() -description: Display informational message without prefix. +description: "Display informational message without prefix." --- Docs » Internal API » Output diff --git a/docs/internal-api/wp-cli-read-value/index.md b/docs/internal-api/wp-cli-read-value/index.md index 8771b067..4ac13795 100644 --- a/docs/internal-api/wp-cli-read-value/index.md +++ b/docs/internal-api/wp-cli-read-value/index.md @@ -1,7 +1,7 @@ --- layout: default title: WP_CLI::read_value() -description: Read a value, from various formats. +description: "Read a value, from various formats." --- Docs » Internal API » Input diff --git a/docs/internal-api/wp-cli-run-command/index.md b/docs/internal-api/wp-cli-run-command/index.md index 75388908..e37cfbda 100644 --- a/docs/internal-api/wp-cli-run-command/index.md +++ b/docs/internal-api/wp-cli-run-command/index.md @@ -1,7 +1,7 @@ --- layout: default title: WP_CLI::run_command() -description: Run a given command within the current process using the same global +description: "Run a given command within the current process using the same global" --- Docs » Internal API » Execution diff --git a/docs/internal-api/wp-cli-success/index.md b/docs/internal-api/wp-cli-success/index.md index 743de4d7..bfdb70a0 100644 --- a/docs/internal-api/wp-cli-success/index.md +++ b/docs/internal-api/wp-cli-success/index.md @@ -1,7 +1,7 @@ --- layout: default title: WP_CLI::success() -description: Display success message prefixed with "Success: ". +description: "Display success message prefixed with "Success: "." --- Docs » Internal API » Output diff --git a/docs/internal-api/wp-cli-utils-format-items/index.md b/docs/internal-api/wp-cli-utils-format-items/index.md index b4b4da70..c9e537d2 100644 --- a/docs/internal-api/wp-cli-utils-format-items/index.md +++ b/docs/internal-api/wp-cli-utils-format-items/index.md @@ -1,7 +1,7 @@ --- layout: default title: WP_CLI\Utils\format_items() -description: Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or count. +description: "Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or count." --- Docs » Internal API » Output diff --git a/docs/internal-api/wp-cli-utils-get-flag-value/index.md b/docs/internal-api/wp-cli-utils-get-flag-value/index.md index d843134c..c42318ff 100644 --- a/docs/internal-api/wp-cli-utils-get-flag-value/index.md +++ b/docs/internal-api/wp-cli-utils-get-flag-value/index.md @@ -1,7 +1,7 @@ --- layout: default title: WP_CLI\Utils\get_flag_value() -description: Return the flag value or, if it's not set, the $default value. +description: "Return the flag value or, if it's not set, the $default value." --- Docs » Internal API » Input diff --git a/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md b/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md index 08d6e29e..0dd6cfd7 100644 --- a/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md +++ b/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md @@ -1,7 +1,7 @@ --- layout: default title: WP_CLI\Utils\get_named_sem_ver() -description: Compare two version strings to get the named semantic version. +description: "Compare two version strings to get the named semantic version." --- Docs » Internal API » Misc diff --git a/docs/internal-api/wp-cli-utils-get-temp-dir/index.md b/docs/internal-api/wp-cli-utils-get-temp-dir/index.md index 400f1dec..e3eab3d3 100644 --- a/docs/internal-api/wp-cli-utils-get-temp-dir/index.md +++ b/docs/internal-api/wp-cli-utils-get-temp-dir/index.md @@ -1,7 +1,7 @@ --- layout: default title: WP_CLI\Utils\get_temp_dir() -description: Get the system's temp directory. Warns user if it isn't writable. +description: "Get the system's temp directory. Warns user if it isn't writable." --- Docs » Internal API » System diff --git a/docs/internal-api/wp-cli-utils-http-request/index.md b/docs/internal-api/wp-cli-utils-http-request/index.md index 986ee57b..1b97c347 100644 --- a/docs/internal-api/wp-cli-utils-http-request/index.md +++ b/docs/internal-api/wp-cli-utils-http-request/index.md @@ -1,7 +1,7 @@ --- layout: default title: WP_CLI\Utils\http_request() -description: Make a HTTP request to a remote URL. +description: "Make a HTTP request to a remote URL." --- Docs » Internal API » Misc diff --git a/docs/internal-api/wp-cli-utils-launch-editor-for-input/index.md b/docs/internal-api/wp-cli-utils-launch-editor-for-input/index.md index a50e40b2..f1eea776 100644 --- a/docs/internal-api/wp-cli-utils-launch-editor-for-input/index.md +++ b/docs/internal-api/wp-cli-utils-launch-editor-for-input/index.md @@ -1,7 +1,7 @@ --- layout: default title: WP_CLI\Utils\launch_editor_for_input() -description: Launch system's $EDITOR for the user to edit some text. +description: "Launch system's $EDITOR for the user to edit some text." --- Docs » Internal API » Input diff --git a/docs/internal-api/wp-cli-utils-make-progress-bar/index.md b/docs/internal-api/wp-cli-utils-make-progress-bar/index.md index dd69887b..b9284879 100644 --- a/docs/internal-api/wp-cli-utils-make-progress-bar/index.md +++ b/docs/internal-api/wp-cli-utils-make-progress-bar/index.md @@ -1,7 +1,7 @@ --- layout: default title: WP_CLI\Utils\make_progress_bar() -description: Create a progress bar to display percent completion of a given operation. +description: "Create a progress bar to display percent completion of a given operation." --- Docs » Internal API » Output diff --git a/docs/internal-api/wp-cli-utils-write-csv/index.md b/docs/internal-api/wp-cli-utils-write-csv/index.md index f1460e47..43cd8e6c 100644 --- a/docs/internal-api/wp-cli-utils-write-csv/index.md +++ b/docs/internal-api/wp-cli-utils-write-csv/index.md @@ -1,7 +1,7 @@ --- layout: default title: WP_CLI\Utils\write_csv() -description: Write data as CSV to a given file. +description: "Write data as CSV to a given file." --- Docs » Internal API » Misc diff --git a/docs/internal-api/wp-cli-warning/index.md b/docs/internal-api/wp-cli-warning/index.md index 0dcb6a7a..7c8a6ddd 100644 --- a/docs/internal-api/wp-cli-warning/index.md +++ b/docs/internal-api/wp-cli-warning/index.md @@ -1,7 +1,7 @@ --- layout: default title: WP_CLI::warning() -description: Display warning message prefixed with "Warning: ". +description: "Display warning message prefixed with "Warning: "." --- Docs » Internal API » Output From 7606fe5252417caafacd63f7dc7febc26162c68c Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 24 May 2016 04:13:18 -0700 Subject: [PATCH 649/839] Define all of our Gems --- Gemfile | 4 +++- _config.yml | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Gemfile b/Gemfile index 4d3fad9b..11cd392c 100644 --- a/Gemfile +++ b/Gemfile @@ -1,3 +1,5 @@ source 'https://rubygems.org' gem 'jekyll' -gem 'kramdown' \ No newline at end of file +gem 'kramdown' +gem 'rouge' +gem 'jekyll-paginate' diff --git a/_config.yml b/_config.yml index e6dbf531..fa827002 100644 --- a/_config.yml +++ b/_config.yml @@ -2,6 +2,7 @@ safe: true lsi: false highlighter: rouge markdown: kramdown +gems: [jekyll-paginate] url: http://wp-cli.org permalink: /blog/:title.html paginate: 10 From 6f17024152d158b29b394d518a6f4e9118406c2e Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 25 May 2016 05:56:46 -0700 Subject: [PATCH 650/839] Update website examples based on new contributions --- commands/cap/add/index.md | 6 ++++ commands/cap/index.md | 9 ++++-- commands/cap/list/index.md | 9 ++++-- commands/cap/remove/index.md | 6 ++++ commands/cli/info/index.md | 5 ++++ commands/cli/update/index.md | 8 ++++++ commands/core/multisite-convert/index.md | 7 +++++ commands/core/multisite-install/index.md | 10 +++++++ commands/core/update-db/index.md | 9 ++++++ commands/core/update/index.md | 29 +++++++++++++++---- commands/core/verify-checksums/index.md | 17 +++++++++++ commands/core/version/index.md | 10 +++++++ commands/db/drop/index.md | 5 ++++ commands/db/reset/index.md | 5 ++++ commands/option/get/index.md | 8 ++++++ commands/plugin/delete/index.md | 6 ++-- commands/plugin/get/index.md | 3 +- commands/plugin/install/index.md | 28 +++++++++++++++--- commands/plugin/list/index.md | 17 +++++++++-- commands/plugin/path/index.md | 3 +- commands/plugin/search/index.md | 16 +++++++++-- commands/plugin/toggle/index.md | 8 ++++++ commands/plugin/uninstall/index.md | 3 +- commands/plugin/update/index.md | 31 ++++++++++++++++++-- commands/post-type/list/index.md | 2 +- commands/rewrite/flush/index.md | 5 ++++ commands/rewrite/index.md | 19 ++++++++++++- commands/rewrite/list/index.md | 8 +++++- commands/rewrite/structure/index.md | 3 +- commands/role/create/index.md | 8 ++++-- commands/role/delete/index.md | 6 +++- commands/role/exists/index.md | 3 +- commands/role/index.md | 25 ++++++++++++++++ commands/role/list/index.md | 8 +++++- commands/role/reset/index.md | 8 ++++-- commands/server/index.md | 12 ++++++-- commands/sidebar/index.md | 6 ++++ commands/sidebar/list/index.md | 5 +++- commands/taxonomy/get/index.md | 33 +++++++++++++++++++++- commands/theme/activate/index.md | 5 ++++ commands/theme/delete/index.md | 3 +- commands/theme/get/index.md | 9 +++++- commands/theme/search/index.md | 15 ++++++++-- commands/theme/status/index.md | 9 ++++++ commands/transient/delete-all/index.md | 3 ++ commands/transient/delete-expired/index.md | 3 ++ commands/transient/delete/index.md | 5 ++++ commands/transient/get/index.md | 8 ++++++ commands/transient/index.md | 20 ++++++++++++- commands/transient/set/index.md | 5 ++++ commands/transient/type/index.md | 3 ++ commands/user/generate/index.md | 8 ++++++ commands/user/meta/list/index.md | 2 ++ commands/widget/add/index.md | 3 +- commands/widget/deactivate/index.md | 3 +- commands/widget/delete/index.md | 3 +- commands/widget/index.md | 17 ++++++++--- commands/widget/list/index.md | 5 +++- commands/widget/move/index.md | 8 ++++-- commands/widget/update/index.md | 3 +- 60 files changed, 490 insertions(+), 59 deletions(-) diff --git a/commands/cap/add/index.md b/commands/cap/add/index.md index a8adcd61..256021a8 100644 --- a/commands/cap/add/index.md +++ b/commands/cap/add/index.md @@ -18,5 +18,11 @@ display_global_parameters: true <cap>... : One or more capabilities to add. +### EXAMPLES + + # Add 'spectate' capability to 'author' role + $ wp cap add author spectate + Success: Added 1 capabilities to 'author' role. + diff --git a/commands/cap/index.md b/commands/cap/index.md index 42c5a1ec..55b2a3de 100644 --- a/commands/cap/index.md +++ b/commands/cap/index.md @@ -13,13 +13,16 @@ display_global_parameters: true ### EXAMPLES # Add 'spectate' capability to 'author' role - wp cap add 'author' 'spectate' + $ wp cap add 'author' 'spectate' + Success: Added 1 capabilities to 'author' role. # Add all caps from 'editor' role to 'author' role - wp cap list 'editor' | xargs wp cap add 'author' + $ wp cap list 'editor' | xargs wp cap add 'author' + Success: Added 24 capabilities to 'author' role. # Remove all caps from 'editor' role that also appear in 'author' role - wp cap list 'author' | xargs wp cap remove 'editor' + $ wp cap list 'author' | xargs wp cap remove 'editor' + Success: Removed 34 capabilities from 'editor' role. diff --git a/commands/cap/list/index.md b/commands/cap/list/index.md index 5db7be64..bf1371d7 100644 --- a/commands/cap/list/index.md +++ b/commands/cap/list/index.md @@ -17,8 +17,13 @@ display_global_parameters: true ### EXAMPLES - # Display alphabetical list of bbPress moderator capabilities - wp cap list 'bbp_moderator' | sort + # Display alphabetical list of Contributor capabilities + $ wp cap list 'contributor' | sort + delete_posts + edit_posts + level_0 + level_1 + read diff --git a/commands/cap/remove/index.md b/commands/cap/remove/index.md index 6cd20988..b661ff1c 100644 --- a/commands/cap/remove/index.md +++ b/commands/cap/remove/index.md @@ -18,5 +18,11 @@ display_global_parameters: true <cap>... : One or more capabilities to remove. +### EXAMPLES + + # Remove 'spectate' capability from 'author' role + $ wp cap remove author spectate + Success: Removed 1 capabilities from 'author' role. + diff --git a/commands/cli/info/index.md b/commands/cli/info/index.md index f02c740a..3c1031c7 100644 --- a/commands/cli/info/index.md +++ b/commands/cli/info/index.md @@ -15,5 +15,10 @@ display_global_parameters: true [\--format=<format>] : Accepted values: json +### EXAMPLES + + $ wp cli version + WP-CLI 0.23.1 + diff --git a/commands/cli/update/index.md b/commands/cli/update/index.md index 88f09f7f..f94b4d98 100644 --- a/commands/cli/update/index.md +++ b/commands/cli/update/index.md @@ -27,5 +27,13 @@ display_global_parameters: true [\--yes] : Do not prompt for confirmation +### EXAMPLES + + $ wp cli update + You have version 0.23.0. Would you like to update to 0.23.1? [y/n] y + Downloading from https://github.com/wp-cli/wp-cli/releases/download/v0.23.1/wp-cli-0.23.1.phar... + New version works. Proceeding to replace. + Success: Updated WP-CLI to 0.23.1 + diff --git a/commands/core/multisite-convert/index.md b/commands/core/multisite-convert/index.md index 851cc1d3..67528bd6 100644 --- a/commands/core/multisite-convert/index.md +++ b/commands/core/multisite-convert/index.md @@ -25,5 +25,12 @@ Default: '/' [\--subdomains] : If passed, the network will use subdomains, instead of subdirectories. Doesn't work with 'localhost'. +### EXAMPLES + + $ wp core multisite-convert + Set up multisite database tables. + Added multisite constants to wp-config.php. + Success: Network installed. Don't forget to set up rewrite rules. + diff --git a/commands/core/multisite-install/index.md b/commands/core/multisite-install/index.md index 4984da34..e444ab68 100644 --- a/commands/core/multisite-install/index.md +++ b/commands/core/multisite-install/index.md @@ -37,5 +37,15 @@ Default: '/' [\--skip-email] : Don't send an email notification to the new admin user. +### EXAMPLES + + $ wp core multisite-install --title="Welcome to the WordPress" \ + > --admin_user="admin" --admin_password="password" \ + > --admin_email="user@example.com" + Single site database tables already present. + Set up multisite database tables. + Added multisite constants to wp-config.php. + Success: Network installed. Don't forget to set up rewrite rules. + diff --git a/commands/core/update-db/index.md b/commands/core/update-db/index.md index d5dea3fa..4296f41f 100644 --- a/commands/core/update-db/index.md +++ b/commands/core/update-db/index.md @@ -16,5 +16,14 @@ display_global_parameters: true [\--dry-run] : Compare database versions without performing the update. +### EXAMPLES + + $ wp core update-db + Success: WordPress database upgraded successfully from db version 36686 to 35700 + + $ wp core update-db --network + WordPress database upgraded successfully from db version 35700 to 29630 on example.com/ + Success: WordPress database upgraded on 123/123 sites + diff --git a/commands/core/update/index.md b/commands/core/update/index.md index 44946352..be3f858d 100644 --- a/commands/core/update/index.md +++ b/commands/core/update/index.md @@ -29,11 +29,30 @@ display_global_parameters: true ### EXAMPLES - wp core update - - wp core update --version=3.8 ../latest.zip - - wp core update --version=3.1 --force + $ wp core update + Updating to version 4.5.2 (en_US)... + Downloading update from https://downloads.wordpress.org/release/wordpress-4.5.2-no-content.zip... + Unpacking the update... + Cleaning up files... + No files found that need cleaned up + Success: WordPress updated successfully. + + $ wp core update --version=3.8 ../latest.zip + Updating to version 3.8 ()... + Unpacking the update... + Cleaning up files... + File removed: wp-admin/js/tags-box.js + ... + File removed: wp-admin/js/updates.min. + 377 files cleaned up + Success: WordPress updated successfully. + + $ wp core update --version=3.1 --force + Updating to version 3.1 (en_US)... + Downloading update from https://wordpress.org/wordpress-3.1.zip... + Unpacking the update... + Warning: Failed to fetch checksums. Please cleanup files manually. + Success: WordPress updated successfully. diff --git a/commands/core/verify-checksums/index.md b/commands/core/verify-checksums/index.md index e295f590..990bb6f8 100644 --- a/commands/core/verify-checksums/index.md +++ b/commands/core/verify-checksums/index.md @@ -20,5 +20,22 @@ For security, avoids loading WordPress when verifying checksums. [\--locale=<locale>] : Verify checksums against a specific locale of WordPress. +### EXAMPLES + + $ wp core verify-checksums + Success: WordPress install verifies against checksums. + + $ wp core verify-checksums --version=4.0 + Success: WordPress install verifies against checksums. + + $ wp core verify-checksums --locale=en_US + Success: WordPress install verifies against checksums. + + $ wp core verify-checksums --locale=ja + Warning: File doesn't verify against checksum: wp-includes/version.php + Warning: File doesn't verify against checksum: readme.html + Warning: File doesn't verify against checksum: wp-config-sample.php + Error: WordPress install doesn't verify against checksums. + diff --git a/commands/core/version/index.md b/commands/core/version/index.md index 24c07599..7f1036a1 100644 --- a/commands/core/version/index.md +++ b/commands/core/version/index.md @@ -15,5 +15,15 @@ display_global_parameters: true [\--extra] : Show extended version information. +### EXAMPLES + + $ wp core version + 4.5.2 + + $ wp core version --extra + WordPress version: 4.5.2 + Database revision: 36686 + TinyMCE version: 4.310 (4310-20160418) + diff --git a/commands/db/drop/index.md b/commands/db/drop/index.md index cc8a250c..3032effa 100644 --- a/commands/db/drop/index.md +++ b/commands/db/drop/index.md @@ -19,5 +19,10 @@ wp-config.php. [\--yes] : Answer yes to the confirmation message. +### EXAMPLES + + $ wp db drop --yes + Success: Database dropped. + diff --git a/commands/db/reset/index.md b/commands/db/reset/index.md index 6aa82dbe..984c8e1e 100644 --- a/commands/db/reset/index.md +++ b/commands/db/reset/index.md @@ -19,5 +19,10 @@ specified in wp-config.php. [\--yes] : Answer yes to the confirmation message. +### EXAMPLES + + $ wp db reset --yes + Success: Database reset. + diff --git a/commands/option/get/index.md b/commands/option/get/index.md index 9cd018bb..8cc9c0c2 100644 --- a/commands/option/get/index.md +++ b/commands/option/get/index.md @@ -16,5 +16,13 @@ display_global_parameters: true [\--format=<format>] : Get value as var_export() or JSON. Default: var_export() +### EXAMPLES + + $ wp option get home + http://example.com + + $ wp option get active_plugins --format=json + {"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"} + diff --git a/commands/plugin/delete/index.md b/commands/plugin/delete/index.md index 5a375fb8..6d56d8b4 100644 --- a/commands/plugin/delete/index.md +++ b/commands/plugin/delete/index.md @@ -17,10 +17,12 @@ display_global_parameters: true ### EXAMPLES - wp plugin delete hello + $ wp plugin delete hello + Success: Deleted 'hello' plugin. # Delete inactive plugins - wp plugin delete $(wp plugin list --status=inactive --field=name) + $ wp plugin delete $(wp plugin list --status=inactive --field=name) + Success: Deleted 'tinymce-templates' plugin. diff --git a/commands/plugin/get/index.md b/commands/plugin/get/index.md index 6adbe9e1..ba8e6247 100644 --- a/commands/plugin/get/index.md +++ b/commands/plugin/get/index.md @@ -26,7 +26,8 @@ display_global_parameters: true ### EXAMPLES - wp plugin get bbpress --format=json + $ wp plugin get bbpress --format=json + {"name":"bbpress","title":"bbPress","author":"The bbPress Contributors","version":"2.6-alpha","description":"bbPress is forum software with a twist from the creators of WordPress.","status":"active"} diff --git a/commands/plugin/install/index.md b/commands/plugin/install/index.md index 7f72c43e..712c7e7a 100644 --- a/commands/plugin/install/index.md +++ b/commands/plugin/install/index.md @@ -32,16 +32,36 @@ for confirmation. ### EXAMPLES # Install the latest version from wordpress.org and activate - wp plugin install bbpress --activate + $ wp plugin install bbpress --activate + Installing bbPress (2.5.9) + Downloading install package from https://downloads.wordpress.org/plugin/bbpress.2.5.9.zip... + Using cached file '/home/vagrant/.wp-cli/cache/plugin/bbpress-2.5.9.zip'... + Unpacking the package... + Installing the plugin... + Plugin installed successfully. + Activating 'bbpress'... + Success: Plugin 'bbpress' activated. # Install the development version from wordpress.org - wp plugin install bbpress --version=dev + $ wp plugin install bbpress --version=dev + Installing bbPress (Development Version) + Downloading install package from https://downloads.wordpress.org/plugin/bbpress.zip... + Unpacking the package... + Installing the plugin... + Plugin installed successfully. # Install from a local zip file - wp plugin install ../my-plugin.zip + $ wp plugin install ../my-plugin.zip + Unpacking the package... + Installing the plugin... + Plugin installed successfully. # Install from a remote zip file - wp plugin install http://s3.amazonaws.com/bucketname/my-plugin.zip?AWSAccessKeyId=123&Expires=456&Signature=abcdef + $ wp plugin install http://s3.amazonaws.com/bucketname/my-plugin.zip?AWSAccessKeyId=123&Expires=456&Signature=abcdef + Downloading install package from http://s3.amazonaws.com/bucketname/my-plugin.zip?AWSAccessKeyId=123&Expires=456&Signature=abcdef + Unpacking the package... + Installing the plugin... + Plugin installed successfully. diff --git a/commands/plugin/list/index.md b/commands/plugin/list/index.md index 07fc530a..0b99fe6e 100644 --- a/commands/plugin/list/index.md +++ b/commands/plugin/list/index.md @@ -43,10 +43,23 @@ These fields are optionally available: ### EXAMPLES - wp plugin list --status=active --format=json + $ wp plugin list --status=active --format=json + [{"name":"dynamic-hostname","status":"active","update":"none","version":"0.4.2"},{"name":"tinymce-templates","status":"active","update":"none","version":"4.4.3"},{"name":"wp-multibyte-patch","status":"active","update":"none","version":"2.4"},{"name":"wp-total-hacks","status":"active","update":"none","version":"2.0.1"}] # List plugins on each site in a network - wp site list --field=url | xargs -n 1 -I % wp plugin list --url=% + $ wp site list --field=url | xargs -n 1 -I % wp plugin list --url=% + +------------------------------+----------------+-----------+------------+ + | name | status | update | version | + +------------------------------+----------------+-----------+------------+ + | akismet | active-network | none | 3.1.11 | + | hello | inactive | none | 1.6 | + +------------------------------+----------------+-----------+------------+ + +------------------------------+----------------+-----------+------------+ + | name | status | update | version | + +------------------------------+----------------+-----------+------------+ + | akismet | active-network | none | 3.1.11 | + | hello | inactive | none | 1.6 | + +------------------------------+----------------+-----------+------------+ diff --git a/commands/plugin/path/index.md b/commands/plugin/path/index.md index 9ee2a864..9b75ff73 100644 --- a/commands/plugin/path/index.md +++ b/commands/plugin/path/index.md @@ -22,7 +22,8 @@ plugin file. ### EXAMPLES - cd $(wp plugin path) + $ cd $(wp plugin path) && pwd + /var/www/wordpress/wp-content/plugins diff --git a/commands/plugin/search/index.md b/commands/plugin/search/index.md index cab0a638..4322eda3 100644 --- a/commands/plugin/search/index.md +++ b/commands/plugin/search/index.md @@ -47,9 +47,19 @@ display_global_parameters: true ### EXAMPLES - wp plugin search dsgnwrks --per-page=20 --format=json - - wp plugin search dsgnwrks --fields=name,version,slug,rating,num_ratings + $ wp plugin search dsgnwrks --per-page=20 --format=json + Success: Showing 3 of 3 plugins. + [{"name":"DsgnWrks Instagram Importer Debug","slug":"dsgnwrks-instagram-importer-debug","rating":0},{"name":"DsgnWrks Instagram Importer","slug":"dsgnwrks-instagram-importer","rating":84},{"name":"DsgnWrks Twitter Importer","slug":"dsgnwrks-twitter-importer","rating":80}] + + $ wp plugin search dsgnwrks --fields=name,version,slug,rating,num_ratings + Success: Showing 3 of 3 plugins. + +-----------------------------------+---------+-----------------------------------+--------+-------------+ + | name | version | slug | rating | num_ratings | + +-----------------------------------+---------+-----------------------------------+--------+-------------+ + | DsgnWrks Instagram Importer Debug | 0.1.6 | dsgnwrks-instagram-importer-debug | 0 | 0 | + | DsgnWrks Instagram Importer | 1.3.7 | dsgnwrks-instagram-importer | 84 | 23 | + | DsgnWrks Twitter Importer | 1.1.1 | dsgnwrks-twitter-importer | 80 | 1 | + +-----------------------------------+---------+-----------------------------------+--------+-------------+ diff --git a/commands/plugin/toggle/index.md b/commands/plugin/toggle/index.md index bcf9e0a2..ebe674c2 100644 --- a/commands/plugin/toggle/index.md +++ b/commands/plugin/toggle/index.md @@ -18,5 +18,13 @@ display_global_parameters: true [\--network] : If set, the plugin will be toggled for the entire multisite network. +### EXAMPLES + + $ wp plugin toggle akismet + Success: Plugin 'akismet' deactivated. + + $ wp plugin toggle akismet + Success: Plugin 'akismet' activated. + diff --git a/commands/plugin/uninstall/index.md b/commands/plugin/uninstall/index.md index 5e0498ba..d51bd1fd 100644 --- a/commands/plugin/uninstall/index.md +++ b/commands/plugin/uninstall/index.md @@ -24,7 +24,8 @@ will be run. ### EXAMPLES - wp plugin uninstall hello + $ wp plugin uninstall hello + Success: Uninstalled and deleted 'hello' plugin. diff --git a/commands/plugin/update/index.md b/commands/plugin/update/index.md index 38c3a85f..0c600422 100644 --- a/commands/plugin/update/index.md +++ b/commands/plugin/update/index.md @@ -29,9 +29,34 @@ display_global_parameters: true ### EXAMPLES - wp plugin update bbpress --version=dev - - wp plugin update --all + $ wp plugin update bbpress --version=dev + Installing bbPress (Development Version) + Downloading install package from https://downloads.wordpress.org/plugin/bbpress.zip... + Unpacking the package... + Installing the plugin... + Removing the old version of the plugin... + Plugin updated successfully. + + $ wp plugin update --all + Enabling Maintenance mode... + Downloading update from https://downloads.wordpress.org/plugin/akismet.3.1.11.zip... + Unpacking the update... + Installing the latest version... + Removing the old version of the plugin... + Plugin updated successfully. + Downloading update from https://downloads.wordpress.org/plugin/nginx-champuru.3.2.0.zip... + Unpacking the update... + Installing the latest version... + Removing the old version of the plugin... + Plugin updated successfully. + Disabling Maintenance mode... + Success: Updated 2/2 plugins. + +------------------------+-------------+-------------+---------+ + | name | old_version | new_version | status | + +------------------------+-------------+-------------+---------+ + | akismet | 3.1.3 | 3.1.11 | Updated | + | nginx-cache-controller | 3.1.1 | 3.2.0 | Updated | + +------------------------+-------------+-------------+---------+ diff --git a/commands/post-type/list/index.md b/commands/post-type/list/index.md index 00f93e21..c10ae6c7 100644 --- a/commands/post-type/list/index.md +++ b/commands/post-type/list/index.md @@ -41,7 +41,7 @@ There are no optionally available fields. wp post-type list --format=csv - wp post-type list --object-type=post --fields=name,public + wp post-type list --capability_type=post --fields=name,public diff --git a/commands/rewrite/flush/index.md b/commands/rewrite/flush/index.md index 10297be4..68469fb7 100644 --- a/commands/rewrite/flush/index.md +++ b/commands/rewrite/flush/index.md @@ -25,5 +25,10 @@ to your wp-cli.yml or config.yml. For example: [\--hard] : Perform a hard flush - update `.htaccess` rules as well as rewrite rules in database. Works only on single site installs. +### EXAMPLES + + $ wp rewrite flush + Success: Rewrite rules flushed. + diff --git a/commands/rewrite/index.md b/commands/rewrite/index.md index 10296161..62a06f52 100644 --- a/commands/rewrite/index.md +++ b/commands/rewrite/index.md @@ -10,7 +10,24 @@ display_global_parameters: true
    - +### EXAMPLES + + # Flush rewrite rules + $ wp rewrite flush + Success: Rewrite rules flushed. + + # Update permalink structure + $ wp rewrite structure '/%year%/%monthnum%/%postname%' + Success: Rewrite structure set. + + # List rewrite rules + $ wp rewrite list --format=csv + match,query,source + ^wp-json/?$,index.php?rest_route=/,other + ^wp-json/(.*)?,index.php?rest_route=/$matches[1],other + category/(.+?)/feed/(feed|rdf|rss|rss2|atom)/?$,index.php?category_name=$matches[1]&feed=$matches[2],category + category/(.+?)/(feed|rdf|rss|rss2|atom)/?$,index.php?category_name=$matches[1]&feed=$matches[2],category + category/(.+?)/embed/?$,index.php?category_name=$matches[1]&embed=true,category diff --git a/commands/rewrite/list/index.md b/commands/rewrite/list/index.md index bf7da52d..6119833c 100644 --- a/commands/rewrite/list/index.md +++ b/commands/rewrite/list/index.md @@ -26,7 +26,13 @@ display_global_parameters: true ### EXAMPLES - wp rewrite list --format=csv + $ wp rewrite list --format=csv + match,query,source + ^wp-json/?$,index.php?rest_route=/,other + ^wp-json/(.*)?,index.php?rest_route=/$matches[1],other + category/(.+?)/feed/(feed|rdf|rss|rss2|atom)/?$,index.php?category_name=$matches[1]&feed=$matches[2],category + category/(.+?)/(feed|rdf|rss|rss2|atom)/?$,index.php?category_name=$matches[1]&feed=$matches[2],category + category/(.+?)/embed/?$,index.php?category_name=$matches[1]&embed=true,category diff --git a/commands/rewrite/structure/index.md b/commands/rewrite/structure/index.md index 693f966b..0f247672 100644 --- a/commands/rewrite/structure/index.md +++ b/commands/rewrite/structure/index.md @@ -36,7 +36,8 @@ to your wp-cli.yml or config.yml. For example: ### EXAMPLES - wp rewrite structure '/%year%/%monthnum%/%postname%' + $ wp rewrite structure '/%year%/%monthnum%/%postname%' + Success: Rewrite structure set. diff --git a/commands/role/create/index.md b/commands/role/create/index.md index f141397c..5d5e708e 100644 --- a/commands/role/create/index.md +++ b/commands/role/create/index.md @@ -23,9 +23,13 @@ display_global_parameters: true ### EXAMPLES - wp role create approver Approver + # Create role for Approver + $ wp role create approver Approver + Success: Role with key approver created. - wp role create productadmin "Product Administrator" + # Create role for Product Administrator + $ wp role create productadmin "Product Administrator" + Success: Role with key productadmin created. diff --git a/commands/role/delete/index.md b/commands/role/delete/index.md index 5bdb3412..74931d7a 100644 --- a/commands/role/delete/index.md +++ b/commands/role/delete/index.md @@ -17,9 +17,13 @@ display_global_parameters: true ### EXAMPLES - wp role delete approver + # Delete approver role + $ wp role delete approver + Success: Role with key approver deleted. + # Delete productadmin role wp role delete productadmin + Success: Role with key productadmin deleted. diff --git a/commands/role/exists/index.md b/commands/role/exists/index.md index b897e429..9291edb2 100644 --- a/commands/role/exists/index.md +++ b/commands/role/exists/index.md @@ -21,7 +21,8 @@ Will exit with status 0 if the role exists, 1 if it does not. ### EXAMPLES - wp role exists editor + $ wp role exists editor + Success: Role with ID editor exists. diff --git a/commands/role/index.md b/commands/role/index.md index c55fc0bb..77d2f034 100644 --- a/commands/role/index.md +++ b/commands/role/index.md @@ -10,7 +10,32 @@ display_global_parameters: true
    +### EXAMPLES + # List roles + $ wp role list --fields=role --format=csv + role + administrator + editor + author + contributor + subscriber + + # Check if a role exists + $ wp role exists editor + Success: Role with ID editor exists. + + # Create role + $ wp role create approver Approver + Success: Role with key approver created. + + # Delete role + $ wp role delete approver + Success: Role with key approver deleted. + + # Reset role + $ wp role reset administrator author contributor + Success: Reset 3/3 roles diff --git a/commands/role/list/index.md b/commands/role/list/index.md index 21c32244..6925e212 100644 --- a/commands/role/list/index.md +++ b/commands/role/list/index.md @@ -29,7 +29,13 @@ There are no optional fields. ### EXAMPLES - wp role list --fields=role --format=csv + $ wp role list --fields=role --format=csv + role + administrator + editor + author + contributor + subscriber diff --git a/commands/role/reset/index.md b/commands/role/reset/index.md index 77b26bd3..18af4f3c 100644 --- a/commands/role/reset/index.md +++ b/commands/role/reset/index.md @@ -20,9 +20,13 @@ display_global_parameters: true ### EXAMPLES - wp role reset administrator author contributor + # Reset role + $ wp role reset administrator author contributor + Success: Reset 1/3 roles - wp role reset --all + # Reset all default roles + $ wp role reset --all + Success: All default roles reset. diff --git a/commands/server/index.md b/commands/server/index.md index c3d119fd..c15faf90 100644 --- a/commands/server/index.md +++ b/commands/server/index.md @@ -26,10 +26,18 @@ display_global_parameters: true ### EXAMPLES # Make the instance available on any address (with port 8080) - wp server --host=0.0.0.0 + $ wp server --host=0.0.0.0 + PHP 5.6.9 Development Server started at Tue May 24 01:27:11 2016 + Listening on http://0.0.0.0:8080 + Document root is / + Press Ctrl-C to quit. # Run on port 80 (for multisite) - sudo wp server --host=localhost.localdomain --port=80 + $ sudo wp server --host=localhost.localdomain --port=80 + PHP 5.6.9 Development Server started at Tue May 24 01:30:06 2016 + Listening on http://localhost1.localdomain1:8080 + Document root is / + Press Ctrl-C to quit. diff --git a/commands/sidebar/index.md b/commands/sidebar/index.md index 5a241f33..a1ef3a0c 100644 --- a/commands/sidebar/index.md +++ b/commands/sidebar/index.md @@ -10,7 +10,13 @@ display_global_parameters: true
    +### EXAMPLES + # List sidebars + $ wp sidebar list --fields=name,id --format=csv + name,id + "Widget Area",sidebar-1 + "Inactive Widgets",wp_inactive_widgets diff --git a/commands/sidebar/list/index.md b/commands/sidebar/list/index.md index cf2e3567..02cc5964 100644 --- a/commands/sidebar/list/index.md +++ b/commands/sidebar/list/index.md @@ -36,7 +36,10 @@ These fields are optionally available: ### EXAMPLES - wp sidebar list --fields=name,id --format=csv + $ wp sidebar list --fields=name,id --format=csv + name,id + "Widget Area",sidebar-1 + "Inactive Widgets",wp_inactive_widgets diff --git a/commands/taxonomy/get/index.md b/commands/taxonomy/get/index.md index 30b1ed17..4e37bffb 100644 --- a/commands/taxonomy/get/index.md +++ b/commands/taxonomy/get/index.md @@ -26,7 +26,38 @@ display_global_parameters: true ### EXAMPLES - wp taxonomy get post_tag --format=json + $ wp taxonomy get category + +---------------+---------------------------------------------------+ + | Field | Value | + +---------------+---------------------------------------------------+ + | name | category | + | label | Categories | + | description | | + | object_type | ["post"] | + | show_tagcloud | true | + | hierarchical | true | + | public | true | + | labels | {"name":"Categories","singular_name":"Category"," | + | | search_items":"Search Categories","popular_items" | + | | :null,"all_items":"All Categories","parent_item": | + | | "Parent Category","parent_item_colon":"Parent Cat | + | | egory:","edit_item":"Edit Category","view_item":" | + | | View Category","update_item":"Update Category","a | + | | dd_new_item":"Add New Category","new_item_name":" | + | | New Category Name","separate_items_with_commas":n | + | | ull,"add_or_remove_items":null,"choose_from_most_ | + | | used":null,"not_found":"No categories found.","no | + | | _terms":"No categories","items_list_navigation":" | + | | Categories list navigation","items_list":"Categor | + | | ies list","menu_name":"Categories","name_admin_ba | + | | r":"category"} | + | cap | {"manage_terms":"manage_categories","edit_terms": | + | | "manage_categories","delete_terms":"manage_catego | + | | ries","assign_terms":"edit_posts"} | + +---------------+---------------------------------------------------+ + + $ wp taxonomy get post_tag --field=cap + {"manage_terms":"manage_categories","edit_terms":"manage_categories","delete_terms":"manage_categories","assign_terms":"edit_posts"} diff --git a/commands/theme/activate/index.md b/commands/theme/activate/index.md index c15d2e9d..7c15be0b 100644 --- a/commands/theme/activate/index.md +++ b/commands/theme/activate/index.md @@ -15,5 +15,10 @@ display_global_parameters: true <theme> : The theme to activate. +### EXAMPLES + + $ wp theme activate twentysixteen + Success: Switched to 'Twenty Sixteen' theme. + diff --git a/commands/theme/delete/index.md b/commands/theme/delete/index.md index 17c9f43a..b5a502cb 100644 --- a/commands/theme/delete/index.md +++ b/commands/theme/delete/index.md @@ -17,7 +17,8 @@ display_global_parameters: true ### EXAMPLES - wp theme delete twentyeleven + $ wp theme delete twentytwelve + Success: Deleted 'twentytwelve' theme. diff --git a/commands/theme/get/index.md b/commands/theme/get/index.md index c2b3307c..e6e404d9 100644 --- a/commands/theme/get/index.md +++ b/commands/theme/get/index.md @@ -26,7 +26,14 @@ display_global_parameters: true ### EXAMPLES - wp theme get twentytwelve --format=json + $ wp theme get twentysixteen --fields=name,title,version + +---------+----------------+ + | Field | Value | + +---------+----------------+ + | name | Twenty Sixteen | + | title | Twenty Sixteen | + | version | 1.2 | + +---------+----------------+ diff --git a/commands/theme/search/index.md b/commands/theme/search/index.md index 7f637c2a..110d4af8 100644 --- a/commands/theme/search/index.md +++ b/commands/theme/search/index.md @@ -40,9 +40,18 @@ display_global_parameters: true ### EXAMPLES - wp theme search automattic --per-page=20 - - wp theme search automattic --fields=name,version,slug,rating,num_ratings,description + $ wp theme search photo --per-page=6 + Success: Showing 6 of 203 themes. + +----------------------+----------------------+--------+ + | name | slug | rating | + +----------------------+----------------------+--------+ + | Photos | photos | 100 | + | Infinite Photography | infinite-photography | 100 | + | PhotoBook | photobook | 100 | + | BG Photo Frame | bg-photo-frame | 0 | + | fPhotography | fphotography | 0 | + | Photo Perfect | photo-perfect | 98 | + +----------------------+----------------------+--------+ diff --git a/commands/theme/status/index.md b/commands/theme/status/index.md index cdfb5ec2..af5ef9e0 100644 --- a/commands/theme/status/index.md +++ b/commands/theme/status/index.md @@ -15,5 +15,14 @@ display_global_parameters: true [<theme>] : A particular theme to show the status for. +### EXAMPLES + + $ wp theme status twentysixteen + Theme twentysixteen details: + Name: Twenty Sixteen + Status: Inactive + Version: 1.2 + Author: the WordPress team + diff --git a/commands/transient/delete-all/index.md b/commands/transient/delete-all/index.md index bfa74b13..294a2b53 100644 --- a/commands/transient/delete-all/index.md +++ b/commands/transient/delete-all/index.md @@ -10,7 +10,10 @@ display_global_parameters: true
    +### EXAMPLES + $ wp transient delete-all + Success: 14 transients deleted from the database. diff --git a/commands/transient/delete-expired/index.md b/commands/transient/delete-expired/index.md index 79978ea5..b0b9ca66 100644 --- a/commands/transient/delete-expired/index.md +++ b/commands/transient/delete-expired/index.md @@ -10,7 +10,10 @@ display_global_parameters: true
    +### EXAMPLES + $ wp transient delete-expired + Success: 12 expired transients deleted from the database. diff --git a/commands/transient/delete/index.md b/commands/transient/delete/index.md index a999c13b..344a7f78 100644 --- a/commands/transient/delete/index.md +++ b/commands/transient/delete/index.md @@ -16,5 +16,10 @@ display_global_parameters: true [\--network] : Delete the value of a network transient, instead of that on a single site. +### EXAMPLES + + $ wp transient delete sample_key + Success: Transient deleted. + diff --git a/commands/transient/get/index.md b/commands/transient/get/index.md index 1c79f314..147a0d0b 100644 --- a/commands/transient/get/index.md +++ b/commands/transient/get/index.md @@ -19,5 +19,13 @@ display_global_parameters: true [\--network] : Get the value of the network transient, instead of the single site. +### EXAMPLES + + $ wp transient get sample_key + test data + + $ wp transient get random_key + Warning: Transient with key "random_key" is not set. + diff --git a/commands/transient/index.md b/commands/transient/index.md index f86bcd94..035ee4f9 100644 --- a/commands/transient/index.md +++ b/commands/transient/index.md @@ -12,7 +12,25 @@ display_global_parameters: true ### EXAMPLES - wp transient set my_key my_value 300 + # Set transient + $ wp transient set sample_key "test data" 3600 + Success: Transient added. + + # Get transient + $ wp transient get sample_key + test data + + # Delete transient + $ wp transient delete sample_key + Success: Transient deleted. + + # Delete expired transients + $ wp transient delete-expired + Success: 12 expired transients deleted from the database. + + # Delete all transients + $ wp transient delete-all + Success: 14 transients deleted from the database. diff --git a/commands/transient/set/index.md b/commands/transient/set/index.md index b6032820..82b783ab 100644 --- a/commands/transient/set/index.md +++ b/commands/transient/set/index.md @@ -22,5 +22,10 @@ display_global_parameters: true [\--network] : Set the transient value on the network, instead of single site. +### EXAMPLES + + $ wp transient set sample_key "test data" 3600 + Success: Transient added. + diff --git a/commands/transient/type/index.md b/commands/transient/type/index.md index dd9b5469..0f0d91e6 100644 --- a/commands/transient/type/index.md +++ b/commands/transient/type/index.md @@ -10,7 +10,10 @@ display_global_parameters: true
    +### EXAMPLES + $ wp transient type + Transients are saved to the wp_options table. diff --git a/commands/user/generate/index.md b/commands/user/generate/index.md index c0d9a206..15ddbc6b 100644 --- a/commands/user/generate/index.md +++ b/commands/user/generate/index.md @@ -18,5 +18,13 @@ display_global_parameters: true [\--role=<role>] : The role of the generated users. Default: default role from WP +[\--format=<format>] +: Accepted values: progress, ids. Default: ids. + +### EXAMPLES + + # Add meta to every generated user + wp user generate --format=ids | xargs -0 -d ' ' -I % wp user meta add % foo bar + diff --git a/commands/user/meta/list/index.md b/commands/user/meta/list/index.md index 28bfc7fa..5e43a025 100644 --- a/commands/user/meta/list/index.md +++ b/commands/user/meta/list/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
    +### OPTIONS + <id> : ID for the object. diff --git a/commands/widget/add/index.md b/commands/widget/add/index.md index 21bcc946..ccf99a60 100644 --- a/commands/widget/add/index.md +++ b/commands/widget/add/index.md @@ -24,7 +24,8 @@ display_global_parameters: true ### EXAMPLES - wp widget add calendar sidebar-1 2 --title="Calendar" + $ wp widget add calendar sidebar-1 2 --title="Calendar" + Success: Added widget to sidebar. diff --git a/commands/widget/deactivate/index.md b/commands/widget/deactivate/index.md index 26a303d9..57d1791b 100644 --- a/commands/widget/deactivate/index.md +++ b/commands/widget/deactivate/index.md @@ -15,7 +15,8 @@ display_global_parameters: true ### EXAMPLES - wp widget deactivate recent-comments-2 + $ wp widget deactivate recent-comments-2 + Success: Widget(s) deactivated diff --git a/commands/widget/delete/index.md b/commands/widget/delete/index.md index d6f73dac..97044690 100644 --- a/commands/widget/delete/index.md +++ b/commands/widget/delete/index.md @@ -15,7 +15,8 @@ display_global_parameters: true ### EXAMPLES - wp widget delete recent-comments-2 + $ wp widget delete recent-comments-2 + Success: Widget(s) removed from sidebar. diff --git a/commands/widget/index.md b/commands/widget/index.md index 9dd39d99..ab468b37 100644 --- a/commands/widget/index.md +++ b/commands/widget/index.md @@ -13,16 +13,25 @@ display_global_parameters: true ### EXAMPLES # List widgets on a given sidebar - wp widget list sidebar-1 + $ wp widget list sidebar-1 + +----------+------------+----------+----------------------+ + | name | id | position | options | + +----------+------------+----------+----------------------+ + | meta | meta-6 | 1 | {"title":"Meta"} | + | calendar | calendar-2 | 2 | {"title":"Calendar"} | + +----------+------------+----------+----------------------+ # Add a calendar widget to the second position on the sidebar - wp widget add calendar sidebar-1 2 + $ wp widget add calendar sidebar-1 2 + Success: Added widget to sidebar. # Update option(s) associated with a given widget - wp widget update calendar-1 --title="Calendar" + $ wp widget update calendar-1 --title="Calendar" + Success: Widget updated. # Delete one or more widgets entirely - wp widget delete calendar-2 archive-1 + $ wp widget delete calendar-2 archive-1 + Success: Widget(s) removed from sidebar. diff --git a/commands/widget/list/index.md b/commands/widget/list/index.md index 0105a91f..fda9b7de 100644 --- a/commands/widget/list/index.md +++ b/commands/widget/list/index.md @@ -32,7 +32,10 @@ There are no optionally available fields. ### EXAMPLES - wp widget list sidebar-1 --fields=name --format=csv + $ wp widget list sidebar-1 --fields=name,id --format=csv + name,id + meta,meta-5 + search,search-3 diff --git a/commands/widget/move/index.md b/commands/widget/move/index.md index c8f3922b..4f1be2e9 100644 --- a/commands/widget/move/index.md +++ b/commands/widget/move/index.md @@ -21,9 +21,13 @@ display_global_parameters: true ### EXAMPLES - wp widget move recent-comments-2 --position=2 + # Change position of widget + $ wp widget move recent-comments-2 --position=2 + Success: Widget moved. - wp widget move recent-comments-2 --sidebar-id=wp_inactive_widgets + # Move widget to Inactive Widgets + $ wp widget move recent-comments-2 --sidebar-id=wp_inactive_widgets + Success: Widget moved. diff --git a/commands/widget/update/index.md b/commands/widget/update/index.md index 12bf9cf4..9d0c28fb 100644 --- a/commands/widget/update/index.md +++ b/commands/widget/update/index.md @@ -18,7 +18,8 @@ display_global_parameters: true ### EXAMPLES - wp widget update calendar-1 --title="Calendar" + $ wp widget update calendar-1 --title="Our Calendar" + Success: Widget updated. From f81a56cb6767a57573a06d83cc22eabb13863aae Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 27 May 2016 14:10:32 -0700 Subject: [PATCH 651/839] Explain how to actually submit the package --- docs/commands-cookbook/index.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/commands-cookbook/index.md b/docs/commands-cookbook/index.md index 2926fa21..042b77c3 100644 --- a/docs/commands-cookbook/index.md +++ b/docs/commands-cookbook/index.md @@ -472,4 +472,6 @@ Here's a full composer.json example from the server command: } ``` -Note the `autoload` declaration, which loads `command.php`. +Note the `autoload` declaration, which loads `command.php`. + +Once you've added a valid composer.json file to your project repository, you can submit your project to the package index by [editing repositories.txt to include the URL to your project](https://github.com/wp-cli/package-index/blob/master/repositories.txt). Please make sure to add yours in alphabetical order. From 57cb75361f1eb54a5a0e3dede40ff91841dc2ca3 Mon Sep 17 00:00:00 2001 From: Peter Dave Hello Date: Sun, 29 May 2016 01:33:37 +0800 Subject: [PATCH 652/839] optimize png images losslessly using zopflipng --- assets/img/bkg.png | Bin 4261 -> 1213 bytes assets/img/blacktocat.png | Bin 1266 -> 265 bytes assets/img/restful/gold/chrislema.png | Bin 30627 -> 13422 bytes assets/img/restful/gold/pagely.png | Bin 10098 -> 4613 bytes assets/img/restful/gold/pantheon.png | Bin 35367 -> 16119 bytes assets/img/restful/platinum/pressed.png | Bin 13771 -> 8172 bytes assets/img/restful/silver/godaddy.png | Bin 41931 -> 18834 bytes assets/img/restful/silver/jetpack.png | Bin 64194 -> 21198 bytes assets/img/restful/silver/madewithlove.png | Bin 55007 -> 26163 bytes assets/img/restful/silver/themeisle.png | Bin 4916 -> 3748 bytes assets/img/restful/silver/versionpress.png | Bin 89774 -> 56482 bytes assets/img/restful/silver/wpengine.png | Bin 12947 -> 6331 bytes assets/img/restful/silver/yoast.png | Bin 7694 -> 7652 bytes assets/img/wp-cli-man-page.png | Bin 40062 -> 32666 bytes behat-data/codeispoetry.png | Bin 15991 -> 460 bytes 15 files changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/img/bkg.png b/assets/img/bkg.png index fcebb5b22999adb792afee1f74bcf4af91db8441..defed2e8699fb68de36fd8598fee9d521abc3d97 100644 GIT binary patch delta 1205 zcmV;m1WNm*A-xHZ7=Hl+0001Zv?rzj000J1OjJc18ygxL8UUaeod5s?a!Eu%RCodH zoH4HBFbqVQ>bJgukD44cM{xP8XqOoHVW7p9Of@P5%O;;1f*4Vf>$!fb>Rg|ys>k}< zKJ|R})4Qsk{o-|Y&%5$rwQ&#Dt7PBbe%h&#=kKG3pPuHScYk^+nRM&nG0q4hjOWsz zgSJ6(YKE-ZQ(Pf6l!r{NFv6H-C>^Ww7%pP{j(;*XpM+8XW{_MJ*-E%&nYf$m z73&QzNe*d@D~vBO!jL`r7oDImmy?nmGr|aC$-dLE1T3Bs5Z$R7 ztI#j2D5$;18DWG`rx*%uJ*iQ`LezRx*AF@Z zK8!HN8Mk)*uz%$T1Whb>4Xhh#;|e2;afWNxlEJPH)Wo%9t=6D0!Wd_egsog<8wSNw zHP-_E-hTkAFv6H;*lV2v@B@NuUAfRj-YQuiVT3Wxu<8{B)~dFGX7Nu>)`X{qVT3Ww z&@yaUA(j%BoJhG0$S)UAVT3Wu=!EM|TwJx=DJKqg z$b~C}VT3Wy&}s`6i(*i-%9m9XNXMEcj4;L-c7L}YkOH}Br3IPE22=!~D~vFv8Fuhb z_8Q8)pKP_lMg7p!lZ8rs3C4C=xNW14Y`+D+q%D^tPk+RAnu`wAnBafW>Od75Gv z0gF!XZ7+Rbt}w!wXRtZ7wklWoRVqpdG_QPx5ymist*eEpB!w8%TSfD^{0~-PgfYx` zzHQxA(Bx!`wC!(Imb=3UW1jIkQ3CeOkADRU=@G7ms0bsBVTND%gXUYT>?EjL`XB~V zhY`j!qdh6Q?pIX2gtbi6^0m7wj4;L-)dM!Ryk>PT$oQ(c+~X};7-38^G*C2qmCKJ* zb4k#CpXygw!w6%Vu@usX1%63kw7MJO*9CDHVazk^CzE@*fNCu3Ehz@y0Q(LjjDIlf z=M=x&Q2;-|;z_vl0Ra(47}E@ewC}ibn%Xa}T7`E1S@ji07}E?($Fed{cS70vJpt8a z!w6%ZQC?By$10q((y$q#!DZKAg%QR)!_HcJy_HgHyQ_n1g#+1z5ymuQahckx0ur#> z(JH~2L5aCN!U$uWVc%T4a-_A2BQ98IVa)|Cj4-Ad|NiMu4B6YR!M0(r0M+pa;wiqW TGV}PH00000NkvXXu0mjffT}wj literal 4261 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 E2cLQQbpQYW diff --git a/assets/img/blacktocat.png b/assets/img/blacktocat.png index 273d5710a2e0968d77584ad073e4a089fbfd7e68..ef9eb78e6c5af013df64d3c1cf28f1f97bd5920e 100644 GIT binary patch delta 237 zcmVZGIAsB^2~K#Hc*hA8|kyH n+*yEI`K!Y;oDmPxzmM}9c7t$jVJ_wf00000NkvXXu0mjfiG6Uj literal 1266 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 literal 30627 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󐁝Giq_A{SkrlI!(aSL4C1cXg#~A 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 diff --git a/assets/img/restful/gold/pagely.png b/assets/img/restful/gold/pagely.png index 5878fe32a2633434b7f0aacebb3d96c31fa1ce27..130f6d48a777c4e0a74b3ddc31f6149e994b3ef5 100644 GIT binary patch literal 4613 zcmai1c{r5c+kc)}43o9*knGZ8ibzROnk?DZtP!IkQle0nc#sl8LL=KC`yN@t*ixb_ zF?M5&ec#R4UVX3Y{ax?xulM|MU*~-8&pG#fpXEB&=Z(Iu8XKAq4FCX}hPsL&0KlMw z{vb2_z>-Onk^{g)U)xCaR%G}7{{A|BcVuRhP&J-XH<{f$UDP`JV{n-|x5e1m^UfR& z$fI~>40&V>Jxv{WnAmR}-4j?qX&qW|i0{M4kbSa;V=8H1yB6wu7Jm+{H1#c!dKMFE zCf*c{K1k@x{5JiV*dJRpUeGcdQ$e$e?)ma-uDO3XFrQ-izT4t`_os%bUn8sZ?cLGY z&GoGv+Wgkf!IiupGZA0L?BjZ)%4s$q$f3p5^7i??z5S*2?f9ArC}-r(2lD&!vAGq- z&hFmaDq~@7dv|YtVu2p~dGro}+ ox4&QbbM{HfKyCM;MP&Eu0!l;g(iUU4e{v(S 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 literal 10098 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 LYsi&6HxK@Q2s*l@ diff --git a/assets/img/restful/gold/pantheon.png b/assets/img/restful/gold/pantheon.png index da1b63fc820700237dcffc5f150dca5d6986af1c..e4e9aa7fc6632db6ccb555c719643874f6510cdd 100644 GIT binary patch literal 16119 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 diff --git a/assets/img/restful/platinum/pressed.png b/assets/img/restful/platinum/pressed.png index 7272e36a4e037d12f1c682c3637f741beaf4c8c3..ae601e829686b2cfc072308da902520f3f746237 100644 GIT binary patch literal 8172 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 V)w9EnAb;^0tjulA8cjg*{{#C(@CpC` literal 13771 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 diff --git a/assets/img/restful/silver/godaddy.png b/assets/img/restful/silver/godaddy.png index 373dfd15803ff9f2af7dfad245adb19d0e7a6d63..10b39480d44b7b41c0619b49a55f669e7811e6db 100644 GIT binary patch delta 17915 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 X;f!oMrMaV>jxoyW6teOJmhgW8;G9(w literal 41931 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%0A$FF8 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 literal 64194 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

    u*+AE6_c+%Z9n})17gq8>D9sEPt3~5` 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 MDV<9?qxazd0E$n4)c^nh diff --git a/assets/img/restful/silver/madewithlove.png b/assets/img/restful/silver/madewithlove.png index 7be24839dce388e5ef98a6b78b15a67bdbd29a03..66995aa351a3439f7a3219d9d7a13beb314d6882 100644 GIT binary patch literal 26163 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%0DS)n}s1jI1zhZC+BOBLWd z4GtGZ$-XQRTcJNW3mg2eU$W(Dh*P7ky%`L1M&i^Gt=QYp!73K@k<)wI8?(6=HB_)C zp7{O?T|8s?=>S!{_n>!6j$xh4F{IlJd?*$;l)yK@n=rPmjrdJ`ELA0QEuw2P$b2$V z^e!I*kCTnTZ9Z3KWd`ov&8&(S;zTomXb2%eeD{B_3st91>Q^#$N~C5vW3r;`0E2@I z;b=I%svWdqq}~|gTD$G%*<3uQ@%6R@)I|_WJ)d+TYGO_io>{7TEi^Jem+@E>BsT2U zVfcwT3an!gP)HHF(`(t{70Qu_8!}K4J7B)*9Zy`ad0c9>EeR|?=@sj(Z<807-_gM= z$~I@za<jI?udX)xR!Le$>Yw}O!;Fr!U4~#}=Faqi5^)Sw(=qK#DVifuyRq9@B_BvG8 zJ;>~IT1~OjU=@PYLORtm7;Ms@$a#6O3x_W5P%Yj<>-pEOxIQ94-p4&NffwH5A*C7oF{js~ z3w#Y?e+dB+Z^aL@os(9lhcLZvC-@I`0ncEJ1{bhJeZqQ$W?abSTvJ3|%6=*ICjy^? zz;e?z=wMdBHQ3sRavXgbj+w5=*rs>b(e{{U%-*i>n@qNUk_ERC{Mt~=>@qDARkI14OEm3jMY;tc`;3S2aJ$py43bx z3m3r`Y_zB<56fg_cZ!O%ht!;3tF4nt`JU+sfVT%U(_D^vt}dzL-OvmmWekguIrag# z_~C(rUvniJqz9amjDr+{3bag=3tE(Y6JN|VNBckR+Eg-Lh)5=Mlz<|L3cd*96J$xM z+=~UGrrm3t>5o_9<-zvWZQja@*xY{tZ+}e-pw2+o?V?)p&vKP30i-)k#7}Lb-|fL~ z6LdF$W*3=;Y4}m&uX_e)WNsWBcW)^Q`A1KS(?7C_iXa_0)dE?H!W)un0!UDif`L}j z(fdD~KQde+L1OivkjK9t&0H~_kw_oYA;m65Zr43!dEACUoqp*-IzU0#1-Q5<5$ z_dWv=;pKjUUfumG0!UkTz3q7s3>&^=@{i6_t=F`bFP*hJO{L5jzim){Di-~BtQM$2 zMKOgv1yb^vE*cY#!Lcu#PoLyERMxgP&0(3+X%Drh4AbyDrjd)7?Ab$Ja6J8o2i#j(a=5}es z9n7h#Hpr3tHFLyr5eTyndjby#+faHJTkl-%B(+8!QSZ)r?MT}*a=FY0;r;)$_vQak zx8MIvV@pZ)ZfgkHqq1e`mMkG<&0dN`)+~`>v?yzc>{KGz_npx~b}2-bv1i|77<|ub zyg!fc=lc(Qe|q0PnY($-bzSE=*SXGlp659)?y94I2T@ofnwMndT2XU6UF77yd9$vc zKV}G3&6+M$D4ZB+FOnF9M6TM~&|SXvU@jP&JmP+DRhtDHNd1zGmH(yoXAA5Ct9e

    N#?{2CcAITD~qW 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 BL%{$5 diff --git a/assets/img/restful/silver/themeisle.png b/assets/img/restful/silver/themeisle.png index 64535ebab9eaa233c049029bf70cbe8e024b9a8a..788a1104d8b4e8f803547fb14cf930f0cda0f7db 100644 GIT binary patch literal 3748 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 O00008MB)-H?jN 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 K;uE}A)c*kUl<2Ae diff --git a/assets/img/restful/silver/versionpress.png b/assets/img/restful/silver/versionpress.png index 8e63f96542a7c822a887d9c8fc994e3ade8d9189..ae6b036fe627746b7a3f011130a7cfc51586d0e8 100644 GIT binary patch literal 56482 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 literal 89774 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 CnzOe6 diff --git a/assets/img/restful/silver/wpengine.png b/assets/img/restful/silver/wpengine.png index 3fca748f6e07e8f4e7d18a8fc3a576304198988a..881570add2d9cd29854630e3ed38c5242a2689a6 100644 GIT binary patch literal 6331 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 g?(0nWLmzVcmxyg%s84KO!dg-F}4g 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Ï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 GzyAm7VY$fw diff --git a/assets/img/restful/silver/yoast.png b/assets/img/restful/silver/yoast.png index 9c8ad0c72080665ff53955caf62cb1a554907ed1..bdd21f783c39dfa67180ac9efd4699539c795d83 100644 GIT binary patch literal 7652 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 diff --git a/assets/img/wp-cli-man-page.png b/assets/img/wp-cli-man-page.png index daa4a9113b8ebc892361566618512639cd029473..ed046de1643f06a49505e208004b40ba87356d11 100644 GIT binary patch literal 32666 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 z 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 LZHl_%`RxAyNk+7z diff --git a/behat-data/codeispoetry.png b/behat-data/codeispoetry.png index 8d2f33f62ea1942e21f231fd6ea039d3b6cd798a..9f43822631c2ec5c9ba3fc0f3f7f773b6f0c9bec 100644 GIT binary patch delta 445 zcmV;u0Yd)we9Qxo8Gir(0049g5l8?40h38YK~#7F&6KH<12GIl=WB&cgH448n;MG_ zH4YXvHWhw3Y>>pYd|xgd)m@#r4*mlN_?flz2Cq_8EdaL{_W-cT;Ek_(yky3kVJ|wH z$BPEd7Cy@sYdiaKaHS4C8PKFbZ2F^MGJQi0v0op9d$ zU7LYP@iTQ8SsI`vI9w{gWzeMn3^@Tr0h2pm;`r!H=7yv}Hx?>TrSBeN+~H!W8n_to zUiXv(&%jZ{0iwYwQ5h`NkUUdFf$tPmk_DeBij3Xk@-Nj)F=o~#CGr3c6=$)^^*dD} zfJx5!n*vLcK7X`UQ`jE>@aauo9)x=hc!OwM(-)m>00>JJO5#uL?bt&J`j_KsvJu)OiOD8}PgRzuz z15)9-vA9V9n@0*T|4>1b$|WV%@auUo8q6|V0ABP-bv6LgHx*c$Iza7~&%T0H)#9*w nyyzb)+No+(J;%rJ;6LyHv{B{fAwBh#00000NkvXXu0mjf5ERE5 literal 15991 zcmeI3cUTkI7Qn~HzW4U2yYCYl_86>4GAV>Ih6oarAQ8kMU>`CAj3k+u86aT8-W&Gb zEB3Ca*n7u{U95;*v9EiRP{I}Fd;7lqbMirwbI(2J-1|G{+{{0BY((ddzg4YY6+w{S zG$HCp@HrCvSNqikyvOg~zY=`>#~c#NfU%mk|0>Ab`ECf}7e(n}*cfdXrl*Z!oS@@K zvDIh>vk^qu&T7W>NhB+XBNHf-zwlLdj!-}m{=#U5R-!crk%?4Dx`phT-dU$lPtyAl z!gi{vN-G8&7)cfvSd9h~gIWEBcE1?-ZW~600{av;$zK>~3n+-uMhJpv3n@^Dy+wM7 z)Jx#wCzdL_ef)ep1u`I`5?@p%5lQ?og&dQ}1jR3*sw()Vv=H%Fq`E_KI3W286Is@b zp=fGqsyJ0HrY#Am)X&ckmB>(;Oax|#m^2fMTSX?u-QlFfkD6rk7Rt<0v`Jv|i^tK) ztiMob3sm|l-j~r_8py;HvjY@SD{e-mVhLK25uq=&F(+FL_N5Velr)e=(!?^rPFkUz zIgw^*CXucrWU0E+z#u1DZE5TZ*K0IZ7@A>&QviZuq!n5+x->J1Mv@GjY|)d!DPSw^ z744p-;>(g#&XY}3>DoyvRf(BR<1n+Af+IspuvaX|LgFlK(b2R)<*2fV5`==FAbV8_ zT4`}TWwLQ?twdp?vW%DcBh@%dsz605L=ve;>ZOx-VG0>0k&7h0m_*{_#4!`{p`{5b zKCQ%uw@4xrN#r_-0t0U3z-5^ar zw@e*E;)H=Rk*XkIDbO&22%2OqY0e%>r#LyVw;84}F)VJumm$Yc;J;wjCA4u8F_s+R6MU*Wnfl z9P_xrX^w66e>Fq}Zhi_CLNTB@)1VaF^4^u~Uw+i7plo_GZed8$m8PX z18I3&5D;#W$HmPD((UlwxVZU1S{@e!gj?isar1$+JT3?bx5(q-<^ySYTo4d$k;lc&2h#Gm zARyc#kBgfRq~&ozK)6L77dIbB%j1H8aEm-HZa$Ef#{~i57I|FUd>}243j)F|a^k95 zc2|-#feVtU;3ni&^|Q0!7NtNR5~)Ry^yUbXF&sfY{{WxQ5F}ZGAO(F91e=W@b?MAL zM>`;h3lb5g3;yxrM|^zz)~#D_+_>@K!-okICKMJHE?&HN`0(LJj~<;lbEesBUbAM+ zg9i`x?%kV~mUjO9`5HB9xVpO5tXZ>Gty;Bf*RE5iPTjh7-Q3*j)vH&(e*Fdw8Z>O! zuu-E%jT<*^(xeI4X49rkg+igbyL+={&6+oF-l9c|mMvShYSpTB>((9~9&OsR@$~c* zi9}+t7)4QVmqIF)%49ORT<+!NrBEomy}_j=A75WzaHkT(u(oa6DwRrqe}9!q)vjH; zfPjF&z`*wH+Xn>&snzP>;NT7&I&|#VF(f2JqtS$hhIZ=IDJ(2ZtJQYy+&MfvJR%~Z zOP4N@k&#`ycGc;0QBhIdx^;_=j*f|miH(iz-o1N|9zA;Y?AfbVuim|T_vzE8Z{NN+ zj)MzSdcB??2$CcLu7rey#Kc63qWbmgmz0!bFc^$Rqse5VX&T__-@m`bVqqADW!dE9 z

    Ya5L0uwE}wS>FEOo3>Y|Y;GjW+1`i%QWXO<=jEtc}hYlMy3;-W7V#LUiBS(!I zHG1^uF=NJz9Xod1xN+mhj|WMaIC0{nNs}f|o;+pBl&MpvW@ctin>KCw^yxEZ%m6u> zHEY)F*|X=&nKO6p+)N$zv$C?*ty{N#{rU|XHf-Fuanq(vn>TOXvSkY>iEZ1qZQs6q$BrF4 zckbM^YuE1GyZ7wblbxLnDq-Kgef#(C&&kO-aNxkfg9i^CI&}E(;UhRXyK7IPknKNh4o;`Q&94MX(7cN}9c=6JuOS!qZmoHzwa^=d^t5>gG zyLSEhbx?tMd3iT)-n@0|*6rK3@7%d__wL<$_wL=le;<@zet!PLhYue;di415<0ns^ zJbn7~*|TQ_1qIKaKL-{2;>C-XFJHcT_3HKO*KgjudHeS5yLa#2zkd%(x~Qn=(-T16K+HoR`)tiibjPd^-ddU27seW$P=v7wL7cmLFFch4;M{M?cE^Rjco z`}*9P_a=SMiRhd8&B&I=_x`&OTW>7t!tM?kcqX_?L2A>WtH#g7t^r>PPt;%7!;)Fp zzhh>t)%(u6cr0H(f9tU7z8hZ@y58N@c3Ioiw{;PuIkc$B$qzXp$)m|T9~#z>Ru6C& z3cH1ScAW6bl4vSRMX8Aa`7bAo$zQp2$FHQi)6R!KV*0osuIH*ZF3KAnX1f}$3GS@k J(7x}mKLJDcUw8lj From d20b26bfe06c53b644644bb60a5c1ed945901b51 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 20 Jun 2016 08:53:59 -0700 Subject: [PATCH 653/839] Mention `wp scaffold package` much earlier It's helpful enough that that reader should know about it before they go about writing their command. --- docs/commands-cookbook/index.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/commands-cookbook/index.md b/docs/commands-cookbook/index.md index 042b77c3..fe8bdc09 100644 --- a/docs/commands-cookbook/index.md +++ b/docs/commands-cookbook/index.md @@ -11,7 +11,7 @@ quick_links: - Add to the package index --- -Creating your own custom WP-CLI command can be easier than it looks. +Creating your own custom WP-CLI command can be easier than it looks — and you can use `wp scaffold package` ([repo](https://github.com/wp-cli/scaffold-package-command)) to dynamically generate everything but the command itself. ## Overview @@ -30,6 +30,7 @@ Internal commands: Third-party commands: * Can be defined in plugins or themes. +* Can be easily scaffolded as standalone projects with `wp scaffold package` ([repo](https://github.com/wp-cli/scaffold-package-command)). * Can be distributed independent of a plugin or theme in the [Package Index](/package-index/). ## Anatomy of a command From e1154f1cd8ebdb38fc3ae9778a1dea5f34c0a01e Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 23 Jun 2016 02:32:41 -0700 Subject: [PATCH 654/839] Blog post about the future of WP-CLI --- _posts/2016-06-23-future-wp-cli.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 _posts/2016-06-23-future-wp-cli.md diff --git a/_posts/2016-06-23-future-wp-cli.md b/_posts/2016-06-23-future-wp-cli.md new file mode 100644 index 00000000..d7d74122 --- /dev/null +++ b/_posts/2016-06-23-future-wp-cli.md @@ -0,0 +1,27 @@ +--- +layout: post +author: danielbachhuber +title: The future of WP-CLI +--- + +As you might be aware, WP-CLI is an indespensible tool for many individuals and companies. We very much appreciate our community of users (although we have no idea how many of you there actually are), and want to ensure we have a great relationship with you for the years to come. + +Just over a month ago, I [started a Github issue](https://github.com/wp-cli/wp-cli/issues/2743) with this question: + +> how do I reduce WP-CLI's bus factor, and more generally lay a foundation for WP-CLI's long-term organizational stability? + +Although things seem to be going reasonably well now, I want to make sure we're taking steps towards ensuring the long-term continuity of the project. Today, Andreas (WP-CLI's founder) and I sat down for breakfast to discuss our options and how we want to proceed. + +Based on our conversations, we think the most important task is to reduce WP-CLI's bus factor and onboard one or more additional maintainers to focus on a few non-code roles: + +* Documentation - Help ensure WP-CLI's documentation is world-class. +* Marketing / community management - Help spread the word about WP-CLI. +* Support - Help WP-CLI users where they're asking questions, let it be Github, WordPress.org, Stack Exchange, or elsewhere. + +Contributions in these areas will always be welcome. Maintainership is a longer-term commitment to the project, focused on ongoing improvements to the specific area. WP-CLI expects its maintainers to commit a few hours per week to the project. + +At this time, we don't have plans to establish a legal WP-CLI organization. We've decided the operational complexities exceed the benefits. While many companies and individuals want to donate to WP-CLI, introducing money to the picture has the real possibility of causing more harm than good. Instead, we'll use Kickstarter to fund larger endeavors on an as-needed basis. + +If you would like to become a maintainer of WP-CLI in a non-code role, please email [info@wp-cli.org](mailto:info@wp-cli.org). Expect to participate in a trial period of 2-3 months. + +We have a Mailchimp mailing list now too. [Sign up](http://wp-cli.us13.list-manage.com/subscribe?u=0615e4d18f213891fc000adfd&id=8c61d7641e) for email notifications of new versions and occasional announcements about the project. From 1eecc500b3e6ce1d109961069645acb29b2a5d46 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 23 Jun 2016 02:34:23 -0700 Subject: [PATCH 655/839] Edits --- _posts/2016-06-23-future-wp-cli.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/_posts/2016-06-23-future-wp-cli.md b/_posts/2016-06-23-future-wp-cli.md index d7d74122..5b005b33 100644 --- a/_posts/2016-06-23-future-wp-cli.md +++ b/_posts/2016-06-23-future-wp-cli.md @@ -4,7 +4,7 @@ author: danielbachhuber title: The future of WP-CLI --- -As you might be aware, WP-CLI is an indespensible tool for many individuals and companies. We very much appreciate our community of users (although we have no idea how many of you there actually are), and want to ensure we have a great relationship with you for the years to come. +As you might be aware, WP-CLI is an indespensible tool for many individuals and companies. We very much appreciate our community of users (although we have no idea how many of you there actually are), and want to ensure our relationship is strong for the years to come. Just over a month ago, I [started a Github issue](https://github.com/wp-cli/wp-cli/issues/2743) with this question: @@ -25,3 +25,8 @@ At this time, we don't have plans to establish a legal WP-CLI organization. We'v If you would like to become a maintainer of WP-CLI in a non-code role, please email [info@wp-cli.org](mailto:info@wp-cli.org). Expect to participate in a trial period of 2-3 months. We have a Mailchimp mailing list now too. [Sign up](http://wp-cli.us13.list-manage.com/subscribe?u=0615e4d18f213891fc000adfd&id=8c61d7641e) for email notifications of new versions and occasional announcements about the project. + +Thanks, + +Daniel Bachhuber, maintainer +Andreas Creten, founder From 13f345c501a5f183818b01ddec8b935b195ac46d Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 23 Jun 2016 02:35:21 -0700 Subject: [PATCH 656/839] Edit --- _posts/2016-06-23-future-wp-cli.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-06-23-future-wp-cli.md b/_posts/2016-06-23-future-wp-cli.md index 5b005b33..d3ef156c 100644 --- a/_posts/2016-06-23-future-wp-cli.md +++ b/_posts/2016-06-23-future-wp-cli.md @@ -12,7 +12,7 @@ Just over a month ago, I [started a Github issue](https://github.com/wp-cli/wp-c Although things seem to be going reasonably well now, I want to make sure we're taking steps towards ensuring the long-term continuity of the project. Today, Andreas (WP-CLI's founder) and I sat down for breakfast to discuss our options and how we want to proceed. -Based on our conversations, we think the most important task is to reduce WP-CLI's bus factor and onboard one or more additional maintainers to focus on a few non-code roles: +Based on our conversation, we think the most important task is to reduce WP-CLI's bus factor and onboard one or more additional maintainers to focus on a few non-code roles: * Documentation - Help ensure WP-CLI's documentation is world-class. * Marketing / community management - Help spread the word about WP-CLI. From 126d179bc83662687ca2f70f8cc4d2d5e2a5af01 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 23 Jun 2016 02:36:01 -0700 Subject: [PATCH 657/839] Edit --- _posts/2016-06-23-future-wp-cli.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-06-23-future-wp-cli.md b/_posts/2016-06-23-future-wp-cli.md index d3ef156c..b38b9b10 100644 --- a/_posts/2016-06-23-future-wp-cli.md +++ b/_posts/2016-06-23-future-wp-cli.md @@ -4,7 +4,7 @@ author: danielbachhuber title: The future of WP-CLI --- -As you might be aware, WP-CLI is an indespensible tool for many individuals and companies. We very much appreciate our community of users (although we have no idea how many of you there actually are), and want to ensure our relationship is strong for the years to come. +As you might be aware, WP-CLI is an indispensable tool for many individuals and companies. We very much appreciate our community of users (although we have no idea how many of you there actually are), and want to ensure our relationship is strong for the years to come. Just over a month ago, I [started a Github issue](https://github.com/wp-cli/wp-cli/issues/2743) with this question: From 5c5fb6a1f053364cc1fe9975c973e8db3e3fa33f Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 23 Jun 2016 02:37:00 -0700 Subject: [PATCH 658/839] Line break --- _posts/2016-06-23-future-wp-cli.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-06-23-future-wp-cli.md b/_posts/2016-06-23-future-wp-cli.md index b38b9b10..d3849e17 100644 --- a/_posts/2016-06-23-future-wp-cli.md +++ b/_posts/2016-06-23-future-wp-cli.md @@ -28,5 +28,5 @@ We have a Mailchimp mailing list now too. [Sign up](http://wp-cli.us13.list-mana Thanks, -Daniel Bachhuber, maintainer +Daniel Bachhuber, maintainer
    Andreas Creten, founder From 88b8bfa1da29c669e07db66acacb49e353384af5 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 23 Jun 2016 02:38:15 -0700 Subject: [PATCH 659/839] More edits --- _posts/2016-06-23-future-wp-cli.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2016-06-23-future-wp-cli.md b/_posts/2016-06-23-future-wp-cli.md index d3849e17..d145be99 100644 --- a/_posts/2016-06-23-future-wp-cli.md +++ b/_posts/2016-06-23-future-wp-cli.md @@ -20,7 +20,7 @@ Based on our conversation, we think the most important task is to reduce WP-CLI' Contributions in these areas will always be welcome. Maintainership is a longer-term commitment to the project, focused on ongoing improvements to the specific area. WP-CLI expects its maintainers to commit a few hours per week to the project. -At this time, we don't have plans to establish a legal WP-CLI organization. We've decided the operational complexities exceed the benefits. While many companies and individuals want to donate to WP-CLI, introducing money to the picture has the real possibility of causing more harm than good. Instead, we'll use Kickstarter to fund larger endeavors on an as-needed basis. +At this time, we don't have plans to establish a legal WP-CLI organization. We've decided the operational complexities exceed the benefits. While many companies and individuals want to donate to WP-CLI, introducing money always has the possibility of causing more harm than good. Instead, we'll use Kickstarter to fund larger endeavors on an as-needed basis. If you would like to become a maintainer of WP-CLI in a non-code role, please email [info@wp-cli.org](mailto:info@wp-cli.org). Expect to participate in a trial period of 2-3 months. @@ -28,5 +28,5 @@ We have a Mailchimp mailing list now too. [Sign up](http://wp-cli.us13.list-mana Thanks, -Daniel Bachhuber, maintainer
    +Daniel Bachhuber, maintainer Andreas Creten, founder From 49799b30c6643ccae0ac1ad44faf53263e823ec6 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 23 Jun 2016 02:42:45 -0700 Subject: [PATCH 660/839] Update 2016-06-23-future-wp-cli.md --- _posts/2016-06-23-future-wp-cli.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-06-23-future-wp-cli.md b/_posts/2016-06-23-future-wp-cli.md index d145be99..7fc79034 100644 --- a/_posts/2016-06-23-future-wp-cli.md +++ b/_posts/2016-06-23-future-wp-cli.md @@ -20,7 +20,7 @@ Based on our conversation, we think the most important task is to reduce WP-CLI' Contributions in these areas will always be welcome. Maintainership is a longer-term commitment to the project, focused on ongoing improvements to the specific area. WP-CLI expects its maintainers to commit a few hours per week to the project. -At this time, we don't have plans to establish a legal WP-CLI organization. We've decided the operational complexities exceed the benefits. While many companies and individuals want to donate to WP-CLI, introducing money always has the possibility of causing more harm than good. Instead, we'll use Kickstarter to fund larger endeavors on an as-needed basis. +At this time, we don't have plans to establish a legal WP-CLI organization. We've decided the operational complexities exceed the benefits. While many companies and individuals want to donate to WP-CLI, introducing money always has the possibility of causing more harm than good. Instead, we'll use Kickstarter to fund larger endeavors (e.g. a logo and website redesign) on an as-needed basis. If you would like to become a maintainer of WP-CLI in a non-code role, please email [info@wp-cli.org](mailto:info@wp-cli.org). Expect to participate in a trial period of 2-3 months. From cf23b2e8fa9342e9436976e4548517557f86e9cc Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 27 Jun 2016 03:20:23 -0700 Subject: [PATCH 661/839] Generate the homepage from the project's README.md Rather than maintain two equivalent documents, let's just use one --- command.php | 40 ++++++++++++++ index.md | 154 ++++++++++++++++++++++++---------------------------- 2 files changed, 112 insertions(+), 82 deletions(-) diff --git a/command.php b/command.php index e1d68975..69153ad3 100644 --- a/command.php +++ b/command.php @@ -1,9 +1,49 @@ -
    +

    A more RESTful WP-CLI aims to unlocking the potential of the WP REST API at the command line. Project backed by Pressed, Chris Lema, Human Made, Pagely, Pantheon and many others. Learn more →

    -

    Requirements

    - -* UNIX-like environment (OS X, Linux, FreeBSD, Cygwin); limited support in Windows environment -* PHP 5.3.29 or later -* WordPress 3.7 or later +[![Build Status](https://travis-ci.org/wp-cli/wp-cli.png?branch=master)](https://travis-ci.org/wp-cli/wp-cli) [![Dependency Status](https://gemnasium.com/badges/github.com/wp-cli/wp-cli.svg)](https://gemnasium.com/github.com/wp-cli/wp-cli) -

    Installing (And Upgrading)

    +Quick links: [Using](#using) | [Installing](#installing) | [Support](#support) | [Extending](#extending) | [Contributing](#contributing) | [Credits](#credits) -First, download [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar) using `wget` or `curl`. For example: +For news and announcements, follow [@wpcli on Twitter](https://twitter.com/wpcli) or [sign up for our email newsletter](http://wp-cli.us13.list-manage.com/subscribe?u=0615e4d18f213891fc000adfd&id=8c61d7641e). -``` -curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -``` +## Using +WP-CLI's mission is to provide a command-line interface for any action you might want to perform in the WordPress dashboard. WP-CLI also includes commands for many things you can't do in the WordPress dashboard. -Then, check if it works: +For instance, `wp plugin install` ([doc](https://wp-cli.org/commands/plugin/install/)) lets you install and activate a WordPress plugin: ``` -php wp-cli.phar --info +$ wp plugin install rest-api --activate +Installing WordPress REST API (Version 2) (2.0-beta13) +Downloading install package from https://downloads.wordpress.org/plugin/rest-api.2.0-beta13.zip... +Unpacking the package... +Installing the plugin... +Plugin installed successfully. +Activating 'rest-api'... +Success: Plugin 'rest-api' activated. ``` -To be able to type just `wp`, instead of `php wp-cli.phar`, you need to make the file executable and move it to somewhere in your PATH. For example: +Similarly, `wp transient` ([doc](https://wp-cli.org/commands/transient/)) lets you delete one or all transients: ``` -chmod +x wp-cli.phar -sudo mv wp-cli.phar /usr/local/bin/wp +$ wp transient delete-all +Success: 34 transients deleted from the database. ``` -Now try running `wp --info`. - -Upgrade using the same procedure. +For a complete introduction to WP-CLI, read the [Quick Start guide](https://wp-cli.org/docs/quick-start/). -

    MAMP

    +Already feel comfortable with the basics? Jump into the [complete list of commands](https://wp-cli.org/commands/) for detailed information on managing themes and plugins, importing and exporting data, performing database search-replace operations and more. -If you're using MAMP, you will probably get a MySQL error, because the `php` found in your PATH is not the same as the PHP used by MAMP. Here is one way to [fix it](http://stackoverflow.com/a/29990624/333625). +## Installing -More resources: +We recommend installing WP-CLI through the Phar distribution mechanism: download the Phar build, mark it executable, and place it on your PATH. The complete instructions follow shortly. Should you need, see also our documentation on [alternative installation methods](https://wp-cli.org/docs/installing/). -* [Getting Started with WP-CLI](https://trepmal.com/2014/02/22/getting-started-with-wp-cli/) (includes video) -* [Alternative Installation Methods](/docs/installing/#alternative-installation-methods) +Before installing WP-CLI, please make sure your environment meets the minimum requirements: -

    Tab completions

    +- UNIX-like environment (OS X, Linux, FreeBSD, Cygwin); limited support in Windows environment +- PHP 5.3.29 or later +- WordPress 3.7 or later -WP-CLI also comes with a tab completion script for Bash. Just download [wp-completion.bash](https://github.com/wp-cli/wp-cli/raw/master/utils/wp-completion.bash) and source it from `~/.bash_profile`: +Once you've verified requirements, download the [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar) file using `wget` or `curl`. For example: ``` -source /FULL/PATH/TO/wp-completion.bash +$ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar ``` -(Don't forget to run `source ~/.bash_profile` afterwards) - -

    Using

    - -Go into a WordPress root folder: +Next, check if it is working: ``` -cd /var/www/wp/ +$ php wp-cli.phar --info ``` -Typing `wp` should show you output similar to this: +To use it from the command line by typing `wp`, make the file executable and move it to somewhere in your PATH. For example: ``` -Available commands: - wp blog create|delete - wp cache add|decr|delete|flush|get|incr|replace|set|type - wp comment create|delete|trash|untrash|spam|unspam|approve|unapprove|count|status|last - wp core download|config|is-installed|install|install-network|version|update|update-db - wp db create|drop|reset|optimize|repair|connect|cli|query|export|import - wp eval-file - ... - -See 'wp help ' for more information on a specific command. +$ chmod +x wp-cli.phar +$ sudo mv wp-cli.phar /usr/local/bin/wp ``` -Let's try to install the Hello Dolly plugin from wordpress.org: +If WP-CLI installed successfully, you should see something like this when you run `wp --info`: ``` -wp plugin install hello-dolly +$ wp --info +PHP binary: /usr/bin/php5 +PHP version: 5.5.9-1ubuntu4.14 +php.ini used: /etc/php5/cli/php.ini +WP-CLI root dir: /home/wp-cli/.wp-cli +WP-CLI packages dir: /home/wp-cli/.wp-cli/packages/ +WP-CLI global config: /home/wp-cli/.wp-cli/config.yml +WP-CLI project config: +WP-CLI version: 0.23.0 ``` -Output: +## Support -``` -Installing Hello Dolly (1.5) +WP-CLI's maintainers and project contributors do their best to respond to all new issues in a timely manner. To make the best use of their volunteered time, please first see if there may be an answer to your question in one of the following resources: -Downloading install package from http://downloads.WordPress.org/plugin/hello-dolly.1.5.zip ... -Unpacking the package ... -Installing the plugin ... -Plugin installed successfully. -``` +- [Common issues and their fixes](https://wp-cli.org/docs/common-issues/) +- [Best practices for submitting a bug report](https://wp-cli.org/docs/bug-reports/) +- [Documentation portal](https://wp-cli.org/docs/) -

    Multisite

    +If you have a WordPress.org account, you may also consider joining the `#cli` channel on the [WordPress.org Slack organization](https://make.wordpress.org/chat/). -On a multisite installation, you need to pass a `--url` parameter, so that WP-CLI knows which site it's supposed to be operating on: +## Extending -``` -wp theme status --url=localhost/wp/test -``` - -If you have a subdomain installation, it would look like this: - -``` -wp theme status --url=test.example.com -``` +A **command** is an atomic unit of WP-CLI functionality. `wp plugin install` ([doc](https://wp-cli.org/commands/plugin/install/)) is one command. `wp plugin activate` ([doc](https://wp-cli.org/commands/plugin/activate/)) is another. -If you're usually working on the same site most of the time, you can create a `wp-cli.yml` file in the root directory: +WP-CLI comes with dozens of commands. It's easier than it looks to create a custom WP-CLI command. Read the [commands cookbook](https://wp-cli.org/docs/commands-cookbook/) to learn more. -``` -url: test.example.com -``` +## Contributing -Then, you can call `wp` without the `--url` parameter again: +To get involved, please first read about [creating an issue](https://wp-cli.org/docs/bug-reports/) or [submitting a pull request](https://wp-cli.org/docs/pull-requests/). -``` -wp theme status -``` +### Leadership -

    Adding commands

    +* [Andreas Creten](https://github.com/andreascreten) - founder +* [Cristi Burcă](https://github.com/scribu) - previous maintainer +* [Daniel Bachhuber](https://github.com/danielbachhuber/) - current maintainer -Adding commands to WP-CLI is as easy as creating a PHP class. See the [Commands Cookbook](https://github.com/wp-cli/wp-cli/wiki/Commands-Cookbook) for more info. +Read more about the project's [Governance](https://wp-cli.org/docs/governance/) and view a [complete list of contributors](https://github.com/wp-cli/wp-cli/contributors). -Please share the commands you make by adding them to the [List of community commands](https://github.com/wp-cli/wp-cli/wiki/List-of-community-commands). +## Credits -

    Contributors

    +Besides the libraries defined in [composer.json](composer.json), we have used code or ideas from the following projects: -- [Contributor list](https://github.com/wp-cli/wp-cli/contributors) -- [Contributor guide](https://github.com/wp-cli/wp-cli/blob/master/CONTRIBUTING.md) +* [Drush](http://drush.ws/) for... a lot of things +* [wpshell](http://code.trac.wordpress.org/browser/wpshell) for `wp shell` +* [Regenerate Thumbnails](http://wordpress.org/plugins/regenerate-thumbnails/) for `wp media regenerate` +* [Search-Replace-DB](https://github.com/interconnectit/Search-Replace-DB) for `wp search-replace` +* [WordPress-CLI-Exporter](https://github.com/Automattic/WordPress-CLI-Exporter) for `wp export` +* [WordPress-CLI-Importer](https://github.com/Automattic/WordPress-CLI-Importer) for `wp import` +* [wordpress-plugin-tests](https://github.com/benbalter/wordpress-plugin-tests/) for `wp scaffold plugin-tests` From 2f16233a159f463a2df182febe362e6c107f45d2 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 27 Jun 2016 03:24:59 -0700 Subject: [PATCH 662/839] Fix layout definition --- command.php | 4 ++-- index.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/command.php b/command.php index 69153ad3..2bf6b1dd 100644 --- a/command.php +++ b/command.php @@ -33,10 +33,10 @@ function generate_homepage() { ====== EOT; $replace = << Date: Mon, 27 Jun 2016 03:47:44 -0700 Subject: [PATCH 663/839] Update homepage based on readme edits --- index.md | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/index.md b/index.md index 46846f3c..fc7f5732 100644 --- a/index.md +++ b/index.md @@ -5,6 +5,10 @@ title: Command line interface for WordPress [WP-CLI](https://wp-cli.org/) is a set of command-line tools for managing [WordPress](https://wordpress.org/) installations. You can update plugins, configure multisite installs and much more, without using a web browser. +To stay up to date, follow [@wpcli on Twitter](https://twitter.com/wpcli) or [sign up for our email newsletter](http://wp-cli.us13.list-manage.com/subscribe?u=0615e4d18f213891fc000adfd&id=8c61d7641e). + +[![Build Status](https://travis-ci.org/wp-cli/wp-cli.png?branch=master)](https://travis-ci.org/wp-cli/wp-cli) [![Dependency Status](https://gemnasium.com/badges/github.com/wp-cli/wp-cli.svg)](https://gemnasium.com/github.com/wp-cli/wp-cli) +
    Learn more →

    -[![Build Status](https://travis-ci.org/wp-cli/wp-cli.png?branch=master)](https://travis-ci.org/wp-cli/wp-cli) [![Dependency Status](https://gemnasium.com/badges/github.com/wp-cli/wp-cli.svg)](https://gemnasium.com/github.com/wp-cli/wp-cli) - -Quick links: [Using](#using) | [Installing](#installing) | [Support](#support) | [Extending](#extending) | [Contributing](#contributing) | [Credits](#credits) - -For news and announcements, follow [@wpcli on Twitter](https://twitter.com/wpcli) or [sign up for our email newsletter](http://wp-cli.us13.list-manage.com/subscribe?u=0615e4d18f213891fc000adfd&id=8c61d7641e). +Quick links: [Using](#using) | [Installing](#installing) | [Support](#support) | [Extending](#extending) | [Contributing](#contributing) | [Credits](#credits) ## Using -WP-CLI's mission is to provide a command-line interface for any action you might want to perform in the WordPress dashboard. WP-CLI also includes commands for many things you can't do in the WordPress dashboard. - -For instance, `wp plugin install` ([doc](https://wp-cli.org/commands/plugin/install/)) lets you install and activate a WordPress plugin: +WP-CLI's goal is to provide a command-line interface for any action you might want to perform in the WordPress admin. For instance, `wp plugin install` ([doc](https://wp-cli.org/commands/plugin/install/)) lets you install and activate a WordPress plugin: ``` $ wp plugin install rest-api --activate @@ -39,20 +37,20 @@ Activating 'rest-api'... Success: Plugin 'rest-api' activated. ``` -Similarly, `wp transient` ([doc](https://wp-cli.org/commands/transient/)) lets you delete one or all transients: +WP-CLI also includes commands for many things you can't do in the WordPress admin. For example, `wp transient delete-all` ([doc](https://wp-cli.org/commands/transient/delete-all/)) lets you delete one or all transients: ``` $ wp transient delete-all Success: 34 transients deleted from the database. ``` -For a complete introduction to WP-CLI, read the [Quick Start guide](https://wp-cli.org/docs/quick-start/). +For a more complete introduction to using WP-CLI, read the [Quick Start guide](https://wp-cli.org/docs/quick-start/). Already feel comfortable with the basics? Jump into the [complete list of commands](https://wp-cli.org/commands/) for detailed information on managing themes and plugins, importing and exporting data, performing database search-replace operations and more. ## Installing -We recommend installing WP-CLI through the Phar distribution mechanism: download the Phar build, mark it executable, and place it on your PATH. The complete instructions follow shortly. Should you need, see also our documentation on [alternative installation methods](https://wp-cli.org/docs/installing/). +Downloading the Phar file is our recommended installation method. Should you need, see also our documentation on [alternative installation methods](https://wp-cli.org/docs/installing/). Before installing WP-CLI, please make sure your environment meets the minimum requirements: @@ -60,7 +58,7 @@ Before installing WP-CLI, please make sure your environment meets the minimum re - PHP 5.3.29 or later - WordPress 3.7 or later -Once you've verified requirements, download the [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar) file using `wget` or `curl`. For example: +Once you've verified requirements, download the [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar) file using `wget` or `curl`: ``` $ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar @@ -72,14 +70,14 @@ Next, check if it is working: $ php wp-cli.phar --info ``` -To use it from the command line by typing `wp`, make the file executable and move it to somewhere in your PATH. For example: +To use WP-CLI from the command line by typing `wp`, make the file executable and move it to somewhere in your PATH. For example: ``` $ chmod +x wp-cli.phar $ sudo mv wp-cli.phar /usr/local/bin/wp ``` -If WP-CLI installed successfully, you should see something like this when you run `wp --info`: +If WP-CLI was installed successfully, you should see something like this when you run `wp --info`: ``` $ wp --info @@ -93,6 +91,8 @@ WP-CLI project config: WP-CLI version: 0.23.0 ``` +You can update WP-CLI with `wp cli update` ([doc](https://wp-cli.org/commands/cli/update/)), or by repeating the installation steps. + ## Support WP-CLI's maintainers and project contributors do their best to respond to all new issues in a timely manner. To make the best use of their volunteered time, please first see if there may be an answer to your question in one of the following resources: @@ -115,11 +115,11 @@ To get involved, please first read about [creating an issue](https://wp-cli.org/ ### Leadership -* [Andreas Creten](https://github.com/andreascreten) - founder -* [Cristi Burcă](https://github.com/scribu) - previous maintainer * [Daniel Bachhuber](https://github.com/danielbachhuber/) - current maintainer +* [Cristi Burcă](https://github.com/scribu) - previous maintainer +* [Andreas Creten](https://github.com/andreascreten) - founder -Read more about the project's [Governance](https://wp-cli.org/docs/governance/) and view a [complete list of contributors](https://github.com/wp-cli/wp-cli/contributors). +Read more about the project's [governance](https://wp-cli.org/docs/governance/) and view a [complete list of contributors](https://github.com/wp-cli/wp-cli/contributors). ## Credits From 4e3beecf019000d5de6137e5da92b5409affbe4c Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 27 Jun 2016 05:29:52 -0700 Subject: [PATCH 664/839] Mention Mailchimp account for newsletter --- docs/governance/index.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/governance/index.md b/docs/governance/index.md index 90b4b8f4..625c65fb 100644 --- a/docs/governance/index.md +++ b/docs/governance/index.md @@ -13,12 +13,13 @@ description: Summary of those behind WP-CLI. * [wpcli](https://twitter.com/wpcli) twitter account * [wp-cli-commits](https://groups.google.com/forum/?fromgroups#!forum/wp-cli-commits) mailing list * [Cloudflare](https://www.cloudflare.com/) CDN account +* [Mailchimp](http://mailchimp.com/) email newsletter account ### Who controls the wp-cli.org site? The domain currently owned by [andreascreten](https://github.com/andreascreten). -The entire site is hosted on Github Pages: +The entire site is hosted on Github Pages, using Cloudflare for SSL: | **URL** | **Repository** | **Branch** | **Updates** |:---------------------------------|:------------------------------|:-----------|:------------ From 445232b04dbcf0af12262fa9220b06a14382d202 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 27 Jun 2016 07:15:16 -0700 Subject: [PATCH 665/839] Link to WP StackExchange and Github issue backlog --- index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/index.md b/index.md index fc7f5732..0541ec48 100644 --- a/index.md +++ b/index.md @@ -100,6 +100,8 @@ WP-CLI's maintainers and project contributors do their best to respond to all ne - [Common issues and their fixes](https://wp-cli.org/docs/common-issues/) - [Best practices for submitting a bug report](https://wp-cli.org/docs/bug-reports/) - [Documentation portal](https://wp-cli.org/docs/) +- [Open or closed issues on Github](https://github.com/wp-cli/wp-cli/issues?utf8=%E2%9C%93&q=is%3Aissue) +- [WordPress StackExchange forums](http://wordpress.stackexchange.com/questions/tagged/wp-cli) If you have a WordPress.org account, you may also consider joining the `#cli` channel on the [WordPress.org Slack organization](https://make.wordpress.org/chat/). From 95dbb3b816102e06a7243f9fa85c1643a95bb51f Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 27 Jun 2016 07:42:15 -0700 Subject: [PATCH 666/839] Add Is it maintained? chicklets to readme --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index 0541ec48..26c1d0b7 100644 --- a/index.md +++ b/index.md @@ -7,7 +7,7 @@ title: Command line interface for WordPress To stay up to date, follow [@wpcli on Twitter](https://twitter.com/wpcli) or [sign up for our email newsletter](http://wp-cli.us13.list-manage.com/subscribe?u=0615e4d18f213891fc000adfd&id=8c61d7641e). -[![Build Status](https://travis-ci.org/wp-cli/wp-cli.png?branch=master)](https://travis-ci.org/wp-cli/wp-cli) [![Dependency Status](https://gemnasium.com/badges/github.com/wp-cli/wp-cli.svg)](https://gemnasium.com/github.com/wp-cli/wp-cli) +[![Build Status](https://travis-ci.org/wp-cli/wp-cli.png?branch=master)](https://travis-ci.org/wp-cli/wp-cli) [![Dependency Status](https://gemnasium.com/badges/github.com/wp-cli/wp-cli.svg)](https://gemnasium.com/github.com/wp-cli/wp-cli) [![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/wp-cli/wp-cli.svg)](http://isitmaintained.com/project/wp-cli/wp-cli "Average time to resolve an issue") [![Percentage of issues still open](http://isitmaintained.com/badge/open/wp-cli/wp-cli.svg)](http://isitmaintained.com/project/wp-cli/wp-cli "Percentage of issues still open")
    + diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 5352a1b4..6b1d74bd 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -211,7 +211,7 @@ code { } /* Oh I want SASS here */ h3 > code { - + display: inline-block; margin-bottom: 0.5em; padding-bottom: 0; @@ -302,7 +302,7 @@ header h1 a:active { header h1:before { content: ". / "; - + letter-spacing: 1px; } @@ -380,7 +380,7 @@ footer { color: #292929; } .main-nav .rounded:hover { - color: #7AD03A; + color: #7AD03A; } /* Search in header */ @@ -389,7 +389,7 @@ footer { width: 200px; background: #292929; color: #f1f1f1; - + -webkit-transition-duration: 400ms; -webkit-transition-property: width, background; -webkit-transition-timing-function: ease; @@ -484,7 +484,7 @@ body.display-global-parameters #main_content { padding-left: 30px } -@media (max-width: 690px) { +@media (max-width: 690px) { .global-parameters { width: auto; margin:0; @@ -521,12 +521,12 @@ body.command-line-interface-for-wordpress .global-parameters, body.configuration .global-parameters{ display: none; background: green; -} +} body.configuration .global-parameters{ display: none; background: green; -} +} .blog aside.global-parameters { @@ -690,6 +690,19 @@ hr:after, width: 150px; } +/* i18n menu */ +.cf .container +{ + position: relative; +} + +.cf .container select +{ + position: absolute; + top: 0px; + right: 0px; +} + @media screen and (-webkit-min-device-pixel-ratio:0) { header h2, .main-nav a { diff --git a/assets/js/i18n.js b/assets/js/i18n.js new file mode 100644 index 00000000..0e215c5d --- /dev/null +++ b/assets/js/i18n.js @@ -0,0 +1,18 @@ +( function( $ ) { + var select = $( ' + +{% for lang in site.languages %} + +{% endfor %} + diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 6b1d74bd..d6dba707 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -696,7 +696,7 @@ hr:after, position: relative; } -.cf .container select +.cf .container .languages { position: absolute; top: 0px; diff --git a/assets/js/i18n.js b/assets/js/i18n.js index 0e215c5d..87e042df 100644 --- a/assets/js/i18n.js +++ b/assets/js/i18n.js @@ -1,16 +1,5 @@ ( function( $ ) { - var select = $( ' + + + From bd1d42a0bf22758b026ed9b89021cc815e83d43e Mon Sep 17 00:00:00 2001 From: bordoni Date: Sat, 2 Jul 2016 14:14:15 -0300 Subject: [PATCH 695/839] Actually pass the Use Strict statement --- _includes/languages.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_includes/languages.html b/_includes/languages.html index 4d54ac13..8cb87684 100644 --- a/_includes/languages.html +++ b/_includes/languages.html @@ -7,6 +7,8 @@ From d15987bc50b2742dff7c36d722135720936321ef Mon Sep 17 00:00:00 2001 From: miya0001 Date: Sun, 3 Jul 2016 11:31:49 +0900 Subject: [PATCH 700/839] update contribute in index.md --- ja/index.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ja/index.md b/ja/index.md index ef1a9a08..b53405bc 100644 --- a/ja/index.md +++ b/ja/index.md @@ -117,6 +117,14 @@ WP-CLI は、多くのコマンドにより構成されており、カスタム 開発に参加するには、まずはじめに [creating an issue](https://wp-cli.org/docs/bug-reports/) or [submitting a pull request](https://wp-cli.org/docs/pull-requests/) を読んでください。 +ようこそ、そしてありがとう! + +私たちは、みなさんが率先して貢献してくれることに感謝しています。あなたやあなたのまわりのコミュニティによって、WP-CLIはすばらしいプロジェクトになります。 + +**貢献は単にコードだけではありません。** 私たちは、チュートリアルを書く、地元のミートアップでデモを行う、ユーザーの質問への回答、ドキュメントの改訂など、あなたの日々の活動に応じた貢献をお願いしています。 + +すこしだけ時間を使って[ガイドラインをよく読んでください](https://wp-cli.org/docs/contributing/)。ここに書かれていることに従うことで、本プロジェクトの他の貢献者たちとのコミュニケーションを円滑にすることができます。彼らは、世界をまたがってあなたと一緒に働くことに、最大限の敬意を払う努力をします。 + ### プロジェクトリーダー * [Daniel Bachhuber](https://github.com/danielbachhuber/) - current maintainer From a89f2807fb67b50436d50e6712c236229b08c089 Mon Sep 17 00:00:00 2001 From: miya0001 Date: Sun, 3 Jul 2016 11:40:34 +0900 Subject: [PATCH 701/839] translate some text --- ja/index.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/ja/index.md b/ja/index.md index b53405bc..0c0f6353 100644 --- a/ja/index.md +++ b/ja/index.md @@ -105,9 +105,11 @@ WP-CLI のメンテナーとプロジェクトの貢献者たちは、新しい - [Open or closed issues on Github](https://github.com/wp-cli/wp-cli/issues?utf8=%E2%9C%93&q=is%3Aissue) - [WordPress StackExchange forums](http://wordpress.stackexchange.com/questions/tagged/wp-cli) +もしこれらのリソースから回答を見つけられなかった場合、ご自由にあなたの質問を[Issueを書いてください](https://github.com/wp-cli/wp-cli/issues/new)。 + もしあなたが WordPress.org のアカウントを持っているなら、[WordPress.org Slack organization](https://make.wordpress.org/chat/) の`#cli`チャンネルに参加することもできます。 -## Extending +## 拡張 それぞれの **コマンド** は、WP-CLI の関数の一つとして定義されています。`wp plugin install` ([doc](https://wp-cli.org/commands/plugin/install/)) はそのうちのひとつであり、`wp plugin activate` ([doc](https://wp-cli.org/commands/plugin/activate/)) は別のもうひとつです。 @@ -127,9 +129,11 @@ WP-CLI は、多くのコマンドにより構成されており、カスタム ### プロジェクトリーダー -* [Daniel Bachhuber](https://github.com/danielbachhuber/) - current maintainer -* [Cristi Burcă](https://github.com/scribu) - previous maintainer -* [Andreas Creten](https://github.com/andreascreten) - founder +WP-CLIは以下の個人によってリードされています。 + +* [Daniel Bachhuber](https://github.com/danielbachhuber/) - 現在のメンテナー +* [Cristi Burcă](https://github.com/scribu) - 前メンテナー +* [Andreas Creten](https://github.com/andreascreten) - 創始者 プロジェクトの[ガバナンス](https://wp-cli.org/docs/governance/)と[完全な貢献者リスト](https://github.com/wp-cli/wp-cli/contributors)も読んでください。 From 6dcd27efe845c24c9d6b5c8711b3cb90d9ef2693 Mon Sep 17 00:00:00 2001 From: taianunes Date: Sun, 3 Jul 2016 00:43:04 -0300 Subject: [PATCH 702/839] =?UTF-8?q?pt-br=20translation=20for=20`Using`=20a?= =?UTF-8?q?nd=20introduction=20adjust=20=20on=20`=C3=ACndex.md`=20file?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- br/index.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/br/index.md b/br/index.md index d83d4531..8df92b89 100644 --- a/br/index.md +++ b/br/index.md @@ -21,11 +21,11 @@ Para manter-se atualizado, siga [@wpcli no Twitter](https://twitter.com/wpcli) o

    O projeto "WP-CLI mais RESTful" visa proporcionar todo o potencial da linha de comando para a WP REST API e é apoiado por Pressed, Chris Lema, Human Made, Pagely, Pantheon e muitos outros. Saiba mais →

    -Links rápidos: [Usando](#using) | [Instalando](#installing) | [Suporte](#support) | [Extendendo](#extending) | [Contribuindo](#contributing) | [Creditos](#credits) +Links rápidos: [Usando](#usando) | [Instalando](#instalando) | [Suporte](#suporte) | [Extendendo](#extendendo) | [Contribuindo](#contribuindo) | [Creditos](#creditos) -## Using +## Usando -WP-CLI's goal is to provide a command-line interface for any action you might want to perform in the WordPress admin. For instance, `wp plugin install --activate` ([doc](https://wp-cli.org/commands/plugin/install/)) lets you install and activate a WordPress plugin: +O objetivo da WP-CLI é fornecer uma interface em linha de comando para qualquer ação que você queira executar na administração do WordPress. Por exemplo `wp plugin install --activate` ([doc](https://wp-cli.org/commands/plugin/install/)) permite a instação e ativação de um plugin WordPress: ``` $ wp plugin install rest-api --activate @@ -38,16 +38,16 @@ Activating 'rest-api'... Success: Plugin 'rest-api' activated. ``` -WP-CLI also includes commands for many things you can't do in the WordPress admin. For example, `wp transient delete-all` ([doc](https://wp-cli.org/commands/transient/delete-all/)) lets you delete one or all transients: +WP-CLI também inclui muitos comandos para ações que não são possíveis através da administração do WordPress. Por exemplo, `wp transient delete-all` ([doc](https://wp-cli.org/commands/transient/delete-all/)) permite deletar uma ou todas as transientes: ``` $ wp transient delete-all Success: 34 transients deleted from the database. ``` -For a more complete introduction to using WP-CLI, read the [Quick Start guide](https://wp-cli.org/docs/quick-start/). +Para uma introdução mais completa sobre como usar a WP-CLI, leia o [Guia rápido](https://wp-cli.org/docs/quick-start/). -Already feel comfortable with the basics? Jump into the [complete list of commands](https://wp-cli.org/commands/) for detailed information on managing themes and plugins, importing and exporting data, performing database search-replace operations and more. +Já se sente confortável com o básico? Vá para a [lista completa de comandos](https://wp-cli.org/commands/) para obter informações detalhadas na gestão de temas e plugins, importação e exportação de dados, operações de busca e substituição no banco de dados e muito mais. ## Installing From d49bb95577a8012736b5745b0b19ca372b44635e Mon Sep 17 00:00:00 2001 From: taianunes Date: Sun, 3 Jul 2016 01:29:21 -0300 Subject: [PATCH 703/839] =?UTF-8?q?pt-br=20translation=20for=20`Installing?= =?UTF-8?q?`=20on=20`=C3=ACndex.md`=20file?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- br/index.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/br/index.md b/br/index.md index 8df92b89..1244d7f8 100644 --- a/br/index.md +++ b/br/index.md @@ -49,36 +49,36 @@ Para uma introdução mais completa sobre como usar a WP-CLI, leia o [Guia rápi Já se sente confortável com o básico? Vá para a [lista completa de comandos](https://wp-cli.org/commands/) para obter informações detalhadas na gestão de temas e plugins, importação e exportação de dados, operações de busca e substituição no banco de dados e muito mais. -## Installing +## Instalando -Downloading the Phar file is our recommended installation method. Should you need, see also our documentation on [alternative installation methods](https://wp-cli.org/docs/installing/). +Realizar o download do arquivo Phar é o método de instalação que recomendamos. Caso precise, nossa documentação para [métodos alternativos de instação](https://wp-cli.org/docs/installing/). -Before installing WP-CLI, please make sure your environment meets the minimum requirements: +Antes instalar a WP-CLI, certifique-se que seu ambiente possua os requesitos mínimos: -- UNIX-like environment (OS X, Linux, FreeBSD, Cygwin); limited support in Windows environment -- PHP 5.3.29 or later -- WordPress 3.7 or later +- Ambiente UNIX-like (OS X, Linux, FreeBSD, Cygwin); suporte limitado para ambientes Windows +- PHP 5.3.29 ou superior +- WordPress 3.7 ou superior -Once you've verified requirements, download the [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar) file using `wget` or `curl`: +Após verificar os requesitos, faça o download do arquivo [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar) usando `wget` ou `curl`: ``` $ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar ``` -Next, check if it is working: +Em seguida, verifique se está funcionando: ``` $ php wp-cli.phar --info ``` -To use WP-CLI from the command line by typing `wp`, make the file executable and move it to somewhere in your PATH. For example: +Digite `wp` para utilizar WP-CLI a partir da linha de comando, torne o arquivo executável e mova-o para algum diretório presente em sua variável de ambiente PATH. For example: ``` $ chmod +x wp-cli.phar $ sudo mv wp-cli.phar /usr/local/bin/wp ``` -If WP-CLI was installed successfully, you should see something like this when you run `wp --info`: +Se WP-CLI foi instalado com sucesso, ao executar `wp --info` você deverá ver algo como: ``` $ wp --info @@ -92,9 +92,9 @@ WP-CLI project config: WP-CLI version: 0.23.0 ``` -You can update WP-CLI with `wp cli update` ([doc](https://wp-cli.org/commands/cli/update/)), or by repeating the installation steps. +WP-CLI pode ser atualizado com `wp cli update` ([doc](https://wp-cli.org/commands/cli/update/)), ou repetindo os passos da instalação. -Want to live life on the edge? Run `wp cli update --nightly` to use the latest nightly build of WP-CLI. The nightly build is more or less stable enough for you to use in your development environment, and always includes the latest and greatest WP-CLI features. +Quer viver a vida no limite? Execute `wp cli update --nightly` para usar a última compilação noturna da WP-CLI. A compilação noturna é bastante estável para utilizar em seu ambiente de desenvolvimento, e sempre inclui as melhores e mais atuais funcionalidades da WP-CLI. ## Support From dd98da68d9adec8537befc7d6f01e5ce40dd083e Mon Sep 17 00:00:00 2001 From: bordoni Date: Sun, 3 Jul 2016 15:25:49 -0300 Subject: [PATCH 704/839] Improves Language selection JS to allow other folders (better logic moving forward) --- _includes/languages.html | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/_includes/languages.html b/_includes/languages.html index 9bb55f3e..2c44f118 100644 --- a/_includes/languages.html +++ b/_includes/languages.html @@ -25,11 +25,10 @@ count = opts.length; for ( var i = 0; i < count; i++ ){ - if ( -1 === opts[ i ].value.indexOf( window.location.pathname ) ) { - continue; + // Only happens if you have language path on the start of the location.pathname + if ( 0 === window.location.pathname.indexOf( opts[ i ].value ) ) { + opts[ i ].setAttribute( 'selected', 'selected' ); } - - opts[ i ].setAttribute( 'selected', 'selected' ); } } )(); From 7faa3b2f302c4736f57e12331918a50e54c1ed99 Mon Sep 17 00:00:00 2001 From: taianunes Date: Sun, 3 Jul 2016 17:30:46 -0300 Subject: [PATCH 705/839] =?UTF-8?q?pt-br=20translation=20for=20`Support`?= =?UTF-8?q?=20on=20`=C3=ACndex.md`=20file?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- br/index.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/br/index.md b/br/index.md index 1244d7f8..8ef72f16 100644 --- a/br/index.md +++ b/br/index.md @@ -38,7 +38,7 @@ Activating 'rest-api'... Success: Plugin 'rest-api' activated. ``` -WP-CLI também inclui muitos comandos para ações que não são possíveis através da administração do WordPress. Por exemplo, `wp transient delete-all` ([doc](https://wp-cli.org/commands/transient/delete-all/)) permite deletar uma ou todas as transientes: +WP-CLI também inclui muitos comandos para ações que não são possíveis através da administração do WordPress. Por exemplo, `wp transient delete-all` ([doc](https://wp-cli.org/commands/transient/delete-all/)) permite deletar uma ou todas as transients: ``` $ wp transient delete-all @@ -94,21 +94,21 @@ WP-CLI version: 0.23.0 WP-CLI pode ser atualizado com `wp cli update` ([doc](https://wp-cli.org/commands/cli/update/)), ou repetindo os passos da instalação. -Quer viver a vida no limite? Execute `wp cli update --nightly` para usar a última compilação noturna da WP-CLI. A compilação noturna é bastante estável para utilizar em seu ambiente de desenvolvimento, e sempre inclui as melhores e mais atuais funcionalidades da WP-CLI. +Quer viver a vida no limite? Execute `wp cli update --nightly` para usar a última compilação de desenvolvimento da WP-CLI. Essa versão é bastante estável para utilizar em seu ambiente de desenvolvimento, e sempre inclui as melhores e mais atuais funcionalidades da WP-CLI. -## Support +## Suporte -WP-CLI's maintainers and project contributors do their best to respond to all new issues in a timely manner. To make the best use of their volunteered time, please first see if there may be an answer to your question in one of the following resources: +Os colaboradores do projeto WP-CLI fazem seu melhor para rsponder a todos os problemas assim que possível. Para que possamos fazer melhor uso do tempo dos voluntários, verifique se já existe uma resposta para sua pergunta em umas das fontes abaixo: -- [Common issues and their fixes](https://wp-cli.org/docs/common-issues/) -- [Best practices for submitting a bug report](https://wp-cli.org/docs/bug-reports/) -- [Documentation portal](https://wp-cli.org/docs/) -- [Open or closed issues on Github](https://github.com/wp-cli/wp-cli/issues?utf8=%E2%9C%93&q=is%3Aissue) -- [WordPress StackExchange forums](http://wordpress.stackexchange.com/questions/tagged/wp-cli) +- [Problemas comuns e suas respostas](https://wp-cli.org/docs/common-issues/) +- [Melhores práticas para informar um problema](https://wp-cli.org/docs/bug-reports/) +- [Portal de documentação](https://wp-cli.org/docs/) +- [Problemas abertos ou fechados no Github](https://github.com/wp-cli/wp-cli/issues?utf8=%E2%9C%93&q=is%3Aissue) +- [Forum WordPress no StackExchange](http://wordpress.stackexchange.com/questions/tagged/wp-cli) -If you can't find your answer in one of those existing resources, feel free to [create an issue](https://github.com/wp-cli/wp-cli/issues/new) with your question. +Caso não encontre uma resposta na fontes existentes, fique a vontade para [abrir um issues](https://github.com/wp-cli/wp-cli/issues/new) com sua pergunta. -If you have a WordPress.org account, you may also consider joining the `#cli` channel on the [WordPress.org Slack organization](https://make.wordpress.org/chat/). +Se você possui uma conta WordPress.org, considere se inscrever no canal `#cli` no [Slack do WordPress.org](https://make.wordpress.org/chat/). ## Extending From 0a7455aa379063360af18496ed994e3054d9b32a Mon Sep 17 00:00:00 2001 From: taianunes Date: Sun, 3 Jul 2016 18:08:54 -0300 Subject: [PATCH 706/839] =?UTF-8?q?pt-br=20translation=20for=20`Contributi?= =?UTF-8?q?ng`=20on=20`=C3=ACndex.md`=20file?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- br/index.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/br/index.md b/br/index.md index 8ef72f16..13a15b82 100644 --- a/br/index.md +++ b/br/index.md @@ -110,21 +110,21 @@ Caso não encontre uma resposta na fontes existentes, fique a vontade para [abri Se você possui uma conta WordPress.org, considere se inscrever no canal `#cli` no [Slack do WordPress.org](https://make.wordpress.org/chat/). -## Extending +## Extendento -A **command** is an atomic unit of WP-CLI functionality. `wp plugin install` ([doc](https://wp-cli.org/commands/plugin/install/)) is one command. `wp plugin activate` ([doc](https://wp-cli.org/commands/plugin/activate/)) is another. +Um **commando** é uma unidade singular de uma funcionalidade WP-CLI. `wp plugin install` ([doc](https://wp-cli.org/commands/plugin/install/)) é um comando. `wp plugin activate` ([doc](https://wp-cli.org/commands/plugin/activate/)) é outro. -WP-CLI comes with dozens of commands. It's easier than it looks to create a custom WP-CLI command. Read the [commands cookbook](https://wp-cli.org/docs/commands-cookbook/) to learn more. Browse the [internal API docs](https://wp-cli.org/docs/internal-api/) to discover a variety of helpful functions you can use in your custom WP-CLI command. +WP-CLI vem com muitos comandos. Criar um comando personalizado para WP-CLi é mais fácil do que parece. Leia o [livro de receitas de comandos](https://wp-cli.org/docs/commands-cookbook/) para aprender mais. Procure a [documentação de API interna](https://wp-cli.org/docs/internal-api/) para descobrir a variedade de funcionalidades úteis que você pode utilizar no seu comando personalizado para WP-CLI. -## Contributing +## Contribuindo -Welcome and thanks! +Seja bem vindo e obrigado! -We appreciate you taking the initiative to contribute to WP-CLI. It’s because of you, and the community around you, that WP-CLI is such a great project. +Nós agradecemos sua iniciativa em contribuir com a WP-CLI. É por sua causa e a comunidade a sua volta, que a WP-CLI se tornou um grande projeto. -**Contributing 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. +**Contribuição não está limitado a somente código.** Te encorajamos a contribuir da maneira que melhor se encaixe em suas habilidades, escrevendo tutoriais, com demonstrações em palestras locais, ajudar outros usuários respondendo suas perguntas no suporte, ou revisando nossa documentação. -Please take a moment to [read these guidelines at depth](https://wp-cli.org/docs/contributing/). Following them helps to communicate that you respect the time of the other contributors to the project. In turn, they’ll do their best to reciprocate that respect when working with you, across timezones and around the world. +De uma olhada com atenção [nesse guia](https://wp-cli.org/docs/contributing/). Seguindo esses passos você estará respeitando o tempo dos outros colaboradoes. Por sua vez, eles farão o melhor para retribuir esse respeito no trabalho com você, nos diferentes fusos horários e em todo o mundo. ## Leadership From e303e57e579374142fb91ede5fd9efae539561a2 Mon Sep 17 00:00:00 2001 From: miya0001 Date: Mon, 4 Jul 2016 06:18:43 +0900 Subject: [PATCH 707/839] remove old line --- ja/index.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/ja/index.md b/ja/index.md index 0c0f6353..92448dd5 100644 --- a/ja/index.md +++ b/ja/index.md @@ -117,8 +117,6 @@ WP-CLI は、多くのコマンドにより構成されており、カスタム ## 貢献 -開発に参加するには、まずはじめに [creating an issue](https://wp-cli.org/docs/bug-reports/) or [submitting a pull request](https://wp-cli.org/docs/pull-requests/) を読んでください。 - ようこそ、そしてありがとう! 私たちは、みなさんが率先して貢献してくれることに感謝しています。あなたやあなたのまわりのコミュニティによって、WP-CLIはすばらしいプロジェクトになります。 From f03af248d8610086612058a910f40fe03e6339f4 Mon Sep 17 00:00:00 2001 From: taianunes Date: Sun, 3 Jul 2016 18:38:39 -0300 Subject: [PATCH 708/839] pt_BR translation on `index.md` file * Leadership * Creadits * General adjustments --- br/index.md | 45 +++++++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/br/index.md b/br/index.md index 13a15b82..3304a920 100644 --- a/br/index.md +++ b/br/index.md @@ -21,7 +21,7 @@ Para manter-se atualizado, siga [@wpcli no Twitter](https://twitter.com/wpcli) o

    O projeto "WP-CLI mais RESTful" visa proporcionar todo o potencial da linha de comando para a WP REST API e é apoiado por Pressed, Chris Lema, Human Made, Pagely, Pantheon e muitos outros. Saiba mais →

    -Links rápidos: [Usando](#usando) | [Instalando](#instalando) | [Suporte](#suporte) | [Extendendo](#extendendo) | [Contribuindo](#contribuindo) | [Creditos](#creditos) +Links rápidos: [Usando](#usando) | [Instalando](#instalando) | [Suporte](#suporte) | [Extendendo](#extendendo) | [Contribuindo](#contribuindo) | [Créditos](#creditos) ## Usando @@ -94,23 +94,23 @@ WP-CLI version: 0.23.0 WP-CLI pode ser atualizado com `wp cli update` ([doc](https://wp-cli.org/commands/cli/update/)), ou repetindo os passos da instalação. -Quer viver a vida no limite? Execute `wp cli update --nightly` para usar a última compilação de desenvolvimento da WP-CLI. Essa versão é bastante estável para utilizar em seu ambiente de desenvolvimento, e sempre inclui as melhores e mais atuais funcionalidades da WP-CLI. +_Quer viver a vida no limite?_ Execute `wp cli update --nightly` para usar a última compilação de desenvolvimento da WP-CLI. Essa versão é bastante estável para utilizar em seu ambiente de desenvolvimento, e sempre inclui as melhores e mais atuais funcionalidades da WP-CLI. ## Suporte Os colaboradores do projeto WP-CLI fazem seu melhor para rsponder a todos os problemas assim que possível. Para que possamos fazer melhor uso do tempo dos voluntários, verifique se já existe uma resposta para sua pergunta em umas das fontes abaixo: -- [Problemas comuns e suas respostas](https://wp-cli.org/docs/common-issues/) +- [Questões comuns e suas respostas](https://wp-cli.org/docs/common-issues/) - [Melhores práticas para informar um problema](https://wp-cli.org/docs/bug-reports/) - [Portal de documentação](https://wp-cli.org/docs/) -- [Problemas abertos ou fechados no Github](https://github.com/wp-cli/wp-cli/issues?utf8=%E2%9C%93&q=is%3Aissue) +- [Questões abertas ou fechadas no Github](https://github.com/wp-cli/wp-cli/issues?utf8=%E2%9C%93&q=is%3Aissue) - [Forum WordPress no StackExchange](http://wordpress.stackexchange.com/questions/tagged/wp-cli) -Caso não encontre uma resposta na fontes existentes, fique a vontade para [abrir um issues](https://github.com/wp-cli/wp-cli/issues/new) com sua pergunta. +Caso não encontre uma resposta na fontes existentes, fique a vontade para [abrir uma questão](https://github.com/wp-cli/wp-cli/issues/new) com sua dúvida. Se você possui uma conta WordPress.org, considere se inscrever no canal `#cli` no [Slack do WordPress.org](https://make.wordpress.org/chat/). -## Extendento +## Extendendo Um **commando** é uma unidade singular de uma funcionalidade WP-CLI. `wp plugin install` ([doc](https://wp-cli.org/commands/plugin/install/)) é um comando. `wp plugin activate` ([doc](https://wp-cli.org/commands/plugin/activate/)) é outro. @@ -122,28 +122,29 @@ Seja bem vindo e obrigado! Nós agradecemos sua iniciativa em contribuir com a WP-CLI. É por sua causa e a comunidade a sua volta, que a WP-CLI se tornou um grande projeto. -**Contribuição não está limitado a somente código.** Te encorajamos a contribuir da maneira que melhor se encaixe em suas habilidades, escrevendo tutoriais, com demonstrações em palestras locais, ajudar outros usuários respondendo suas perguntas no suporte, ou revisando nossa documentação. +**Contribuir não é limitado a somente código.** Te encorajamos a contribuir da maneira que melhor se encaixe em suas habilidades, escrevendo tutoriais, com demonstrações em palestras locais, ajudar outros usuários respondendo suas dúvidas no suporte, ou revisando nossa documentação. De uma olhada com atenção [nesse guia](https://wp-cli.org/docs/contributing/). Seguindo esses passos você estará respeitando o tempo dos outros colaboradoes. Por sua vez, eles farão o melhor para retribuir esse respeito no trabalho com você, nos diferentes fusos horários e em todo o mundo. -## Leadership +## Criadores e liderança -WP-CLI is led by these individuals: +WP-CLI foi criado e mantido por: -* [Daniel Bachhuber](https://github.com/danielbachhuber/) - current maintainer -* [Cristi Burcă](https://github.com/scribu) - previous maintainer -* [Andreas Creten](https://github.com/andreascreten) - founder +* [Daniel Bachhuber](https://github.com/danielbachhuber/) - Líder atual +* [Cristi Burcă](https://github.com/scribu) - Líder anterior +* [Andreas Creten](https://github.com/andreascreten) - Criador -Read more about the project's [governance](https://wp-cli.org/docs/governance/) and view a [complete list of contributors](https://github.com/wp-cli/wp-cli/contributors). +Saiba mais sobre os projetos de [governança](https://wp-cli.org/docs/governance/) e veja a [lista completa dos colaboradores](https://github.com/wp-cli/wp-cli/contributors). -## Credits +## Créditos + -Besides the libraries defined in [composer.json](composer.json), we have used code or ideas from the following projects: +Além das bibliotecas especificadas em [composer.json](/composer.json), utilizamos o código ou idéias dos projetos abaixos: -* [Drush](http://drush.ws/) for... a lot of things -* [wpshell](http://code.trac.wordpress.org/browser/wpshell) for `wp shell` -* [Regenerate Thumbnails](http://wordpress.org/plugins/regenerate-thumbnails/) for `wp media regenerate` -* [Search-Replace-DB](https://github.com/interconnectit/Search-Replace-DB) for `wp search-replace` -* [WordPress-CLI-Exporter](https://github.com/Automattic/WordPress-CLI-Exporter) for `wp export` -* [WordPress-CLI-Importer](https://github.com/Automattic/WordPress-CLI-Importer) for `wp import` -* [wordpress-plugin-tests](https://github.com/benbalter/wordpress-plugin-tests/) for `wp scaffold plugin-tests` +* [Drush](http://drush.ws/) para... muitas coisas +* [wpshell](http://code.trac.wordpress.org/browser/wpshell) para `wp shell` +* [Regenerate Thumbnails](http://wordpress.org/plugins/regenerate-thumbnails/) para `wp media regenerate` +* [Search-Replace-DB](https://github.com/interconnectit/Search-Replace-DB) para `wp search-replace` +* [WordPress-CLI-Exporter](https://github.com/Automattic/WordPress-CLI-Exporter) para `wp export` +* [WordPress-CLI-Importer](https://github.com/Automattic/WordPress-CLI-Importer) para `wp import` +* [wordpress-plugin-tests](https://github.com/benbalter/wordpress-plugin-tests/) para `wp scaffold plugin-tests` From ea4efbc194d4b64aa42b4a58fdda9061b109ffab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20HULARD?= Date: Mon, 4 Jul 2016 10:33:43 +0200 Subject: [PATCH 709/839] Add meta data to language definition --- _config.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/_config.yml b/_config.yml index 7dbb159a..11364453 100644 --- a/_config.yml +++ b/_config.yml @@ -30,12 +30,17 @@ navigation: url: /restful/ languages: - label: English + iso-alpha2: en path: / - label: Japanese + iso-alpha2: ja path: /ja/ - label: Français + iso-alpha2: fr path: /fr/ - label: Português (Brasil) + iso-alpha2: br path: /br/ - label: Türkçe - path: /tr/ \ No newline at end of file + iso-alpha2: tr + path: /tr/ From bc819d5ec4eb755993b507ca8e0c45a1a3e65488 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20HULARD?= Date: Mon, 4 Jul 2016 10:34:29 +0200 Subject: [PATCH 710/839] Add `hreflang` attribute to the `` tag --- _includes/header.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_includes/header.html b/_includes/header.html index 2eb6b202..f56f4c2c 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -1,5 +1,5 @@ - - +{% assign hreflang = 'en' %}{% for lang in site.languages %}{% if lang.path == page.url %}{% assign hreflang = lang.iso-alpha2 %}{% endif %}{% endfor %} + From 3b6348f95d7ca23dc9fa2c2de7232917c037bcaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20HULARD?= Date: Mon, 4 Jul 2016 10:34:43 +0200 Subject: [PATCH 711/839] Add `meta[name=alternate]` to declare languages --- _includes/header.html | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/_includes/header.html b/_includes/header.html index f56f4c2c..afccd0ee 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -14,6 +14,9 @@ {{ page.title }} | WP-CLI + + {% for lang in site.languages %} + {% endfor %} {% if page.display_global_parameters %} @@ -21,7 +24,6 @@ {% else %} {% endif %} -

    WP-CLI

    @@ -33,7 +35,7 @@

    A command line interface for WordPress

    {% endif %} {% include navigation.html %} - {% include languages.html %} + {% include languages.html %}
    From c17346f514cff369325a97e5bfb0c9964531c713 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 4 Jul 2016 06:17:54 -0700 Subject: [PATCH 712/839] Fix invalid variable name --- command.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/command.php b/command.php index f099b563..82a17bc2 100644 --- a/command.php +++ b/command.php @@ -212,7 +212,7 @@ function parse_docblock( $docblock ) { reset( $ret['parameters'][ $param_name ] ); if ( ! empty( $ret['parameters'][ $param_name ][ $key ][ 2 ] ) && '{' === substr( $ret['parameters'][ $param_name ][ $key ][ 2 ] , -1 ) ) { - $in_param = array( $param, $key ); + $in_param = array( $param_name, $key ); } } $extra_line = ''; From 2562bbb96a0e27b75f95b82a33eddfc5774bb475 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 4 Jul 2016 06:19:07 -0700 Subject: [PATCH 713/839] Remove trailing `

    ` tag --- _templates/internal-api.mustache | 2 +- docs/internal-api/wp-cli-add-command/index.md | 4 ++-- docs/internal-api/wp-cli-add-hook/index.md | 2 +- docs/internal-api/wp-cli-colorize/index.md | 2 +- docs/internal-api/wp-cli-do-hook/index.md | 2 +- docs/internal-api/wp-cli-error/index.md | 2 +- docs/internal-api/wp-cli-get-php-binary/index.md | 2 +- docs/internal-api/wp-cli-launch-self/index.md | 2 +- docs/internal-api/wp-cli-launch/index.md | 2 +- docs/internal-api/wp-cli-line/index.md | 2 +- docs/internal-api/wp-cli-success/index.md | 2 +- docs/internal-api/wp-cli-utils-format-items/index.md | 2 +- docs/internal-api/wp-cli-utils-get-flag-value/index.md | 2 +- docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md | 2 +- docs/internal-api/wp-cli-utils-get-temp-dir/index.md | 2 +- docs/internal-api/wp-cli-utils-http-request/index.md | 2 +- .../wp-cli-utils-launch-editor-for-input/index.md | 2 +- docs/internal-api/wp-cli-utils-make-progress-bar/index.md | 2 +- docs/internal-api/wp-cli-warning/index.md | 2 +- 19 files changed, 20 insertions(+), 20 deletions(-) diff --git a/_templates/internal-api.mustache b/_templates/internal-api.mustache index 820e1ea0..776a5804 100644 --- a/_templates/internal-api.mustache +++ b/_templates/internal-api.mustache @@ -21,7 +21,7 @@ description: "{{phpdoc.short_description}}" {{1}} ({{0}}) {{{2}}}
    {{/phpdoc.parameters.param}} {{#phpdoc.parameters.return}} -@return ({{0}}) {{2}}

    +@return ({{0}}) {{2}}
    {{/phpdoc.parameters.return}} diff --git a/docs/internal-api/wp-cli-add-command/index.md b/docs/internal-api/wp-cli-add-command/index.md index 0a7b6a50..a0ebf417 100644 --- a/docs/internal-api/wp-cli-add-command/index.md +++ b/docs/internal-api/wp-cli-add-command/index.md @@ -19,8 +19,8 @@ Register a command to WP-CLI.
    $name (string) Name for the command (e.g. "post list" or "site empty").
    $callable (string) Command implementation as a class, function or closure.
    -$args (array) {
    Optional An associative array with additional registration parameters.
    'before_invoke' => callback to execute before invoking the command,
    'shortdesc' => short description (80 char or less) for the command,
    'synopsis' => the synopsis for the command (string or array),
    'when' => execute callback on a named WP-CLI hook (e.g. before_wp_load),
    }
    -@return (true) on success, hard error if registration failed.

    +$args (array) {
    Optional An associative array with additional registration parameters.
    'before_invoke' => callback to execute before invoking the command,
    'after_invoke' => callback to execute after invoking the command,
    'shortdesc' => short description (80 char or less) for the command,
    'synopsis' => the synopsis for the command (string or array),
    'when' => execute callback on a named WP-CLI hook (e.g. before_wp_load),
    }
    +@return (true) on success, hard error if registration failed.
    diff --git a/docs/internal-api/wp-cli-add-hook/index.md b/docs/internal-api/wp-cli-add-hook/index.md index d091366e..0b786d79 100644 --- a/docs/internal-api/wp-cli-add-hook/index.md +++ b/docs/internal-api/wp-cli-add-hook/index.md @@ -19,7 +19,7 @@ Schedule a callback to be executed at a certain point.
    $when (string) Identifier for the hook.
    $callback (mixed) Callback to execute when hook is called.
    -@return (null)

    +@return (null)
    diff --git a/docs/internal-api/wp-cli-colorize/index.md b/docs/internal-api/wp-cli-colorize/index.md index ea48229d..26cabdd3 100644 --- a/docs/internal-api/wp-cli-colorize/index.md +++ b/docs/internal-api/wp-cli-colorize/index.md @@ -18,7 +18,7 @@ Colorize a string for output.
    $string (string) String to colorize for output, with color tokens.
    -@return (string) string.

    +@return (string) string.
    diff --git a/docs/internal-api/wp-cli-do-hook/index.md b/docs/internal-api/wp-cli-do-hook/index.md index 2f0ef056..37c446a6 100644 --- a/docs/internal-api/wp-cli-do-hook/index.md +++ b/docs/internal-api/wp-cli-do-hook/index.md @@ -18,7 +18,7 @@ Execute callbacks registered to a given hook.
    $when (string) Identifier for the hook.
    -@return (null)

    +@return (null)
    diff --git a/docs/internal-api/wp-cli-error/index.md b/docs/internal-api/wp-cli-error/index.md index ebf68541..57df5b6d 100644 --- a/docs/internal-api/wp-cli-error/index.md +++ b/docs/internal-api/wp-cli-error/index.md @@ -19,7 +19,7 @@ Display error message prefixed with "Error: " and exit script.
    $message (string|WP_Error) Message to write to STDERR.
    $exit (boolean|integer) True defaults to exit(1).
    -@return (null)

    +@return (null)
    diff --git a/docs/internal-api/wp-cli-get-php-binary/index.md b/docs/internal-api/wp-cli-get-php-binary/index.md index e30c51d3..29b6039a 100644 --- a/docs/internal-api/wp-cli-get-php-binary/index.md +++ b/docs/internal-api/wp-cli-get-php-binary/index.md @@ -17,7 +17,7 @@ Get the path to the PHP binary used when executing WP-CLI. WP_CLI::get_php_binary()
    -@return (string)

    +@return (string)
    diff --git a/docs/internal-api/wp-cli-launch-self/index.md b/docs/internal-api/wp-cli-launch-self/index.md index 22c1d9c0..7daad6bf 100644 --- a/docs/internal-api/wp-cli-launch-self/index.md +++ b/docs/internal-api/wp-cli-launch-self/index.md @@ -23,7 +23,7 @@ Run a WP-CLI command in a new process reusing the current runtime arguments. $exit_on_error (bool) Whether to exit if the command returns an elevated return code.
    $return_detailed (bool) Whether to return an exit status (default) or detailed execution results.
    $runtime_args (array) Override one or more global args (path,url,user,allow-root)
    -@return (int|ProcessRun) command exit status, or a ProcessRun instance

    +@return (int|ProcessRun) command exit status, or a ProcessRun instance
    diff --git a/docs/internal-api/wp-cli-launch/index.md b/docs/internal-api/wp-cli-launch/index.md index 55d6e2ba..b1804fbc 100644 --- a/docs/internal-api/wp-cli-launch/index.md +++ b/docs/internal-api/wp-cli-launch/index.md @@ -20,7 +20,7 @@ Launch an arbitrary external process that takes over I/O. $command (string) External process to launch.
    $exit_on_error (boolean) Whether to exit if the command returns an elevated return code.
    $return_detailed (boolean) Whether to return an exit status (default) or detailed execution results.
    -@return (int|ProcessRun) command exit status, or a ProcessRun object for full details.

    +@return (int|ProcessRun) command exit status, or a ProcessRun object for full details.
    diff --git a/docs/internal-api/wp-cli-line/index.md b/docs/internal-api/wp-cli-line/index.md index c2f11732..8d2f4e9e 100644 --- a/docs/internal-api/wp-cli-line/index.md +++ b/docs/internal-api/wp-cli-line/index.md @@ -18,7 +18,7 @@ Display informational message without prefix, and ignore `--quiet`.
    $message (string) Message to display to the end user.
    -@return (null)

    +@return (null)
    diff --git a/docs/internal-api/wp-cli-success/index.md b/docs/internal-api/wp-cli-success/index.md index bfdb70a0..7f8efde3 100644 --- a/docs/internal-api/wp-cli-success/index.md +++ b/docs/internal-api/wp-cli-success/index.md @@ -18,7 +18,7 @@ Display success message prefixed with "Success: ".
    $message (string) Message to write to STDOUT.
    -@return (null)

    +@return (null)
    diff --git a/docs/internal-api/wp-cli-utils-format-items/index.md b/docs/internal-api/wp-cli-utils-format-items/index.md index c9e537d2..df140238 100644 --- a/docs/internal-api/wp-cli-utils-format-items/index.md +++ b/docs/internal-api/wp-cli-utils-format-items/index.md @@ -20,7 +20,7 @@ Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or $format (string) Format to use: 'table', 'json', 'csv', 'yaml', 'ids', 'count'
    $items (array) An array of items to output.
    $fields (array|string) Named fields for each item of data. Can be array or comma-separated list.
    -@return (null)

    +@return (null)
    diff --git a/docs/internal-api/wp-cli-utils-get-flag-value/index.md b/docs/internal-api/wp-cli-utils-get-flag-value/index.md index c42318ff..f5be4b15 100644 --- a/docs/internal-api/wp-cli-utils-get-flag-value/index.md +++ b/docs/internal-api/wp-cli-utils-get-flag-value/index.md @@ -20,7 +20,7 @@ Return the flag value or, if it's not set, the $default value. $assoc_args (array) Arguments array.
    $flag (string) Flag to get the value.
    $default (mixed) Default value for the flag. Default: NULL
    -@return (mixed)

    +@return (mixed)
    diff --git a/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md b/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md index 0dd6cfd7..5f42f67f 100644 --- a/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md +++ b/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md @@ -19,7 +19,7 @@ Compare two version strings to get the named semantic version.
    $new_version (string)
    $original_version (string)
    -@return (string) 'major', 'minor', 'patch'

    +@return (string) 'major', 'minor', 'patch'
    diff --git a/docs/internal-api/wp-cli-utils-get-temp-dir/index.md b/docs/internal-api/wp-cli-utils-get-temp-dir/index.md index e3eab3d3..378c5513 100644 --- a/docs/internal-api/wp-cli-utils-get-temp-dir/index.md +++ b/docs/internal-api/wp-cli-utils-get-temp-dir/index.md @@ -17,7 +17,7 @@ Get the system's temp directory. Warns user if it isn't writable. WP_CLI\Utils\get_temp_dir()
    -@return (string)

    +@return (string)
    diff --git a/docs/internal-api/wp-cli-utils-http-request/index.md b/docs/internal-api/wp-cli-utils-http-request/index.md index 1b97c347..6c52b1f6 100644 --- a/docs/internal-api/wp-cli-utils-http-request/index.md +++ b/docs/internal-api/wp-cli-utils-http-request/index.md @@ -21,7 +21,7 @@ Make a HTTP request to a remote URL. $url (string) URL to make the HTTP request to.
    $headers (array) Add specific headers to the request.
    $options (array)
    -@return (object)

    +@return (object)
    diff --git a/docs/internal-api/wp-cli-utils-launch-editor-for-input/index.md b/docs/internal-api/wp-cli-utils-launch-editor-for-input/index.md index f1eea776..7025d853 100644 --- a/docs/internal-api/wp-cli-utils-launch-editor-for-input/index.md +++ b/docs/internal-api/wp-cli-utils-launch-editor-for-input/index.md @@ -18,7 +18,7 @@ Launch system's $EDITOR for the user to edit some text.
    string () $content Some form of text to edit (e.g. post content)
    -@return (string|bool) text, if file is saved from editor; false, if no change to file.

    +@return (string|bool) text, if file is saved from editor; false, if no change to file.
    diff --git a/docs/internal-api/wp-cli-utils-make-progress-bar/index.md b/docs/internal-api/wp-cli-utils-make-progress-bar/index.md index b9284879..554ebb6c 100644 --- a/docs/internal-api/wp-cli-utils-make-progress-bar/index.md +++ b/docs/internal-api/wp-cli-utils-make-progress-bar/index.md @@ -19,7 +19,7 @@ Create a progress bar to display percent completion of a given operation.
    $message (string) Text to display before the progress bar.
    $count (integer) Total number of ticks to be performed.
    -@return (cli\progress\Bar|WP_CLI\NoOp)

    +@return (cli\progress\Bar|WP_CLI\NoOp)
    diff --git a/docs/internal-api/wp-cli-warning/index.md b/docs/internal-api/wp-cli-warning/index.md index 7c8a6ddd..8e02635e 100644 --- a/docs/internal-api/wp-cli-warning/index.md +++ b/docs/internal-api/wp-cli-warning/index.md @@ -18,7 +18,7 @@ Display warning message prefixed with "Warning: ".
    $message (string) Message to write to STDERR.
    -@return (null)

    +@return (null)
    From ff3b971af07d02299ea6db72739e07d16cfa6b53 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 4 Jul 2016 14:30:37 -0700 Subject: [PATCH 714/839] Restore tab completion docs to index --- index.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/index.md b/index.md index 936423fa..2d38536f 100644 --- a/index.md +++ b/index.md @@ -91,10 +91,22 @@ WP-CLI project config: WP-CLI version: 0.23.0 ``` +### Updating + You can update WP-CLI with `wp cli update` ([doc](https://wp-cli.org/commands/cli/update/)), or by repeating the installation steps. Want to live life on the edge? Run `wp cli update --nightly` to use the latest nightly build of WP-CLI. The nightly build is more or less stable enough for you to use in your development environment, and always includes the latest and greatest WP-CLI features. +### Tab completions + +WP-CLI also comes with a tab completion script for Bash and ZSH. Just download [wp-completion.bash](https://github.com/wp-cli/wp-cli/raw/master/utils/wp-completion.bash) and source it from `~/.bash_profile`: + +``` +source /FULL/PATH/TO/wp-completion.bash +``` + +Don't forget to run `source ~/.bash_profile` afterwards. + ## Support WP-CLI's maintainers and project contributors do their best to respond to all new issues in a timely manner. To make the best use of their volunteered time, please first see if there may be an answer to your question in one of the following resources: From 718551ad75dfa0a97dd33d20534cbd862c31528b Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 4 Jul 2016 14:32:37 -0700 Subject: [PATCH 715/839] Add section on tab completions --- docs/installing/index.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/docs/installing/index.md b/docs/installing/index.md index 022e22e8..5880f753 100644 --- a/docs/installing/index.md +++ b/docs/installing/index.md @@ -49,7 +49,7 @@ Voila! You're now an official WP-CLI user. Wondering what to do next? Check out the [quick start guide](/docs/quick-start/) for a short introduction and some example usage. -## Updating WP-CLI +### Updating WP-CLI If you have installed WP-CLI using the recommended Phar method, you can update it at any time by running `wp cli update`. If you installed WP-CLI using the Git or Composer-based installations, see the specific instructions for updating associated with each method below. @@ -75,6 +75,16 @@ Want to live life on the edge? Run `wp cli update --nightly` to use the latest n For more information about `wp cli update`, including flags and options that can be used, read the full [docs page on the update command](https://wp-cli.org/commands/cli/update/). +### Tab completions + +WP-CLI also comes with a tab completion script for Bash and ZSH. Just download [wp-completion.bash](https://github.com/wp-cli/wp-cli/raw/master/utils/wp-completion.bash) and source it from `~/.bash_profile`: + +``` +source /FULL/PATH/TO/wp-completion.bash +``` + +Don't forget to run `source ~/.bash_profile` afterwards. + ## Alternative installation methods ### Installing nightly via Phar From 068f1b289c7b2f7bbc4e85d5d7718cdd941d00ed Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 6 Jul 2016 05:00:46 -0700 Subject: [PATCH 716/839] Mention good first issues in the contributing guide --- docs/contributing/index.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/contributing/index.md b/docs/contributing/index.md index 26e14ffd..7b929e0e 100644 --- a/docs/contributing/index.md +++ b/docs/contributing/index.md @@ -1,6 +1,8 @@ --- layout: default title: Contributing +category: Contributing +description: An introduction to the contributing process. --- Welcome and thanks! @@ -23,6 +25,8 @@ Once you’ve done a bit of searching and discovered there isn’t an open or fi Want to contribute a new feature? WP-CLI is a mature project, and already chock-full of useful functionality. Please first [open a new issue](https://github.com/wp-cli/wp-cli/issues/new) to discuss whether the feature is a good fit for WP-CLI core, or might be better suited as a [community package](https://wp-cli.org/package-index/). +New to the WP-CLI codebase? Check out [issues labeled 'good-first-issue'](https://github.com/wp-cli/wp-cli/labels/good-first-issue) for a place to start. These issues are specially earmarked for new contributors. + Once you've decided to commit the time to seeing your pull request through, please [follow our guidelines for creating a pull request](https://wp-cli.org/docs/pull-requests/) to make sure it's a pleasant experience. ### Contributing in other ways From 3f655cb395a87b38528942c559b19f24f75a1994 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 7 Jul 2016 12:12:53 -0700 Subject: [PATCH 717/839] Add a section on contributing documentation --- docs/contributing/index.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/contributing/index.md b/docs/contributing/index.md index 7b929e0e..4a0f07cc 100644 --- a/docs/contributing/index.md +++ b/docs/contributing/index.md @@ -29,6 +29,17 @@ New to the WP-CLI codebase? Check out [issues labeled 'good-first-issue'](https: Once you've decided to commit the time to seeing your pull request through, please [follow our guidelines for creating a pull request](https://wp-cli.org/docs/pull-requests/) to make sure it's a pleasant experience. +### Improving our documentation + +Is documentation your strength? Take a look at the currently open [documentation issues](https://github.com/wp-cli/wp-cli/issues?q=is%3Aopen+is%3Aissue+label%3Ascope%3Adocumentation) and see if you can tackle any of those. + +If you believe you’ve found an issue with the documentation, you should [search existing issues](https://github.com/wp-cli/wp-cli/issues?utf8=%E2%9C%93&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 of WP-CLI. + +There are a couple different types of documentation currently part of WP-CLI: + +* Documentation for individual WP-CLI commands (anything underneath [http://wp-cli.org/commands](http://wp-cli.org/commands)) is contained in the PHPDoc for each command. This means that to edit the documentation for a command, you will need to edit the file that actually provides the functionality for that command. The web documentation is generated from these files at the time of release, so you may not see your changes until the next release. +* Individual documentation pages (anything under [http://wp-cli.org/docs/](http://wp-cli.org/docs/) can be edited by contributing to the [wp-cli.github.com repository on GitHub](https://github.com/wp-cli/wp-cli.github.com). You don't necessarily need to navigate the Github repo though; any page that is part of this repository will have an 'Edit' link in the top right of the page which will take you to the corresponding file on GitHub. + ### Contributing in other ways Feel free to [create an issue](https://github.com/wp-cli/wp-cli/issues/new) with your question, and we'll see if we can find an answer for it. From 1e42dcedd08586384dd57505cd13042a486303b8 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 8 Jul 2016 09:14:16 -0700 Subject: [PATCH 718/839] Generate Contributing page in the proper format --- command.php | 6 +++++- docs/contributing/index.md | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/command.php b/command.php index 82a17bc2..86e02646 100644 --- a/command.php +++ b/command.php @@ -70,10 +70,14 @@ function generate_contributing() { EOT; $replace = << Date: Sat, 9 Jul 2016 11:00:00 +0200 Subject: [PATCH 719/839] Add German to the config file --- _config.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/_config.yml b/_config.yml index 11364453..7e3808f4 100644 --- a/_config.yml +++ b/_config.yml @@ -44,3 +44,6 @@ languages: - label: Türkçe iso-alpha2: tr path: /tr/ +- label: Deutsch + iso-alpha2: de + path: /de/ From 1e829f45cdcc85bc55268b6c3750ab6087263412 Mon Sep 17 00:00:00 2001 From: Pascal Birchler Date: Sat, 9 Jul 2016 11:00:11 +0200 Subject: [PATCH 720/839] Add index.md file for German to start translating --- de/index.md | 160 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 160 insertions(+) create mode 100644 de/index.md diff --git a/de/index.md b/de/index.md new file mode 100644 index 00000000..2d38536f --- /dev/null +++ b/de/index.md @@ -0,0 +1,160 @@ +--- +layout: default +title: Command line interface for WordPress +--- + +[WP-CLI](https://wp-cli.org/) is a set of command-line tools for managing [WordPress](https://wordpress.org/) installations. You can update plugins, configure multisite installs and much more, without using a web browser. + +To stay up to date, follow [@wpcli on Twitter](https://twitter.com/wpcli) or [sign up for our email newsletter](http://wp-cli.us13.list-manage.com/subscribe?u=0615e4d18f213891fc000adfd&id=8c61d7641e). + +[![Build Status](https://travis-ci.org/wp-cli/wp-cli.png?branch=master)](https://travis-ci.org/wp-cli/wp-cli) [![Dependency Status](https://gemnasium.com/badges/github.com/wp-cli/wp-cli.svg)](https://gemnasium.com/github.com/wp-cli/wp-cli) [![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/wp-cli/wp-cli.svg)](http://isitmaintained.com/project/wp-cli/wp-cli "Average time to resolve an issue") [![Percentage of issues still open](http://isitmaintained.com/badge/open/wp-cli/wp-cli.svg)](http://isitmaintained.com/project/wp-cli/wp-cli "Percentage of issues still open") + +
    +

    A more RESTful WP-CLI aims to unlocking the potential of the WP REST API at the command line. Project backed by Pressed, Chris Lema, Human Made, Pagely, Pantheon and many others. Learn more →

    +
    + +Quick links: [Using](#using) | [Installing](#installing) | [Support](#support) | [Extending](#extending) | [Contributing](#contributing) | [Credits](#credits) + +## Using + +WP-CLI's goal is to provide a command-line interface for any action you might want to perform in the WordPress admin. For instance, `wp plugin install --activate` ([doc](https://wp-cli.org/commands/plugin/install/)) lets you install and activate a WordPress plugin: + +``` +$ wp plugin install rest-api --activate +Installing WordPress REST API (Version 2) (2.0-beta13) +Downloading install package from https://downloads.wordpress.org/plugin/rest-api.2.0-beta13.zip... +Unpacking the package... +Installing the plugin... +Plugin installed successfully. +Activating 'rest-api'... +Success: Plugin 'rest-api' activated. +``` + +WP-CLI also includes commands for many things you can't do in the WordPress admin. For example, `wp transient delete-all` ([doc](https://wp-cli.org/commands/transient/delete-all/)) lets you delete one or all transients: + +``` +$ wp transient delete-all +Success: 34 transients deleted from the database. +``` + +For a more complete introduction to using WP-CLI, read the [Quick Start guide](https://wp-cli.org/docs/quick-start/). + +Already feel comfortable with the basics? Jump into the [complete list of commands](https://wp-cli.org/commands/) for detailed information on managing themes and plugins, importing and exporting data, performing database search-replace operations and more. + +## Installing + +Downloading the Phar file is our recommended installation method. Should you need, see also our documentation on [alternative installation methods](https://wp-cli.org/docs/installing/). + +Before installing WP-CLI, please make sure your environment meets the minimum requirements: + +- UNIX-like environment (OS X, Linux, FreeBSD, Cygwin); limited support in Windows environment +- PHP 5.3.29 or later +- WordPress 3.7 or later + +Once you've verified requirements, download the [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar) file using `wget` or `curl`: + +``` +$ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar +``` + +Next, check if it is working: + +``` +$ php wp-cli.phar --info +``` + +To use WP-CLI from the command line by typing `wp`, make the file executable and move it to somewhere in your PATH. For example: + +``` +$ chmod +x wp-cli.phar +$ sudo mv wp-cli.phar /usr/local/bin/wp +``` + +If WP-CLI was installed successfully, you should see something like this when you run `wp --info`: + +``` +$ wp --info +PHP binary: /usr/bin/php5 +PHP version: 5.5.9-1ubuntu4.14 +php.ini used: /etc/php5/cli/php.ini +WP-CLI root dir: /home/wp-cli/.wp-cli +WP-CLI packages dir: /home/wp-cli/.wp-cli/packages/ +WP-CLI global config: /home/wp-cli/.wp-cli/config.yml +WP-CLI project config: +WP-CLI version: 0.23.0 +``` + +### Updating + +You can update WP-CLI with `wp cli update` ([doc](https://wp-cli.org/commands/cli/update/)), or by repeating the installation steps. + +Want to live life on the edge? Run `wp cli update --nightly` to use the latest nightly build of WP-CLI. The nightly build is more or less stable enough for you to use in your development environment, and always includes the latest and greatest WP-CLI features. + +### Tab completions + +WP-CLI also comes with a tab completion script for Bash and ZSH. Just download [wp-completion.bash](https://github.com/wp-cli/wp-cli/raw/master/utils/wp-completion.bash) and source it from `~/.bash_profile`: + +``` +source /FULL/PATH/TO/wp-completion.bash +``` + +Don't forget to run `source ~/.bash_profile` afterwards. + +## Support + +WP-CLI's maintainers and project contributors do their best to respond to all new issues in a timely manner. To make the best use of their volunteered time, please first see if there may be an answer to your question in one of the following resources: + +- [Common issues and their fixes](https://wp-cli.org/docs/common-issues/) +- [Best practices for submitting a bug report](https://wp-cli.org/docs/bug-reports/) +- [Documentation portal](https://wp-cli.org/docs/) +- [Open or closed issues on Github](https://github.com/wp-cli/wp-cli/issues?utf8=%E2%9C%93&q=is%3Aissue) +- [WordPress StackExchange forums](http://wordpress.stackexchange.com/questions/tagged/wp-cli) + +If you can't find your answer in one of those existing resources, feel free to [create an issue](https://github.com/wp-cli/wp-cli/issues/new) with your question. + +If you have a WordPress.org account, you may also consider joining the `#cli` channel on the [WordPress.org Slack organization](https://make.wordpress.org/chat/). + +## Extending + +A **command** is an atomic unit of WP-CLI functionality. `wp plugin install` ([doc](https://wp-cli.org/commands/plugin/install/)) is one command. `wp plugin activate` ([doc](https://wp-cli.org/commands/plugin/activate/)) is another. + +WP-CLI comes with dozens of commands. It's easier than it looks to create a custom WP-CLI command. Read the [commands cookbook](https://wp-cli.org/docs/commands-cookbook/) to learn more. Browse the [internal API docs](https://wp-cli.org/docs/internal-api/) to discover a variety of helpful functions you can use in your custom WP-CLI command. + +## Contributing + +Welcome and thanks! + +We appreciate you taking the initiative to contribute to WP-CLI. It’s because of you, and the community around you, that WP-CLI is such a great project. + +**Contributing 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. + +Please take a moment to [read these guidelines at depth](https://wp-cli.org/docs/contributing/). Following them helps to communicate that you respect the time of the other contributors to the project. In turn, they’ll do their best to reciprocate that respect when working with you, across timezones and around the world. + +## Leadership + +WP-CLI is led by these individuals: + +* [Daniel Bachhuber](https://github.com/danielbachhuber/) - current maintainer +* [Cristi Burcă](https://github.com/scribu) - previous maintainer +* [Andreas Creten](https://github.com/andreascreten) - founder + +Read more about the project's [governance](https://wp-cli.org/docs/governance/) and view a [complete list of contributors](https://github.com/wp-cli/wp-cli/contributors). + +## Credits + +Besides the libraries defined in [composer.json](composer.json), we have used code or ideas from the following projects: + +* [Drush](http://drush.ws/) for... a lot of things +* [wpshell](http://code.trac.wordpress.org/browser/wpshell) for `wp shell` +* [Regenerate Thumbnails](http://wordpress.org/plugins/regenerate-thumbnails/) for `wp media regenerate` +* [Search-Replace-DB](https://github.com/interconnectit/Search-Replace-DB) for `wp search-replace` +* [WordPress-CLI-Exporter](https://github.com/Automattic/WordPress-CLI-Exporter) for `wp export` +* [WordPress-CLI-Importer](https://github.com/Automattic/WordPress-CLI-Importer) for `wp import` +* [wordpress-plugin-tests](https://github.com/benbalter/wordpress-plugin-tests/) for `wp scaffold plugin-tests` From 615a98a4d66870d528a1225ded4cd394f8094b77 Mon Sep 17 00:00:00 2001 From: Pascal Birchler Date: Sat, 9 Jul 2016 11:34:10 +0200 Subject: [PATCH 721/839] Translate home page --- de/index.md | 114 ++++++++++++++++++++++++++-------------------------- 1 file changed, 57 insertions(+), 57 deletions(-) diff --git a/de/index.md b/de/index.md index 2d38536f..d530639a 100644 --- a/de/index.md +++ b/de/index.md @@ -1,13 +1,13 @@ --- layout: default -title: Command line interface for WordPress +title: Kommandozeilen-Interface für WordPress --- -[WP-CLI](https://wp-cli.org/) is a set of command-line tools for managing [WordPress](https://wordpress.org/) installations. You can update plugins, configure multisite installs and much more, without using a web browser. +[WP-CLI](https://wp-cli.org/) ist eine Sammlung von Kommandozeilen-Tools zur Verwaltung von [WordPress](https://wordpress.org/) Installationen. Du kannst Plugins aktualisieren, Multisite Installationen konfigurieren und vieles mehr, ohne einen Browser zu verwenden. -To stay up to date, follow [@wpcli on Twitter](https://twitter.com/wpcli) or [sign up for our email newsletter](http://wp-cli.us13.list-manage.com/subscribe?u=0615e4d18f213891fc000adfd&id=8c61d7641e). +Um stets auf dem Laufenden zu bleiben, folge [@wpcli auf Twitter](https://twitter.com/wpcli) oder [abonniere den Newsletter](http://wp-cli.us13.list-manage.com/subscribe?u=0615e4d18f213891fc000adfd&id=8c61d7641e). -[![Build Status](https://travis-ci.org/wp-cli/wp-cli.png?branch=master)](https://travis-ci.org/wp-cli/wp-cli) [![Dependency Status](https://gemnasium.com/badges/github.com/wp-cli/wp-cli.svg)](https://gemnasium.com/github.com/wp-cli/wp-cli) [![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/wp-cli/wp-cli.svg)](http://isitmaintained.com/project/wp-cli/wp-cli "Average time to resolve an issue") [![Percentage of issues still open](http://isitmaintained.com/badge/open/wp-cli/wp-cli.svg)](http://isitmaintained.com/project/wp-cli/wp-cli "Percentage of issues still open") +[![Build Status](https://travis-ci.org/wp-cli/wp-cli.png?branch=master)](https://travis-ci.org/wp-cli/wp-cli) [![Abhängigkeiten Status](https://gemnasium.com/badges/github.com/wp-cli/wp-cli.svg)](https://gemnasium.com/github.com/wp-cli/wp-cli) [![Durchschnittliche Zeit bis zur Lösung eines Issues](http://isitmaintained.com/badge/resolution/wp-cli/wp-cli.svg)](http://isitmaintained.com/project/wp-cli/wp-cli "Durchschnittliche Zeit bis zur Lösung eines Issues") [![Prozentsatz noch offener Issues](http://isitmaintained.com/badge/open/wp-cli/wp-cli.svg)](http://isitmaintained.com/project/wp-cli/wp-cli "Prozentsatz noch offener Issues")
    -

    A more RESTful WP-CLI aims to unlocking the potential of the WP REST API at the command line. Project backed by Pressed, Chris Lema, Human Made, Pagely, Pantheon and many others. Learn more →

    +

    A more RESTful WP-CLI versucht das Potenzial der WP REST API auf der Kommandozeile auszuschöpfen. Das Projekt wird unterstützt von Pressed, Chris Lema, Human Made, Pagely, Pantheon und vielen mehr. Mehr erfahren →

    -Quick links: [Using](#using) | [Installing](#installing) | [Support](#support) | [Extending](#extending) | [Contributing](#contributing) | [Credits](#credits) +Quick links: [Benutzung](#benutzung) | [Installation](#installation) | [Support](#support) | [Erweitern](#erweitern) | [Mitwirken](#mitwirken) | [Credits](#credits) -## Using +## Benutzung -WP-CLI's goal is to provide a command-line interface for any action you might want to perform in the WordPress admin. For instance, `wp plugin install --activate` ([doc](https://wp-cli.org/commands/plugin/install/)) lets you install and activate a WordPress plugin: +Das Ziel von WP-CLI ist es, für jede Aktion ein Kommandozeilen-Interface zur Verfügung zu stellen, die man auch über den Adminbereich ausführen kann. Mit `wp plugin install --activate` ([doc](https://wp-cli.org/commands/plugin/install/)) kann man zum Beispiel ein WordPress Plugin installieren und aktivieren: ``` $ wp plugin install rest-api --activate @@ -37,47 +37,47 @@ Activating 'rest-api'... Success: Plugin 'rest-api' activated. ``` -WP-CLI also includes commands for many things you can't do in the WordPress admin. For example, `wp transient delete-all` ([doc](https://wp-cli.org/commands/transient/delete-all/)) lets you delete one or all transients: +WP-CLI enthält auch Befehle für viele Dinge, die man im Adminbereich nicht tun kann. Mit `wp transient delete-all` ([doc](https://wp-cli.org/commands/transient/delete-all/)) kannst du z.B. bestimmte oder alle Transients löschen: ``` $ wp transient delete-all Success: 34 transients deleted from the database. ``` -For a more complete introduction to using WP-CLI, read the [Quick Start guide](https://wp-cli.org/docs/quick-start/). +Für eine umfassendere Einführung in die Benutzung von WP-CLI, lies am besten den [Quick Start guide](https://wp-cli.org/docs/quick-start/). -Already feel comfortable with the basics? Jump into the [complete list of commands](https://wp-cli.org/commands/) for detailed information on managing themes and plugins, importing and exporting data, performing database search-replace operations and more. +Bereits genug von den Basics? Sieh dir die [komplette Liste an Befehlen](https://wp-cli.org/commands/) an für detailliertere Informationen zur Verwaltung von Themes und Plugins, Datenimport und -export, Suchen/Ersetzen-Operationen in der Datenbank und mehr. -## Installing +## Installation -Downloading the Phar file is our recommended installation method. Should you need, see also our documentation on [alternative installation methods](https://wp-cli.org/docs/installing/). +Das Herunterladen der Phar Datei ist unsere empfohlene Installationsweise. Falls nötig, gibt es auch eine Dokumentation zu [alternativen Installationsmethoden](https://wp-cli.org/docs/installing/). -Before installing WP-CLI, please make sure your environment meets the minimum requirements: +Bevor du WP-CLI installierst, stell bitte sicher, dass dein System die Mindestanforderungen erfüllt: -- UNIX-like environment (OS X, Linux, FreeBSD, Cygwin); limited support in Windows environment -- PHP 5.3.29 or later -- WordPress 3.7 or later +- UNIX-ähnliche Umgebung (OS X, Linux, FreeBSD, Cygwin); eingeschränkter Support in Windows-Umgebungen +- PHP 5.3.29 oder höher +- WordPress 3.7 oder höher -Once you've verified requirements, download the [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar) file using `wget` or `curl`: +Wenn du das erledigt hast, lade die [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar) Datei mittels `wget` oder `curl` herunter: ``` $ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar ``` -Next, check if it is working: +Prüfe als nächstes, ob es funktioniert: ``` $ php wp-cli.phar --info ``` -To use WP-CLI from the command line by typing `wp`, make the file executable and move it to somewhere in your PATH. For example: +Um WP-CLI auf der Kommandozeile durch blosses Tippen von `wp` zu nutzen, mache die Datei ausführbar und verschiebe es irgendwo hin innerhalb deines PATH. Zum Beispiel: ``` $ chmod +x wp-cli.phar $ sudo mv wp-cli.phar /usr/local/bin/wp ``` -If WP-CLI was installed successfully, you should see something like this when you run `wp --info`: +Wenn WP-CLI erfolgreich installiert wurde, solltest du bei der Ausführung von `wp --info` etwas wie hier sehen: ``` $ wp --info @@ -91,70 +91,70 @@ WP-CLI project config: WP-CLI version: 0.23.0 ``` -### Updating +### Aktualisieren -You can update WP-CLI with `wp cli update` ([doc](https://wp-cli.org/commands/cli/update/)), or by repeating the installation steps. +Du kannst WP-CLI mittels `wp cli update` ([doc](https://wp-cli.org/commands/cli/update/)) aktualisieren oder indem du die obigen Installationsschritte wiederholst. -Want to live life on the edge? Run `wp cli update --nightly` to use the latest nightly build of WP-CLI. The nightly build is more or less stable enough for you to use in your development environment, and always includes the latest and greatest WP-CLI features. +Lebst du gerne gefährlich? Führe `wp cli update --nightly` aus um den aktuellsten Nightly Build von WP-CLI zu nutzen. Der Nightly Build ist mehr oder weniger stabil genug für die Nutzung in deiner Entwicklungsumgebung und enthält jeweils die neusten und besten Features von WP-CLI. -### Tab completions +### Tab-Vervollständigung -WP-CLI also comes with a tab completion script for Bash and ZSH. Just download [wp-completion.bash](https://github.com/wp-cli/wp-cli/raw/master/utils/wp-completion.bash) and source it from `~/.bash_profile`: +Für WP-CLI gibt es auch ein Skript zur Autovervollständigung von Befehlen für Bash und ZSH. Lade einfach [wp-completion.bash](https://github.com/wp-cli/wp-cli/raw/master/utils/wp-completion.bash) herunter und referenziere es in der `~/.bash_profile` Datei: ``` source /FULL/PATH/TO/wp-completion.bash ``` -Don't forget to run `source ~/.bash_profile` afterwards. +Vergiss nicht, danach `source ~/.bash_profile` auszuführen. ## Support -WP-CLI's maintainers and project contributors do their best to respond to all new issues in a timely manner. To make the best use of their volunteered time, please first see if there may be an answer to your question in one of the following resources: +Die Betreuer und Mitwirkenden hinter WP-CLI tun ihr bestes um schnellstmöglich auf neue Issues zu antworten. Um ihre Arbeit zu erleichtern, prüfe zunächst ob es bereits an einem dieser Orte eine Antwort auf deine Frage gibt: -- [Common issues and their fixes](https://wp-cli.org/docs/common-issues/) -- [Best practices for submitting a bug report](https://wp-cli.org/docs/bug-reports/) -- [Documentation portal](https://wp-cli.org/docs/) -- [Open or closed issues on Github](https://github.com/wp-cli/wp-cli/issues?utf8=%E2%9C%93&q=is%3Aissue) -- [WordPress StackExchange forums](http://wordpress.stackexchange.com/questions/tagged/wp-cli) +- [Gängige Fehler und deren Lösungen](https://wp-cli.org/docs/common-issues/) +- [Best Practices beim Erstellen eines Bug Reports](https://wp-cli.org/docs/bug-reports/) +- [Dokumentationsportal](https://wp-cli.org/docs/) +- [Offene oder geschlossene Issues auf Github](https://github.com/wp-cli/wp-cli/issues?utf8=%E2%9C%93&q=is%3Aissue) +- [WordPress StackExchange Foren](http://wordpress.stackexchange.com/questions/tagged/wp-cli) -If you can't find your answer in one of those existing resources, feel free to [create an issue](https://github.com/wp-cli/wp-cli/issues/new) with your question. +Wenn du deine Antwort auf keiner dieser Seiten finden kannst, [erstelle ein Issue](https://github.com/wp-cli/wp-cli/issues/new) mit deiner Frage. -If you have a WordPress.org account, you may also consider joining the `#cli` channel on the [WordPress.org Slack organization](https://make.wordpress.org/chat/). +Falls du einen WordPress.org Account hast, ziehe in Erwägung dem `#cli` Channel des [WordPress.org Slack Teams](https://make.wordpress.org/chat/) beizutreten. -## Extending +## Erweitern -A **command** is an atomic unit of WP-CLI functionality. `wp plugin install` ([doc](https://wp-cli.org/commands/plugin/install/)) is one command. `wp plugin activate` ([doc](https://wp-cli.org/commands/plugin/activate/)) is another. +Ein **Befehl** ist die atomare Einheit der WP-CLI Funktionalität. `wp plugin install` ([doc](https://wp-cli.org/commands/plugin/install/)) ist ein solcher Befehl. `wp plugin activate` ([doc](https://wp-cli.org/commands/plugin/activate/)) ein anderer. -WP-CLI comes with dozens of commands. It's easier than it looks to create a custom WP-CLI command. Read the [commands cookbook](https://wp-cli.org/docs/commands-cookbook/) to learn more. Browse the [internal API docs](https://wp-cli.org/docs/internal-api/) to discover a variety of helpful functions you can use in your custom WP-CLI command. +WP-CLI enthält Dutzende Befehle. Es ist auch sehr einfach eigene Befehle zu erstellen. Lies dazu das [Commands Cookbook](https://wp-cli.org/docs/commands-cookbook/) um mehr zu erfahren. Stöbere in der [internen API-Dokumentation](https://wp-cli.org/docs/internal-api/) um eine Vielzahl hilfreicher Funktionen zu entdecken, welche du in deinem eigenen WP-CLI Befehl nutzen kannst. -## Contributing +## Mitwirken -Welcome and thanks! +Willkommen und danke! -We appreciate you taking the initiative to contribute to WP-CLI. It’s because of you, and the community around you, that WP-CLI is such a great project. +Wir schätzen es sehr, dass du interessiert bist an WP-CLI mitzuwirken. Nur wegen dir und der Community um dich herum ist WP-CLI so ein tolles Projekt. -**Contributing 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. +**Mitwirken beschränkt sich nicht nur aufs Programmieren.** Wir möchten dich dazu ermutigen, das beizutragen, was du am besten kannst. Sei es durch das Schreiben von Tutorials, das Vorstellen von WP-CLI an einem lokalen Meetup, anderen Nutzern bei ihren Supportfragen zu helfen oder unsere Dokumentation zu pflegen. -Please take a moment to [read these guidelines at depth](https://wp-cli.org/docs/contributing/). Following them helps to communicate that you respect the time of the other contributors to the project. In turn, they’ll do their best to reciprocate that respect when working with you, across timezones and around the world. +Nimm dir bitte einen Moment Zeit um [unsere Guidelines in Ruhe durchzulesen](https://wp-cli.org/docs/contributing/). Das Einhalten dieser Guidelines zeigt, dass du die Zeit respektierst, welche andere in dieses Projekt investieren. Im Gegensatz werden andere Betreuer rund um den Globus diesen Respekt erwidern. -## Leadership +## Projektleitung -WP-CLI is led by these individuals: +WP-CLI wird von folgenden Personen geleitet: -* [Daniel Bachhuber](https://github.com/danielbachhuber/) - current maintainer -* [Cristi Burcă](https://github.com/scribu) - previous maintainer -* [Andreas Creten](https://github.com/andreascreten) - founder +* [Daniel Bachhuber](https://github.com/danielbachhuber/) - aktueller Betreuer +* [Cristi Burcă](https://github.com/scribu) - vorheriger Betreuer +* [Andreas Creten](https://github.com/andreascreten) - Gründer -Read more about the project's [governance](https://wp-cli.org/docs/governance/) and view a [complete list of contributors](https://github.com/wp-cli/wp-cli/contributors). +Lies mehr über die [Projektstruktur](https://wp-cli.org/docs/governance/) und schau dir die [komplette Liste von Mitwirkenden](https://github.com/wp-cli/wp-cli/contributors) an. ## Credits -Besides the libraries defined in [composer.json](composer.json), we have used code or ideas from the following projects: +Neben den Bibliotheken, die in der [composer.json](composer.json) Datei erwähnt werden, nutzen wir Code oder Ideen von folgenden Projekten: -* [Drush](http://drush.ws/) for... a lot of things -* [wpshell](http://code.trac.wordpress.org/browser/wpshell) for `wp shell` -* [Regenerate Thumbnails](http://wordpress.org/plugins/regenerate-thumbnails/) for `wp media regenerate` -* [Search-Replace-DB](https://github.com/interconnectit/Search-Replace-DB) for `wp search-replace` -* [WordPress-CLI-Exporter](https://github.com/Automattic/WordPress-CLI-Exporter) for `wp export` -* [WordPress-CLI-Importer](https://github.com/Automattic/WordPress-CLI-Importer) for `wp import` -* [wordpress-plugin-tests](https://github.com/benbalter/wordpress-plugin-tests/) for `wp scaffold plugin-tests` +* [Drush](http://drush.ws/) für... viele Dinge +* [wpshell](http://code.trac.wordpress.org/browser/wpshell) für `wp shell` +* [Regenerate Thumbnails](http://wordpress.org/plugins/regenerate-thumbnails/) für `wp media regenerate` +* [Search-Replace-DB](https://github.com/interconnectit/Search-Replace-DB) für `wp search-replace` +* [WordPress-CLI-Exporter](https://github.com/Automattic/WordPress-CLI-Exporter) für `wp export` +* [WordPress-CLI-Importer](https://github.com/Automattic/WordPress-CLI-Importer) für `wp import` +* [wordpress-plugin-tests](https://github.com/benbalter/wordpress-plugin-tests/) für `wp scaffold plugin-tests` From 6c4fe04fdf1f6eda91d67846bd4ee6e482857fe5 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 12 Jul 2016 15:24:16 -0700 Subject: [PATCH 722/839] Include an example command on the homepage --- index.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/index.md b/index.md index 2d38536f..100ca498 100644 --- a/index.md +++ b/index.md @@ -125,6 +125,36 @@ If you have a WordPress.org account, you may also consider joining the `#cli` ch A **command** is an atomic unit of WP-CLI functionality. `wp plugin install` ([doc](https://wp-cli.org/commands/plugin/install/)) is one command. `wp plugin activate` ([doc](https://wp-cli.org/commands/plugin/activate/)) is another. +WP-CLI supports registering any callable class, function, or closure as a command. It reads usage details from the callback's PHPdoc. `WP_CLI::add_command()` ([doc](https://wp-cli.org/docs/internal-api/wp-cli-add-command/)) is used for both internal and third-party command registration. + +``` +/** + * Delete an option from the database. + * + * Returns an error if the option didn't exist. + * + * ## OPTIONS + * + * + * : Key for the option. + * + * ## EXAMPLES + * + * $ wp option delete my_option + * Success: Deleted 'my_option' option. + */ +$delete_option_cmd = function( $args ) { + list( $key ) = $args; + + if ( ! delete_option( $key ) ) { + WP_CLI::error( "Could not delete '$key' option. Does it exist?" ); + } else { + WP_CLI::success( "Deleted '$key' option." ); + } +}; +WP_CLI::add_command( 'option delete', $delete_option_cmd ); +``` + WP-CLI comes with dozens of commands. It's easier than it looks to create a custom WP-CLI command. Read the [commands cookbook](https://wp-cli.org/docs/commands-cookbook/) to learn more. Browse the [internal API docs](https://wp-cli.org/docs/internal-api/) to discover a variety of helpful functions you can use in your custom WP-CLI command. ## Contributing From 05e0053e926ba9385df0d8f3cbb1281613bc98f7 Mon Sep 17 00:00:00 2001 From: taianunes Date: Thu, 14 Jul 2016 00:51:58 -0300 Subject: [PATCH 723/839] pr-br trans upd 'Updating' and 'Tab Compl' --- br/index.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/br/index.md b/br/index.md index 3304a920..068ef1fd 100644 --- a/br/index.md +++ b/br/index.md @@ -92,10 +92,22 @@ WP-CLI project config: WP-CLI version: 0.23.0 ``` +### Atualizando + WP-CLI pode ser atualizado com `wp cli update` ([doc](https://wp-cli.org/commands/cli/update/)), ou repetindo os passos da instalação. _Quer viver a vida no limite?_ Execute `wp cli update --nightly` para usar a última compilação de desenvolvimento da WP-CLI. Essa versão é bastante estável para utilizar em seu ambiente de desenvolvimento, e sempre inclui as melhores e mais atuais funcionalidades da WP-CLI. +### Auto-completar + +WP-CLI também acompanha scripts de auto-complemtar para Bash ou ZSH. Faça o download [wp-completion.bash](https://github.com/wp-cli/wp-cli/raw/master/utils/wp-completion.bash) e carregue o arquivo para `~/.bash_profile`: + +``` +source /FULL/PATH/TO/wp-completion.bash +``` + +Não se esqueça de depois executar `source ~/.bash_profile`. + ## Suporte Os colaboradores do projeto WP-CLI fazem seu melhor para rsponder a todos os problemas assim que possível. Para que possamos fazer melhor uso do tempo dos voluntários, verifique se já existe uma resposta para sua pergunta em umas das fontes abaixo: From 4cace4977b695d29f4aa89fea9e23a3c9090cb81 Mon Sep 17 00:00:00 2001 From: taianunes Date: Thu, 14 Jul 2016 01:04:08 -0300 Subject: [PATCH 724/839] pr-br trans upd 'Extending' on index.md --- br/index.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/br/index.md b/br/index.md index 068ef1fd..16c652ab 100644 --- a/br/index.md +++ b/br/index.md @@ -126,6 +126,37 @@ Se você possui uma conta WordPress.org, considere se inscrever no canal `#cli` Um **commando** é uma unidade singular de uma funcionalidade WP-CLI. `wp plugin install` ([doc](https://wp-cli.org/commands/plugin/install/)) é um comando. `wp plugin activate` ([doc](https://wp-cli.org/commands/plugin/activate/)) é outro. +A WP-CLI suporta o registro de qualquer classe ou função como um comando, lendo os detalhes de uso através de _PHPdoc Callback_. `WP_CLI::add_command()` ([doc](https://wp-cli.org/docs/internal-api/wp-cli-add-command/)) é utilizado para registo de comandos internos e de terceiros. + + +``` +/** + * Delete an option from the database. + * + * Returns an error if the option didn't exist. + * + * ## OPTIONS + * + * + * : Key for the option. + * + * ## EXAMPLES + * + * $ wp option delete my_option + * Success: Deleted 'my_option' option. + */ +$delete_option_cmd = function( $args ) { + list( $key ) = $args; + + if ( ! delete_option( $key ) ) { + WP_CLI::error( "Could not delete '$key' option. Does it exist?" ); + } else { + WP_CLI::success( "Deleted '$key' option." ); + } +}; +WP_CLI::add_command( 'option delete', $delete_option_cmd ); +``` + WP-CLI vem com muitos comandos. Criar um comando personalizado para WP-CLi é mais fácil do que parece. Leia o [livro de receitas de comandos](https://wp-cli.org/docs/commands-cookbook/) para aprender mais. Procure a [documentação de API interna](https://wp-cli.org/docs/internal-api/) para descobrir a variedade de funcionalidades úteis que você pode utilizar no seu comando personalizado para WP-CLI. ## Contribuindo From c5ce6202f15c5d5e62489d18b2810f5647d96d12 Mon Sep 17 00:00:00 2001 From: taianunes Date: Thu, 14 Jul 2016 01:12:24 -0300 Subject: [PATCH 725/839] pr-br trans 'minor fixes' on index.md --- br/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/br/index.md b/br/index.md index 16c652ab..75a6421c 100644 --- a/br/index.md +++ b/br/index.md @@ -100,13 +100,13 @@ _Quer viver a vida no limite?_ Execute `wp cli update --nightly` para usar a úl ### Auto-completar -WP-CLI também acompanha scripts de auto-complemtar para Bash ou ZSH. Faça o download [wp-completion.bash](https://github.com/wp-cli/wp-cli/raw/master/utils/wp-completion.bash) e carregue o arquivo para `~/.bash_profile`: +WP-CLI também acompanha scripts de auto-completar para Bash ou ZSH. Faça o download [wp-completion.bash](https://github.com/wp-cli/wp-cli/raw/master/utils/wp-completion.bash) e carregue o arquivo para `~/.bash_profile`: ``` source /FULL/PATH/TO/wp-completion.bash ``` -Não se esqueça de depois executar `source ~/.bash_profile`. +Não se esqueça de executar `source ~/.bash_profile` em seguida. ## Suporte From 56a0aa6cf136563b365ccdc3d91972d42e4b3056 Mon Sep 17 00:00:00 2001 From: ernilambar Date: Thu, 14 Jul 2016 11:29:32 +0545 Subject: [PATCH 726/839] Add Nepali language in config file --- _config.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/_config.yml b/_config.yml index 7e3808f4..1cd123d7 100644 --- a/_config.yml +++ b/_config.yml @@ -47,3 +47,6 @@ languages: - label: Deutsch iso-alpha2: de path: /de/ +- label: नेपाली + iso-alpha2: ne + path: /ne/ From 0ee2ca3796b5e7e723267995f5a251995eadbbcd Mon Sep 17 00:00:00 2001 From: ernilambar Date: Thu, 14 Jul 2016 11:30:04 +0545 Subject: [PATCH 727/839] Add Nepali translation for home page --- ne/index.md | 160 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 160 insertions(+) create mode 100644 ne/index.md diff --git a/ne/index.md b/ne/index.md new file mode 100644 index 00000000..b4ad4474 --- /dev/null +++ b/ne/index.md @@ -0,0 +1,160 @@ +--- +layout: default +title: वर्डप्रेसको लागि कमाण्ड लाइन इन्टरफेस +--- + +[WP-CLI](https://wp-cli.org/) कमाण्ड लाइन औजारहरुको संग्रह हो जुन [वर्डप्रेस](https://wordpress.org/) व्यवस्थापन गर्न प्रयोग गरिन्छ । ब्राउजर बिना नै प्लगिन अद्यावधिक गर्न, बहुसाइट कन्फिगर गर्न तथा अन्य धेरै कामको लागि यो प्रयोग गर्न सकिन्छ । + +अद्यावधिक हुन, [टुइटरमा @wpcli](https://twitter.com/wpcli) फलो गर्नुहोस् वा [इमेल न्यूजलेटरको लागि साइन अप गर्नुहोस्](http://wp-cli.us13.list-manage.com/subscribe?u=0615e4d18f213891fc000adfd&id=8c61d7641e) । + +[![Build Status](https://travis-ci.org/wp-cli/wp-cli.png?branch=master)](https://travis-ci.org/wp-cli/wp-cli) [![Dependency Status](https://gemnasium.com/badges/github.com/wp-cli/wp-cli.svg)](https://gemnasium.com/github.com/wp-cli/wp-cli) [![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/wp-cli/wp-cli.svg)](http://isitmaintained.com/project/wp-cli/wp-cli "समस्या समाधान गर्न लाग्ने औसत समय") [![Percentage of issues still open](http://isitmaintained.com/badge/open/wp-cli/wp-cli.svg)](http://isitmaintained.com/project/wp-cli/wp-cli "खुला मुद्दाहरू प्रतिशतमा") + +
    +

    A more RESTful WP-CLI कमाण्ड लाइनमा WP REST API को सम्भावित शक्ति अनलक गर्न लक्षित छ । परियोजना Pressed, Chris Lema, Human Made, Pagely, Pantheon र धेरै अन्य द्वारा समर्थित छ । सिक्नुहोस् →

    +
    + +द्रुत लिंकहरु: [प्रयोग](#section) | [स्थापना](#section-1) | [सहायता](#section-2) | [विस्तार](#section-3) | [योगदान](#section-4) | [श्रेय](#section-5) + +## प्रयोग + +WP-CLI को लक्ष भनेको वर्डप्रेस व्यवस्थापनमा गर्न सकिने जुनै कार्य गर्नको लागि कमाण्ड लाइन इन्टरफेस प्रदान गर्नु हो । उदाहरण को रुपमा, `wp plugin install --activate` ([डक](https://wp-cli.org/commands/plugin/install/)) ले वर्डप्रेस प्लगिन स्थापना गरि सक्रिय बनाउछ: + +``` +$ wp plugin install rest-api --activate +Installing WordPress REST API (Version 2) (2.0-beta13) +Downloading install package from https://downloads.wordpress.org/plugin/rest-api.2.0-beta13.zip... +Unpacking the package... +Installing the plugin... +Plugin installed successfully. +Activating 'rest-api'... +Success: Plugin 'rest-api' activated. +``` + +WP-CLI मा अन्य कमाण्डहरु पनि उपलब्ध छ जुन वर्डप्रेस व्यवस्थापन प्यानलमा हुँदैन । जस्तै, `wp transient delete-all` ([doc](https://wp-cli.org/commands/transient/delete-all/)) ले सबै ट्रान्जियन्टहरु मेटाउछ: + +``` +$ wp transient delete-all +Success: 34 transients deleted from the database. +``` + +WP-CLI प्रयोग गर्नेबारे अरु जान्न, [छिटो सुरु पुस्तिका](https://wp-cli.org/docs/quick-start/) पढ्नुहोस् । + +आधारभूत कुराहरुमा सहज महसुस गर्नु हुन्छ ? थिम तथा प्लगिन ब्यबस्थान गर्न, डाटा आयात निर्यात गर्न, डाटाबेसमा खोज-प्रतिस्थापन गर्न तथा अन्य कार्यको विस्तृत जानकारीको लागि [कमाण्डहरूको पूर्ण सूची](https://wp-cli.org/commands/) मा जानुहोस् । + +## स्थापना + +Phar फाइल डाउनलोड गरेर स्थापना गर्ने विधि हाम्रो सिफारिस विधि हो । आवश्यक परेमा दस्तावेजमा [वैकल्पिक स्थापना विधिहरू](https://wp-cli.org/docs/installing/) हेर्नुहोस् । + +स्थापना गर्नु अघि कृपया न्यूनतम आवश्यकताहरू पूरा भएको निश्चित गर्नुहोस्: + +- UNIX जस्तै वातावरण (OS X, Linux, FreeBSD, Cygwin); Windows वातावरणमा सीमित समर्थन +- PHP 5.3.29 वा पछि +- वर्डप्रेस 3.7 वा पछि + +आवश्यकताहरु प्रमाणित गरिसकेपछि `wget` वा `curl` प्रयोग गरि [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar) फाइल डाउनलोड गर्नुहोस्: + +``` +$ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar +``` + +अब काम गरिरहेको छ कि छैन जांच गर्नुहोस्: + +``` +$ php wp-cli.phar --info +``` + +WP-CLI लाई कमाण्ड लाइनबाट `wp` टाइप गरि प्रयोग गर्नकार्यान्वयन योग्य बनाउनु होस् अनि कतै तपाईको PATH मा सार्नुहोस् । जस्तै: + +``` +$ chmod +x wp-cli.phar +$ sudo mv wp-cli.phar /usr/local/bin/wp +``` + +यदि WP-CLI सफलतापूर्वक स्थापना भएको छ भने `wp --info` कमाण्ड प्रविष्ट गर्दा यस्तो देख्न सक्नुहुनेछ: + +``` +$ wp --info +PHP binary: /usr/bin/php5 +PHP version: 5.5.9-1ubuntu4.14 +php.ini used: /etc/php5/cli/php.ini +WP-CLI root dir: /home/wp-cli/.wp-cli +WP-CLI packages dir: /home/wp-cli/.wp-cli/packages/ +WP-CLI global config: /home/wp-cli/.wp-cli/config.yml +WP-CLI project config: +WP-CLI version: 0.23.0 +``` + +### अद्यावधिक + +तपाइँ `wp cli update` ([डक](https://wp-cli.org/commands/cli/update/)) कमाण्डबाट WP-CLI अद्यावधिक गर्न सक्नुहुन्छ, वा स्थापना कदम दोहोराएर । + +केहि खतरा मोलेर जिउन चाहनुहुन्छ? WP-CLI को नवीनतम रात्रि गठन प्रयोग गर्न `wp cli update --nightly` कमाण्ड हान्नुहोस् । रात्रि गठन विकास वातावरणमा प्रयोग गर्न उपयुक्त हुन्छ अनि यसमा नवीनतम तथा महानतम WP-CLI सुविधाहरु सम्मिलित हुन्छ । + +### ट्याब सम्पूर्णता + +WP-CLI मा Bash र ZSH को लागि ट्याब सम्पूर्णता लिपि उपलब्ध छ । [wp-completion.bash](https://github.com/wp-cli/wp-cli/raw/master/utils/wp-completion.bash) डाउनलोड गर्नुहोस् अनि `~/.bash_profile` प्रयोग गरि सोर्स गर्नुहोस्: + +``` +source /FULL/PATH/TO/wp-completion.bash +``` + +तत्पश्चात `source ~/.bash_profile` कमाण्ड हान्न नबिर्सनुहोस् । + +## सहायता + +सबै नयाँ मुद्दाहरुमा समयमै जवाफ दिन WP-CLI का मर्मतकर्ता तथा परियोजना योगदानकर्ताहरु हरदम तत्पर रहन्छन् । ती स्वयंसेवकहरुको समयको उत्तम उपयोग गर्न कृपया पहिला तलका स्रोतहरूमा जांच गर्नुहोस् तपाईको प्रश्नको उत्तर छ कि भनेर: + +- [आम समस्याहरु र त्यसको समाधानहरु](https://wp-cli.org/docs/common-issues/) +- [बग प्रतिवेदनको लागि उत्तम अभ्यासहरू](https://wp-cli.org/docs/bug-reports/) +- [दस्तावेज पोर्टल](https://wp-cli.org/docs/) +- [Github मा खुल्ला तथा बन्द समस्याहरु](https://github.com/wp-cli/wp-cli/issues?utf8=%E2%9C%93&q=is%3Aissue) +- [वर्डप्रेस StackExchange फोरम](http://wordpress.stackexchange.com/questions/tagged/wp-cli) + +यदि तपाईंले ती स्रोतहरूमा आफ्नो जवाफ पाउन सक्नुभएन भने, आफ्नो प्रश्न समावेश गरि [मुद्दा सिर्जना](https://github.com/wp-cli/wp-cli/issues/new) गर्न सक्नुहुन्छ । + +यदि तपाईंसंग WordPress.org अकाउन्ट छ भने [WordPress.org Slack organization](https://make.wordpress.org/chat/) मा `#cli` च्यानलमा सामेल हुन सक्नुहुन्छ । + +## विस्तार + +**कमाण्ड** WP-CLI कार्यक्षमताको एक परमाणु एकाइ हो । `wp plugin install` ([डक](https://wp-cli.org/commands/plugin/install/)) एउटा कमाण्ड हो । `wp plugin activate` ([डक](https://wp-cli.org/commands/plugin/activate/)) अर्को कमाण्ड हो । + +WP-CLI मा दर्जनौं कमाण्डहरू छन् । कस्टम WP-CLI कमाण्ड सिर्जना गर्न सजिलो छ । अरु जान्न [कमाण्ड पाकपुस्तिका](https://wp-cli.org/docs/commands-cookbook/) पढ्नुहोस् । कस्टम WP-CLI कमाण्डमा प्रयोग गर्न सकिने सहयोगी प्रकार्यहरु पत्ता लगाउन [आन्तरिक API दस्तावेजहरु](https://wp-cli.org/docs/internal-api/) ब्राउज गर्नुहोस् । + +## योगदान + +स्वागत र धन्यवाद! + +WP-CLI मा योगदान गर्न देखाउनु भएको तपाईको अग्रसरतालाई हामी कदर गर्छौं । तपाईं र तपाईं वरिपरिको समुदायकै कारणले WP-CLI यस्तो ठूलो परियोजना बनेको हो । + +**योगदान केवल कोडमा मात्र सीमित छैन ।** हामी तपाईंलाई तपाईंको क्षमता अनुसार ठीक लागेको कार्य गरि योगदान गर्न प्रोत्साहन गर्छौं, जस्तै ट्युटोरियल लेखेर, स्थानीय मिटपमा डेमो देखाएर, अन्य प्रयोगकर्ताका प्रश्नहरुको जवाफ दिएर, दस्तावेजहरु संशोधन, आदि । + +कृपया केहि समय लिएर [गहिराईमा यी निर्देशनहरु पढ्नुहोस्](https://wp-cli.org/docs/contributing/) । तिनीहरूलाई पालना गर्नु भएमा यो स्पष्ट हुन्छ कि तपाईं परियोजनाका अन्य योगदानकर्ताको समयको आदर गर्नु हुन्छ । बदलामा तिनीहरु तपाईंको यो आदरको सम्मान गर्दै विश्वको विभिन्न समयक्षेत्रमा बसेर पनि तपाईंसंग काम गर्न कटिबद्ध हुनेछन् । + +## नेतृत्व + +WP-CLI मा यी व्यक्तिहरूको नेतृत्व छ: + +* [Daniel Bachhuber](https://github.com/danielbachhuber/) - वर्तमान मर्मतकर्ता +* [Cristi Burcă](https://github.com/scribu) - पूर्ववर्ती मर्मतकर्ता +* [Andreas Creten](https://github.com/andreascreten) - संस्थापक + +परियोजनाको [प्रशासन](https://wp-cli.org/docs/governance/) बारेमा थप पढ्नुहोस् र [योगदानकर्ताहरुको पूर्ण सूची](https://github.com/wp-cli/wp-cli/contributors) हेर्नुहोस् । + +## श्रेय + +[composer.json](composer.json) मा परिभाषित बाहेक हामीले निम्न परियोजनाहरुबाट कोड वा विचारहरु प्रयोग गरेका छौं: + +* [Drush](http://drush.ws/) धेरै कुराहरुको लागि +* [wpshell](http://code.trac.wordpress.org/browser/wpshell) `wp shell` को लागि +* [Regenerate Thumbnails](http://wordpress.org/plugins/regenerate-thumbnails/) `wp media regenerate` को लागि +* [Search-Replace-DB](https://github.com/interconnectit/Search-Replace-DB) `wp search-replace` को लागि +* [WordPress-CLI-Exporter](https://github.com/Automattic/WordPress-CLI-Exporter) `wp export` को लागि +* [WordPress-CLI-Importer](https://github.com/Automattic/WordPress-CLI-Importer) `wp import` को लागि +* [wordpress-plugin-tests](https://github.com/benbalter/wordpress-plugin-tests/) `wp scaffold plugin-tests` को लागि From 42a89fd3575aac8becc3aa59fa8330175d0ff07d Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 20 Jul 2016 06:02:38 -0700 Subject: [PATCH 728/839] First pass at the recap post --- _posts/2016-07-20-restful-wp-cli-update-4.md | 57 ++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 _posts/2016-07-20-restful-wp-cli-update-4.md diff --git a/_posts/2016-07-20-restful-wp-cli-update-4.md b/_posts/2016-07-20-restful-wp-cli-update-4.md new file mode 100644 index 00000000..14fbb47d --- /dev/null +++ b/_posts/2016-07-20-restful-wp-cli-update-4.md @@ -0,0 +1,57 @@ +--- +layout: post +author: danielbachhuber +title: RESTful WP-CLI - Coming to you soon? +--- + +Last November, I published a Kickstarter, and was completely blown away by the support. This month, the funding ran out, so I thought I'd post one last RESTful WP-CLI update. + +Actually, the story doesn't end here. I'm writing a massive retrospective post on using Kickstarter to fund open source, so keep an eye out for that. Also, WP-CLI v0.24.0 is due out a week from now, July 27th, and it's looking to be the largest release ever. When you do a Kickstarter, it's really just the beginning of something bigger. + +Enough with the superlatives, let's dive into some new features ...and remember: RESTful WP-CLI features have required under the hood changes to WP-CLI. You'll want to `wp cli update --nightly` to play with this new functionality locally. Once you've done so, you can `wp package install wp-cli/restful` to install the latest. + +### Effortlessly use WP-CLI against any WordPress install + +WP-CLI aliases are shortcuts you can register in your `wp-cli.yml` or `config.yml` to effortlessly run commands against any WordPress install. + +For instance, if I'm working on the runcommand theme on my local machine, have registered a new rewrite rule, and need to flush rewrites on my virtual machine, I can run: + + $ wp @dev rewrite flush + Success: Rewrite rules flushed. + +Then, once the code goes to production, I can run: + + $ wp @prod rewrite flush + Success: Rewrite rules flushed. + +Or, if I wanted to issue a command against both runcommand WordPress instances, I can use my `@both` alias group: + + $ wp @both core check-update + Success: WordPress is at the latest version. + Success: WordPress is at the latest version. + +These aliases are registered in my project's `wp-cli.yml` file: + + @prod: + ssh: runcommand@runcommand.io~/webapps/production + @dev: + ssh: vagrant@192.168.50.10/srv/www/runcommand.dev + @both: + - @prod + - @dev + +### But wait, what's the 'ssh' in there? + +WP-CLI now natively supports a `--ssh=` global parameter for running a command against a remote WordPress install. Many thanks to XWP and their community for paving the way with [WP-CLI SSH](https://github.com/xwp/wp-cli-ssh). + +Under the hood, WP-CLI proxies to the `ssh` executable. Your syntax for `` can be any of the following: + +* Just the host (e.g. `wp --ssh=runcommand.io`), which means the user will be inferred from your current system user, and the path will be the SSH user's home directory. +* The user and the host (e.g. `wp --ssh=runcommand@runcommand.io`). +* The user, the host, and the path to the WordPress install (e.g. `wp --ssh=runcommand@runcommand.io~/webapps/production`). The path comes immediately after the TLD of the host. + +Or, if you use a `~/.ssh/config`, `` can be any host alis stored in the SSH config (e.g. `wp --ssh=rc` for me). + +Note you will need a copy of WP-CLI on the remote server, accessible as `wp`. Using `--ssh=` won't load your `.bash_profile` if you have a shell alias defined there. [Here's a more thorough explanation](https://runcommand.io/to/wp-ssh-custom-path/) of how you can make `wp` accessible. + +### RESTful WP-CLI v0.2.0 and beyond From fc809070a1052887be86551e1ff37386e97e9286 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 20 Jul 2016 06:25:48 -0700 Subject: [PATCH 729/839] Explain RESTful WP-CLI v0.2.0 --- _posts/2016-07-20-restful-wp-cli-update-4.md | 22 ++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/_posts/2016-07-20-restful-wp-cli-update-4.md b/_posts/2016-07-20-restful-wp-cli-update-4.md index 14fbb47d..8f173cc9 100644 --- a/_posts/2016-07-20-restful-wp-cli-update-4.md +++ b/_posts/2016-07-20-restful-wp-cli-update-4.md @@ -55,3 +55,25 @@ Or, if you use a `~/.ssh/config`, `` can be any host alis stored in the SS Note you will need a copy of WP-CLI on the remote server, accessible as `wp`. Using `--ssh=` won't load your `.bash_profile` if you have a shell alias defined there. [Here's a more thorough explanation](https://runcommand.io/to/wp-ssh-custom-path/) of how you can make `wp` accessible. ### RESTful WP-CLI v0.2.0 and beyond + +Today also marks the release of [RESTful WP-CLI](https://github.com/wp-cli/restful) v0.2.0. Among [43 closed issues and pull requests](https://github.com/wp-cli/restful/milestone/2?closed=1), I'd like to highlight two new features. + +First, use `wp rest (post|user|comment|*) generate` to create an arbitrary number of any resource: + + $ wp @wpdev rest post generate --count=50 --title="Test Post" + Generating items 100% [==============================================] 0:01 / 0:02 + +When working on a site locally, you often need dummy content to work with. There are a myriad of ways custom post types can store data in the database though, so generating dummy content can be a painstaking process. Because the WP REST API represents a layer of abstraction between the client (e.g. WP-CLI in this case) and the database, it's much easier to produce a general purpose content generation command. + +Second, use `wp rest (post|user|comment|*) diff` to compare resources between two enviroments: + + $ wp @dev rest command diff @prod find-unused-themes --fields=title + (-) http://runcommand.dev/api/ (+) https://runcommand.io/api/ + command: + + title: find-unused-themes + +When working with multiple WordPress environments, you may want to know how these environments differ. Because the WP REST API represents a higher-level abstraction on top of WordPress, computing the difference between two environments becomes a matter of fetching the data and producing a comparison. + +Consider both of these new features to be prototypes. They work, but there are many implementation details to be worked out. + +tk closing From 3beed71eec85bad2502a39de1ad230d259c7b099 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 20 Jul 2016 09:06:39 -0700 Subject: [PATCH 730/839] More edits --- _posts/2016-07-20-restful-wp-cli-update-4.md | 32 ++++++++++++-------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/_posts/2016-07-20-restful-wp-cli-update-4.md b/_posts/2016-07-20-restful-wp-cli-update-4.md index 8f173cc9..e4f36589 100644 --- a/_posts/2016-07-20-restful-wp-cli-update-4.md +++ b/_posts/2016-07-20-restful-wp-cli-update-4.md @@ -1,20 +1,20 @@ --- layout: post author: danielbachhuber -title: RESTful WP-CLI - Coming to you soon? +title: RESTful WP-CLI - The final update? --- -Last November, I published a Kickstarter, and was completely blown away by the support. This month, the funding ran out, so I thought I'd post one last RESTful WP-CLI update. +Last November, I [published a Kickstarter](https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli), and was completely blown away by the support. This month, the funding ran out, so I thought I'd post one last [RESTful WP-CLI](https://github.com/wp-cli/restful) update. -Actually, the story doesn't end here. I'm writing a massive retrospective post on using Kickstarter to fund open source, so keep an eye out for that. Also, WP-CLI v0.24.0 is due out a week from now, July 27th, and it's looking to be the largest release ever. When you do a Kickstarter, it's really just the beginning of something bigger. +Actually, the story doesn't end here. I'm writing a massive retrospective post about using Kickstarter to fund open source, so keep an eye out for that. Also, WP-CLI v0.24.0 is due out a week from now, July 27th, and it's looking to be the largest release ever. When you do a Kickstarter, it's really just the beginning of something bigger. -Enough with the superlatives, let's dive into some new features ...and remember: RESTful WP-CLI features have required under the hood changes to WP-CLI. You'll want to `wp cli update --nightly` to play with this new functionality locally. Once you've done so, you can `wp package install wp-cli/restful` to install the latest. +Enough with the superlatives, let's dive into some new features. Remember: RESTful WP-CLI features require under the hood changes to WP-CLI. You'll want to `wp cli update --nightly` to play with this new functionality locally. Once you've done so, you can `wp package install wp-cli/restful` to install the latest. ### Effortlessly use WP-CLI against any WordPress install -WP-CLI aliases are shortcuts you can register in your `wp-cli.yml` or `config.yml` to effortlessly run commands against any WordPress install. +WP-CLI aliases are shortcuts you register in your `wp-cli.yml` or `config.yml` to effortlessly run commands against any WordPress install. -For instance, if I'm working on the runcommand theme on my local machine, have registered a new rewrite rule, and need to flush rewrites on my virtual machine, I can run: +For instance, if I'm working locally on the runcommand theme, have registered a new rewrite rule, and need to flush rewrites inside my Vagrant-based virtual machine, I can run: $ wp @dev rewrite flush Success: Rewrite rules flushed. @@ -24,13 +24,15 @@ Then, once the code goes to production, I can run: $ wp @prod rewrite flush Success: Rewrite rules flushed. -Or, if I wanted to issue a command against both runcommand WordPress instances, I can use my `@both` alias group: +Look ma! No more SSH'ing into machines, changing directories, and generally spending a full minute get to a given WordPress install. + +Additionally, alias groups let you register groups of aliases. If I want to run a command against both runcommand WordPress instances, I can use `@both`: $ wp @both core check-update Success: WordPress is at the latest version. Success: WordPress is at the latest version. -These aliases are registered in my project's `wp-cli.yml` file: +Aliases can be registered in your project's `wp-cli.yml` file, or your user's global `~/.wp-cli/config.yml` file: @prod: ssh: runcommand@runcommand.io~/webapps/production @@ -44,7 +46,7 @@ These aliases are registered in my project's `wp-cli.yml` file: WP-CLI now natively supports a `--ssh=` global parameter for running a command against a remote WordPress install. Many thanks to XWP and their community for paving the way with [WP-CLI SSH](https://github.com/xwp/wp-cli-ssh). -Under the hood, WP-CLI proxies to the `ssh` executable. Your syntax for `` can be any of the following: +Under the hood, WP-CLI proxies commands to the `ssh` executable, which then passes them to WP-CLI installed on the remote machine. Your syntax for `-ssh=` can be any of the following: * Just the host (e.g. `wp --ssh=runcommand.io`), which means the user will be inferred from your current system user, and the path will be the SSH user's home directory. * The user and the host (e.g. `wp --ssh=runcommand@runcommand.io`). @@ -52,11 +54,11 @@ Under the hood, WP-CLI proxies to the `ssh` executable. Your syntax for `` Or, if you use a `~/.ssh/config`, `` can be any host alis stored in the SSH config (e.g. `wp --ssh=rc` for me). -Note you will need a copy of WP-CLI on the remote server, accessible as `wp`. Using `--ssh=` won't load your `.bash_profile` if you have a shell alias defined there. [Here's a more thorough explanation](https://runcommand.io/to/wp-ssh-custom-path/) of how you can make `wp` accessible. +Note you do need a copy of WP-CLI on the remote server, accessible as `wp`. Futhermore, `--ssh=` won't load your `.bash_profile` if you have a shell alias defined, or are extending the `$PATH` environment variable. If this affects you, [here's a more thorough explanation](https://runcommand.io/to/wp-ssh-custom-path/) of how you can make `wp` accessible. ### RESTful WP-CLI v0.2.0 and beyond -Today also marks the release of [RESTful WP-CLI](https://github.com/wp-cli/restful) v0.2.0. Among [43 closed issues and pull requests](https://github.com/wp-cli/restful/milestone/2?closed=1), I'd like to highlight two new features. +Today marks the release of [RESTful WP-CLI](https://github.com/wp-cli/restful) v0.2.0. Among [43 closed issues and pull requests](https://github.com/wp-cli/restful/milestone/2?closed=1), I'd like to highlight two new features. First, use `wp rest (post|user|comment|*) generate` to create an arbitrary number of any resource: @@ -65,6 +67,8 @@ First, use `wp rest (post|user|comment|*) generate` to create an arbitrary numbe When working on a site locally, you often need dummy content to work with. There are a myriad of ways custom post types can store data in the database though, so generating dummy content can be a painstaking process. Because the WP REST API represents a layer of abstraction between the client (e.g. WP-CLI in this case) and the database, it's much easier to produce a general purpose content generation command. +In the future, I'd love to see [dummy data generated for each field based on the resource schema](https://github.com/wp-cli/restful/issues/69). + Second, use `wp rest (post|user|comment|*) diff` to compare resources between two enviroments: $ wp @dev rest command diff @prod find-unused-themes --fields=title @@ -74,6 +78,8 @@ Second, use `wp rest (post|user|comment|*) diff` to compare resources between tw When working with multiple WordPress environments, you may want to know how these environments differ. Because the WP REST API represents a higher-level abstraction on top of WordPress, computing the difference between two environments becomes a matter of fetching the data and producing a comparison. -Consider both of these new features to be prototypes. They work, but there are many implementation details to be worked out. +There are a [number of ways the diff command could be improved](https://github.com/wp-cli/restful/issues?q=is%3Aissue+is%3Aopen+label%3Acommand%3Adiff), so consider this implementation to be the prototype. + +What's next? Ultimately, the goal is for `wp rest post` to replace `wp post`, but there are many months between here and there. In this future where WP-CLI packages are first-class citizens amongst the commands in WP-CLI core, RESTful WP-CLI gets to serve as a testbed for figuring out how that actually works. We shall see, we shall see. -tk closing +As always, thanks for your support! From cc8f657240936280be01e57f1fed1e2f5b4d84f9 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 20 Jul 2016 09:20:41 -0700 Subject: [PATCH 731/839] Update the project landing page I'm not sure where I came up with the 283 hour figure originally --- restful/index.md | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/restful/index.md b/restful/index.md index 1d67b605..f7c854bf 100644 --- a/restful/index.md +++ b/restful/index.md @@ -5,13 +5,13 @@ title: A more RESTful WP-CLI ## A more RESTful WP-CLI -*Landing page last updated: April 14, 2016* +*Landing page last updated: July 20, 2016* -WP-CLI's mission is to be, quantitatively, the *fastest* interface for developers to manage WordPress. "A more RESTful WP-CLI" is a [Kickstarter-backed](https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli/description) project to unlock the potential of the [WordPress REST API](http://v2.wp-api.org/) at the command line. This funding supports 283 hours of [Daniel Bachhuber](http://danielbachhuber.com/)'s time towards making improvements to WP-CLI and the WP REST API. +WP-CLI's mission is to be, quantitatively, the *fastest* interface for developers to manage WordPress. "A more RESTful WP-CLI" was a [Kickstarter-backed](https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli/description) project to unlock the potential of the [WordPress REST API](http://v2.wp-api.org/) at the command line. This funding supported 232.42 hours of [Daniel Bachhuber](http://danielbachhuber.com/)'s time towards making improvements to WP-CLI and the WP REST API. -Wait a second, what does it mean to "unlock the potential of the WP REST API at the command line"? Pragmatically, it means any endpoints registered in plugins or themes will be *automagically* accessible as WP-CLI commands. For instance, if you were to register an endpoint for `GET /my-plugin/v1/product/`, this endpoint will also be accessible on the command line as (more or less) `wp @prod product get `. You can check out the work to date at [danielbachhuber/wp-rest-cli](https://github.com/danielbachhuber/wp-rest-cli) +Wait a second, what does it mean to "unlock the potential of the WP REST API at the command line"? Pragmatically, it means any endpoints registered in plugins or themes are *automagically* accessible as WP-CLI commands. For instance, if you were to register an endpoint for `GET /my-plugin/v1/product/`, this endpoint is also accessible on the command line as (more or less) `wp @prod product get `. -However, this project is also a multi-faceted exploration of what it means for WP-CLI to be the fastest way to manage WordPress, in a world backed by the WP REST API. +For a summary of these features, check out [wp-cli/restful](https://github.com/wp-cli/restful). Or, read through the updates linked below for a broader overview of how the project progressed. Quick links: [Achievements](#achievements) - [Budget](#budget) - [Supporters](#supporters) @@ -21,6 +21,7 @@ Quick links: [Achievements](#achievements) - [Budget](#budget) - [Supporters](#s Blog posts: +* [RESTful WP-CLI - The final update?](/blog/restful-wp-cli-update-4.html) - July 20, 2016 * [RESTful WP-CLI - What I've been hacking on](/blog/restful-wp-cli-update-3.html) - April 14, 2016 * [RESTful WP-CLI - No rest for the weary](/blog/restful-wp-cli-update-2.html) - February 4, 2016 * [RESTful WP-CLI - The journey begins](/blog/restful-wp-cli-update-1.html) - January 12, 2016 @@ -35,23 +36,24 @@ Releases: Presentations: +* [My condolences, you’re now the maintainer of a popular open source project](https://runcommand.io/2016/06/26/my-condolences-youre-now-the-maintainer-of-a-popular-open-source-project/) - WordCamp Europe (June 25, 2016) * [Unlocking the potential of the WP REST API at the command line](http://blog.handbuilt.co/2016/01/28/feelingrestful-a-more-restful-wp-cli/) - A Day of REST (January 28, 2016) *** ## Budget -Here's a breakdown of how the project's 283 total hours have been used (between January 1st and April 14th, 2016): +Here's a breakdown of how the project's 232.42 total hours have been used (between January 1st and July 20th, 2016): | Activity | WP-CLI | WP-API | |---------------|----------------------------|---------------------------| -| Development | 65.46 | 67.95 | +| Development | 84.38 | 67.95 | | Support | 10.91 | 15.39 | -| Documentation | 24.96 | 1.17 | -| Blogging | 12.51 | 0 | +| Documentation | 27.21 | 1.17 | +| Blogging | 16.97 | 0 | | Meetings | 0 | 7.91 | | Admin | 0.77 | 0 | -| **Total** | 114.61 (of 150.58 budgeted)| 92.42 (of 92.42 budgeted) | +| **Total** | 140.24 (of 140.00 budgeted)| 92.42 (of 92.42 budgeted) | Note: time spent fulfilling the Kickstarter rewards is tracked separately. From 9f7b2009913d9f9e9df0944013e6469fe3c7aadd Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 20 Jul 2016 09:27:00 -0700 Subject: [PATCH 732/839] Edits --- _posts/2016-07-20-restful-wp-cli-update-4.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/_posts/2016-07-20-restful-wp-cli-update-4.md b/_posts/2016-07-20-restful-wp-cli-update-4.md index e4f36589..326e7d16 100644 --- a/_posts/2016-07-20-restful-wp-cli-update-4.md +++ b/_posts/2016-07-20-restful-wp-cli-update-4.md @@ -52,7 +52,7 @@ Under the hood, WP-CLI proxies commands to the `ssh` executable, which then pass * The user and the host (e.g. `wp --ssh=runcommand@runcommand.io`). * The user, the host, and the path to the WordPress install (e.g. `wp --ssh=runcommand@runcommand.io~/webapps/production`). The path comes immediately after the TLD of the host. -Or, if you use a `~/.ssh/config`, `` can be any host alis stored in the SSH config (e.g. `wp --ssh=rc` for me). +Or, if you use a `~/.ssh/config`, `` can be any host alias stored in the SSH config (e.g. `wp --ssh=rc` for me). Note you do need a copy of WP-CLI on the remote server, accessible as `wp`. Futhermore, `--ssh=` won't load your `.bash_profile` if you have a shell alias defined, or are extending the `$PATH` environment variable. If this affects you, [here's a more thorough explanation](https://runcommand.io/to/wp-ssh-custom-path/) of how you can make `wp` accessible. @@ -80,6 +80,10 @@ When working with multiple WordPress environments, you may want to know how thes There are a [number of ways the diff command could be improved](https://github.com/wp-cli/restful/issues?q=is%3Aissue+is%3Aopen+label%3Acommand%3Adiff), so consider this implementation to be the prototype. -What's next? Ultimately, the goal is for `wp rest post` to replace `wp post`, but there are many months between here and there. In this future where WP-CLI packages are first-class citizens amongst the commands in WP-CLI core, RESTful WP-CLI gets to serve as a testbed for figuring out how that actually works. We shall see, we shall see. +What's next? + +More immediately, I'd like to start looking at how well RESTful WP-CLI works with plugins and themes. If you've written custom endpoints for the WP REST API, [please weigh in on this Github issue](https://github.com/wp-cli/restful/issues/85) so I can check it out. + +Ultimately, the goal is for `wp rest post` to replace `wp post`, but there are many months between here and there. In this future where WP-CLI packages are first-class citizens amongst the commands in WP-CLI core, RESTful WP-CLI gets to serve as a testbed for figuring out how that actually works. We shall see, we shall see. As always, thanks for your support! From 38573639c47385759870318d783dbbb4194a66e8 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 20 Jul 2016 09:31:27 -0700 Subject: [PATCH 733/839] Clarify that it isn't a typo --- _posts/2016-07-20-restful-wp-cli-update-4.md | 1 + 1 file changed, 1 insertion(+) diff --git a/_posts/2016-07-20-restful-wp-cli-update-4.md b/_posts/2016-07-20-restful-wp-cli-update-4.md index 326e7d16..c918f442 100644 --- a/_posts/2016-07-20-restful-wp-cli-update-4.md +++ b/_posts/2016-07-20-restful-wp-cli-update-4.md @@ -71,6 +71,7 @@ In the future, I'd love to see [dummy data generated for each field based on the Second, use `wp rest (post|user|comment|*) diff` to compare resources between two enviroments: + # "command" isn't a typo in this example; "command" is a content type expressed through the WP REST API on runcommand.io $ wp @dev rest command diff @prod find-unused-themes --fields=title (-) http://runcommand.dev/api/ (+) https://runcommand.io/api/ command: From 8bcf0f0fc6d2613fded561c158d89577c5dc339e Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 20 Jul 2016 11:39:15 -0700 Subject: [PATCH 734/839] Update 2016-07-20-restful-wp-cli-update-4.md --- _posts/2016-07-20-restful-wp-cli-update-4.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-07-20-restful-wp-cli-update-4.md b/_posts/2016-07-20-restful-wp-cli-update-4.md index c918f442..3de4801b 100644 --- a/_posts/2016-07-20-restful-wp-cli-update-4.md +++ b/_posts/2016-07-20-restful-wp-cli-update-4.md @@ -24,7 +24,7 @@ Then, once the code goes to production, I can run: $ wp @prod rewrite flush Success: Rewrite rules flushed. -Look ma! No more SSH'ing into machines, changing directories, and generally spending a full minute get to a given WordPress install. +Look ma! No more SSH'ing into machines, changing directories, and generally spending a full minute to get to a given WordPress install. Additionally, alias groups let you register groups of aliases. If I want to run a command against both runcommand WordPress instances, I can use `@both`: From ba5a9446aae1028e2f1ee534acda8cb869b78437 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 20 Jul 2016 16:25:37 -0700 Subject: [PATCH 735/839] Explain why Twitter isn't an appropriate support medium --- index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/index.md b/index.md index 100ca498..df7c4682 100644 --- a/index.md +++ b/index.md @@ -119,6 +119,8 @@ WP-CLI's maintainers and project contributors do their best to respond to all ne If you can't find your answer in one of those existing resources, feel free to [create an issue](https://github.com/wp-cli/wp-cli/issues/new) with your question. +Please do not ask support questions on Twitter. Twitter isn't an acceptable venue for support because: 1) it's hard to hold conversations in under 140 characters, and 2) Twitter isn't a place where someone with your same question can search for an answer in a prior conversation. + If you have a WordPress.org account, you may also consider joining the `#cli` channel on the [WordPress.org Slack organization](https://make.wordpress.org/chat/). ## Extending From d6b7c25c382334cb62b2de745777512e0ea52c87 Mon Sep 17 00:00:00 2001 From: Konstantinos Kouratoras Date: Thu, 21 Jul 2016 23:52:47 +0300 Subject: [PATCH 736/839] Add Greek translation --- _config.yml | 3 + gr/index.md | 192 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 195 insertions(+) create mode 100644 gr/index.md diff --git a/_config.yml b/_config.yml index 1cd123d7..02195850 100644 --- a/_config.yml +++ b/_config.yml @@ -50,3 +50,6 @@ languages: - label: नेपाली iso-alpha2: ne path: /ne/ +- label: Greek + iso-alpha2: gr + path: /gr/ diff --git a/gr/index.md b/gr/index.md new file mode 100644 index 00000000..6b770086 --- /dev/null +++ b/gr/index.md @@ -0,0 +1,192 @@ +--- +layout: default +title: Διεπαφή γραμμής εντολών για το WordPress +--- + +Το [WP-CLI](https://wp-cli.org/) είναι ένα σύνολο από εργαλεία γραμμής εντολών για τη διαχείριση εγκαταστάσεων [WordPress](https://wordpress.org/). Μπορείτε να ενημερώνετε πρόσθετα, να ρυθμίζετε εγκαταστάσεις πολλαπλών ιστοτόπων και πολλά περισσότερα, χωρίς τη χρήση περιηγητή. + +Για να μένετε ενημερωμένοι, ακολουθήστε το [@wpcli στο Twitter](https://twitter.com/wpcli) ή [εγγραφείτε για το ενημερωτικό μας δελτίο](http://wp-cli.us13.list-manage.com/subscribe?u=0615e4d18f213891fc000adfd&id=8c61d7641e). + +[![Build Status](https://travis-ci.org/wp-cli/wp-cli.png?branch=master)](https://travis-ci.org/wp-cli/wp-cli) [![Dependency Status](https://gemnasium.com/badges/github.com/wp-cli/wp-cli.svg)](https://gemnasium.com/github.com/wp-cli/wp-cli) [![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/wp-cli/wp-cli.svg)](http://isitmaintained.com/project/wp-cli/wp-cli "Average time to resolve an issue") [![Percentage of issues still open](http://isitmaintained.com/badge/open/wp-cli/wp-cli.svg)](http://isitmaintained.com/project/wp-cli/wp-cli "Percentage of issues still open") + +
    +

    Ένα περισσότερο RESTful WP-CLI στοχεύει στην εκμετάλλευση της δυναμικής του WP REST API στη γραμμή εντολών. Το έργο υποστηρίχθηκε από τους Pressed, Chris Lema, Human Made, Pagely, Pantheon και πολλούς άλλους. Μάθετε περισσότερα →

    +
    + +Γρήγοροι σύνδεσμοι: [Χρήση](#using) | [Εγκατάσταση](#installing) | [Υποστήριξη](#support) | [Επέκταση](#extending) | [Συνεισφορά](#contributing) | [Ευχαριστίες](#credits) + +## Χρήση + +Ο σκοπός του WP-CLI είναι η παροχή μίας διεπαφής γραμμής εντολών για κάθε ενέργεια που μπορεί να θέλετε να εκτελέσετε στο διαχειριστικό περιβάλλον του WordPress. Για παράδειγμα, η εντολή `wp plugin install --activate` ([τεκμηρίωση](https://wp-cli.org/commands/plugin/install/)) σας επιτρέπει να εγκαταστήσετε και να ενεργοποιήσετε ένα πρόσθετο WordPress: + +``` +$ wp plugin install rest-api --activate +Installing WordPress REST API (Version 2) (2.0-beta13) +Downloading install package from https://downloads.wordpress.org/plugin/rest-api.2.0-beta13.zip... +Unpacking the package... +Installing the plugin... +Plugin installed successfully. +Activating 'rest-api'... +Success: Plugin 'rest-api' activated. +``` + +Το WP-CLI περιλαμβάνει επίσης εντολές για πολλά πράγματα που δεν μπορείτε να κάνετε στο διαχειριστικό περιβάλλον του WordPress. Για παράδειγμα, η εντολή `wp transient delete-all` ([τεκμηρίωση](https://wp-cli.org/commands/transient/delete-all/)) σας επιτρέπει να διαγράψετε ένα ή όλα τα transients: + +``` +$ wp transient delete-all +Success: 34 transients deleted from the database. +``` + +Για μία πιο ολοκληρωμένη εισαγωγή στη χρήση του WP-CLI, διαβάστε τον [οδηγό γρήγορης εκκίνησης](https://wp-cli.org/docs/quick-start/). + +Αισθάνεστε ήδη άνετα με τα βασικά; Προχωρήστε στην [πλήρη λίστα εντολών](https://wp-cli.org/commands/) για λεπτομερείς πληροφορίες για το πως να διαχειρίζεστε τα θέματα και τα πρόσθετα, να εισάγετε και να εξάγετε δεδομένα, να εκτελείτε λειτουργίες εύρεσης-αντικατάστασης στη βάση δεδομένων και πολλά περισσότερα. + +## Εγκατάσταση + +Μεταφορτώνοντας το αρχείο Phar είναι ο δικός μας προτεινόμενος τρόπος. Εάν χρειάζεται, δείτε επίσης την τεκμηρίωσή μας για [εναλλακτικές μεθόδους εγκατάστασης](https://wp-cli.org/docs/installing/). + +Πριν την εγκατάσταση του WP-CLI, παρακαλούμε βεβαιωθείτε ότι το περιβάλλον σας ανταποκρίνεται στις ελάχιστες απαιτήσεις: + +- Περιβάλλον UNIX-like (OS X, Linux, FreeBSD, Cygwin), περιορισμένη υποστήριξη σε περιβάλλον Windows +- PHP 5.3.29 ή νεότερη +- WordPress 3.7 ή νεότερο + +Μόλις επιβεβαιώσετε τις απαιτήσεις, μεταφορτώστε το αρχείο [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar) χρησιμοποιώντας την εντολή `wget` ή `curl`: + +``` +$ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar +``` + +Μετά, ελέγξτε ότι δουλεύει: + +``` +$ php wp-cli.phar --info +``` + +Για να χρησιμοποιήσετε το WP-CLI από τη γραμμή εντολών πληκτρολογώντας `wp`, κάντε το αρχείο εκτελέσιμο και μετακινήστε το κάπου μέσα στο PATH σας. Για παράδειγμα: + +``` +$ chmod +x wp-cli.phar +$ sudo mv wp-cli.phar /usr/local/bin/wp +``` + +Αν το WP-CLI έχει εγκατασταθεί επιτυχώς, όταν εκτελέσετε `wp --info` θα πρέπει να δείτε κάτι σαν αυτό: + +``` +$ wp --info +PHP binary: /usr/bin/php5 +PHP version: 5.5.9-1ubuntu4.14 +php.ini used: /etc/php5/cli/php.ini +WP-CLI root dir: /home/wp-cli/.wp-cli +WP-CLI packages dir: /home/wp-cli/.wp-cli/packages/ +WP-CLI global config: /home/wp-cli/.wp-cli/config.yml +WP-CLI project config: +WP-CLI version: 0.23.0 +``` + +### Ενημέρωση + +Μπορείτε να ενημερώσετε το WP-CLI με την εντολή `wp cli update` ([τεκμηρίωση](https://wp-cli.org/commands/cli/update/)), ή επαναλαμβάνοντας τα βήματα εγκατάστασης. + +Θέλετε να ζείτε τη ζωή στα άκρα; Εκτελέστε `wp cli update --nightly` για να χρησιμοποιήσετε την τελευταία nightly build WP-CLI. Το nightly build είναι αρκετά ασφαλές για να χρησιμοποιηθεί σε δοκιμαστικό περιβάλλον, και πάντα περιλαμβάνει τα τελευταία και καλύτερα χαρακτηριστικά του WP-CLI. + +### Συμπληρώσεις Tab + +Το WP-CLI έρχεται επίσης με ένα αρχείο για συμπλήρωση tab για το Bash και το ZSH. Απλά μεταφορτώστε το [wp-completion.bash](https://github.com/wp-cli/wp-cli/raw/master/utils/wp-completion.bash) και προσθέστε την παρακάτω γραμμή στο αρχείο `~/.bash_profile`: + +``` +source /FULL/PATH/TO/wp-completion.bash +``` + +Μην ξεχάσετε να εκτελέσετε την εντολή `source ~/.bash_profile` μετά. + +## Υποστήριξη + +Τα άτομα που συντηρούν το WP-CLI και συνεισφέρουν σε αυτό, κάνουν ότι καλύτερο μπορούν για να απαντάνε σε όλα τα νέα θέματα εγκαίρως. Για να κάνετε τη βέλτιστη χρήση του εθελοντικού τους χρόνου, παρακαλώ δείτε πρώτα μήπως υπάρχει απάντηση στην ερώτησή σας σε έναν από τους ακόλουθους συνδέσμους: + +- [Κοινά προβλήματα και λύσεις τους](https://wp-cli.org/docs/common-issues/) +- [Βέλτιστες πρακτικές για υποβολή αναφοράς σφάλματος](https://wp-cli.org/docs/bug-reports/) +- [Πύλη τεκμηρίωσης](https://wp-cli.org/docs/) +- [Ανοιχτά ή κλειστά θέματα στο Github](https://github.com/wp-cli/wp-cli/issues?utf8=%E2%9C%93&q=is%3Aissue) +- [WordPress StackExchange forums](http://wordpress.stackexchange.com/questions/tagged/wp-cli) + +Αν δε μπορείτε να βρείτε απάντηση σε ένα από τις υπάρχουσες πηγές, [δημιουργήστε ένα θέμα](https://github.com/wp-cli/wp-cli/issues/new) με την ερώτησή σας. + +Παρακαλώ μη ζητάτε υποστήριξη στο Twitter. Το Twitter δεν είναι αποδεκτός χώρος για υποστήριξη επειδή: 1) είναι δύσκολο να διατηρήσεις συζητήσεις σε κάτω από 140 χαρακτήρες, και 2) το Twitter δεν είναι ένας χώρος όπου κάποιος με την ίδια ερώτηση με εσάς μπορεί να ψάξει για απάντηση σε προηγούμενη συζήτηση. + +Αν έχετε λογαριασμό στο WordPress.org, μπορείτε επίσης να συμμετέχετε στο κανάλι `#cli` του [WordPress.org Slack](https://make.wordpress.org/chat/). + +## Επέκταση + +Μία **εντολή** είναι μια ατομική μονάδα λειτουργικότητας του WP-CLI. Η `wp plugin install` ([τεκμηρίωση](https://wp-cli.org/commands/plugin/install/)) είναι μία εντολή. Η `wp plugin activate` ([τεκμηρίωση](https://wp-cli.org/commands/plugin/activate/)) είναι μία άλλη. + +Το WP-CLI υποστηρίζει την καταχώρηση σαν μία εντολή κάθε κλάσης ή συνάρτησης που μπορεί να καλεστεί. Διαβάζει λεπτομέρειες χρήσης από το PHPdoc. Το `WP_CLI::add_command()` ([τεκμηρίωση](https://wp-cli.org/docs/internal-api/wp-cli-add-command/)) χρησιμοποιείται για εσωτερική καταχώρηση εντολής και καταχώρηση από τρίτους. + +``` +/** + * Delete an option from the database. + * + * Returns an error if the option didn't exist. + * + * ## OPTIONS + * + * + * : Key for the option. + * + * ## EXAMPLES + * + * $ wp option delete my_option + * Success: Deleted 'my_option' option. + */ +$delete_option_cmd = function( $args ) { + list( $key ) = $args; + + if ( ! delete_option( $key ) ) { + WP_CLI::error( "Could not delete '$key' option. Does it exist?" ); + } else { + WP_CLI::success( "Deleted '$key' option." ); + } +}; +WP_CLI::add_command( 'option delete', $delete_option_cmd ); +``` + +Το WP-CLI έρχεται με ένα πλήθος από εντολές. Είναι πιο εύκολο απ'ότι φαίνεται να δημιουργήσετε μια εντολή WP-CLI. Διαβάστε το [εγχειρίδιο εντολών](https://wp-cli.org/docs/commands-cookbook/) για να μάθετε περισσότερα. Πλοηγηθείτε στην [τεκμηρίωση εσωτερικού API](https://wp-cli.org/docs/internal-api/) για να ανακαλύψετε μια ποικιλία από χρήσιμες συναρτήσεις που μπορείτε να χρησιμοποιήσετε στη δική σας WP-CLI εντολή. + +## Συνεισφορά + +Καλώς ήρθατε και ευχαριστούμε! + +Εκτιμούμε που παίρνετε την πρωτοβουλία να συνεισφέρετε στο WP-CLI. Οφείλετε σας εσάς και στην κοινότητα γύρω σας το γεγονός ότι το WP-CLI είναι ένα τόσο ωραίο έργο. + +**Η συνεισφορά δεν περιορίζεται μόνο σε κώδικα.** Σας ενθαρρύνουμε να συνεισφέρετε με όποιον τρόπο θεωρείτε ότι ταιριάζει στις ικανότητές σας, γράφοντας οδηγούς χρήσης, κάνοντας μια παρουσίαση στην τοπική σας ομάδα, βοηθώντας άλλους χρήστες με τις ερωτήσεις τους, ή αναθεωρώντας την τεκμηρίωσή μας. + +Παρακαλούμε αφιερώστε λίγο χρόνο για να [διαβάσετε αυτές τις κατευθηντήριες γραμμές σε βάθος](https://wp-cli.org/docs/contributing/). Ακολουθώντας τις, βοηθάει να επικοινωνηθεί ότι σέβεστε το χρόνο των άλλων ατόμων που συνεισφέρουν στο έργο. Με τη σειρά τους, αυτοί θα κάνουν ότι καλύτερο να ανταποδώσουν αυτόν το σεβασμό όταν θα δουλεύουν μαζί σας, σε διάφες ζώνες ώρας και από όλο τον κόσμο. + +## Ομάδα + +Η βασική ομάδα του WP-CLI αποτελείται από τα ακόλουθα άτομα: + +* [Daniel Bachhuber](https://github.com/danielbachhuber/) - συντήρηση (τώρα) +* [Cristi Burcă](https://github.com/scribu) - συντήρηση (παλαιότερα) +* [Andreas Creten](https://github.com/andreascreten) - ιδρυτής + +Διαβάστε περισσότερα σχετικά με τη [διακυβέρνηση](https://wp-cli.org/docs/governance/) του έργου και δείτε την [πλήρη λίστα με τα άτομα που έχουν συνεισφέρει](https://github.com/wp-cli/wp-cli/contributors). + +## Ευχαριστίες + +Εκτός τις βιβλιοθήκες που ορίζονται στο [composer.json](composer.json), έχουμε χρησιμοποιήσει κώδικα ή ιδέες από τα ακόλουθα έργα: + +* [Drush](http://drush.ws/) για... πολλά πράγματα +* [wpshell](http://code.trac.wordpress.org/browser/wpshell) για το `wp shell` +* [Regenerate Thumbnails](http://wordpress.org/plugins/regenerate-thumbnails/) για το `wp media regenerate` +* [Search-Replace-DB](https://github.com/interconnectit/Search-Replace-DB) για το `wp search-replace` +* [WordPress-CLI-Exporter](https://github.com/Automattic/WordPress-CLI-Exporter) για το `wp export` +* [WordPress-CLI-Importer](https://github.com/Automattic/WordPress-CLI-Importer) για το `wp import` +* [wordpress-plugin-tests](https://github.com/benbalter/wordpress-plugin-tests/) για το `wp scaffold plugin-tests` From 774dae924f0eb886954c4373d1b359da56fa9d72 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Sat, 23 Jul 2016 05:23:56 -0700 Subject: [PATCH 737/839] First pass at the release post --- _posts/2016-07-29-version-0.24.0.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 _posts/2016-07-29-version-0.24.0.md diff --git a/_posts/2016-07-29-version-0.24.0.md b/_posts/2016-07-29-version-0.24.0.md new file mode 100644 index 00000000..779c303a --- /dev/null +++ b/_posts/2016-07-29-version-0.24.0.md @@ -0,0 +1,27 @@ +--- +layout: post +author: danielbachhuber +title: Version 0.24.0 released +--- + + +### Everything else in 0.24.0 + +Command improvements: + +* Adds a newline when using the `wp shell` interactive prompt [[#2601](https://github.com/wp-cli/wp-cli/pull/2601)]. +* Improves formatting of scaffolded plugins [[#2588](https://github.com/wp-cli/wp-cli/pull/2588), [#2598](https://github.com/wp-cli/wp-cli/pull/2598)]. +* Introduces `--format=ids` to `wp (*) generate` commands for easier chaining [[2622](https://github.com/wp-cli/wp-cli/pull/2622)]. + +Framework enhancements: + +* Uses `is_callable()` in `WP_CLI::add_command()`, instead of custom logic [[#2595](https://github.com/wp-cli/wp-cli/pull/2595)]. + +Bug fixes across the board: + +* Mitigates a DateTime fatal when instantiating the Composer object [[#2607](https://github.com/wp-cli/wp-cli/pull/2607)]. +* Squashes `wp export` notice about `skip_comments` [[#2620](https://github.com/wp-cli/wp-cli/pull/2620)] + +Contributors to this release: + +You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.24.0+is%3Aclosed) on Github. From f402497412ea6962d6e4881766f6f27bad1af562 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 25 Jul 2016 06:29:37 -0700 Subject: [PATCH 738/839] Release note updates --- _posts/2016-07-29-version-0.24.0.md | 65 ++++++++++++++++++++++++++++- 1 file changed, 63 insertions(+), 2 deletions(-) diff --git a/_posts/2016-07-29-version-0.24.0.md b/_posts/2016-07-29-version-0.24.0.md index 779c303a..f0b11f01 100644 --- a/_posts/2016-07-29-version-0.24.0.md +++ b/_posts/2016-07-29-version-0.24.0.md @@ -4,23 +4,84 @@ author: danielbachhuber title: Version 0.24.0 released --- +Increased minimum supported PHP version to 5.3.29 https://github.com/wp-cli/wp-cli/pull/2672 + +### Forked wp-settings no more + +@tk + +### Increased documentation coverage + + +#### Improved examples for many commands. + +#### New README.md, homepage, and localization of homepage + + +#### New CONTRIBUTING.md + +@tk + +### Aliases and SSH support + + +[#2755](https://github.com/wp-cli/wp-cli/pull/2755) + +### Future of WP-CLI + +* Faster release cycles +* Dependency changes in the next release +* Focus on being a platform for WP-CLI community packages + ### Everything else in 0.24.0 Command improvements: -* Adds a newline when using the `wp shell` interactive prompt [[#2601](https://github.com/wp-cli/wp-cli/pull/2601)]. +* Adds a newline when using the `wp shell` interactive prompt [[#2601](https://github.com/wp-cli/wp-cli/pull/2601), [#2659](https://github.com/wp-cli/wp-cli/pull/2659)]. * Improves formatting of scaffolded plugins [[#2588](https://github.com/wp-cli/wp-cli/pull/2588), [#2598](https://github.com/wp-cli/wp-cli/pull/2598)]. * Introduces `--format=ids` to `wp (*) generate` commands for easier chaining [[2622](https://github.com/wp-cli/wp-cli/pull/2622)]. +* Adds `term recount` command for trigger a recount of taxonomy terms assigned to posts [[#2625](https://github.com/wp-cli/wp-cli/pull/2625), [#2628](https://github.com/wp-cli/wp-cli/pull/2628)]. +* Normalizes plugin / theme version numbers and header formatting when scaffolding [[#2644](https://github.com/wp-cli/wp-cli/pull/2644)]. +* Introduces `--due-now` to run all cron events due or overdue [[#2658](https://github.com/wp-cli/wp-cli/pull/2658)]. +* Permits `wp cron (event|schedule) list` to output a single field [[#2657](https://github.com/wp-cli/wp-cli/pull/2657)]. +* Adds field filtering in cron event list command [[#2674](https://github.com/wp-cli/wp-cli/pull/2674)]. +* Includes a `.distignore` file when scaffolding a new plugin, to define files and folders excluded from distributions [[#2697](https://github.com/wp-cli/wp-cli/pull/2697), [#2756](https://github.com/wp-cli/wp-cli/pull/2756)]. +* Displays a summary success message when using `--dry-run` with `wp search-replace` [[#2740](https://github.com/wp-cli/wp-cli/pull/2740)]. +* Scaffolds plugin based on supported WordPress version [[#2751](https://github.com/wp-cli/wp-cli/pull/2751)]. +* Applies extended insert format to search-replace SQL export, for a substantial performance boost [[#2745](https://github.com/wp-cli/wp-cli/pull/2745)]. +* Warns with `wp core verify-checksums` when extra files exist in wp-admin or wp-includes [[#2638](https://github.com/wp-cli/wp-cli/pull/2638)]. +* Supports `--format=` argument for `wp cap list` [[#2851](https://github.com/wp-cli/wp-cli/pull/2851)]. +* Accepts multiple term IDs with `wp term url` [[#2865](https://github.com/wp-cli/wp-cli/pull/2865)]. Framework enhancements: * Uses `is_callable()` in `WP_CLI::add_command()`, instead of custom logic [[#2595](https://github.com/wp-cli/wp-cli/pull/2595)]. +* Introduces `CompositeCommand->remove_subcommand()`, and modifies the bootstrap process to always register core commands [[#2629](https://github.com/wp-cli/wp-cli/pull/2629)]. +* Runs `before_invoke` and `after_invoke` callbacks on subcommands, such that you can hook into immediately before and after subcommand execution [[#2647](https://github.com/wp-cli/wp-cli/pull/2647), [#2686](https://github.com/wp-cli/wp-cli/pull/2686)]. +* Introduces `--debug=` to limit debug output to a particular group of debug calls [[#2648](https://github.com/wp-cli/wp-cli/pull/2648)]. +* Interacts with the Package Index over SSL [[#2720](https://github.com/wp-cli/wp-cli/pull/2720)]. +* Supports CSV with spaces when using `--fields=` [[#2750](https://github.com/wp-cli/wp-cli/pull/2750)]. Bug fixes across the board: * Mitigates a DateTime fatal when instantiating the Composer object [[#2607](https://github.com/wp-cli/wp-cli/pull/2607)]. -* Squashes `wp export` notice about `skip_comments` [[#2620](https://github.com/wp-cli/wp-cli/pull/2620)] +* Squashes `wp export` notice about `skip_comments` [[#2620](https://github.com/wp-cli/wp-cli/pull/2620)]. +* Avoids regex to fix greedy parsing of parameter arguments [[#2587](https://github.com/wp-cli/wp-cli/pull/2587), [#2717](https://github.com/wp-cli/wp-cli/pull/2717)]. +* Ensures `default` and `options` are used when supplied as arg args [[#2741](https://github.com/wp-cli/wp-cli/pull/2741)]. +* Considers image sizes missing when using `wp media regenerate` and `sizes` doesn't have registered sizes [[#2645](https://github.com/wp-cli/wp-cli/pull/2645)]. +* Catches `WP_Error` from `translations_api()` [[#2671](https://github.com/wp-cli/wp-cli/pull/2671), [#3179](https://github.com/wp-cli/wp-cli/pull/3179)]. +* Doesn't erroneously try to (de)activate plugins with `--all` flag [[#2692](https://github.com/wp-cli/wp-cli/pull/2692)]. +* Defines `DOING_CRON` before WordPress is loaded when running `wp cron event run` [[#2691](https://github.com/wp-cli/wp-cli/pull/2691)]. +* Only attempts to use `add_user_to_blog()` on multisite when importing users from CSV [[#2690](https://github.com/wp-cli/wp-cli/pull/2690)]. +* Fixes listing user meta associated with a given username [[#2700](https://github.com/wp-cli/wp-cli/pull/2700)]. +* Differentiates output when moving comments to trash from output when deleting comments [[#2701](https://github.com/wp-cli/wp-cli/pull/2701)]. +* Prevent runaway memory usage from `wp export` by clearing object cache after each file [[#2716](https://github.com/wp-cli/wp-cli/pull/2716)]. +* Ignores ambigious empty plugin and theme slugs when installing [[#2715](https://github.com/wp-cli/wp-cli/pull/2715)]. +* Takes all digits when running commands that use the comment id [[#2714](https://github.com/wp-cli/wp-cli/pull/2714), [https://github.com/wp-cli/wp-cli/pull/2901](#2901)]. +* Only displays packages directory path when it exists [[#2773](https://github.com/wp-cli/wp-cli/pull/2773)]. +* Bails early in theme commands if theme is broken or has error [[#2798](https://github.com/wp-cli/wp-cli/pull/2798)]. +* Displays error if theme directory exists but is erred; permits force install [[#2821](https://github.com/wp-cli/wp-cli/pull/2821)]. Contributors to this release: From ca3811ef2528a01c5d4bfe9c57c8408b5da90552 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 25 Jul 2016 07:03:09 -0700 Subject: [PATCH 739/839] Include more changes in the readme --- _posts/2016-07-29-version-0.24.0.md | 51 +++++++++++++++++++++++++++-- 1 file changed, 48 insertions(+), 3 deletions(-) diff --git a/_posts/2016-07-29-version-0.24.0.md b/_posts/2016-07-29-version-0.24.0.md index f0b11f01..d2f34f8f 100644 --- a/_posts/2016-07-29-version-0.24.0.md +++ b/_posts/2016-07-29-version-0.24.0.md @@ -6,6 +6,8 @@ title: Version 0.24.0 released Increased minimum supported PHP version to 5.3.29 https://github.com/wp-cli/wp-cli/pull/2672 +Use `wp cli update` to install v0.24.0, representing [NNN resolved issues and pull requests](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.24.0+is%3Aclosed). Here's what's new. + ### Forked wp-settings no more @tk @@ -15,8 +17,11 @@ Increased minimum supported PHP version to 5.3.29 https://github.com/wp-cli/wp-c #### Improved examples for many commands. +@tk + #### New README.md, homepage, and localization of homepage +@tk #### New CONTRIBUTING.md @@ -27,11 +32,30 @@ Increased minimum supported PHP version to 5.3.29 https://github.com/wp-cli/wp-c [#2755](https://github.com/wp-cli/wp-cli/pull/2755) +[#2974](https://github.com/wp-cli/wp-cli/pull/2974) + +https://github.com/wp-cli/wp-cli/pull/3012 +https://github.com/wp-cli/wp-cli/pull/3013 +https://github.com/wp-cli/wp-cli/pull/3014 +https://github.com/wp-cli/wp-cli/pull/3016 +https://github.com/wp-cli/wp-cli/pull/3026 +https://github.com/wp-cli/wp-cli/pull/3040 +https://github.com/wp-cli/wp-cli/pull/3070 +https://github.com/wp-cli/wp-cli/pull/3093 +https://github.com/wp-cli/wp-cli/pull/3100 +https://github.com/wp-cli/wp-cli/pull/3117 +https://github.com/wp-cli/wp-cli/pull/3134 +https://github.com/wp-cli/wp-cli/pull/3135 +https://github.com/wp-cli/wp-cli/pull/3145 +https://github.com/wp-cli/wp-cli/pull/3161 +https://github.com/wp-cli/wp-cli/pull/3180 + ### Future of WP-CLI * Faster release cycles * Dependency changes in the next release * Focus on being a platform for WP-CLI community packages +* runcommand / financial stability ### Everything else in 0.24.0 @@ -44,15 +68,25 @@ Command improvements: * Adds `term recount` command for trigger a recount of taxonomy terms assigned to posts [[#2625](https://github.com/wp-cli/wp-cli/pull/2625), [#2628](https://github.com/wp-cli/wp-cli/pull/2628)]. * Normalizes plugin / theme version numbers and header formatting when scaffolding [[#2644](https://github.com/wp-cli/wp-cli/pull/2644)]. * Introduces `--due-now` to run all cron events due or overdue [[#2658](https://github.com/wp-cli/wp-cli/pull/2658)]. -* Permits `wp cron (event|schedule) list` to output a single field [[#2657](https://github.com/wp-cli/wp-cli/pull/2657)]. +* Permits `wp cron (event|schedule) list` and `wp option list` to output a single field [[#2657](https://github.com/wp-cli/wp-cli/pull/2657), [#3033](https://github.com/wp-cli/wp-cli/pull/3033)]. * Adds field filtering in cron event list command [[#2674](https://github.com/wp-cli/wp-cli/pull/2674)]. -* Includes a `.distignore` file when scaffolding a new plugin, to define files and folders excluded from distributions [[#2697](https://github.com/wp-cli/wp-cli/pull/2697), [#2756](https://github.com/wp-cli/wp-cli/pull/2756)]. +* Includes a `.distignore` file when scaffolding a new plugin, to define files and folders excluded from distributions [[#2697](https://github.com/wp-cli/wp-cli/pull/2697), [#2756](https://github.com/wp-cli/wp-cli/pull/2756), [#3042](https://github.com/wp-cli/wp-cli/pull/3042), [#3088](https://github.com/wp-cli/wp-cli/pull/3088)]. * Displays a summary success message when using `--dry-run` with `wp search-replace` [[#2740](https://github.com/wp-cli/wp-cli/pull/2740)]. * Scaffolds plugin based on supported WordPress version [[#2751](https://github.com/wp-cli/wp-cli/pull/2751)]. * Applies extended insert format to search-replace SQL export, for a substantial performance boost [[#2745](https://github.com/wp-cli/wp-cli/pull/2745)]. * Warns with `wp core verify-checksums` when extra files exist in wp-admin or wp-includes [[#2638](https://github.com/wp-cli/wp-cli/pull/2638)]. -* Supports `--format=` argument for `wp cap list` [[#2851](https://github.com/wp-cli/wp-cli/pull/2851)]. +* Supports `--format=` argument for `wp cap list`, `wp user list-caps`, and `wp super-admin list` [[#2851](https://github.com/wp-cli/wp-cli/pull/2851), [#2961](https://github.com/wp-cli/wp-cli/pull/2961), and [#2949](https://github.com/wp-cli/wp-cli/pull/2949)]. * Accepts multiple term IDs with `wp term url` [[#2865](https://github.com/wp-cli/wp-cli/pull/2865)]. +* Support PHP 5.5 Memcache extension when checking cache type [[#2945](https://github.com/wp-cli/wp-cli/pull/2945)]. +* Uses `WP_CLI::warning()` when a theme is already active, to make behavior more consistent with plugin activation [[#3015](https://github.com/wp-cli/wp-cli/pull/3015)]. +* Adds `--porcelain` flag to `wp db export` [[#3032](https://github.com/wp-cli/wp-cli/pull/3032)]. +* Allow the author field to be selected in `wp theme list --fields=` [[#3043](https://github.com/wp-cli/wp-cli/pull/3043)]. +* Introduces `wp widget reset `, for removing all widgets from a sidebar and placing them in the inactive sidebar [[#3077](https://github.com/wp-cli/wp-cli/pull/3077)]. +* Supports 'trunk' and 'nightly' version arguments for `wp core download` [[#3127](https://github.com/wp-cli/wp-cli/pull/3127)]. +* Adds verbosity to `wp role reset` [[#3132](https://github.com/wp-cli/wp-cli/pull/3132), [#3141](https://github.com/wp-cli/wp-cli/pull/3141)]. +* Adds `--include-columns=` argument to `wp search-replace` [[#3142](https://github.com/wp-cli/wp-cli/pull/3142)]. +* Adds `--ci=` argument for `wp plugin test scaffold`, which supports 'travis', 'circle', or 'gitlab' [[#3144](https://github.com/wp-cli/wp-cli/pull/3144), [#3163](https://github.com/wp-cli/wp-cli/pull/3163)]. + Framework enhancements: @@ -62,6 +96,10 @@ Framework enhancements: * Introduces `--debug=` to limit debug output to a particular group of debug calls [[#2648](https://github.com/wp-cli/wp-cli/pull/2648)]. * Interacts with the Package Index over SSL [[#2720](https://github.com/wp-cli/wp-cli/pull/2720)]. * Supports CSV with spaces when using `--fields=` [[#2750](https://github.com/wp-cli/wp-cli/pull/2750)]. +* Disables WP cron when `ALTERNATE_WP_CRON` is defined [[#3118](https://github.com/wp-cli/wp-cli/pull/3118)]. +* Supports positional arguments defined in `wp-cli.yml` [[#3120](https://github.com/wp-cli/wp-cli/pull/3120)]. +* Introduce `WP_CLI_STRICT_ARGS_MODE` for dealing with arg ambiguity [[#3128](https://github.com/wp-cli/wp-cli/pull/3128)]. +* Registers `--http=` global parameter for use with RESTful WP-CLI [[#3130](https://github.com/wp-cli/wp-cli/pull/3130)]. Bug fixes across the board: @@ -82,6 +120,13 @@ Bug fixes across the board: * Only displays packages directory path when it exists [[#2773](https://github.com/wp-cli/wp-cli/pull/2773)]. * Bails early in theme commands if theme is broken or has error [[#2798](https://github.com/wp-cli/wp-cli/pull/2798)]. * Displays error if theme directory exists but is erred; permits force install [[#2821](https://github.com/wp-cli/wp-cli/pull/2821)]. +* Fixes PHP notice when installing a child theme, and running `wp theme status` [[#2976](https://github.com/wp-cli/wp-cli/pull/2976), [#3047](https://github.com/wp-cli/wp-cli/pull/3047)]. +* Ensures YAML formatter handles objects and `--fields=` arg [[#3060](https://github.com/wp-cli/wp-cli/pull/3060)]. +* Fixes exception in `wp menu list` if `--format=ids` [[#3075](https://github.com/wp-cli/wp-cli/pull/3075)]. +* Populates recently active plugins list when deactivating a plugin [[#3068](https://github.com/wp-cli/wp-cli/pull/3068)]. +* Respects `wp-cli.yml` default values when applying argument defaults [[#3111](https://github.com/wp-cli/wp-cli/pull/3111)]. +* Calls `wp_slash()` on data passed to post, comment, term, and user commands [[#3156](https://github.com/wp-cli/wp-cli/pull/3156), [#3157](https://github.com/wp-cli/wp-cli/pull/3157), [#3158](https://github.com/wp-cli/wp-cli/pull/3158), [#3159](https://github.com/wp-cli/wp-cli/pull/3159), [#3167](https://github.com/wp-cli/wp-cli/pull/3167), [#3173](https://github.com/wp-cli/wp-cli/pull/3173)]. +* Appropriately lists duplicated cron events [[#3175](https://github.com/wp-cli/wp-cli/pull/3175)]. Contributors to this release: From d6f0c5a31a639a833a9818b9e393c511320416b0 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 26 Jul 2016 04:12:10 -0700 Subject: [PATCH 740/839] Ignore `wp website` from the rebuild --- Phakefile.php | 6 ++++++ _includes/cmd-list.html | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Phakefile.php b/Phakefile.php index bd370dc2..17817657 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -29,6 +29,9 @@ function generate_synopsis( $command, $path = '' ) { echo $full_path . ' ' . $command['synopsis'] . "\n"; } else { foreach ( $command['subcommands'] as $subcommand ) { + if ( 'website' === $subcommand['name'] ) { + continue; + } generate_synopsis( $subcommand, $full_path ); } } @@ -91,6 +94,9 @@ function gen_cmd_pages( $cmd, $parent = array() ) { file_put_contents( '_includes/cmd-list.html', render( 'cmd-list.mustache', $wp ) ); foreach ( $wp['subcommands'] as $cmd ) { + if ( 'website' === $cmd['name'] ) { + continue; + } gen_cmd_pages( $cmd ); } }); diff --git a/_includes/cmd-list.html b/_includes/cmd-list.html index 500bfbee..28437451 100644 --- a/_includes/cmd-list.html +++ b/_includes/cmd-list.html @@ -52,7 +52,7 @@

    A more RESTful WP-CLI aims to unlocking the potential of the WP REST API at the command line. Project backed by Pressed, Chris Lema, Human Made, Pagely, Pantheon and many others. Learn more →

    - + From 47c658ad72623c2be54e884cad4d033ac0755876 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 26 Jul 2016 04:20:24 -0700 Subject: [PATCH 741/839] Ensure `wp website` doesn't show up in the page list either --- Phakefile.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Phakefile.php b/Phakefile.php index 17817657..7feea49d 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -90,13 +90,17 @@ function gen_cmd_pages( $cmd, $parent = array() ) { task( 'cmd-list', function( $app ) { $wp = invoke_wp_cli( 'wp --skip-packages cli cmd-dump', $app ); + foreach( $wp['subcommands'] as $k => $cmd ) { + if ( 'website' === $cmd['name'] ) { + unset( $wp['subcommands'][ $k ] ); + $wp['subcommands'] = array_values( $wp['subcommands'] ); + } + } + // generate main page file_put_contents( '_includes/cmd-list.html', render( 'cmd-list.mustache', $wp ) ); foreach ( $wp['subcommands'] as $cmd ) { - if ( 'website' === $cmd['name'] ) { - continue; - } gen_cmd_pages( $cmd ); } }); From 55ee971a0bc25b480d4b2a968b949c42c4e9d38e Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 26 Jul 2016 04:22:05 -0700 Subject: [PATCH 742/839] Regen docs for v0.24.0 --- _includes/doc-list.html | 2 +- _includes/global-parameters.html | 6 +- _includes/internal-api-list.html | 6 ++ _includes/param-list.html | 30 +++++++++- commands/cache/add/index.md | 11 +++- commands/cache/decr/index.md | 6 ++ commands/cache/delete/index.md | 6 ++ commands/cache/flush/index.md | 6 ++ commands/cache/get/index.md | 6 ++ commands/cache/incr/index.md | 6 ++ commands/cache/index.md | 10 +++- commands/cache/replace/index.md | 11 +++- commands/cache/set/index.md | 11 +++- commands/cache/type/index.md | 6 ++ commands/cap/list/index.md | 13 ++++ commands/cli/alias/index.md | 30 ++++++++++ commands/cli/check-update/index.md | 25 +++++++- commands/cli/cmd-dump/index.md | 6 +- commands/cli/completions/index.md | 11 +++- commands/cli/index.md | 19 ++++++ commands/cli/info/index.md | 19 +++++- commands/cli/param-dump/index.md | 24 +++++++- commands/cli/version/index.md | 3 + commands/comment/approve/index.md | 3 +- commands/comment/count/index.md | 21 ++++++- commands/comment/create/index.md | 3 +- commands/comment/delete/index.md | 11 +++- commands/comment/exists/index.md | 3 +- commands/comment/generate/index.md | 17 ++++++ commands/comment/get/index.md | 13 +++- commands/comment/index.md | 18 +++++- commands/comment/list/index.md | 40 +++++++++++-- commands/comment/meta/index.md | 16 ++++- commands/comment/recount/index.md | 5 ++ commands/comment/spam/index.md | 3 +- commands/comment/status/index.md | 3 +- commands/comment/trash/index.md | 3 +- commands/comment/unapprove/index.md | 3 +- commands/comment/unspam/index.md | 3 +- commands/comment/untrash/index.md | 3 +- commands/comment/update/index.md | 3 +- commands/comment/url/index.md | 3 +- commands/core/check-update/index.md | 20 ++++++- commands/core/config/index.md | 32 +++++++--- commands/core/download/index.md | 7 ++- commands/core/index.md | 16 ++++- commands/core/install/index.md | 5 ++ commands/core/is-installed/index.md | 8 ++- commands/core/language/index.md | 22 ++++++- commands/core/multisite-convert/index.md | 4 +- commands/core/multisite-install/index.md | 9 ++- commands/core/update-db/index.md | 4 +- commands/core/update/index.md | 3 + commands/core/verify-checksums/index.md | 4 ++ commands/core/version/index.md | 2 + commands/cron/event/delete/index.md | 8 ++- commands/cron/event/index.md | 16 +++++ commands/cron/event/list/index.md | 32 +++++++++- commands/cron/event/run/index.md | 6 +- commands/cron/event/schedule/index.md | 14 +++-- commands/cron/index.md | 4 ++ commands/cron/schedule/index.md | 12 +++- commands/cron/schedule/list/index.md | 30 ++++++++-- commands/cron/test/index.md | 5 ++ commands/db/cli/index.md | 4 ++ commands/db/create/index.md | 5 ++ commands/db/export/index.md | 18 ++++-- commands/db/import/index.md | 5 ++ commands/db/index.md | 15 +++++ commands/db/optimize/index.md | 5 ++ commands/db/query/index.md | 26 ++++++-- commands/db/repair/index.md | 5 ++ commands/db/tables/index.md | 6 +- commands/export/index.md | 27 +++++++-- commands/help/index.md | 2 + commands/import/index.md | 11 ++++ commands/media/import/index.md | 18 ++++-- commands/media/index.md | 14 ++++- commands/media/regenerate/index.md | 21 +++++-- commands/menu/create/index.md | 7 ++- commands/menu/delete/index.md | 7 ++- commands/menu/index.md | 27 ++++++--- commands/menu/item/add-custom/index.md | 21 +++---- commands/menu/item/add-post/index.md | 23 +++---- commands/menu/item/add-term/index.md | 25 ++++---- commands/menu/item/delete/index.md | 5 +- commands/menu/item/index.md | 24 +++++--- commands/menu/item/list/index.md | 24 ++++++-- commands/menu/item/update/index.md | 19 +++--- commands/menu/list/index.md | 20 ++++++- commands/menu/location/assign/index.md | 9 +-- commands/menu/location/index.md | 18 ++++-- commands/menu/location/list/index.md | 20 ++++++- commands/menu/location/remove/index.md | 9 +-- commands/network/meta/index.md | 15 ++--- commands/option/add/index.md | 19 +++++- commands/option/delete/index.md | 7 +++ commands/option/get/index.md | 15 ++++- commands/option/index.md | 16 +++-- commands/option/list/index.md | 57 ++++++++++++++---- commands/option/update/index.md | 23 +++++-- commands/package/browse/index.md | 31 +++++++++- commands/package/index.md | 35 +++++++++++ commands/package/install/index.md | 25 ++++++-- commands/package/list/index.md | 20 ++++++- commands/package/path/index.md | 8 ++- commands/package/uninstall/index.md | 8 +++ commands/plugin/activate/index.md | 10 ++++ commands/plugin/deactivate/index.md | 6 ++ commands/plugin/delete/index.md | 1 + commands/plugin/get/index.md | 10 +++- commands/plugin/index.md | 23 +++++++ commands/plugin/is-installed/index.md | 6 +- commands/plugin/list/index.md | 11 +++- commands/plugin/search/index.md | 21 ++++++- commands/plugin/status/index.md | 21 +++++++ commands/post-type/get/index.md | 13 +++- commands/post-type/index.md | 17 +++++- commands/post-type/list/index.md | 33 ++++++++-- commands/post/create/index.md | 8 ++- commands/post/delete/index.md | 19 ++++-- commands/post/edit/index.md | 3 +- commands/post/generate/index.md | 52 +++++++++++++--- commands/post/get/index.md | 14 ++++- commands/post/index.md | 12 ++++ commands/post/list/index.md | 50 +++++++++++++--- commands/post/meta/index.md | 19 ++++-- commands/post/term/index.md | 4 +- commands/post/update/index.md | 3 +- commands/rewrite/list/index.md | 11 +++- commands/role/list/index.md | 11 +++- commands/role/reset/index.md | 2 +- commands/scaffold/_s/index.md | 13 ++-- commands/scaffold/child-theme/index.md | 15 +++-- commands/scaffold/index.md | 13 ++++ commands/scaffold/plugin-tests/index.md | 17 +++++- commands/scaffold/plugin/index.md | 28 ++++++++- commands/scaffold/post-type/index.md | 7 ++- commands/scaffold/taxonomy/index.md | 3 +- commands/search-replace/index.md | 27 +++++++-- commands/server/index.md | 10 +++- commands/shell/index.md | 6 ++ commands/sidebar/list/index.md | 12 +++- commands/site/activate/index.md | 3 +- commands/site/archive/index.md | 3 +- commands/site/create/index.md | 5 ++ commands/site/deactivate/index.md | 3 +- commands/site/delete/index.md | 6 ++ commands/site/empty/index.md | 19 ++++++ commands/site/index.md | 14 +++++ commands/site/list/index.md | 19 +++++- commands/site/spam/index.md | 3 +- commands/site/unarchive/index.md | 3 +- commands/site/unspam/index.md | 3 +- commands/super-admin/add/index.md | 7 +++ commands/super-admin/index.md | 13 ++++ commands/super-admin/list/index.md | 22 ++++++- commands/super-admin/remove/index.md | 7 +++ commands/taxonomy/get/index.md | 10 +++- commands/taxonomy/index.md | 16 ++++- commands/taxonomy/list/index.md | 32 ++++++++-- commands/term/create/index.md | 3 +- commands/term/delete/index.md | 11 +++- commands/term/generate/index.md | 19 +++++- commands/term/get/index.md | 13 +++- commands/term/index.md | 29 +++++++++ commands/term/list/index.md | 33 ++++++++-- commands/term/meta/index.md | 19 ++++-- commands/term/recount/index.md | 41 +++++++++++++ commands/term/update/index.md | 3 +- commands/term/url/index.md | 5 +- commands/theme/disable/index.md | 8 ++- commands/theme/enable/index.md | 17 ++++-- commands/theme/index.md | 28 +++++++++ commands/theme/install/index.md | 13 +++- commands/theme/is-installed/index.md | 6 +- commands/theme/list/index.md | 6 +- commands/theme/mod/get/index.md | 35 +++++++++-- commands/theme/mod/index.md | 12 ++++ commands/theme/mod/remove/index.md | 14 ++++- commands/theme/mod/set/index.md | 4 +- commands/theme/path/index.md | 7 ++- commands/theme/update/index.md | 25 +++++++- commands/transient/delete/index.md | 2 + commands/transient/get/index.md | 14 ++++- commands/transient/set/index.md | 2 + commands/user/add-cap/index.md | 9 ++- commands/user/add-role/index.md | 4 +- commands/user/create/index.md | 5 +- commands/user/delete/index.md | 8 ++- commands/user/generate/index.md | 5 +- commands/user/get/index.md | 7 ++- commands/user/import-csv/index.md | 10 +++- commands/user/index.md | 17 ++++++ commands/user/list-caps/index.md | 18 +++++- commands/user/list/index.md | 17 ++++-- commands/user/meta/add/index.md | 8 +++ commands/user/meta/delete/index.md | 8 +++ commands/user/meta/get/index.md | 6 ++ commands/user/meta/index.md | 27 ++++++--- commands/user/meta/list/index.md | 14 ++++- commands/user/meta/update/index.md | 8 +++ commands/user/remove-cap/index.md | 4 +- commands/user/remove-role/index.md | 4 +- commands/user/set-role/index.md | 4 +- commands/user/term/index.md | 4 +- commands/user/update/index.md | 4 +- commands/widget/add/index.md | 2 + commands/widget/deactivate/index.md | 4 +- commands/widget/delete/index.md | 2 + commands/widget/index.md | 4 ++ commands/widget/list/index.md | 14 ++++- commands/widget/move/index.md | 2 + commands/widget/reset/index.md | 41 +++++++++++++ commands/widget/update/index.md | 2 + docs/internal-api/wp-cli-add-command/index.md | 3 + docs/internal-api/wp-cli-add-hook/index.md | 3 + docs/internal-api/wp-cli-add-wp-hook/index.md | 60 +++++++++++++++++++ docs/internal-api/wp-cli-debug/index.md | 5 +- docs/internal-api/wp-cli-do-hook/index.md | 3 + .../wp-cli-utils-get-named-sem-ver/index.md | 3 + .../wp-cli-utils-http-request/index.md | 3 + .../wp-cli-utils-parse-ssh-url/index.md | 58 ++++++++++++++++++ .../wp-cli-utils-write-csv/index.md | 3 + 224 files changed, 2505 insertions(+), 415 deletions(-) create mode 100644 commands/cli/alias/index.md create mode 100644 commands/term/recount/index.md create mode 100644 commands/widget/reset/index.md create mode 100644 docs/internal-api/wp-cli-add-wp-hook/index.md create mode 100644 docs/internal-api/wp-cli-utils-parse-ssh-url/index.md diff --git a/_includes/doc-list.html b/_includes/doc-list.html index 182c17d6..d3f31e09 100644 --- a/_includes/doc-list.html +++ b/_includes/doc-list.html @@ -24,6 +24,7 @@

    Contributing

    • Bug reports - Help ensure your issue is resolved in a timely manner.
    • +
    • Contributing - An introduction to the contributing process.
    • Governance - Summary of those behind WP-CLI.
    • Implementation details - Catalog of historical design decisions.
    • Philosophy - Guidelines which inform project scope, command organization, and behavior.
    • @@ -34,7 +35,6 @@

      Contributing

      Misc

      diff --git a/_includes/global-parameters.html b/_includes/global-parameters.html index 072cdb7a..94bb754d 100644 --- a/_includes/global-parameters.html +++ b/_includes/global-parameters.html @@ -4,6 +4,10 @@

      Global Parameters

      --path=<path> Path to the WordPress files.

      +

      --ssh=<ssh> + Perform operation against a remote server over SSH.

      +

      --http=<http> + Perform operation against a remote WordPress install over HTTP.

      --url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified.

      --user=<id|login|email> @@ -18,7 +22,7 @@

      Global Parameters

      Load PHP file before running the command (may be used more than once).

      --[no-]color Whether to colorize the output.

      -

      --debug +

      --debug[=<group>] Show all PHP errors; add verbosity to WP-CLI bootstrap.

      --prompt Prompt the user to enter values for all command arguments.

      diff --git a/_includes/internal-api-list.html b/_includes/internal-api-list.html index 2e29edab..79b7877a 100644 --- a/_includes/internal-api-list.html +++ b/_includes/internal-api-list.html @@ -11,6 +11,9 @@
    • WP_CLI::do_hook() - Execute callbacks registered to a given hook.
    • +
    • WP_CLI::add_wp_hook() - Add a callback to a WordPress action or filter.
    • + +
    • WP_CLI::add_command() - Register a command to WP-CLI.
    • @@ -120,6 +123,9 @@
    • WP_CLI\Utils\get_named_sem_ver() - Compare two version strings to get the named semantic version.
    • +
    • WP_CLI\Utils\parse_ssh_url() - Parse a SSH url for its host, port, and path.
    • + +
    diff --git a/_includes/param-list.html b/_includes/param-list.html index a2209572..a0dbfec5 100644 --- a/_includes/param-list.html +++ b/_includes/param-list.html @@ -11,6 +11,32 @@ --path=<path>
    + + + + + + + + + + diff --git a/commands/cache/add/index.md b/commands/cache/add/index.md index f2b1587d..cbd85cf3 100644 --- a/commands/cache/add/index.md +++ b/commands/cache/add/index.md @@ -24,7 +24,16 @@ If a value already exists for the key, the value isn't added. : Method for grouping data within the cache which allows the same key to be used across groups. [<expiration>] -: Define how long to keep the value, in seconds. Defaults to 0 (as long as possible). +: Define how long to keep the value, in seconds. `0` means as long as possible. +\--- +default: 0 +\--- + +### EXAMPLES + + # Add cache. + $ wp cache add my_key my_group my_value 300 + Success: Added object 'my_key' in group 'my_value'. diff --git a/commands/cache/decr/index.md b/commands/cache/decr/index.md index 7d7e6ac1..9e6ff792 100644 --- a/commands/cache/decr/index.md +++ b/commands/cache/decr/index.md @@ -21,5 +21,11 @@ display_global_parameters: true [<group>] : Method for grouping data within the cache which allows the same key to be used across groups. +### EXAMPLES + + # Decrease cache value. + $ wp cache decr my_key 2 my_group + 48 + diff --git a/commands/cache/delete/index.md b/commands/cache/delete/index.md index 7ad4c99c..26a1332c 100644 --- a/commands/cache/delete/index.md +++ b/commands/cache/delete/index.md @@ -18,5 +18,11 @@ display_global_parameters: true [<group>] : Method for grouping data within the cache which allows the same key to be used across groups. +### EXAMPLES + + # Delete cache. + $ wp cache delete my_key my_group + Success: Object deleted. + diff --git a/commands/cache/flush/index.md b/commands/cache/flush/index.md index 639ed489..5c97fdcd 100644 --- a/commands/cache/flush/index.md +++ b/commands/cache/flush/index.md @@ -13,5 +13,11 @@ display_global_parameters: true For sites using a persistent object cache, because WordPress Multisite simply adds a blog id to the cache key, flushing cache is typically a global operation. +### EXAMPLES + + # Flush cache. + $ wp cache flush + Success: The cache was flushed. + diff --git a/commands/cache/get/index.md b/commands/cache/get/index.md index d31eca08..b45c8cc9 100644 --- a/commands/cache/get/index.md +++ b/commands/cache/get/index.md @@ -18,5 +18,11 @@ display_global_parameters: true [<group>] : Method for grouping data within the cache which allows the same key to be used across groups. +### EXAMPLES + + # Get cache. + $ wp cache get my_key my_group + my_value + diff --git a/commands/cache/incr/index.md b/commands/cache/incr/index.md index 641d6a7b..6f1aeaf7 100644 --- a/commands/cache/incr/index.md +++ b/commands/cache/incr/index.md @@ -21,5 +21,11 @@ display_global_parameters: true [<group>] : Method for grouping data within the cache which allows the same key to be used across groups. +### EXAMPLES + + # Increase cache value. + $ wp cache incr my_key 2 my_group + 50 + diff --git a/commands/cache/index.md b/commands/cache/index.md index c7caaa45..d0810a07 100644 --- a/commands/cache/index.md +++ b/commands/cache/index.md @@ -10,11 +10,17 @@ display_global_parameters: true
    +Note: Persistent Object Caching is needed for these commands. + ### EXAMPLES - wp cache set my_key my_value my_group 300 + # Set cache. + $ wp cache set my_key my_value my_group 300 + Success: Set object 'my_key' in group 'my_group'. - wp cache get my_key my_group + # Get cache. + $ wp cache get my_key my_group + my_value diff --git a/commands/cache/replace/index.md b/commands/cache/replace/index.md index dce9ad65..75dab07d 100644 --- a/commands/cache/replace/index.md +++ b/commands/cache/replace/index.md @@ -22,7 +22,16 @@ display_global_parameters: true : Method for grouping data within the cache which allows the same key to be used across groups. [<expiration>] -: Define how long to keep the value, in seconds. Defaults to 0 (as long as possible). +: Define how long to keep the value, in seconds. `0` means as long as possible. +\--- +default: 0 +\--- + +### EXAMPLES + + # Replace cache. + $ wp cache replace my_key new_value my_group + Success: Replaced object 'my_key' in group 'my_group'. diff --git a/commands/cache/set/index.md b/commands/cache/set/index.md index c9f1dd66..8b4ef773 100644 --- a/commands/cache/set/index.md +++ b/commands/cache/set/index.md @@ -22,7 +22,16 @@ display_global_parameters: true : Method for grouping data within the cache which allows the same key to be used across groups. [<expiration>] -: Define how long to keep the value, in seconds. Defaults to 0 (as long as possible). +: Define how long to keep the value, in seconds. `0` means as long as possible. +\--- +default: 0 +\--- + +### EXAMPLES + + # Set cache. + $ wp cache set my_key my_value my_group 300 + Success: Set object 'my_key' in group 'my_group'. diff --git a/commands/cache/type/index.md b/commands/cache/type/index.md index 329690be..4af34e72 100644 --- a/commands/cache/type/index.md +++ b/commands/cache/type/index.md @@ -14,5 +14,11 @@ Note that the guesses made by this function are based on the WP_Object_Cache cla that define the 3rd party object cache extension. Changes to those classes could render problems with this function's ability to determine which object cache is being used. +### EXAMPLES + + # Check cache type. + $ wp cache type + Default + diff --git a/commands/cap/list/index.md b/commands/cap/list/index.md index bf1371d7..eae0ab7e 100644 --- a/commands/cap/list/index.md +++ b/commands/cap/list/index.md @@ -15,6 +15,19 @@ display_global_parameters: true <role> : Key for the role. +[\--format=<format>] +: Render output in a particular format. +\--- +default: list +options: + - list + - table + - csv + - json + - count + - yaml +\--- + ### EXAMPLES # Display alphabetical list of Contributor capabilities diff --git a/commands/cli/alias/index.md b/commands/cli/alias/index.md new file mode 100644 index 00000000..ae41855e --- /dev/null +++ b/commands/cli/alias/index.md @@ -0,0 +1,30 @@ +--- +layout: default +title: 'wp cli alias' +display_global_parameters: true +--- + +`wp cli alias` - List available aliases. + +Quick links: Github issues + +
    + +Aliases are shorthand references to WordPress installs. For instance, +'@dev' could refer to a development install and '@prod' could refer to +a production install. This command gives you visibility in what +registered aliases you have available. + +### OPTIONS + +[\--format=<format>] +: Render output in a particular format. +\--- +default: yaml +options: + - yaml + - json +\--- + + + diff --git a/commands/cli/check-update/index.md b/commands/cli/check-update/index.md index 849c6439..16efbb4f 100644 --- a/commands/cli/check-update/index.md +++ b/commands/cli/check-update/index.md @@ -28,7 +28,30 @@ display_global_parameters: true : Limit the output to specific object fields. Defaults to version,update_type,package_url. [\--format=<format>] -: Accepted values: table, csv, json, count. Default: table +: Render output in a particular format. +\--- +default: table +options: + - table + - csv + - json + - count + - yaml +\--- + +### EXAMPLES + + # Check for update + $ wp cli check-update + Success: WP-CLI is at the latest version. + + # Check for update and new version is available + $ wp cli check-update + +---------+-------------+-------------------------------------------------------------------------------+ + | version | update_type | package_url | + +---------+-------------+-------------------------------------------------------------------------------+ + | 0.23.1 | patch | https://github.com/wp-cli/wp-cli/releases/download/v0.23.1/wp-cli-0.23.1.phar | + +---------+-------------+-------------------------------------------------------------------------------+ diff --git a/commands/cli/cmd-dump/index.md b/commands/cli/cmd-dump/index.md index 2387a66e..1a7a4231 100644 --- a/commands/cli/cmd-dump/index.md +++ b/commands/cli/cmd-dump/index.md @@ -10,7 +10,7 @@ display_global_parameters: true
    - - - +# Dump the list of installed commands + $ wp cli cmd-dump + {"name":"wp","description":"Manage WordPress through the command-line.","longdesc":"\n\n diff --git a/commands/cli/completions/index.md b/commands/cli/completions/index.md index 582238b3..56f9c1ab 100644 --- a/commands/cli/completions/index.md +++ b/commands/cli/completions/index.md @@ -13,10 +13,17 @@ display_global_parameters: true ### OPTIONS \--line=<line> -: The current command line to be executed +: The current command line to be executed. \--point=<point> -: The index to the current cursor position relative to the beginning of the command +: The index to the current cursor position relative to the beginning of the command. + +### EXAMPLES + + # Generate tab completion strings. + $ wp cli completions --line='wp eva' --point=100 + eval + eval-file diff --git a/commands/cli/index.md b/commands/cli/index.md index 166e18c9..261e64ad 100644 --- a/commands/cli/index.md +++ b/commands/cli/index.md @@ -10,7 +10,22 @@ display_global_parameters: true
    +### EXAMPLES + # Display CLI version + $ wp cli version + WP-CLI 0.23.1 + + # Check for update + $ wp cli check-update + Success: WP-CLI is at the latest version. + + # Update CLI + $ wp cli update + You have version 0.23.0. Would you like to update to 0.23.1? [y/n] y + Downloading from https://github.com/wp-cli/wp-cli/releases/download/v0.23.1/wp-cli-0.23.1.phar... + New version works. Proceeding to replace. + Success: Updated WP-CLI to 0.23.1 @@ -24,6 +39,10 @@ display_global_parameters: true
    + + + + diff --git a/commands/cli/info/index.md b/commands/cli/info/index.md index 3c1031c7..5c336c0e 100644 --- a/commands/cli/info/index.md +++ b/commands/cli/info/index.md @@ -13,12 +13,25 @@ display_global_parameters: true ### OPTIONS [\--format=<format>] -: Accepted values: json +: Render output in a particular format. +\--- +default: list +options: + - list + - json +\--- ### EXAMPLES - $ wp cli version - WP-CLI 0.23.1 + $ wp cli info + PHP binary: /usr/bin/php5 + PHP version: 5.5.9-1ubuntu4.16 + php.ini used: /etc/php5/cli/php.ini + WP-CLI root dir: phar://wp-cli.phar + WP-CLI packages dir: /home/person/.wp-cli/packages/ + WP-CLI global config: + WP-CLI project config: + WP-CLI version: 0.23.1 diff --git a/commands/cli/param-dump/index.md b/commands/cli/param-dump/index.md index f0169530..43505952 100644 --- a/commands/cli/param-dump/index.md +++ b/commands/cli/param-dump/index.md @@ -16,7 +16,29 @@ display_global_parameters: true : Display current values also. [\--format=<format>] -: Accepted values: var_export, json. Default: json. +: Render output in a particular format. +\--- +default: json +options: + - var_export + - json +\--- + +### EXAMPLES + + $ wp cli param-dump --format=var_export + array ( + 'path' => + array ( + 'runtime' => '=<path>', + 'file' => '<path>', + 'synopsis' => '', + 'default' => NULL, + 'multiple' => false, + 'desc' => 'Path to the WordPress files.', + ), + 'url' => + array ( diff --git a/commands/cli/version/index.md b/commands/cli/version/index.md index ba95ad7f..6cd2e7ba 100644 --- a/commands/cli/version/index.md +++ b/commands/cli/version/index.md @@ -10,7 +10,10 @@ display_global_parameters: true
    +### EXAMPLES + $ wp cli version + WP-CLI 0.23.1 diff --git a/commands/comment/approve/index.md b/commands/comment/approve/index.md index 988b0365..9ba7b3eb 100644 --- a/commands/comment/approve/index.md +++ b/commands/comment/approve/index.md @@ -17,7 +17,8 @@ display_global_parameters: true ### EXAMPLES - wp comment approve 1337 + $ wp comment approve 1337 + Success: Approved comment 1337 diff --git a/commands/comment/count/index.md b/commands/comment/count/index.md index 5e734c07..4dbec9f4 100644 --- a/commands/comment/count/index.md +++ b/commands/comment/count/index.md @@ -17,8 +17,25 @@ display_global_parameters: true ### EXAMPLES - wp comment count - wp comment count 42 + # Count comments on whole blog + $ wp comment count + approved: 33 + spam: 3 + trash: 1 + post-trashed: 0 + all: 34 + moderated: 1 + total_comments: 37 + + # Count comments in a post + $ wp comment count 42 + approved: 19 + spam: 0 + trash: 0 + post-trashed: 0 + all: 19 + moderated: 0 + total_comments: 19 diff --git a/commands/comment/create/index.md b/commands/comment/create/index.md index b37a1b04..b9bb40b3 100644 --- a/commands/comment/create/index.md +++ b/commands/comment/create/index.md @@ -20,7 +20,8 @@ display_global_parameters: true ### EXAMPLES - wp comment create --comment_post_ID=15 --comment_content="hello blog" --comment_author="wp-cli" + $ wp comment create --comment_post_ID=15 --comment_content="hello blog" --comment_author="wp-cli" + Success: Created comment 932. diff --git a/commands/comment/delete/index.md b/commands/comment/delete/index.md index 2efad025..360a67e8 100644 --- a/commands/comment/delete/index.md +++ b/commands/comment/delete/index.md @@ -20,9 +20,14 @@ display_global_parameters: true ### EXAMPLES - wp comment delete 1337 --force - - wp comment delete 1337 2341 --force + # Delete comment + $ wp comment delete 1337 --force + Success: Deleted comment 1337. + + # Delete multiple comments + $ wp comment delete 1337 2341 --force + Success: Deleted comment 1337. + Success: Deleted comment 2341. diff --git a/commands/comment/exists/index.md b/commands/comment/exists/index.md index c2590cfc..4c57065a 100644 --- a/commands/comment/exists/index.md +++ b/commands/comment/exists/index.md @@ -17,7 +17,8 @@ display_global_parameters: true ### EXAMPLES - wp comment exists 1337 + $ wp comment exists 1337 + Success: Comment with ID 1337 exists. diff --git a/commands/comment/generate/index.md b/commands/comment/generate/index.md index f7bc2f36..a04d7b53 100644 --- a/commands/comment/generate/index.md +++ b/commands/comment/generate/index.md @@ -18,5 +18,22 @@ display_global_parameters: true [\--post_id=<post-id>] : Assign comments to a specific post. +[\--format=<format>] +: Render output in a particular format. +\--- +default: progress +options: + - progress + - ids +\--- + +### EXAMPLES + + # Add meta to every generated comment + $ wp comment generate --format=ids --count=3 | xargs -0 -d ' ' -I % wp comment meta add % foo bar + Success: Added custom field. + Success: Added custom field. + Success: Added custom field. + diff --git a/commands/comment/get/index.md b/commands/comment/get/index.md index 733a0ca5..a89249db 100644 --- a/commands/comment/get/index.md +++ b/commands/comment/get/index.md @@ -22,11 +22,20 @@ display_global_parameters: true : Limit the output to specific fields. Defaults to all fields. [\--format=<format>] -: Accepted values: table, json, csv, yaml. Default: table +: Render output in a particular format. +\--- +default: table +options: + - table + - csv + - json + - yaml +\--- ### EXAMPLES - wp comment get 1 --field=content + $ wp comment get 21 --field=content + Thanks for all the comments, everyone! diff --git a/commands/comment/index.md b/commands/comment/index.md index eeab9659..05a7e1a9 100644 --- a/commands/comment/index.md +++ b/commands/comment/index.md @@ -12,8 +12,22 @@ display_global_parameters: true ### EXAMPLES - # delete all spam comments. - wp comment delete $(wp comment list --status=spam --format=ids) + # Create comment + $ wp comment create --comment_post_ID=15 --comment_content="hello blog" --comment_author="wp-cli" + Success: Created comment 932. + + # Update comment + $ wp comment update 123 --comment_author='That Guy' + Success: Updated comment 123. + + # Delete comment + $ wp comment delete 1337 --force + Success: Deleted comment 1337. + + # Delete all spam comments. + $ wp comment delete $(wp comment list --status=spam --format=ids) + Success: Deleted comment 264. + Success: Deleted comment 262. diff --git a/commands/comment/list/index.md b/commands/comment/list/index.md index 398c9374..9a783d0a 100644 --- a/commands/comment/list/index.md +++ b/commands/comment/list/index.md @@ -22,7 +22,17 @@ display_global_parameters: true : Limit the output to specific object fields. [\--format=<format>] -: Accepted values: table, csv, json, count, yaml. Default: table +: Render output in a particular format. +\--- +default: table +options: + - table + - ids + - csv + - json + - count + - yaml +\--- ### AVAILABLE FIELDS @@ -49,11 +59,29 @@ These fields are optionally available: ### EXAMPLES - wp comment list --field=ID - - wp comment list --post_id=2 - - wp comment list --number=20 --status=approve + # List comment IDs + $ wp comment list --field=ID + 22 + 23 + 24 + + # List comments of a post + $ wp comment list --post_id=1 --fields=ID,comment_date,comment_author + +------------+---------------------+----------------+ + | comment_ID | comment_date | comment_author | + +------------+---------------------+----------------+ + | 1 | 2015-06-20 09:00:10 | Mr WordPress | + +------------+---------------------+----------------+ + + # List approved comments + $ wp comment list --number=3 --status=approve --fields=ID,comment_date,comment_author + +------------+---------------------+----------------+ + | comment_ID | comment_date | comment_author | + +------------+---------------------+----------------+ + | 1 | 2015-06-20 09:00:10 | Mr WordPress | + | 30 | 2013-03-14 12:35:07 | John Doe | + | 29 | 2013-03-14 11:56:08 | Jane Doe | + +------------+---------------------+----------------+ diff --git a/commands/comment/meta/index.md b/commands/comment/meta/index.md index 33f4813c..abab209f 100644 --- a/commands/comment/meta/index.md +++ b/commands/comment/meta/index.md @@ -17,7 +17,21 @@ display_global_parameters: true ### EXAMPLES - wp comment meta set 123 description "Mary is a WordPress developer." + # Set comment meta + $ wp comment meta set 123 description "Mary is a WordPress developer." + Success: Updated custom field 'description'. + + # Get comment meta + $ wp comment meta get 123 description + Mary is a WordPress developer. + + # Update comment meta + $ wp comment meta update 123 description "Mary is an awesome WordPress developer." + Success: Updated custom field 'description'. + + # Delete comment meta + $ wp comment meta delete 123 description + Success: Deleted custom field. diff --git a/commands/comment/recount/index.md b/commands/comment/recount/index.md index 1e64e770..4d611cb9 100644 --- a/commands/comment/recount/index.md +++ b/commands/comment/recount/index.md @@ -15,5 +15,10 @@ display_global_parameters: true <id>... : IDs for one or more posts to update. +### EXAMPLES + + $ wp comment recount 123 + Updated post 123 comment count to 67. + diff --git a/commands/comment/spam/index.md b/commands/comment/spam/index.md index 48a37b7c..584b1d7f 100644 --- a/commands/comment/spam/index.md +++ b/commands/comment/spam/index.md @@ -17,7 +17,8 @@ display_global_parameters: true ### EXAMPLES - wp comment spam 1337 + $ wp comment spam 1337 + Success: Marked as spam comment 1337. diff --git a/commands/comment/status/index.md b/commands/comment/status/index.md index e857436d..a73fda69 100644 --- a/commands/comment/status/index.md +++ b/commands/comment/status/index.md @@ -17,7 +17,8 @@ display_global_parameters: true ### EXAMPLES - wp comment status 1337 + $ wp comment status 1337 + approved diff --git a/commands/comment/trash/index.md b/commands/comment/trash/index.md index 6b7d0cd4..3ae60e1f 100644 --- a/commands/comment/trash/index.md +++ b/commands/comment/trash/index.md @@ -17,7 +17,8 @@ display_global_parameters: true ### EXAMPLES - wp comment trash 1337 + $ wp comment trash 1337 + Success: Trashed comment 1337. diff --git a/commands/comment/unapprove/index.md b/commands/comment/unapprove/index.md index 00f09da3..a798e4b5 100644 --- a/commands/comment/unapprove/index.md +++ b/commands/comment/unapprove/index.md @@ -17,7 +17,8 @@ display_global_parameters: true ### EXAMPLES - wp comment unapprove 1337 + $ wp comment unapprove 1337 + Success: Unapproved comment 1337 diff --git a/commands/comment/unspam/index.md b/commands/comment/unspam/index.md index 9cae7644..63103d4e 100644 --- a/commands/comment/unspam/index.md +++ b/commands/comment/unspam/index.md @@ -17,7 +17,8 @@ display_global_parameters: true ### EXAMPLES - wp comment unspam 1337 + $ wp comment unspam 1337 + Success: Unspammed comment 1337. diff --git a/commands/comment/untrash/index.md b/commands/comment/untrash/index.md index 672bb111..c6dd9f91 100644 --- a/commands/comment/untrash/index.md +++ b/commands/comment/untrash/index.md @@ -17,7 +17,8 @@ display_global_parameters: true ### EXAMPLES - wp comment untrash 1337 + $ wp comment untrash 1337 + Success: Untrashed comment 1337. diff --git a/commands/comment/update/index.md b/commands/comment/update/index.md index 8ac1eefb..8ed977a3 100644 --- a/commands/comment/update/index.md +++ b/commands/comment/update/index.md @@ -20,7 +20,8 @@ display_global_parameters: true ### EXAMPLES - wp comment update 123 --comment_author='That Guy' + $ wp comment update 123 --comment_author='That Guy' + Success: Updated comment 123. diff --git a/commands/comment/url/index.md b/commands/comment/url/index.md index 29ecef2f..688ce557 100644 --- a/commands/comment/url/index.md +++ b/commands/comment/url/index.md @@ -17,7 +17,8 @@ display_global_parameters: true ### EXAMPLES - wp comment url 123 + $ wp comment url 123 + http://example.com/about/page-with-comments/#comment-123 diff --git a/commands/core/check-update/index.md b/commands/core/check-update/index.md index ad0e4494..79fff1b3 100644 --- a/commands/core/check-update/index.md +++ b/commands/core/check-update/index.md @@ -27,7 +27,25 @@ Lists the most recent versions when there are updates available, or success mess : Limit the output to specific object fields. Defaults to version,update_type,package_url. [\--format=<format>] -: Accepted values: table, csv, json, yaml. Default: table +: Render output in a particular format. +\--- +default: table +options: + - table + - csv + - count + - json + - yaml +\--- + +### EXAMPLES + + $ wp core check-update + +---------+-------------+-------------------------------------------------------------+ + | version | update_type | package_url | + +---------+-------------+-------------------------------------------------------------+ + | 4.5.2 | major | https://downloads.wordpress.org/release/wordpress-4.5.2.zip | + +---------+-------------+-------------------------------------------------------------+ diff --git a/commands/core/config/index.md b/commands/core/config/index.md index 15f7e459..d0ef1165 100644 --- a/commands/core/config/index.md +++ b/commands/core/config/index.md @@ -22,16 +22,28 @@ display_global_parameters: true : Set the database user password. [\--dbhost=<dbhost>] -: Set the database host. Default: 'localhost' +: Set the database host. +\--- +default: localhost +\--- [\--dbprefix=<dbprefix>] -: Set the database table prefix. Default: 'wp_' +: Set the database table prefix. +\--- +default: wp_ +\--- [\--dbcharset=<dbcharset>] -: Set the database charset. Default: 'utf8' +: Set the database charset. +\--- +default: utf8 +\--- [\--dbcollate=<dbcollate>] -: Set the database collation. Default: '' +: Set the database collation. +\--- +default: +\--- [\--locale=<locale>] : Set the WPLANG constant. Defaults to $wp_local_package variable. @@ -48,13 +60,15 @@ display_global_parameters: true ### EXAMPLES # Standard wp-config.php file - wp core config --dbname=testing --dbuser=wp --dbpass=securepswd --locale=ro_RO + $ wp core config --dbname=testing --dbuser=wp --dbpass=securepswd --locale=ro_RO + Success: Generated 'wp-config.php' file. # Enable WP_DEBUG and WP_DEBUG_LOG - wp core config --dbname=testing --dbuser=wp --dbpass=securepswd --extra-php < +### EXAMPLES + # Download WordPress core + $ wp core download --locale=nl_NL + Downloading WordPress 4.5.2 (nl_NL)... + md5 hash verified: c5366d05b521831dd0b29dfc386e56a5 + Success: WordPress downloaded. + + # Install WordPress + $ wp core install --url=example.com --title=Example --admin_user=supervisor --admin_password=strongpassword --admin_email=info@example.com + Success: WordPress installed successfully. + + # Display the WordPress version + $ wp core version + 4.5.2 @@ -46,7 +60,7 @@ display_global_parameters: true
    - + diff --git a/commands/core/install/index.md b/commands/core/install/index.md index 9a91a63d..59a4a48f 100644 --- a/commands/core/install/index.md +++ b/commands/core/install/index.md @@ -40,5 +40,10 @@ your WordPress install to function properly. [\--skip-email] : Don't send an email notification to the new admin user. +### EXAMPLES + + $ wp core install --url=example.com --title=Example --admin_user=supervisor --admin_password=strongpassword --admin_email=info@example.com + Success: WordPress installed successfully. + diff --git a/commands/core/is-installed/index.md b/commands/core/is-installed/index.md index da636c2f..d59de868 100644 --- a/commands/core/is-installed/index.md +++ b/commands/core/is-installed/index.md @@ -11,10 +11,16 @@ display_global_parameters: true
    [\--network] -: Check if this is a multisite install +: Check if this is a multisite install. ### EXAMPLES + # Check whether WordPress is installed; exit status 0 if installed, otherwise 1 + $ wp core is-installed + $ echo $? + 1 + + # Bash script for checking whether WordPress is installed or not if ! $(wp core is-installed); then wp core install fi diff --git a/commands/core/language/index.md b/commands/core/language/index.md index a92e0643..f807ff42 100644 --- a/commands/core/language/index.md +++ b/commands/core/language/index.md @@ -4,13 +4,33 @@ title: 'wp core language' display_global_parameters: true --- -`wp core language` - +`wp core language` - Manage core language. Quick links: Github issues
    +### EXAMPLES + # Install language + $ wp core language install nl_NL + Success: Language installed. + + # Activate language + $ wp core language activate nl_NL + Success: Language activated. + + # Uninstall language + $ wp core language uninstall nl_NL + Success: Language uninstalled. + + # List installed languages + $ wp core language list --status=installed + +----------+--------------+-------------+-----------+-----------+---------------------+ + | language | english_name | native_name | status | update | updated | + +----------+--------------+-------------+-----------+-----------+---------------------+ + | nl_NL | Dutch | Nederlands | installed | available | 2016-05-13 08:12:50 | + +----------+--------------+-------------+-----------+-----------+---------------------+ diff --git a/commands/core/multisite-convert/index.md b/commands/core/multisite-convert/index.md index 67528bd6..5f1ff1e2 100644 --- a/commands/core/multisite-convert/index.md +++ b/commands/core/multisite-convert/index.md @@ -20,7 +20,9 @@ file with the appropriate multisite rewrite rules. [\--base=<url-path>] : Base path after the domain name that each site url will start with. -Default: '/' +\--- +default: / +\--- [\--subdomains] : If passed, the network will use subdomains, instead of subdirectories. Doesn't work with 'localhost'. diff --git a/commands/core/multisite-install/index.md b/commands/core/multisite-install/index.md index e444ab68..3a4d6860 100644 --- a/commands/core/multisite-install/index.md +++ b/commands/core/multisite-install/index.md @@ -17,7 +17,9 @@ display_global_parameters: true [\--base=<url-path>] : Base path after the domain name that each site url in the network will start with. -Default: '/' +\--- +default: / +\--- [\--subdomains] : If passed, the network will use subdomains, instead of subdirectories. Doesn't work with 'localhost'. @@ -26,7 +28,10 @@ Default: '/' : The title of the new site. \--admin_user=<username> -: The name of the admin user. Default: 'admin' +: The name of the admin user. +\--- +default: admin +\--- \--admin_password=<password> : The password for the admin user. diff --git a/commands/core/update-db/index.md b/commands/core/update-db/index.md index 4296f41f..74b0c9b0 100644 --- a/commands/core/update-db/index.md +++ b/commands/core/update-db/index.md @@ -18,9 +18,11 @@ display_global_parameters: true ### EXAMPLES + # Update the WordPress database $ wp core update-db - Success: WordPress database upgraded successfully from db version 36686 to 35700 + Success: WordPress database upgraded successfully from db version 36686 to 35700. + # Update databases for all sites on a network $ wp core update-db --network WordPress database upgraded successfully from db version 35700 to 29630 on example.com/ Success: WordPress database upgraded on 123/123 sites diff --git a/commands/core/update/index.md b/commands/core/update/index.md index be3f858d..06f6ec79 100644 --- a/commands/core/update/index.md +++ b/commands/core/update/index.md @@ -29,6 +29,7 @@ display_global_parameters: true ### EXAMPLES + # Update WordPress $ wp core update Updating to version 4.5.2 (en_US)... Downloading update from https://downloads.wordpress.org/release/wordpress-4.5.2-no-content.zip... @@ -37,6 +38,7 @@ display_global_parameters: true No files found that need cleaned up Success: WordPress updated successfully. + # Update WordPress to latest version of 3.8 release $ wp core update --version=3.8 ../latest.zip Updating to version 3.8 ()... Unpacking the update... @@ -47,6 +49,7 @@ display_global_parameters: true 377 files cleaned up Success: WordPress updated successfully. + # Update WordPress to 3.1 forcefully $ wp core update --version=3.1 --force Updating to version 3.1 (en_US)... Downloading update from https://wordpress.org/wordpress-3.1.zip... diff --git a/commands/core/verify-checksums/index.md b/commands/core/verify-checksums/index.md index 990bb6f8..2e9aad78 100644 --- a/commands/core/verify-checksums/index.md +++ b/commands/core/verify-checksums/index.md @@ -22,15 +22,19 @@ For security, avoids loading WordPress when verifying checksums. ### EXAMPLES + # Verify checksums $ wp core verify-checksums Success: WordPress install verifies against checksums. + # Verify checksums for given WordPress version $ wp core verify-checksums --version=4.0 Success: WordPress install verifies against checksums. + # Verify checksums for given locale $ wp core verify-checksums --locale=en_US Success: WordPress install verifies against checksums. + # Verify checksums for given locale $ wp core verify-checksums --locale=ja Warning: File doesn't verify against checksum: wp-includes/version.php Warning: File doesn't verify against checksum: readme.html diff --git a/commands/core/version/index.md b/commands/core/version/index.md index 7f1036a1..c2b929e1 100644 --- a/commands/core/version/index.md +++ b/commands/core/version/index.md @@ -17,9 +17,11 @@ display_global_parameters: true ### EXAMPLES + # Display the WordPress version $ wp core version 4.5.2 + # Display WordPress version along with other information $ wp core version --extra WordPress version: 4.5.2 Database revision: 36686 diff --git a/commands/cron/event/delete/index.md b/commands/cron/event/delete/index.md index 09d2413d..03c5113c 100644 --- a/commands/cron/event/delete/index.md +++ b/commands/cron/event/delete/index.md @@ -13,7 +13,13 @@ display_global_parameters: true ### OPTIONS <hook> -: The hook name +: The hook name. + +### EXAMPLES + + # Delete the next scheduled cron event + $ wp cron event delete cron_test + Success: Deleted 2 instances of the cron event 'cron_test'. diff --git a/commands/cron/event/index.md b/commands/cron/event/index.md index f18be2ed..f3b6f175 100644 --- a/commands/cron/event/index.md +++ b/commands/cron/event/index.md @@ -10,7 +10,23 @@ display_global_parameters: true
    +### EXAMPLES + # Schedule a new cron event + $ wp cron event schedule cron_test + Success: Scheduled event with hook 'cron_test' for 2016-05-31 10:19:16 GMT. + + # Run all cron events due right now + $ wp cron event run --due-now + Success: Executed a total of 2 cron events. + + # Delete the next scheduled cron event + $ wp cron event delete cron_test + Success: Deleted 2 instances of the cron event 'cron_test'. + + # List scheduled cron events in JSON + $ wp cron event list --fields=hook,next_run --format=json + [{"hook":"wp_version_check","next_run":"2016-05-31 10:15:13"},{"hook":"wp_update_plugins","next_run":"2016-05-31 10:15:13"},{"hook":"wp_update_themes","next_run":"2016-05-31 10:15:14"}] diff --git a/commands/cron/event/list/index.md b/commands/cron/event/list/index.md index ed7aeed0..9d663630 100644 --- a/commands/cron/event/list/index.md +++ b/commands/cron/event/list/index.md @@ -15,8 +15,24 @@ display_global_parameters: true [\--fields=<fields>] : Limit the output to specific object fields. +[\--<field>=<value>] +: Filter by one or more fields. + +[\--field=<field>] +: Prints the value of a single field for each event. + [\--format=<format>] -: Accepted values: table, json, csv, ids, yaml. Default: table. +: Render output in a particular format. +\--- +default: table +options: + - table + - csv + - ids + - json + - count + - yaml +\--- ### AVAILABLE FIELDS @@ -36,9 +52,19 @@ These fields are optionally available: ### EXAMPLES - wp cron event list + # List scheduled cron events + $ wp cron event list + +-------------------+---------------------+---------------------+------------+ + | hook | next_run_gmt | next_run_relative | recurrence | + +-------------------+---------------------+---------------------+------------+ + | wp_version_check | 2016-05-31 22:15:13 | 11 hours 57 minutes | 12 hours | + | wp_update_plugins | 2016-05-31 22:15:13 | 11 hours 57 minutes | 12 hours | + | wp_update_themes | 2016-05-31 22:15:14 | 11 hours 57 minutes | 12 hours | + +-------------------+---------------------+---------------------+------------+ - wp cron event list --fields=hook,next_run --format=json + # List scheduled cron events in JSON + $ wp cron event list --fields=hook,next_run --format=json + [{"hook":"wp_version_check","next_run":"2016-05-31 10:15:13"},{"hook":"wp_update_plugins","next_run":"2016-05-31 10:15:13"},{"hook":"wp_update_themes","next_run":"2016-05-31 10:15:14"}] diff --git a/commands/cron/event/run/index.md b/commands/cron/event/run/index.md index 044afaf1..47413304 100644 --- a/commands/cron/event/run/index.md +++ b/commands/cron/event/run/index.md @@ -15,13 +15,17 @@ display_global_parameters: true [<hook>...] : One or more hooks to run. +[\--due-now] +: Run all hooks due right now. + [\--all] : Run all hooks. ### EXAMPLES # Run all cron events due right now - wp cron event run $( wp cron event list --fields=hook,next_run_relative --format=csv | awk -F, '$2=="now" {print $1}' ) + $ wp cron event run --due-now + Success: Executed a total of 2 cron events. diff --git a/commands/cron/event/schedule/index.md b/commands/cron/event/schedule/index.md index b22bab0c..83dd9699 100644 --- a/commands/cron/event/schedule/index.md +++ b/commands/cron/event/schedule/index.md @@ -13,7 +13,7 @@ display_global_parameters: true ### OPTIONS <hook> -: The hook name +: The hook name. [<next-run>] : A Unix timestamp or an English textual datetime description compatible with `strtotime()`. Defaults to now. @@ -26,11 +26,17 @@ display_global_parameters: true ### EXAMPLES - wp cron event schedule cron_test + # Schedule a new cron event + $ wp cron event schedule cron_test + Success: Scheduled event with hook 'cron_test' for 2016-05-31 10:19:16 GMT. - wp cron event schedule cron_test now hourly + # Schedule new cron event with hourly recurrence + $ wp cron event schedule cron_test now hourly + Success: Scheduled event with hook 'cron_test' for 2016-05-31 10:20:32 GMT. - wp cron event schedule cron_test '+1 hour' --foo=1 --bar=2 + # Schedule new cron event and pass associative arguments + $ wp cron event schedule cron_test '+1 hour' --foo=1 --bar=2 + Success: Scheduled event with hook 'cron_test' for 2016-05-31 11:21:35 GMT. diff --git a/commands/cron/index.md b/commands/cron/index.md index be6db776..8f92114b 100644 --- a/commands/cron/index.md +++ b/commands/cron/index.md @@ -10,7 +10,11 @@ display_global_parameters: true
    +### EXAMPLES + # Test WP Cron spawning system + $ wp cron test + Success: WP-Cron spawning is working as expected. diff --git a/commands/cron/schedule/index.md b/commands/cron/schedule/index.md index f58992d8..bc116c3b 100644 --- a/commands/cron/schedule/index.md +++ b/commands/cron/schedule/index.md @@ -10,7 +10,17 @@ display_global_parameters: true
    - +### EXAMPLES + + # List available cron schedules + $ wp cron schedule list + +------------+-------------+----------+ + | name | display | interval | + +------------+-------------+----------+ + | hourly | Once Hourly | 3600 | + | twicedaily | Twice Daily | 43200 | + | daily | Once Daily | 86400 | + +------------+-------------+----------+ diff --git a/commands/cron/schedule/list/index.md b/commands/cron/schedule/list/index.md index 39827926..554b2171 100644 --- a/commands/cron/schedule/list/index.md +++ b/commands/cron/schedule/list/index.md @@ -15,8 +15,20 @@ display_global_parameters: true [\--fields=<fields>] : Limit the output to specific object fields. +[\--field=<field>] +: Prints the value of a single field for each schedule. + [\--format=<format>] -: Accepted values: table, json, csv, ids, yaml. Default: table. +: Render output in a particular format. +\--- +default: table +options: + - table + - csv + - ids + - json + - yaml +\--- ### AVAILABLE FIELDS @@ -30,9 +42,19 @@ There are no additional fields. ### EXAMPLES - wp cron schedule list - - wp cron schedule list --fields=name --format=ids + # List available cron schedules + $ wp cron schedule list + +------------+-------------+----------+ + | name | display | interval | + +------------+-------------+----------+ + | hourly | Once Hourly | 3600 | + | twicedaily | Twice Daily | 43200 | + | daily | Once Daily | 86400 | + +------------+-------------+----------+ + + # List id of available cron schedule + $ wp cron schedule list --fields=name --format=ids + hourly twicedaily daily diff --git a/commands/cron/test/index.md b/commands/cron/test/index.md index 7a02c1df..524bb438 100644 --- a/commands/cron/test/index.md +++ b/commands/cron/test/index.md @@ -17,5 +17,10 @@ because WP-Cron is disabled. * Attempts to spawn WP-Cron over HTTP; warns if non 200 response code is returned. +### EXAMPLES + + $ wp cron test + Success: WP-Cron spawning is working as expected. + diff --git a/commands/db/cli/index.md b/commands/db/cli/index.md index 852815a0..d9206dcc 100644 --- a/commands/db/cli/index.md +++ b/commands/db/cli/index.md @@ -10,7 +10,11 @@ display_global_parameters: true
    +### EXAMPLES + # Open MySQL console + $ wp db cli + mysql> diff --git a/commands/db/create/index.md b/commands/db/create/index.md index bed55b97..5089625f 100644 --- a/commands/db/create/index.md +++ b/commands/db/create/index.md @@ -14,5 +14,10 @@ Runs `CREATE_DATABASE` MySQL statement using `DB_HOST`, `DB_NAME`, `DB_USER` and `DB_PASSWORD` database credentials specified in wp-config.php. +### EXAMPLES + + $ wp db create + Success: Database created. + diff --git a/commands/db/export/index.md b/commands/db/export/index.md index f4da3f59..17a39394 100644 --- a/commands/db/export/index.md +++ b/commands/db/export/index.md @@ -24,16 +24,26 @@ Runs `mysqldump` utility using `DB_HOST`, `DB_NAME`, `DB_USER` and [\--tables=<tables>] : The comma separated list of specific tables to export. Excluding this parameter will export all tables in the database. +[\--porcelain] +: Output filename for the exported database. + ### EXAMPLES - wp db export --add-drop-table - wp db export --tables=wp_options,wp_users + # Export database with drop query included + $ wp db export --add-drop-table + Success: Exported to 'wordpress_dbase.sql'. + + # Export certain tables + $ wp db export --tables=wp_options,wp_users + Success: Exported to 'wordpress_dbase.sql'. # Export all tables matching a wildcard - wp db export --tables=$(wp db tables 'wp_user*' --format=csv) + $ wp db export --tables=$(wp db tables 'wp_user*' --format=csv) + Success: Exported to 'wordpress_dbase.sql'. # Export all tables matching prefix - wp db export --tables=$(wp db tables --all-tables-with-prefix --format=csv) + $ wp db export --tables=$(wp db tables --all-tables-with-prefix --format=csv) + Success: Exported to 'wordpress_dbase.sql'. diff --git a/commands/db/import/index.md b/commands/db/import/index.md index 4fb2a066..c252db8b 100644 --- a/commands/db/import/index.md +++ b/commands/db/import/index.md @@ -15,5 +15,10 @@ display_global_parameters: true [<file>] : The name of the SQL file to import. If '-', then reads from STDIN. If omitted, it will look for '{dbname}.sql'. +### EXAMPLES + + $ wp db import wordpress_dbase.sql + Success: Imported from 'wordpress_dbase.sql'. + diff --git a/commands/db/index.md b/commands/db/index.md index bd8f795f..c5df6d53 100644 --- a/commands/db/index.md +++ b/commands/db/index.md @@ -10,7 +10,22 @@ display_global_parameters: true
    +### EXAMPLES + # Create database + $ wp db create + Success: Database created. + + # Drop database + $ wp db drop --yes + Success: Database dropped. + + # Reset database + $ wp db reset --yes + Success: Database reset. + + # Execute a query stored in a file + $ wp db query < debug.sql diff --git a/commands/db/optimize/index.md b/commands/db/optimize/index.md index 1f4a63fd..a5a0b1c3 100644 --- a/commands/db/optimize/index.md +++ b/commands/db/optimize/index.md @@ -17,5 +17,10 @@ specified in wp-config.php. [See docs](http://dev.mysql.com/doc/refman/5.7/en/optimize-table.html) for more details on the `OPTIMIZE_TABLE` statement. +### EXAMPLES + + $ wp db optimize + Success: Database optimized. + diff --git a/commands/db/query/index.md b/commands/db/query/index.md index 4dabf6c8..f5481af1 100644 --- a/commands/db/query/index.md +++ b/commands/db/query/index.md @@ -20,11 +20,27 @@ Executes an arbitrary MySQL query using `DB_HOST`, `DB_NAME`, `DB_USER` ### EXAMPLES - # execute a query stored in a file - wp db query < debug.sql - - # check all tables in the database - wp db query "CHECK TABLE $(wp db tables | paste -s -d',');" + # Execute a query stored in a file + $ wp db query < debug.sql + + # Check all tables in the database + $ wp db query "CHECK TABLE $(wp db tables | paste -s -d',');" + +---------------------------------------+-------+----------+----------+ + | Table | Op | Msg_type | Msg_text | + +---------------------------------------+-------+----------+----------+ + | wordpress_dbase.wp_users | check | status | OK | + | wordpress_dbase.wp_usermeta | check | status | OK | + | wordpress_dbase.wp_posts | check | status | OK | + | wordpress_dbase.wp_comments | check | status | OK | + | wordpress_dbase.wp_links | check | status | OK | + | wordpress_dbase.wp_options | check | status | OK | + | wordpress_dbase.wp_postmeta | check | status | OK | + | wordpress_dbase.wp_terms | check | status | OK | + | wordpress_dbase.wp_term_taxonomy | check | status | OK | + | wordpress_dbase.wp_term_relationships | check | status | OK | + | wordpress_dbase.wp_termmeta | check | status | OK | + | wordpress_dbase.wp_commentmeta | check | status | OK | + +---------------------------------------+-------+----------+----------+ diff --git a/commands/db/repair/index.md b/commands/db/repair/index.md index 78c4e754..5338158e 100644 --- a/commands/db/repair/index.md +++ b/commands/db/repair/index.md @@ -17,5 +17,10 @@ specified in wp-config.php. [See docs](http://dev.mysql.com/doc/refman/5.7/en/repair-table.html) for more details on the `REPAIR_TABLE` statement. +### EXAMPLES + + $ wp db repair + Success: Database repaired. + diff --git a/commands/db/tables/index.md b/commands/db/tables/index.md index 22b06384..a81aa390 100644 --- a/commands/db/tables/index.md +++ b/commands/db/tables/index.md @@ -35,10 +35,8 @@ Defaults to all tables registered to $wpdb. ### EXAMPLES # Export only tables for a single site - wp db export --tables=$(wp db tables --url=sub.example.com --format=csv) - - # Export all tables matching prefix - wp db export --tables=$(wp db tables --all-tables-with-prefix --format=csv) + $ wp db export --tables=$(wp db tables --url=sub.example.com --format=csv) + Success: Exported to wordpress_dbase.sql diff --git a/commands/export/index.md b/commands/export/index.md index 4841a928..19d47c0f 100644 --- a/commands/export/index.md +++ b/commands/export/index.md @@ -21,6 +21,9 @@ to current working directory. [\--max_file_size=<MB>] : A single export file should have this many megabytes. +\--- +default: 15 +\--- ### FILTERS @@ -32,10 +35,13 @@ to current working directory. [\--post_type=<post-type>] : Export only posts with this post_type. Separate multiple post types with a -comma. Defaults to all. +comma. +\--- +default: any +\--- [\--post_type__not_in=<post-type>] -: Export all post types except those identified. Seperate multiple post types +: Export all post types except those identified. Separate multiple post types with a comma. Defaults to none. [\--post__in=<pid>] @@ -58,12 +64,23 @@ with a comma. Defaults to none. ### EXAMPLES - wp export --dir=/tmp/ --user=admin --post_type=post --start_date=2011-01-01 --end_date=2011-12-31 + # Export posts published by the user between given start and end date + $ wp export --dir=/tmp/ --user=admin --post_type=post --start_date=2011-01-01 --end_date=2011-12-31 + Starting export process... + Writing to file /tmp/staging.wordpress.2016-05-24.000.xml + Success: All done with export. - wp export --dir=/tmp/ --post__in=123,124,125 + # Export posts by IDs + $ wp export --dir=/tmp/ --post__in=123,124,125 + Starting export process... + Writing to file /tmp/staging.wordpress.2016-05-24.000.xml + Success: All done with export. # Export a random subset of content - wp export --post__in=$(wp post list --post_type=post --orderby=rand --posts_per_page=8 --format=ids) + $ wp export --post__in="$(wp post list --post_type=post --orderby=rand --posts_per_page=8 --format=ids)" + Starting export process... + Writing to file /var/www/example.com/public_html/staging.wordpress.2016-05-24.000.xml + Success: All done with export. diff --git a/commands/help/index.md b/commands/help/index.md index dd8cc803..91a1a9c1 100644 --- a/commands/help/index.md +++ b/commands/help/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
    +### OPTIONS + [<command>...] : Get help on a specific command. diff --git a/commands/import/index.md b/commands/import/index.md index f018fcba..ab553a75 100644 --- a/commands/import/index.md +++ b/commands/import/index.md @@ -21,5 +21,16 @@ display_global_parameters: true [\--skip=<data-type>] : Skip importing specific data. Supported options are: 'attachment' and 'image_resize' (skip time-consuming thumbnail generation). +### EXAMPLES + + # Import content from a WXR file + $ wp import example.wordpress.2016-06-21.xml --authors=create + Starting the import process... + Processing post #1 ("Hello world!") (post_type: post) + -- 1 of 1 + -- Tue, 21 Jun 2016 05:31:12 +0000 + -- Imported post as post_id #1 + Success: Finished importing from 'example.wordpress.2016-06-21.xml' file. + diff --git a/commands/media/import/index.md b/commands/media/import/index.md index 3cf1e46a..abb84f61 100644 --- a/commands/media/import/index.md +++ b/commands/media/import/index.md @@ -41,19 +41,25 @@ display_global_parameters: true ### EXAMPLES # Import all jpgs in the current user's "Pictures" directory, not attached to any post - wp media import ~/Pictures/**\/*.jpg + $ wp media import ~/Pictures/**\/*.jpg + Success: Imported file /home/person/Pictures/beautiful-youg-girl-in-ivy.jpg as attachment ID 1751. + Success: Imported file /home/person/Pictures/fashion-girl.jpg as attachment ID 1752. # Import a local image and set it to be the post thumbnail for a post - wp media import ~/Downloads/image.png --post_id=123 --title="A downloaded picture" --featured_image + $ wp media import ~/Downloads/image.png --post_id=123 --title="A downloaded picture" --featured_image + Success: Imported file /home/person/Downloads/image.png as attachment ID 1753 and attached to post 123 as featured image. # Import a local image, but set it as the featured image for all posts # 1. Import the image and get its attachment ID - * 2. Assign the attachment ID as the featured image for all posts - ATTACHMENT_ID="$(wp media import ~/Downloads/image.png --porcelain)" - wp post list --post_type=post --format=ids | xargs -0 -d ' ' -I % wp post meta add % _thumbnail_id $ATTACHMENT_ID + # 2. Assign the attachment ID as the featured image for all posts + $ ATTACHMENT_ID="$(wp media import ~/Downloads/image.png --porcelain)" + $ wp post list --post_type=post --format=ids | xargs -0 -d ' ' -I % wp post meta add % _thumbnail_id $ATTACHMENT_ID + Success: Added custom field. + Success: Added custom field. # Import an image from the web - wp media import http://s.wordpress.org/style/images/wp-header-logo.png --title='The WordPress logo' --alt="Semantic personal publishing" + $ wp media import http://s.wordpress.org/style/images/wp-header-logo.png --title='The WordPress logo' --alt="Semantic personal publishing" + Success: Imported file http://s.wordpress.org/style/images/wp-header-logo.png as attachment ID 1755. diff --git a/commands/media/index.md b/commands/media/index.md index 34ad470c..047df489 100644 --- a/commands/media/index.md +++ b/commands/media/index.md @@ -10,7 +10,19 @@ display_global_parameters: true
    - +### EXAMPLES + + # Re-generate all thumbnails, without confirmation + $ wp media regenerate --yes + Found 3 images to regenerate. + Regenerated thumbnails for "Sydney Harbor Bridge" (ID 760). + Regenerated thumbnails for "Boardwalk" (ID 757). + Regenerated thumbnails for "Sunburst Over River" (ID 756). + Success: Finished regenerating all images. + + # Import a local image and set it to be the featured image for a post + $ wp media import ~/Downloads/image.png --post_id=123 --title="A downloaded picture" --featured_image + Success: Imported file /home/person/Downloads/image.png as attachment ID 1753 and attached to post 123 as featured image. diff --git a/commands/media/regenerate/index.md b/commands/media/regenerate/index.md index efacf0ec..3a46657b 100644 --- a/commands/media/regenerate/index.md +++ b/commands/media/regenerate/index.md @@ -26,11 +26,22 @@ display_global_parameters: true ### EXAMPLES - # re-generate all thumbnails, without confirmation - wp media regenerate --yes - - # re-generate all thumbnails that have IDs between 1000 and 2000 - seq 1000 2000 | xargs wp media regenerate + # Re-generate all thumbnails, without confirmation + $ wp media regenerate --yes + Found 3 images to regenerate. + Regenerated thumbnails for "Sydney Harbor Bridge" (ID 760). + Regenerated thumbnails for "Boardwalk" (ID 757). + Regenerated thumbnails for "Sunburst Over River" (ID 756). + Success: Finished regenerating all images. + + # Re-generate all thumbnails that have IDs between 1000 and 2000 + $ seq 1000 2000 | xargs wp media regenerate + Found 4 images to regenerate. + Regenerated thumbnails for "Vertical Featured Image" (ID 1027). + Regenerated thumbnails for "Horizontal Featured Image" (ID 1022). + Regenerated thumbnails for "Unicorn Wallpaper" (ID 1045). + Regenerated thumbnails for "I Am Worth Loving Wallpaper" (ID 1023). + Success: Finished regenerating all images. diff --git a/commands/menu/create/index.md b/commands/menu/create/index.md index 8ebbba02..393a1019 100644 --- a/commands/menu/create/index.md +++ b/commands/menu/create/index.md @@ -4,7 +4,7 @@ title: 'wp menu create' display_global_parameters: true --- -`wp menu create` - Create a new menu +`wp menu create` - Create a new menu. Quick links: Github issues @@ -13,14 +13,15 @@ display_global_parameters: true ### OPTIONS <menu-name> -: A descriptive name for the menu +: A descriptive name for the menu. [\--porcelain] : Output just the new menu id. ### EXAMPLES - wp menu create "My Menu" + $ wp menu create "My Menu" + Success: Created menu 200. diff --git a/commands/menu/delete/index.md b/commands/menu/delete/index.md index 4698b57c..894f5de1 100644 --- a/commands/menu/delete/index.md +++ b/commands/menu/delete/index.md @@ -4,7 +4,7 @@ title: 'wp menu delete' display_global_parameters: true --- -`wp menu delete` - Delete one or more menus +`wp menu delete` - Delete one or more menus. Quick links: Github issues @@ -13,11 +13,12 @@ display_global_parameters: true ### OPTIONS <menu>... -: The name, slug, or term ID for the menu(s) +: The name, slug, or term ID for the menu(s). ### EXAMPLES - wp menu delete "My Menu" + $ wp menu delete "My Menu" + Success: Menu(s) deleted. diff --git a/commands/menu/index.md b/commands/menu/index.md index cbc8fb21..14031505 100644 --- a/commands/menu/index.md +++ b/commands/menu/index.md @@ -4,7 +4,7 @@ title: 'wp menu' display_global_parameters: true --- -`wp menu` - List, create, assign, and delete menus +`wp menu` - List, create, assign, and delete menus. Quick links: Github issues @@ -13,16 +13,25 @@ display_global_parameters: true ### EXAMPLES # Create a new menu - wp menu create "My Menu" + $ wp menu create "My Menu" + Success: Created menu 200. # List existing menus - wp menu list + $ wp menu list + +---------+----------+----------+-----------+-------+ + | term_id | name | slug | locations | count | + +---------+----------+----------+-----------+-------+ + | 200 | My Menu | my-menu | | 0 | + | 177 | Top Menu | top-menu | primary | 7 | + +---------+----------+----------+-----------+-------+ # Create a new menu link item - wp menu item add-custom sidebar-menu Apple http://apple.com --porcelain + $ wp menu item add-custom my-menu Apple http://apple.com --porcelain + 1922 - # Assign the 'primary-menu' menu to the 'primary' location - wp menu location assign primary-menu primary + # Assign the 'my-menu' menu to the 'primary' location + $ wp menu location assign my-menu primary + Success: Assigned location to menu. @@ -38,15 +47,15 @@ display_global_parameters: true
    - + - + - + diff --git a/commands/menu/item/add-custom/index.md b/commands/menu/item/add-custom/index.md index 768597f1..0bdd8772 100644 --- a/commands/menu/item/add-custom/index.md +++ b/commands/menu/item/add-custom/index.md @@ -4,7 +4,7 @@ title: 'wp menu item add-custom' display_global_parameters: true --- -`wp menu item add-custom` - Add a custom menu item +`wp menu item add-custom` - Add a custom menu item. Quick links: Github issues @@ -13,38 +13,39 @@ display_global_parameters: true ### OPTIONS <menu> -: The name, slug, or term ID for the menu +: The name, slug, or term ID for the menu. <title> -: Title for the link +: Title for the link. <link> -: Target URL for the link +: Target URL for the link. [\--description=<description>] -: Set a custom description for the menu item +: Set a custom description for the menu item. [\--attr-title=<attr-title>] -: Set a custom title attribute for the menu item +: Set a custom title attribute for the menu item. [\--target=<target>] -: Set a custom link target for the menu item +: Set a custom link target for the menu item. [\--classes=<classes>] -: Set a custom link classes for the menu item +: Set a custom link classes for the menu item. [\--position=<position>] : Specify the position of this menu item. [\--parent-id=<parent-id>] -: Make this menu item a child of another menu item +: Make this menu item a child of another menu item. [\--porcelain] : Output just the new menu item id. ### EXAMPLES - wp menu item add-custom sidebar-menu Apple http://apple.com --porcelain + $ wp menu item add-custom sidebar-menu Apple http://apple.com + Success: Menu item added. diff --git a/commands/menu/item/add-post/index.md b/commands/menu/item/add-post/index.md index 8fd30ce7..6f186439 100644 --- a/commands/menu/item/add-post/index.md +++ b/commands/menu/item/add-post/index.md @@ -4,7 +4,7 @@ title: 'wp menu item add-post' display_global_parameters: true --- -`wp menu item add-post` - Add a post as a menu item +`wp menu item add-post` - Add a post as a menu item. Quick links: Github issues @@ -13,41 +13,42 @@ display_global_parameters: true ### OPTIONS <menu> -: The name, slug, or term ID for the menu +: The name, slug, or term ID for the menu. <post-id> -: Post ID to add to the menu +: Post ID to add to the menu. [\--title=<title>] -: Set a custom title for the menu item +: Set a custom title for the menu item. [\--link=<link>] -: Set a custom url for the menu item +: Set a custom url for the menu item. [\--description=<description>] -: Set a custom description for the menu item +: Set a custom description for the menu item. [\--attr-title=<attr-title>] -: Set a custom title attribute for the menu item +: Set a custom title attribute for the menu item. [\--target=<target>] -: Set a custom link target for the menu item +: Set a custom link target for the menu item. [\--classes=<classes>] -: Set a custom link classes for the menu item +: Set a custom link classes for the menu item. [\--position=<position>] : Specify the position of this menu item. [\--parent-id=<parent-id>] -: Make this menu item a child of another menu item +: Make this menu item a child of another menu item. [\--porcelain] : Output just the new menu item id. ### EXAMPLES - wp menu item add-post sidebar-menu 33 --title="Custom Test Post" + $ wp menu item add-post sidebar-menu 33 --title="Custom Test Post" + Success: Menu item added. diff --git a/commands/menu/item/add-term/index.md b/commands/menu/item/add-term/index.md index 3d8efd95..1db91635 100644 --- a/commands/menu/item/add-term/index.md +++ b/commands/menu/item/add-term/index.md @@ -4,7 +4,7 @@ title: 'wp menu item add-term' display_global_parameters: true --- -`wp menu item add-term` - Add a taxonomy term as a menu item +`wp menu item add-term` - Add a taxonomy term as a menu item. Quick links: Github issues @@ -13,44 +13,45 @@ display_global_parameters: true ### OPTIONS <menu> -: The name, slug, or term ID for the menu +: The name, slug, or term ID for the menu. <taxonomy> -: Taxonomy of the term to be added +: Taxonomy of the term to be added. <term-id> -: Term ID of the term to be added +: Term ID of the term to be added. [\--title=<title>] -: Set a custom title for the menu item +: Set a custom title for the menu item. [\--link=<link>] -: Set a custom url for the menu item +: Set a custom url for the menu item. [\--description=<description>] -: Set a custom description for the menu item +: Set a custom description for the menu item. [\--attr-title=<attr-title>] -: Set a custom title attribute for the menu item +: Set a custom title attribute for the menu item. [\--target=<target>] -: Set a custom link target for the menu item +: Set a custom link target for the menu item. [\--classes=<classes>] -: Set a custom link classes for the menu item +: Set a custom link classes for the menu item. [\--position=<position>] : Specify the position of this menu item. [\--parent-id=<parent-id>] -: Make this menu item a child of another menu item +: Make this menu item a child of another menu item. [\--porcelain] : Output just the new menu item id. ### EXAMPLES - wp menu item add-term sidebar-menu post_tag 24 + $ wp menu item add-term sidebar-menu post_tag 24 + Success: Menu item added. diff --git a/commands/menu/item/delete/index.md b/commands/menu/item/delete/index.md index 33af9976..0d551724 100644 --- a/commands/menu/item/delete/index.md +++ b/commands/menu/item/delete/index.md @@ -4,7 +4,7 @@ title: 'wp menu item delete' display_global_parameters: true --- -`wp menu item delete` - Delete one or more items from a menu +`wp menu item delete` - Delete one or more items from a menu. Quick links: Github issues @@ -17,7 +17,8 @@ display_global_parameters: true ### EXAMPLES - wp menu item delete 45 + $ wp menu item delete 45 + Success: Menu item(s) deleted. diff --git a/commands/menu/item/index.md b/commands/menu/item/index.md index 710dc41e..80af7113 100644 --- a/commands/menu/item/index.md +++ b/commands/menu/item/index.md @@ -4,7 +4,7 @@ title: 'wp menu item' display_global_parameters: true --- -`wp menu item` - List, add, and delete items associated with a menu +`wp menu item` - List, add, and delete items associated with a menu. Quick links: Github issues @@ -13,10 +13,16 @@ display_global_parameters: true ### EXAMPLES # Add an existing post to an existing menu - wp menu item add-post sidebar-menu 33 --title="Custom Test Post" + $ wp menu item add-post sidebar-menu 33 --title="Custom Test Post" + Success: Menu item added. # Create a new menu link item - wp menu item add-custom sidebar-menu Apple http://apple.com --porcelain + $ wp menu item add-custom sidebar-menu Apple http://apple.com + Success: Menu item added. + + # Delete menu item + $ wp menu item delete 45 + Success: Menu item(s) deleted. @@ -34,27 +40,27 @@ display_global_parameters: true - + - + - + - + - + - +
    @@ -71,7 +71,7 @@ This project is made possible thanks to the backing of many generous organizatio ### Gold - +
    @@ -86,7 +86,7 @@ This project is made possible thanks to the backing of many generous organizatio
    - +
    @@ -103,7 +103,7 @@ This project is made possible thanks to the backing of many generous organizatio ### Silver -
    +
    From d7aa731014591e9e4dd278d56c2c55cca4bd6606 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 19 Jan 2016 06:35:21 -0800 Subject: [PATCH 463/839] Bump minimum supported WP version See http://wp-cli.org/blog/version-0.22.0.html --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index 4703eb4f..dffc4cf4 100644 --- a/index.md +++ b/index.md @@ -19,7 +19,7 @@ title: Command line interface for WordPress * UNIX-like environment (OS X, Linux, FreeBSD, Cygwin); limited support in Windows environment * PHP 5.3.2 or later -* WordPress 3.5.2 or later +* WordPress 3.7 or later

    Installing (And Upgrading)

    From 9a03d83f0b0cfe167a8927cf199f4113cb5bd7f3 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 3 Feb 2016 05:04:44 -0800 Subject: [PATCH 464/839] Add IPTC data to the test image --- behat-data/codeispoetry.png | Bin 506 -> 15991 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/behat-data/codeispoetry.png b/behat-data/codeispoetry.png index c32981a349317c3e3773b4848f72c2adc5e0662f..8d2f33f62ea1942e21f231fd6ea039d3b6cd798a 100644 GIT binary patch literal 15991 zcmeI3cUTkI7Qn~HzW4U2yYCYl_86>4GAV>Ih6oarAQ8kMU>`CAj3k+u86aT8-W&Gb zEB3Ca*n7u{U95;*v9EiRP{I}Fd;7lqbMirwbI(2J-1|G{+{{0BY((ddzg4YY6+w{S zG$HCp@HrCvSNqikyvOg~zY=`>#~c#NfU%mk|0>Ab`ECf}7e(n}*cfdXrl*Z!oS@@K zvDIh>vk^qu&T7W>NhB+XBNHf-zwlLdj!-}m{=#U5R-!crk%?4Dx`phT-dU$lPtyAl z!gi{vN-G8&7)cfvSd9h~gIWEBcE1?-ZW~600{av;$zK>~3n+-uMhJpv3n@^Dy+wM7 z)Jx#wCzdL_ef)ep1u`I`5?@p%5lQ?og&dQ}1jR3*sw()Vv=H%Fq`E_KI3W286Is@b zp=fGqsyJ0HrY#Am)X&ckmB>(;Oax|#m^2fMTSX?u-QlFfkD6rk7Rt<0v`Jv|i^tK) ztiMob3sm|l-j~r_8py;HvjY@SD{e-mVhLK25uq=&F(+FL_N5Velr)e=(!?^rPFkUz zIgw^*CXucrWU0E+z#u1DZE5TZ*K0IZ7@A>&QviZuq!n5+x->J1Mv@GjY|)d!DPSw^ z744p-;>(g#&XY}3>DoyvRf(BR<1n+Af+IspuvaX|LgFlK(b2R)<*2fV5`==FAbV8_ zT4`}TWwLQ?twdp?vW%DcBh@%dsz605L=ve;>ZOx-VG0>0k&7h0m_*{_#4!`{p`{5b zKCQ%uw@4xrN#r_-0t0U3z-5^ar zw@e*E;)H=Rk*XkIDbO&22%2OqY0e%>r#LyVw;84}F)VJumm$Yc;J;wjCA4u8F_s+R6MU*Wnfl z9P_xrX^w66e>Fq}Zhi_CLNTB@)1VaF^4^u~Uw+i7plo_GZed8$m8PX z18I3&5D;#W$HmPD((UlwxVZU1S{@e!gj?isar1$+JT3?bx5(q-<^ySYTo4d$k;lc&2h#Gm zARyc#kBgfRq~&ozK)6L77dIbB%j1H8aEm-HZa$Ef#{~i57I|FUd>}243j)F|a^k95 zc2|-#feVtU;3ni&^|Q0!7NtNR5~)Ry^yUbXF&sfY{{WxQ5F}ZGAO(F91e=W@b?MAL zM>`;h3lb5g3;yxrM|^zz)~#D_+_>@K!-okICKMJHE?&HN`0(LJj~<;lbEesBUbAM+ zg9i`x?%kV~mUjO9`5HB9xVpO5tXZ>Gty;Bf*RE5iPTjh7-Q3*j)vH&(e*Fdw8Z>O! zuu-E%jT<*^(xeI4X49rkg+igbyL+={&6+oF-l9c|mMvShYSpTB>((9~9&OsR@$~c* zi9}+t7)4QVmqIF)%49ORT<+!NrBEomy}_j=A75WzaHkT(u(oa6DwRrqe}9!q)vjH; zfPjF&z`*wH+Xn>&snzP>;NT7&I&|#VF(f2JqtS$hhIZ=IDJ(2ZtJQYy+&MfvJR%~Z zOP4N@k&#`ycGc;0QBhIdx^;_=j*f|miH(iz-o1N|9zA;Y?AfbVuim|T_vzE8Z{NN+ zj)MzSdcB??2$CcLu7rey#Kc63qWbmgmz0!bFc^$Rqse5VX&T__-@m`bVqqADW!dE9 z
    Ya5L0uwE}wS>FEOo3>Y|Y;GjW+1`i%QWXO<=jEtc}hYlMy3;-W7V#LUiBS(!I zHG1^uF=NJz9Xod1xN+mhj|WMaIC0{nNs}f|o;+pBl&MpvW@ctin>KCw^yxEZ%m6u> zHEY)F*|X=&nKO6p+)N$zv$C?*ty{N#{rU|XHf-Fuanq(vn>TOXvSkY>iEZ1qZQs6q$BrF4 zckbM^YuE1GyZ7wblbxLnDq-Kgef#(C&&kO-aNxkfg9i^CI&}E(;UhRXyK7IPknKNh4o;`Q&94MX(7cN}9c=6JuOS!qZmoHzwa^=d^t5>gG zyLSEhbx?tMd3iT)-n@0|*6rK3@7%d__wL<$_wL=le;<@zet!PLhYue;di415<0ns^ zJbn7~*|TQ_1qIKaKL-{2;>C-XFJHcT_3HKO*KgjudHeS5yLa#2zkd%(x~Qn=(-T16K+HoR`)tiibjPd^-ddU27seW$P=v7wL7cmLFFch4;M{M?cE^Rjco z`}*9P_a=SMiRhd8&B&I=_x`&OTW>7t!tM?kcqX_?L2A>WtH#g7t^r>PPt;%7!;)Fp zzhh>t)%(u6cr0H(f9tU7z8hZ@y58N@c3Ioiw{;PuIkc$B$qzXp$)m|T9~#z>Ru6C& z3cH1ScAW6bl4vSRMX8Aa`7bAo$zQp2$FHQi)6R!KV*0osuIH*ZF3KAnX1f}$3GS@k J(7x}mKLJDcUw8lj delta 430 zcmV;f0a5< zz*RfYtMf8tKvQ}Vltf~^9Bg!n6j`aMsy7=@7(-e~a*e++askRCZ_NyUFhwb~10nfV zSoBEL9CI2r={>_nH)v03ee1 zqIs2049gWLjT9Pz&lHU+D|QO^hmhijw=BWtFpDU9v1NwU}JB6?G#WZx;kmFo5q zx0(+|wR)y7PB!vKN*RBDJ_}tgrF*`S_MJkYT&wOAxcOu}XNq_i3@N46eEG~+&&ikN z%EU88K>tjU-m&aA;yM|s8op9+r}%+dBssp3;4yP8WE|03j7CRVSanOS=QY_A%CIcWhfzEkNlSTl0M*si- From 02f30521dfa2b453aeb795344b8908095da793f2 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 3 Feb 2016 05:14:32 -0800 Subject: [PATCH 465/839] Add a new image for testing media import --- behat-data/canola.jpg | Bin 0 -> 141898 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 behat-data/canola.jpg diff --git a/behat-data/canola.jpg b/behat-data/canola.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a5651d8012cd64fecfadefb275f18d2dbd92ed52 GIT binary patch literal 141898 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 literal 0 HcmV?d00001 From e02a4f5ad29f2e6bfea2d0eed53b9e8b7b23b752 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 4 Feb 2016 06:46:35 -0800 Subject: [PATCH 466/839] Initial commit of update post --- _posts/2016-02-04-restful-wp-cli-update-2.md | 144 +++++++++++++++++++ restful/index.md | 17 +-- 2 files changed, 153 insertions(+), 8 deletions(-) create mode 100644 _posts/2016-02-04-restful-wp-cli-update-2.md diff --git a/_posts/2016-02-04-restful-wp-cli-update-2.md b/_posts/2016-02-04-restful-wp-cli-update-2.md new file mode 100644 index 00000000..d6130cfa --- /dev/null +++ b/_posts/2016-02-04-restful-wp-cli-update-2.md @@ -0,0 +1,144 @@ +--- +layout: post +author: danielbachhuber +title: RESTful WP-CLI - No rest for the weary +--- + +Like my title? Get the pun? Te he he. + +I'm just back from [A Day of REST](https://feelingrestful.com/), where I spoke about a more RESTful WP-CLI, and unlocking the potential of the WP REST API at the command line. It was probably the best talk I've ever done. You can [check out my annotated slides](http://blog.handbuilt.co/2016/01/28/feelingrestful-a-more-restful-wp-cli/) if you haven't already. + +The talk covered the progress I've already made, and the hypotheticals on my mind every day when I go for a swim. + +### wp-rest-cli v0.1.0 + +Today marks v0.1.0 for [wp-rest-cli](https://github.com/danielbachhuber/wp-rest-cli). This initial release makes WP REST API endpoints available as WP-CLI commands. It does so by: + +* Auto-discovering endpoints from any WordPress site running WordPress 4.4 or higher. +* Registering WP-CLI commands for the endpoints it understands. + +For example: + + $ wp rest + usage: wp rest attachment + or: wp rest category + or: wp rest comment + or: wp rest meta + or: wp rest page + or: wp rest pages-revision + or: wp rest post + or: wp rest posts-revision + or: wp rest status + or: wp rest tag + or: wp rest taxonomy + or: wp rest type + or: wp rest user + + $ wp --http=demo.wp-api.org rest tag get 65 --format=json + { + "id": 65, + "link": "http://demo.wp-api.org/tag/dolor-in-sunt-placeat-molestiae-ipsam/", + "name": "Dolor in sunt placeat molestiae ipsam", + "slug": "dolor-in-sunt-placeat-molestiae-ipsam", + "taxonomy": "post_tag" + } + +Notice how you can use `--http=` to interact with a remote WordPress site. `--http=` must be supplied as the second argument to be used. Without it, wp-rest-cli will look for endpoints of a WordPress site in a directory specified by `--path=` (or the current directory, if `--path= 'List callbacks registered to a given action or filter.', + 'synopsis' => array( + array( + 'name' => 'hook', + 'type' => 'positional', + 'description' => 'The key for the action or filter.', + ), + array( + 'name' => 'format', + 'type' => 'assoc', + 'description' => 'List callbacks as a table, JSON, or CSV. Default: table.', + 'optional' => true, + ), + ), + ) ); + +Then, when you run `wp hook init`, you'll see: + + $ wp hook init + +---------------------------------+----------+---------------+ + | function | priority | accepted_args | + +---------------------------------+----------+---------------+ + | create_initial_post_types | 0 | 1 | + | create_initial_taxonomies | 0 | 1 | + | wp_widgets_init | 1 | 1 | + | smilies_init | 5 | 1 | + | wp_cron | 10 | 1 | + | _show_post_preview | 10 | 1 | + | rest_api_init | 10 | 1 | + | kses_init | 10 | 1 | + | wp_schedule_update_checks | 10 | 1 | + | ms_subdomain_constants | 10 | 1 | + | maybe_add_existing_user_to_blog | 10 | 1 | + | check_theme_switched | 99 | 1 | + +---------------------------------+----------+---------------+ + +Want to use this command locally? Update to the nightly, and then run `wp package install danielbachhuber/wp-hook-command`. + +### What's next + +Well... I've spent a ton of hours over the last month on the WP REST API. 67.03 of 83, to be precise. Given there doesn't yet seem to be an end in site, I may reallocate ~30 hours or so out of the WP-CLI budget for continued involvement with the WP REST API. But, I do need to slow down the pace of my involvement a bit, because it's not sustainable. + +On the wp-rest-cli front, the product problems at the top of my mind are authentication and aliases. Instead of: + + wp --http=demo.wp-api.org --user=daniel:daniel rest tag create + +I'd much prefer the following, where `@wpapi` is an alias for both the target and authentication: + + wp @wpapi tag create + +In this hypothetical universe, aliases would also be injected into the WP-CLI runtime: + + $ wp @wpapi + usage: wp @wpapi attachment + or: wp @wpapi category + or: wp @wpapi comment + or: wp @wpapi meta + or: wp @wpapi page + or: wp @wpapi pages-revision + or: wp @wpapi post + or: wp @wpapi posts-revision + or: wp @wpapi status + or: wp @wpapi tag + or: wp @wpapi taxonomy + or: wp @wpapi type + or: wp @wpapi user + +There's a bit of thinking to do to get from here to there, though. + +Feeling inspired? I want to hear from you! Please [open a Github issue](https://github.com/danielbachhuber/wp-rest-cli/issues) with questions, feedback, and violent dissent, or [email me directly](mailto:daniel@handbuilt.co). diff --git a/restful/index.md b/restful/index.md index 1e59a4a4..378048f5 100644 --- a/restful/index.md +++ b/restful/index.md @@ -5,11 +5,11 @@ title: A more RESTful WP-CLI ## A more RESTful WP-CLI -*Landing page last updated: 12 January, 2016* +*Landing page last updated: 4 February, 2016* WP-CLI's mission is to be, quantitatively, the *fastest* interface for developers to manage WordPress. "A more RESTful WP-CLI" is a [Kickstarter-backed](https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli/description) project to unlock the potential of the [WordPress REST API](http://v2.wp-api.org/) at the command line. This funding supports 283 hours of [Daniel Bachhuber](http://danielbachhuber.com/)'s time towards making improvements to WP-CLI and the WP REST API. -Wait a second, what does it mean to "unlock the potential of the WP REST API at the command line"? Pragmatically, it means any endpoints registered in plugins or themes will be *automagically* accessible as WP-CLI commands. For instance, if you were to register an endpoint for `GET /my-plugin/v1/product/`, this endpoint will also be accessible on the command line as (more or less) `wp @prod product get `. +Wait a second, what does it mean to "unlock the potential of the WP REST API at the command line"? Pragmatically, it means any endpoints registered in plugins or themes will be *automagically* accessible as WP-CLI commands. For instance, if you were to register an endpoint for `GET /my-plugin/v1/product/`, this endpoint will also be accessible on the command line as (more or less) `wp @prod product get `. You can check out the work to date at [danielbachhuber/wp-rest-cli](https://github.com/danielbachhuber/wp-rest-cli) However, this project is also a multi-faceted exploration of what it means for WP-CLI to be the fastest way to manage WordPress, in a world backed by the WP REST API. @@ -21,6 +21,7 @@ Quick links: [Achievements](#achievements) - [Budget](#budget) - [Supporters](#s Blog posts: +* [RESTful WP-CLI - No rest for the weary](/blog/restful-wp-cli-update-2.html) - 4 February, 2016 * [RESTful WP-CLI - The journey begins](/blog/restful-wp-cli-update-1.html) - 12 January, 2016 Releases: @@ -36,13 +37,13 @@ Here's a breakdown of how the project's 283 total hours have been used to date: | Activity | WP-CLI | WP-API | |---------------|--------------------------|-------------------------| -| Development | 3.93 | 13.29 | -| Support | 0.61 | 3.26 | -| Documentation | 0 | 0 | -| Blogging | 4.19 | 0 | -| Meetings | 0 | 2.16 | +| Development | 26.45 | 52.25 | +| Support | 3.28 | 10.39 | +| Documentation | 0.42 | 0.67 | +| Blogging | 6.30 | 0 | +| Meetings | 0 | 3.72 | | Admin | 0.77 | 0 | -| **Total** | 9.50 (of 150 budgeted) | 18.71 (of 83 budgeted) | +| **Total** | 37.22 (of 150 budgeted) | 67.03 (of 83 budgeted) | Note: time spent fulfilling the Kickstarter rewards is tracked separately. From c481b2cfc2abea63ced1417af0b6ba8d8d0bf330 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 4 Feb 2016 07:25:08 -0800 Subject: [PATCH 467/839] Link it up --- _posts/2016-02-04-restful-wp-cli-update-2.md | 4 ++-- restful/index.md | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/_posts/2016-02-04-restful-wp-cli-update-2.md b/_posts/2016-02-04-restful-wp-cli-update-2.md index d6130cfa..2814ee33 100644 --- a/_posts/2016-02-04-restful-wp-cli-update-2.md +++ b/_posts/2016-02-04-restful-wp-cli-update-2.md @@ -6,7 +6,7 @@ title: RESTful WP-CLI - No rest for the weary Like my title? Get the pun? Te he he. -I'm just back from [A Day of REST](https://feelingrestful.com/), where I spoke about a more RESTful WP-CLI, and unlocking the potential of the WP REST API at the command line. It was probably the best talk I've ever done. You can [check out my annotated slides](http://blog.handbuilt.co/2016/01/28/feelingrestful-a-more-restful-wp-cli/) if you haven't already. +I'm just back from [A Day of REST](https://feelingrestful.com/), where I spoke about [a more RESTful WP-CLI](/restful/), and unlocking the potential of the WP REST API at the command line. It was probably the best talk I've ever done. You can [check out my annotated slides](http://blog.handbuilt.co/2016/01/28/feelingrestful-a-more-restful-wp-cli/) if you haven't already. The talk covered the progress I've already made, and the hypotheticals on my mind every day when I go for a swim. @@ -141,4 +141,4 @@ In this hypothetical universe, aliases would also be injected into the WP-CLI ru There's a bit of thinking to do to get from here to there, though. -Feeling inspired? I want to hear from you! Please [open a Github issue](https://github.com/danielbachhuber/wp-rest-cli/issues) with questions, feedback, and violent dissent, or [email me directly](mailto:daniel@handbuilt.co). +Feeling inspired? I want to hear from you! Particularly if you've written custom endpoints I can test against. Please [open a Github issue](https://github.com/danielbachhuber/wp-rest-cli/issues) with questions, feedback, and violent dissent, or [email me directly](mailto:daniel@handbuilt.co). diff --git a/restful/index.md b/restful/index.md index 378048f5..652496e9 100644 --- a/restful/index.md +++ b/restful/index.md @@ -29,6 +29,10 @@ Releases: * [WP REST API Version 2.0 Beta 10 "Chief Wiggum"](https://make.wordpress.org/core/2016/01/11/wp-rest-api-version-2-0-beta-10-with-security-releases/) - 11 January, 2016 * [WP-CLI Version 0.22.0 released](/blog/version-0.22.0.html) - 7 January, 2016 +Presentations: + +* [Unlocking the potential of the WP REST API at the command line](http://blog.handbuilt.co/2016/01/28/feelingrestful-a-more-restful-wp-cli/) - A Day of REST (28 January, 2016) + *** ## Budget From 1680c7207ef7bc1872469eb8b75751d4a93a0bad Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 4 Feb 2016 07:25:15 -0800 Subject: [PATCH 468/839] Move warning higher --- _posts/2016-02-04-restful-wp-cli-update-2.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2016-02-04-restful-wp-cli-update-2.md b/_posts/2016-02-04-restful-wp-cli-update-2.md index 2814ee33..edda6bf6 100644 --- a/_posts/2016-02-04-restful-wp-cli-update-2.md +++ b/_posts/2016-02-04-restful-wp-cli-update-2.md @@ -17,6 +17,8 @@ Today marks v0.1.0 for [wp-rest-cli](https://github.com/danielbachhuber/wp-rest- * Auto-discovering endpoints from any WordPress site running WordPress 4.4 or higher. * Registering WP-CLI commands for the endpoints it understands. +**Warning:** This project is at a very early stage. Treat it as an experiment, and understand that breaking changes will be made without warning. The sky may also fall on your head. + For example: $ wp rest @@ -45,8 +47,6 @@ For example: Notice how you can use `--http=` to interact with a remote WordPress site. `--http=` must be supplied as the second argument to be used. Without it, wp-rest-cli will look for endpoints of a WordPress site in a directory specified by `--path=` (or the current directory, if `--path= Date: Thu, 4 Feb 2016 07:30:21 -0800 Subject: [PATCH 469/839] Edits --- _posts/2016-02-04-restful-wp-cli-update-2.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/_posts/2016-02-04-restful-wp-cli-update-2.md b/_posts/2016-02-04-restful-wp-cli-update-2.md index edda6bf6..3ac4c1e3 100644 --- a/_posts/2016-02-04-restful-wp-cli-update-2.md +++ b/_posts/2016-02-04-restful-wp-cli-update-2.md @@ -19,7 +19,7 @@ Today marks v0.1.0 for [wp-rest-cli](https://github.com/danielbachhuber/wp-rest- **Warning:** This project is at a very early stage. Treat it as an experiment, and understand that breaking changes will be made without warning. The sky may also fall on your head. -For example: +Here's how it works: $ wp rest usage: wp rest attachment @@ -60,9 +60,9 @@ That's right, WP-CLI now has package management. Using `wp cli update --nightly` * `wp package list` to list packages installed locally. * `wp package uninstall` to uninstall a given package. -While I wasn't *planning* to dive down this rabbit hole during the Kickstarter project, I was finally inspired on how to finish the feature, and took a couple hours yesterday to do so. It's amazing how you can be mentally blocked on something for literally two years but then, once you're unblocked, finish it up in a short period of time. +While I wasn't *planning* to dive down this rabbit hole during the Kickstarter project, I was finally inspired on how to finish the feature, and took a couple hours yesterday to do so. It's amazing how you can be mentally blocked on a problem for literally two years but then, once you're unblocked, finish it up in a short period of time. -You'll probably run into one or more bugs with `wp package`. When you do, please [weigh in on this issue](https://github.com/wp-cli/wp-cli/issues/1564). If the bugs get too hairy, I may pull the feature from the release and revisit. But, for now, you can much more easily install and use community packages. +You'll probably run into one or more bugs with `wp package`. When you do, please [let me know on this issue](https://github.com/wp-cli/wp-cli/issues/1564). If the bugs get too hairy, I may pull the feature from the release and revisit. But, for now, you can much more easily install and use community packages. wp-rest-cli also makes use of another new feature: register arbitrary functions, closures, and class methods as WP-CLI commands. @@ -112,7 +112,7 @@ Want to use this command locally? Update to the nightly, and then run `wp packag ### What's next -Well... I've spent a ton of hours over the last month on the WP REST API. 67.03 of 83, to be precise. Given there doesn't yet seem to be an end in site, I may reallocate ~30 hours or so out of the WP-CLI budget for continued involvement with the WP REST API. But, I do need to slow down the pace of my involvement a bit, because it's not sustainable. +Well... I've spent a ton of hours over the last month on the WP REST API. 67.03 hours of 83 budgeted, to be precise. Given there doesn't yet seem to be an end in site, I may reallocate ~30 hours or so out of the WP-CLI budget for continued involvement with the WP REST API. But, I do need to slow down the pace of my involvement a bit, because it's not sustainable. On the wp-rest-cli front, the product problems at the top of my mind are authentication and aliases. Instead of: From acd018556b7c20a380b94ab9190dce79cd29cc48 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 4 Feb 2016 07:33:52 -0800 Subject: [PATCH 470/839] More edits --- _posts/2016-02-04-restful-wp-cli-update-2.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/_posts/2016-02-04-restful-wp-cli-update-2.md b/_posts/2016-02-04-restful-wp-cli-update-2.md index 3ac4c1e3..d08a9845 100644 --- a/_posts/2016-02-04-restful-wp-cli-update-2.md +++ b/_posts/2016-02-04-restful-wp-cli-update-2.md @@ -112,16 +112,20 @@ Want to use this command locally? Update to the nightly, and then run `wp packag ### What's next -Well... I've spent a ton of hours over the last month on the WP REST API. 67.03 hours of 83 budgeted, to be precise. Given there doesn't yet seem to be an end in site, I may reallocate ~30 hours or so out of the WP-CLI budget for continued involvement with the WP REST API. But, I do need to slow down the pace of my involvement a bit, because it's not sustainable. +Well... I've spent a ton of hours over the last month on the WP REST API. 67.03 hours of 83 budgeted, to be precise. Given there doesn't yet seem to be an end in sight, I may reallocate ~30 hours or so out of the WP-CLI budget for continued involvement with the WP REST API. But, I do need to slow down the pace of my involvement a bit, because it's not sustainable. -On the wp-rest-cli front, the product problems at the top of my mind are authentication and aliases. Instead of: +On the wp-rest-cli front, the product problems at the top of my mind are authentication and aliases. + +Instead of: wp --http=demo.wp-api.org --user=daniel:daniel rest tag create -I'd much prefer the following, where `@wpapi` is an alias for both the target and authentication: +I'd much prefer: wp @wpapi tag create +In the example preceeding, `@wpapi` is an alias for both the target and authentication. + In this hypothetical universe, aliases would also be injected into the WP-CLI runtime: $ wp @wpapi From 7fe5abdf83a148439e3d08c52ad8d8a7118cf834 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 4 Feb 2016 07:34:43 -0800 Subject: [PATCH 471/839] Edit --- _posts/2016-02-04-restful-wp-cli-update-2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-02-04-restful-wp-cli-update-2.md b/_posts/2016-02-04-restful-wp-cli-update-2.md index d08a9845..f052b813 100644 --- a/_posts/2016-02-04-restful-wp-cli-update-2.md +++ b/_posts/2016-02-04-restful-wp-cli-update-2.md @@ -143,6 +143,6 @@ In this hypothetical universe, aliases would also be injected into the WP-CLI ru or: wp @wpapi type or: wp @wpapi user -There's a bit of thinking to do to get from here to there, though. +There's a bit of thinking to do, and code to write, to get from here to there, though. Feeling inspired? I want to hear from you! Particularly if you've written custom endpoints I can test against. Please [open a Github issue](https://github.com/danielbachhuber/wp-rest-cli/issues) with questions, feedback, and violent dissent, or [email me directly](mailto:daniel@handbuilt.co). From a7286cf38329dc650838de510092d29bfc6fa834 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 5 Feb 2016 14:11:14 -0800 Subject: [PATCH 472/839] First pass at programmatically generating PHPDocs --- Phakefile.php | 27 ++++++++- _includes/api-list.html | 39 +++++++++++++ _templates/api-list.mustache | 9 +++ command.php | 105 +++++++++++++++++++++++++++++++++++ docs/api/index.md | 10 ++++ wp-cli.yml | 2 + 6 files changed, 191 insertions(+), 1 deletion(-) create mode 100644 _includes/api-list.html create mode 100644 _templates/api-list.mustache create mode 100644 command.php create mode 100644 docs/api/index.md create mode 100644 wp-cli.yml diff --git a/Phakefile.php b/Phakefile.php index 1969c9d1..ec94843c 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -125,6 +125,31 @@ function gen_cmd_pages( $cmd, $parent = array() ) { file_put_contents( '_includes/param-list.html', $out ); }); +desc( 'Update the /docs/apis/ page.' ); +task( 'api-list', function( $app ) { + $apis = invoke_wp_cli( 'wp cli api-dump', $app ); + $out = ''; + $function_groups = array(); + foreach( $apis as $api ) { + if ( 'function' !== $api['type'] ) { + continue; + } + $group_name = substr( $api['full_name'], 0, - strlen( $api['short_name'] ) - 1 ); + if ( ! isset( $function_groups[ $group_name ] ) ) { + $function_groups[ $group_name ] = array(); + } + $function_groups[ $group_name ][] = $api; + } + + $out .= '***' . PHP_EOL . PHP_EOL; + + foreach( $function_groups as $name => $functions ) { + $out .= '## ' . $name . PHP_EOL . PHP_EOL; + $out .= render( 'api-list.mustache', array( 'apis' => $functions ) ); + } + file_put_contents( '_includes/api-list.html', $out ); +}); + desc( 'Build the site.' ); -task( 'default', 'cmd-list', 'param-list' ); +task( 'default', 'cmd-list', 'param-list', 'api-list' ); diff --git a/_includes/api-list.html b/_includes/api-list.html new file mode 100644 index 00000000..fb7aae7a --- /dev/null +++ b/_includes/api-list.html @@ -0,0 +1,39 @@ +*** + +## WP_CLI\Utils + + +### format_items + +```WP_CLI\Utils\format_items( $format, $items, $fields )``` + +Output items in a table, JSON, CSV, ids, or the total count + + +### write_csv + +```WP_CLI\Utils\write_csv( $fd, $rows, $headers = array() )``` + +Write data as CSV to a given file. + + +### get_named_sem_ver + +```WP_CLI\Utils\get_named_sem_ver( $new_version, $original_version )``` + +Compare two version strings to get the named semantic version. + + +### get_flag_value + +```WP_CLI\Utils\get_flag_value( $args, $flag, $default = array() )``` + +Return the flag value or, if it's not set, the $default value. + + +### get_temp_dir + +```WP_CLI\Utils\get_temp_dir()``` + +Get the temp directory, and let the user know if it isn't writable. + diff --git a/_templates/api-list.mustache b/_templates/api-list.mustache new file mode 100644 index 00000000..697ba002 --- /dev/null +++ b/_templates/api-list.mustache @@ -0,0 +1,9 @@ +{{#apis}} + +### {{short_name}} + +```{{signature}}``` + +{{phpdoc.description}} + +{{/apis}} diff --git a/command.php b/command.php new file mode 100644 index 00000000..cca78419 --- /dev/null +++ b/command.php @@ -0,0 +1,105 @@ +getDocComment(); + if ( false === stripos( $phpdoc, '@access public' ) ) { + continue; + } + $apis[] = get_simple_representation( $reflection ); + } + echo json_encode( $apis ); +} +\WP_CLI::add_command( 'cli api-dump', '\WP_CLI_Org\api_dump' ); + +/** + * Get a simple representation of a function or method + * + * @param Reflection + * @return array + */ +function get_simple_representation( $reflection ) { + $signature = $reflection->getName(); + $parameters = array(); + foreach( $reflection->getParameters() as $parameter ) { + $parameter_signature = '$' . $parameter->getName(); + if ( $parameter->isOptional() ) { + $default_value = $parameter->getDefaultValue(); + switch ( $default_value ) { + case array(): + $parameter_signature .= ' = array()'; + break; + case null: + $parameter_signature .= ' = null'; + break; + case true: + $parameter_signature .= ' = true'; + break; + case false: + $parameter_signature .= ' = false'; + break; + default: + $parameter_signature .= ' = ' . $default_value; + break; + } + } + $parameters[] = $parameter_signature; + } + if ( ! empty( $parameters ) ) { + $signature = $signature . '( ' . implode( ', ', $parameters ) . ' )'; + } else { + $signature = $signature . '()'; + } + $phpdoc = $reflection->getDocComment(); + return array( + 'phpdoc' => parse_docblock( $phpdoc ), + 'type' => is_a( $reflection, 'ReflectionFunction' ) ? 'function' : 'method', + 'signature' => $signature, + 'short_name' => $reflection->getShortName(), + 'full_name' => $reflection->getName(), + ); +} + +/** + * Parse PHPDoc into a structured representation + */ +function parse_docblock( $docblock ) { + $ret = array( + 'description' => '', + 'parameters' => array(), + ); + foreach( preg_split("/(\r?\n)/", $docblock ) as $line ){ + if ( preg_match('/^(?=\s+?\*[^\/])(.+)/', $line, $matches ) ) { + $info = trim( $matches[1] ); + $info = preg_replace( '/^(\*\s+?)/', '', $info ); + if ( $info[0] !== "@" ) { + $ret['description'] .= "\n$info"; + continue; + } else { + preg_match( '/@(\w+)/', $info, $matches ); + $param_name = $matches[1]; + $value = str_replace( "@$param_name ", '', $info ); + if ( ! isset( $ret['parameters'][ $param_name ] ) ) { + $ret['parameters'][ $param_name ] = array(); + } + $ret['parameters'][ $param_name ][] = preg_split( '/[\s]+/', $value, 3 ); + } + } + } + $ret['description'] = trim( $ret['description'], PHP_EOL ); + return $ret; +} diff --git a/docs/api/index.md b/docs/api/index.md new file mode 100644 index 00000000..29d13961 --- /dev/null +++ b/docs/api/index.md @@ -0,0 +1,10 @@ +--- +layout: default +title: APIs +--- + +WP-CLI includes a number of utilities which are considered stable and meant to be used by commands. + +This also means functions and methods not listed here are considered part of the private API. They may change or disappear at any time. + +{% include api-list.html %} diff --git a/wp-cli.yml b/wp-cli.yml new file mode 100644 index 00000000..2c97a7d9 --- /dev/null +++ b/wp-cli.yml @@ -0,0 +1,2 @@ +require: + - command.php From b024d2ec7ca466d360461d8b5c3c2b8fd8642fdd Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 5 Feb 2016 15:17:11 -0800 Subject: [PATCH 473/839] Include params in docs --- Phakefile.php | 24 ++++++ _includes/api-list.html | 137 +++++++++++++++++++++++++++++++++-- _templates/api-list.mustache | 14 +++- command.php | 33 ++++++++- 4 files changed, 197 insertions(+), 11 deletions(-) diff --git a/Phakefile.php b/Phakefile.php index ec94843c..bf611034 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -138,6 +138,9 @@ function gen_cmd_pages( $cmd, $parent = array() ) { if ( ! isset( $function_groups[ $group_name ] ) ) { $function_groups[ $group_name ] = array(); } + if ( isset( $api['phpdoc']['parameters']['params'] ) ) { + $api['params'] = $api['phpdoc']['parameters']['params']; + } $function_groups[ $group_name ][] = $api; } @@ -147,6 +150,27 @@ function gen_cmd_pages( $cmd, $parent = array() ) { $out .= '## ' . $name . PHP_EOL . PHP_EOL; $out .= render( 'api-list.mustache', array( 'apis' => $functions ) ); } + + $class_groups = array(); + foreach( $apis as $api ) { + if ( 'method' !== $api['type'] ) { + continue; + } + $group_name = $api['class']; + if ( ! isset( $class_groups[ $group_name ] ) ) { + $class_groups[ $group_name ] = array(); + } + if ( isset( $api['phpdoc']['parameters']['params'] ) ) { + $api['params'] = $api['phpdoc']['parameters']['params']; + } + $class_groups[ $group_name ][] = $api; + } + + foreach( $class_groups as $name => $methods ) { + $out .= '## ' . $name . PHP_EOL . PHP_EOL; + $out .= render( 'api-list.mustache', array( 'apis' => $methods ) ); + } + file_put_contents( '_includes/api-list.html', $out ); }); diff --git a/_includes/api-list.html b/_includes/api-list.html index fb7aae7a..65f3afd2 100644 --- a/_includes/api-list.html +++ b/_includes/api-list.html @@ -3,37 +3,160 @@ ## WP_CLI\Utils -### format_items - ```WP_CLI\Utils\format_items( $format, $items, $fields )``` Output items in a table, JSON, CSV, ids, or the total count +
    +$format (string) Format to use: 'table', 'json', 'csv', 'ids', 'count'
    +$items (array) Data to output
    +$fields (array|string) Named fields for each item of data. Can be array or comma-separated list
    + +
    + +*** -### write_csv ```WP_CLI\Utils\write_csv( $fd, $rows, $headers = array() )``` Write data as CSV to a given file. +
    +$fd (resource) File descriptor
    +$rows (array) Array of rows to output
    +$headers (array) List of CSV columns (optional)
    + +
    + +*** -### get_named_sem_ver ```WP_CLI\Utils\get_named_sem_ver( $new_version, $original_version )``` Compare two version strings to get the named semantic version. +
    +$new_version (string)
    +$original_version (string)
    -### get_flag_value +

    @return string 'major', 'minor', 'patch'

    +
    + +*** -```WP_CLI\Utils\get_flag_value( $args, $flag, $default = array() )``` + +```WP_CLI\Utils\get_flag_value( $assoc_args, $flag, $default = array() )``` Return the flag value or, if it's not set, the $default value. +
    +$assoc_args (array) Arguments array.
    +$flag (string) Flag to get the value.
    +$default (mixed) Default value for the flag. Default: NULL
    + +

    @return mixed

    +
    + +*** -### get_temp_dir ```WP_CLI\Utils\get_temp_dir()``` Get the temp directory, and let the user know if it isn't writable. +
    + +

    @return string

    +
    + +*** + +## WP_CLI + + +```WP_CLI::line( $message = null )``` + +Display a message in the CLI and end with a newline. +Ignores --quiet flag. To respect, use WP_CLI::log() + +
    +$message (string)
    + +
    + +*** + + +```WP_CLI::log( $message )``` + +Log an informational message. + +
    +$message (string)
    + +
    + +*** + + +```WP_CLI::success( $message )``` + +Display a success in the CLI and end with a newline. + +
    +$message (string)
    + +
    + +*** + + +```WP_CLI::debug( $message )``` + +Log information when --debug flag is used. +Helpful for optionally showing greater detail when needed. + +
    +$message (string)
    + +
    + +*** + + +```WP_CLI::warning( $message )``` + +Display a warning in the CLI and end with a newline. + +
    +$message (string)
    + +
    + +*** + + +```WP_CLI::error( $message, $exit = true )``` + +Display an error in the CLI and end with a newline. + +
    +$message (string|WP_Error)
    +$exit (bool) if true, the script will exit()
    + +
    + +*** + + +```WP_CLI::error_multi_line( $message_lines )``` + +Display an error in the CLI and end with a newline. + +
    +$message (array) each element from the array will be printed on its own line
    + +
    + +*** + diff --git a/_templates/api-list.mustache b/_templates/api-list.mustache index 697ba002..62961a02 100644 --- a/_templates/api-list.mustache +++ b/_templates/api-list.mustache @@ -1,9 +1,19 @@ {{#apis}} -### {{short_name}} - ```{{signature}}``` {{phpdoc.description}} +
    +{{#phpdoc.parameters.param}} +{{1}} ({{0}}) {{2}}
    +{{/phpdoc.parameters.param}} + +{{#phpdoc.parameters.return}} +

    @return {{0}} {{2}}

    +{{/phpdoc.parameters.return}} +
    + +*** + {{/apis}} diff --git a/command.php b/command.php index cca78419..b3447f8e 100644 --- a/command.php +++ b/command.php @@ -22,6 +22,21 @@ function api_dump() { } $apis[] = get_simple_representation( $reflection ); } + $classes = get_declared_classes(); + foreach( $classes as $class ) { + if ( false === stripos( $class, 'WP_CLI' ) ) { + continue; + } + $reflection = new \ReflectionClass( $class ); + foreach( $reflection->getMethods() as $method ) { + $method_reflection = new \ReflectionMethod( $method->class, $method->name ); + $phpdoc = $method_reflection->getDocComment(); + if ( false === stripos( $phpdoc, '@access public' ) ) { + continue; + } + $apis[] = get_simple_representation( $method_reflection ); + } + } echo json_encode( $apis ); } \WP_CLI::add_command( 'cli api-dump', '\WP_CLI_Org\api_dump' ); @@ -65,12 +80,26 @@ function get_simple_representation( $reflection ) { $signature = $signature . '()'; } $phpdoc = $reflection->getDocComment(); + $type = strtolower( str_replace( 'Reflection', '', get_class( $reflection ) ) ); + $class = ''; + switch ( $type ) { + case 'function': + $full_name = $reflection->getName(); + break; + case 'method': + $separator = $reflection->isStatic() ? '::' : '->'; + $class = $reflection->class; + $full_name = $class . $separator . $reflection->getName(); + $signature = $class . $separator . $signature; + break; + } return array( 'phpdoc' => parse_docblock( $phpdoc ), - 'type' => is_a( $reflection, 'ReflectionFunction' ) ? 'function' : 'method', + 'type' => $type, 'signature' => $signature, 'short_name' => $reflection->getShortName(), - 'full_name' => $reflection->getName(), + 'full_name' => $full_name, + 'class' => $class, ); } From 594436cc3fa66ecf6e2672c048d6c09d097e02d3 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 5 Feb 2016 15:25:42 -0800 Subject: [PATCH 474/839] Rename to `internal-api` for clarity --- Phakefile.php | 12 ++++++------ _includes/{api-list.html => internal-api-list.html} | 0 ...{api-list.mustache => internal-api-list.mustache} | 0 docs/{api => internal-api}/index.md | 0 4 files changed, 6 insertions(+), 6 deletions(-) rename _includes/{api-list.html => internal-api-list.html} (100%) rename _templates/{api-list.mustache => internal-api-list.mustache} (100%) rename docs/{api => internal-api}/index.md (100%) diff --git a/Phakefile.php b/Phakefile.php index bf611034..073a0157 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -125,8 +125,8 @@ function gen_cmd_pages( $cmd, $parent = array() ) { file_put_contents( '_includes/param-list.html', $out ); }); -desc( 'Update the /docs/apis/ page.' ); -task( 'api-list', function( $app ) { +desc( 'Update the /docs/internal-api/ page.' ); +task( 'internal-api-list', function( $app ) { $apis = invoke_wp_cli( 'wp cli api-dump', $app ); $out = ''; $function_groups = array(); @@ -148,7 +148,7 @@ function gen_cmd_pages( $cmd, $parent = array() ) { foreach( $function_groups as $name => $functions ) { $out .= '## ' . $name . PHP_EOL . PHP_EOL; - $out .= render( 'api-list.mustache', array( 'apis' => $functions ) ); + $out .= render( 'internal-api-list.mustache', array( 'apis' => $functions ) ); } $class_groups = array(); @@ -168,12 +168,12 @@ function gen_cmd_pages( $cmd, $parent = array() ) { foreach( $class_groups as $name => $methods ) { $out .= '## ' . $name . PHP_EOL . PHP_EOL; - $out .= render( 'api-list.mustache', array( 'apis' => $methods ) ); + $out .= render( 'internal-api-list.mustache', array( 'apis' => $methods ) ); } - file_put_contents( '_includes/api-list.html', $out ); + file_put_contents( '_includes/internal-api-list.html', $out ); }); desc( 'Build the site.' ); -task( 'default', 'cmd-list', 'param-list', 'api-list' ); +task( 'default', 'cmd-list', 'param-list', 'internal-api-list' ); diff --git a/_includes/api-list.html b/_includes/internal-api-list.html similarity index 100% rename from _includes/api-list.html rename to _includes/internal-api-list.html diff --git a/_templates/api-list.mustache b/_templates/internal-api-list.mustache similarity index 100% rename from _templates/api-list.mustache rename to _templates/internal-api-list.mustache diff --git a/docs/api/index.md b/docs/internal-api/index.md similarity index 100% rename from docs/api/index.md rename to docs/internal-api/index.md From 663ab6d46c67329aac052ee829cfced92c98a597 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 5 Feb 2016 15:27:25 -0800 Subject: [PATCH 475/839] Fix the website build --- docs/internal-api/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/internal-api/index.md b/docs/internal-api/index.md index 29d13961..41ad1b24 100644 --- a/docs/internal-api/index.md +++ b/docs/internal-api/index.md @@ -7,4 +7,4 @@ WP-CLI includes a number of utilities which are considered stable and meant to b This also means functions and methods not listed here are considered part of the private API. They may change or disappear at any time. -{% include api-list.html %} +{% include internal-api-list.html %} From d2ecbb3f905dc1291757ebe17f972f43ca467887 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 18 Feb 2016 11:21:46 -0800 Subject: [PATCH 476/839] Generate individual Internal API pages for each callable --- Phakefile.php | 68 ++++----- _includes/internal-api-list.html | 143 ++++-------------- _templates/internal-api-list.mustache | 16 +- _templates/internal-api.mustache | 22 +++ command.php | 11 +- docs/internal-api/index.md | 4 +- docs/internal-api/wp-cli-debug/index.md | 18 +++ .../wp-cli-error-multi-line/index.md | 17 +++ docs/internal-api/wp-cli-error/index.md | 21 +++ docs/internal-api/wp-cli-line/index.md | 19 +++ docs/internal-api/wp-cli-log/index.md | 17 +++ docs/internal-api/wp-cli-read-value/index.md | 18 +++ docs/internal-api/wp-cli-success/index.md | 17 +++ .../wp-cli-utils-format-items/index.md | 20 +++ .../wp-cli-utils-get-flag-value/index.md | 20 +++ .../wp-cli-utils-get-named-sem-ver/index.md | 19 +++ .../wp-cli-utils-get-temp-dir/index.md | 17 +++ .../wp-cli-utils-write-csv/index.md | 19 +++ docs/internal-api/wp-cli-warning/index.md | 17 +++ 19 files changed, 336 insertions(+), 167 deletions(-) create mode 100644 _templates/internal-api.mustache create mode 100644 docs/internal-api/wp-cli-debug/index.md create mode 100644 docs/internal-api/wp-cli-error-multi-line/index.md create mode 100644 docs/internal-api/wp-cli-error/index.md create mode 100644 docs/internal-api/wp-cli-line/index.md create mode 100644 docs/internal-api/wp-cli-log/index.md create mode 100644 docs/internal-api/wp-cli-read-value/index.md create mode 100644 docs/internal-api/wp-cli-success/index.md create mode 100644 docs/internal-api/wp-cli-utils-format-items/index.md create mode 100644 docs/internal-api/wp-cli-utils-get-flag-value/index.md create mode 100644 docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md create mode 100644 docs/internal-api/wp-cli-utils-get-temp-dir/index.md create mode 100644 docs/internal-api/wp-cli-utils-write-csv/index.md create mode 100644 docs/internal-api/wp-cli-warning/index.md diff --git a/Phakefile.php b/Phakefile.php index 073a0157..937a2ca3 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -128,47 +128,47 @@ function gen_cmd_pages( $cmd, $parent = array() ) { desc( 'Update the /docs/internal-api/ page.' ); task( 'internal-api-list', function( $app ) { $apis = invoke_wp_cli( 'wp cli api-dump', $app ); - $out = ''; - $function_groups = array(); + $categories = array( + 'Output' => array(), + 'Input' => array(), + 'Misc' => array(), + ); + + $prepare_api_slug = function( $full_name ) { + $replacements = array( + '()' => '', + '::' => '-', + '_' => '-', + '\\' => '-', + ); + return strtolower( str_replace( array_keys( $replacements ), array_values( $replacements ), $full_name ) ); + }; + foreach( $apis as $api ) { - if ( 'function' !== $api['type'] ) { - continue; - } - $group_name = substr( $api['full_name'], 0, - strlen( $api['short_name'] ) - 1 ); - if ( ! isset( $function_groups[ $group_name ] ) ) { - $function_groups[ $group_name ] = array(); - } - if ( isset( $api['phpdoc']['parameters']['params'] ) ) { - $api['params'] = $api['phpdoc']['parameters']['params']; - } - $function_groups[ $group_name ][] = $api; - } - $out .= '***' . PHP_EOL . PHP_EOL; + $api['api_slug'] = $prepare_api_slug( $api['full_name'] ); - foreach( $function_groups as $name => $functions ) { - $out .= '## ' . $name . PHP_EOL . PHP_EOL; - $out .= render( 'internal-api-list.mustache', array( 'apis' => $functions ) ); - } - - $class_groups = array(); - foreach( $apis as $api ) { - if ( 'method' !== $api['type'] ) { - continue; - } - $group_name = $api['class']; - if ( ! isset( $class_groups[ $group_name ] ) ) { - $class_groups[ $group_name ] = array(); - } - if ( isset( $api['phpdoc']['parameters']['params'] ) ) { - $api['params'] = $api['phpdoc']['parameters']['params']; + if ( ! empty( $api['phpdoc']['parameters']['category'][0][0] ) + && isset( $categories[ $api['phpdoc']['parameters']['category'][0][0] ] ) ) { + $categories[ $api['phpdoc']['parameters']['category'][0][0] ][] = $api; + } else { + $categories['Misc'][] = $api; } - $class_groups[ $group_name ][] = $api; } + $out = '***' . PHP_EOL . PHP_EOL; - foreach( $class_groups as $name => $methods ) { + foreach( $categories as $name => $apis ) { $out .= '## ' . $name . PHP_EOL . PHP_EOL; - $out .= render( 'internal-api-list.mustache', array( 'apis' => $methods ) ); + $out .= render( 'internal-api-list.mustache', array( 'apis' => $apis ) ); + foreach( $apis as $api ) { + $api['category'] = $name; + $api_doc = render( 'internal-api.mustache', $api ); + $path = "docs/internal-api/{$api['api_slug']}"; + if ( ! is_dir( $path ) ) { + mkdir( $path ); + } + file_put_contents( "$path/index.md", $api_doc ); + } } file_put_contents( '_includes/internal-api-list.html', $out ); diff --git a/_includes/internal-api-list.html b/_includes/internal-api-list.html index 65f3afd2..502eb649 100644 --- a/_includes/internal-api-list.html +++ b/_includes/internal-api-list.html @@ -1,162 +1,73 @@ *** -## WP_CLI\Utils +## Output -```WP_CLI\Utils\format_items( $format, $items, $fields )``` +
    WP_CLI\Utils\format_items() -Output items in a table, JSON, CSV, ids, or the total count +Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or count. -
    -$format (string) Format to use: 'table', 'json', 'csv', 'ids', 'count'
    -$items (array) Data to output
    -$fields (array|string) Named fields for each item of data. Can be array or comma-separated list
    -
    - -*** - - -```WP_CLI\Utils\write_csv( $fd, $rows, $headers = array() )``` - -Write data as CSV to a given file. - -
    -$fd (resource) File descriptor
    -$rows (array) Array of rows to output
    -$headers (array) List of CSV columns (optional)
    - -
    - -*** - - -```WP_CLI\Utils\get_named_sem_ver( $new_version, $original_version )``` - -Compare two version strings to get the named semantic version. - -
    -$new_version (string)
    -$original_version (string)
    - -

    @return string 'major', 'minor', 'patch'

    -
    - -*** - - -```WP_CLI\Utils\get_flag_value( $assoc_args, $flag, $default = array() )``` - -Return the flag value or, if it's not set, the $default value. - -
    -$assoc_args (array) Arguments array.
    -$flag (string) Flag to get the value.
    -$default (mixed) Default value for the flag. Default: NULL
    - -

    @return mixed

    -
    - -*** - - -```WP_CLI\Utils\get_temp_dir()``` - -Get the temp directory, and let the user know if it isn't writable. - -
    - -

    @return string

    -
    - -*** - -## WP_CLI - - -```WP_CLI::line( $message = null )``` +WP_CLI::line() Display a message in the CLI and end with a newline. -Ignores --quiet flag. To respect, use WP_CLI::log() -
    -$message (string)
    -
    - -*** - - -```WP_CLI::log( $message )``` +WP_CLI::log() Log an informational message. -
    -$message (string)
    -
    - -*** +WP_CLI::success() +Display a success in the CLI and end with a newline. -```WP_CLI::success( $message )``` -Display a success in the CLI and end with a newline. +WP_CLI::debug() -
    -$message (string)
    +Log information when --debug flag is used. -
    -*** +WP_CLI::error() +Displays an error message prefixed with "Error: ". -```WP_CLI::debug( $message )``` +## Input -Log information when --debug flag is used. -Helpful for optionally showing greater detail when needed. -
    -$message (string)
    +WP_CLI::read_value() -
    +Read a value, from various formats. -*** +## Misc -```WP_CLI::warning( $message )``` +WP_CLI\Utils\write_csv() -Display a warning in the CLI and end with a newline. +Write data as CSV to a given file. -
    -$message (string)
    -
    +WP_CLI\Utils\get_named_sem_ver() -*** +Compare two version strings to get the named semantic version. -```WP_CLI::error( $message, $exit = true )``` +WP_CLI\Utils\get_flag_value() -Display an error in the CLI and end with a newline. +Return the flag value or, if it's not set, the $default value. -
    -$message (string|WP_Error)
    -$exit (bool) if true, the script will exit()
    -
    +WP_CLI\Utils\get_temp_dir() -*** +Get the temp directory, and let the user know if it isn't writable. -```WP_CLI::error_multi_line( $message_lines )``` +WP_CLI::warning() -Display an error in the CLI and end with a newline. +Display a warning in the CLI and end with a newline. -
    -$message (array) each element from the array will be printed on its own line
    -
    +WP_CLI::error_multi_line() -*** +Display an error in the CLI and end with a newline. diff --git a/_templates/internal-api-list.mustache b/_templates/internal-api-list.mustache index 62961a02..c04e3c42 100644 --- a/_templates/internal-api-list.mustache +++ b/_templates/internal-api-list.mustache @@ -1,19 +1,7 @@ {{#apis}} -```{{signature}}``` +{{full_name}}() -{{phpdoc.description}} - -
    -{{#phpdoc.parameters.param}} -{{1}} ({{0}}) {{2}}
    -{{/phpdoc.parameters.param}} - -{{#phpdoc.parameters.return}} -

    @return {{0}} {{2}}

    -{{/phpdoc.parameters.return}} -
    - -*** +{{phpdoc.short_description}} {{/apis}} diff --git a/_templates/internal-api.mustache b/_templates/internal-api.mustache new file mode 100644 index 00000000..cf48a8b2 --- /dev/null +++ b/_templates/internal-api.mustache @@ -0,0 +1,22 @@ +--- +layout: default +title: {{full_name}}() +--- + +Internal API » {{category}} + +## {{full_name}}() + + {{signature}} + +{{phpdoc.description}} + +
    +{{#phpdoc.parameters.param}} +{{1}} ({{0}}) {{2}}
    +{{/phpdoc.parameters.param}} +{{#phpdoc.parameters.return}} +@return ({{0}}) {{2}}

    +{{/phpdoc.parameters.return}} +
    + diff --git a/command.php b/command.php index b3447f8e..2ad58618 100644 --- a/command.php +++ b/command.php @@ -58,6 +58,9 @@ function get_simple_representation( $reflection ) { case array(): $parameter_signature .= ' = array()'; break; + case '': + $parameter_signature .= " = ''"; + break; case null: $parameter_signature .= ' = null'; break; @@ -111,13 +114,13 @@ function parse_docblock( $docblock ) { 'description' => '', 'parameters' => array(), ); + $extra_line = ''; foreach( preg_split("/(\r?\n)/", $docblock ) as $line ){ if ( preg_match('/^(?=\s+?\*[^\/])(.+)/', $line, $matches ) ) { $info = trim( $matches[1] ); $info = preg_replace( '/^(\*\s+?)/', '', $info ); if ( $info[0] !== "@" ) { - $ret['description'] .= "\n$info"; - continue; + $ret['description'] .= PHP_EOL . "{$extra_line}{$info}"; } else { preg_match( '/@(\w+)/', $info, $matches ); $param_name = $matches[1]; @@ -127,8 +130,12 @@ function parse_docblock( $docblock ) { } $ret['parameters'][ $param_name ][] = preg_split( '/[\s]+/', $value, 3 ); } + $extra_line = ''; + } else { + $extra_line .= PHP_EOL; } } $ret['description'] = trim( $ret['description'], PHP_EOL ); + $ret['short_description'] = explode( PHP_EOL, $ret['description'] )[0]; return $ret; } diff --git a/docs/internal-api/index.md b/docs/internal-api/index.md index 41ad1b24..b994c0f7 100644 --- a/docs/internal-api/index.md +++ b/docs/internal-api/index.md @@ -1,8 +1,10 @@ --- layout: default -title: APIs +title: Internal API --- +## Internal API + WP-CLI includes a number of utilities which are considered stable and meant to be used by commands. This also means functions and methods not listed here are considered part of the private API. They may change or disappear at any time. diff --git a/docs/internal-api/wp-cli-debug/index.md b/docs/internal-api/wp-cli-debug/index.md new file mode 100644 index 00000000..84056b96 --- /dev/null +++ b/docs/internal-api/wp-cli-debug/index.md @@ -0,0 +1,18 @@ +--- +layout: default +title: WP_CLI::debug() +--- + +Internal API » Output + +## WP_CLI::debug() + + WP_CLI::debug( $message ) + +Log information when --debug flag is used. +Helpful for optionally showing greater detail when needed. + +
    +$message (string)
    +
    + diff --git a/docs/internal-api/wp-cli-error-multi-line/index.md b/docs/internal-api/wp-cli-error-multi-line/index.md new file mode 100644 index 00000000..7c696a5d --- /dev/null +++ b/docs/internal-api/wp-cli-error-multi-line/index.md @@ -0,0 +1,17 @@ +--- +layout: default +title: WP_CLI::error_multi_line() +--- + +Internal API » Misc + +## WP_CLI::error_multi_line() + + WP_CLI::error_multi_line( $message_lines ) + +Display an error in the CLI and end with a newline. + +
    +$message (array) each element from the array will be printed on its own line
    +
    + diff --git a/docs/internal-api/wp-cli-error/index.md b/docs/internal-api/wp-cli-error/index.md new file mode 100644 index 00000000..aa6b55a4 --- /dev/null +++ b/docs/internal-api/wp-cli-error/index.md @@ -0,0 +1,21 @@ +--- +layout: default +title: WP_CLI::error() +--- + +Internal API » Output + +## WP_CLI::error() + + WP_CLI::error( $message, $exit = true ) + +Displays an error message prefixed with "Error: ". + +Error message is written to STDERR. Defaults to halting +script execution with return code 1. + +
    +$message (string|WP_Error) Message to write to STDERR.
    +$exit (boolean|integer) True defaults to exit(1).
    +
    + diff --git a/docs/internal-api/wp-cli-line/index.md b/docs/internal-api/wp-cli-line/index.md new file mode 100644 index 00000000..c027a582 --- /dev/null +++ b/docs/internal-api/wp-cli-line/index.md @@ -0,0 +1,19 @@ +--- +layout: default +title: WP_CLI::line() +--- + +Internal API » Output + +## WP_CLI::line() + + WP_CLI::line( $message = '' ) + +Display a message in the CLI and end with a newline. +Ignores `--quiet` flag. To respect, use `WP_CLI::log()` + +
    +$message (string) Message to display to the end user.
    +@return (null)

    +
    + diff --git a/docs/internal-api/wp-cli-log/index.md b/docs/internal-api/wp-cli-log/index.md new file mode 100644 index 00000000..d053b1ea --- /dev/null +++ b/docs/internal-api/wp-cli-log/index.md @@ -0,0 +1,17 @@ +--- +layout: default +title: WP_CLI::log() +--- + +Internal API » Output + +## WP_CLI::log() + + WP_CLI::log( $message ) + +Log an informational message. + +
    +$message (string)
    +
    + diff --git a/docs/internal-api/wp-cli-read-value/index.md b/docs/internal-api/wp-cli-read-value/index.md new file mode 100644 index 00000000..07518aa2 --- /dev/null +++ b/docs/internal-api/wp-cli-read-value/index.md @@ -0,0 +1,18 @@ +--- +layout: default +title: WP_CLI::read_value() +--- + +Internal API » Input + +## WP_CLI::read_value() + + WP_CLI::read_value( $raw_value, $assoc_args = array() ) + +Read a value, from various formats. + +
    +$value (mixed)
    +$assoc_args (array)
    +
    + diff --git a/docs/internal-api/wp-cli-success/index.md b/docs/internal-api/wp-cli-success/index.md new file mode 100644 index 00000000..709a981a --- /dev/null +++ b/docs/internal-api/wp-cli-success/index.md @@ -0,0 +1,17 @@ +--- +layout: default +title: WP_CLI::success() +--- + +Internal API » Output + +## WP_CLI::success() + + WP_CLI::success( $message ) + +Display a success in the CLI and end with a newline. + +
    +$message (string)
    +
    + diff --git a/docs/internal-api/wp-cli-utils-format-items/index.md b/docs/internal-api/wp-cli-utils-format-items/index.md new file mode 100644 index 00000000..186daaf4 --- /dev/null +++ b/docs/internal-api/wp-cli-utils-format-items/index.md @@ -0,0 +1,20 @@ +--- +layout: default +title: WP_CLI\Utils\format_items() +--- + +Internal API » Output + +## WP_CLI\Utils\format_items() + + WP_CLI\Utils\format_items( $format, $items, $fields ) + +Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or count. + +
    +$format (string) Format to use: 'table', 'json', 'csv', 'yaml', 'ids', 'count'
    +$items (array) Data to output
    +$fields (array|string) Named fields for each item of data. Can be array or comma-separated list
    +@return (null)

    +
    + diff --git a/docs/internal-api/wp-cli-utils-get-flag-value/index.md b/docs/internal-api/wp-cli-utils-get-flag-value/index.md new file mode 100644 index 00000000..be9f8a14 --- /dev/null +++ b/docs/internal-api/wp-cli-utils-get-flag-value/index.md @@ -0,0 +1,20 @@ +--- +layout: default +title: WP_CLI\Utils\get_flag_value() +--- + +Internal API » Misc + +## WP_CLI\Utils\get_flag_value() + + WP_CLI\Utils\get_flag_value( $assoc_args, $flag, $default = array() ) + +Return the flag value or, if it's not set, the $default value. + +
    +$assoc_args (array) Arguments array.
    +$flag (string) Flag to get the value.
    +$default (mixed) Default value for the flag. Default: NULL
    +@return (mixed)

    +
    + diff --git a/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md b/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md new file mode 100644 index 00000000..d070b045 --- /dev/null +++ b/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md @@ -0,0 +1,19 @@ +--- +layout: default +title: WP_CLI\Utils\get_named_sem_ver() +--- + +Internal API » Misc + +## WP_CLI\Utils\get_named_sem_ver() + + WP_CLI\Utils\get_named_sem_ver( $new_version, $original_version ) + +Compare two version strings to get the named semantic version. + +
    +$new_version (string)
    +$original_version (string)
    +@return (string) 'major', 'minor', 'patch'

    +
    + diff --git a/docs/internal-api/wp-cli-utils-get-temp-dir/index.md b/docs/internal-api/wp-cli-utils-get-temp-dir/index.md new file mode 100644 index 00000000..a3fafbf8 --- /dev/null +++ b/docs/internal-api/wp-cli-utils-get-temp-dir/index.md @@ -0,0 +1,17 @@ +--- +layout: default +title: WP_CLI\Utils\get_temp_dir() +--- + +Internal API » Misc + +## WP_CLI\Utils\get_temp_dir() + + WP_CLI\Utils\get_temp_dir() + +Get the temp directory, and let the user know if it isn't writable. + +
    +@return (string)

    +
    + diff --git a/docs/internal-api/wp-cli-utils-write-csv/index.md b/docs/internal-api/wp-cli-utils-write-csv/index.md new file mode 100644 index 00000000..8e4543a3 --- /dev/null +++ b/docs/internal-api/wp-cli-utils-write-csv/index.md @@ -0,0 +1,19 @@ +--- +layout: default +title: WP_CLI\Utils\write_csv() +--- + +Internal API » Misc + +## WP_CLI\Utils\write_csv() + + WP_CLI\Utils\write_csv( $fd, $rows, $headers = array() ) + +Write data as CSV to a given file. + +
    +$fd (resource) File descriptor
    +$rows (array) Array of rows to output
    +$headers (array) List of CSV columns (optional)
    +
    + diff --git a/docs/internal-api/wp-cli-warning/index.md b/docs/internal-api/wp-cli-warning/index.md new file mode 100644 index 00000000..ad8a8e56 --- /dev/null +++ b/docs/internal-api/wp-cli-warning/index.md @@ -0,0 +1,17 @@ +--- +layout: default +title: WP_CLI::warning() +--- + +Internal API » Misc + +## WP_CLI::warning() + + WP_CLI::warning( $message ) + +Display a warning in the CLI and end with a newline. + +
    +$message (string)
    +
    + From f2c3a246a9a4fd0b53a5c5fd0833234d1e70764f Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 18 Feb 2016 11:43:23 -0800 Subject: [PATCH 477/839] Handle code blocks in PHPDoc --- Phakefile.php | 7 +++++++ docs/internal-api/wp-cli-error/index.md | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/Phakefile.php b/Phakefile.php index 937a2ca3..63cb4b33 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -144,9 +144,16 @@ function gen_cmd_pages( $cmd, $parent = array() ) { return strtolower( str_replace( array_keys( $replacements ), array_values( $replacements ), $full_name ) ); }; + $prepare_code_block = function( $description ) { + return preg_replace_callback( '#```(.+)```#s', function( $matches ) { + return str_replace( PHP_EOL, PHP_EOL . ' ', $matches[1] ); + }, $description ); + }; + foreach( $apis as $api ) { $api['api_slug'] = $prepare_api_slug( $api['full_name'] ); + $api['phpdoc']['description'] = $prepare_code_block( $api['phpdoc']['description'] ); if ( ! empty( $api['phpdoc']['parameters']['category'][0][0] ) && isset( $categories[ $api['phpdoc']['parameters']['category'][0][0] ] ) ) { diff --git a/docs/internal-api/wp-cli-error/index.md b/docs/internal-api/wp-cli-error/index.md index aa6b55a4..d5af29bc 100644 --- a/docs/internal-api/wp-cli-error/index.md +++ b/docs/internal-api/wp-cli-error/index.md @@ -14,8 +14,13 @@ Displays an error message prefixed with "Error: ". Error message is written to STDERR. Defaults to halting script execution with return code 1. + + WP_CLI::error( 'The object cache could not be flushed.' ); + +
    $message (string|WP_Error) Message to write to STDERR.
    $exit (boolean|integer) True defaults to exit(1).
    +@return (null)

    From f8b0600441bf9d0a7fd35a1abdc7e547b25eaedb Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 18 Feb 2016 12:02:38 -0800 Subject: [PATCH 478/839] Split short and long PHPdoc desc --- Phakefile.php | 2 +- _templates/internal-api.mustache | 10 +++++----- command.php | 5 ++++- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/Phakefile.php b/Phakefile.php index 63cb4b33..1ef7f0eb 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -153,7 +153,7 @@ function gen_cmd_pages( $cmd, $parent = array() ) { foreach( $apis as $api ) { $api['api_slug'] = $prepare_api_slug( $api['full_name'] ); - $api['phpdoc']['description'] = $prepare_code_block( $api['phpdoc']['description'] ); + $api['phpdoc']['long_description'] = $prepare_code_block( $api['phpdoc']['long_description'] ); if ( ! empty( $api['phpdoc']['parameters']['category'][0][0] ) && isset( $categories[ $api['phpdoc']['parameters']['category'][0][0] ] ) ) { diff --git a/_templates/internal-api.mustache b/_templates/internal-api.mustache index cf48a8b2..ed71e9ea 100644 --- a/_templates/internal-api.mustache +++ b/_templates/internal-api.mustache @@ -3,20 +3,20 @@ layout: default title: {{full_name}}() --- -Internal API » {{category}} +Internal API » {{category}} » {{full_name}}() -## {{full_name}}() +{{phpdoc.short_description}} {{signature}} -{{phpdoc.description}} -
    {{#phpdoc.parameters.param}} {{1}} ({{0}}) {{2}}
    {{/phpdoc.parameters.param}} {{#phpdoc.parameters.return}} -@return ({{0}}) {{2}}

    +@return ({{0}}) {{2}}

    {{/phpdoc.parameters.return}}
    +{{phpdoc.long_description}} + diff --git a/command.php b/command.php index 2ad58618..d6a5b8c3 100644 --- a/command.php +++ b/command.php @@ -136,6 +136,9 @@ function parse_docblock( $docblock ) { } } $ret['description'] = trim( $ret['description'], PHP_EOL ); - $ret['short_description'] = explode( PHP_EOL, $ret['description'] )[0]; + $bits = explode( PHP_EOL, $ret['description'] ); + $ret['short_description'] = array_shift( $bits ); + $long_description = trim( implode( PHP_EOL, $bits ), PHP_EOL ); + $ret['long_description'] = $long_description; return $ret; } From adea794f1bf127b3869260693ef8ba9e00a969b8 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 18 Feb 2016 12:23:25 -0800 Subject: [PATCH 479/839] Include "Execution" group --- Phakefile.php | 1 + 1 file changed, 1 insertion(+) diff --git a/Phakefile.php b/Phakefile.php index 1ef7f0eb..4b781708 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -131,6 +131,7 @@ function gen_cmd_pages( $cmd, $parent = array() ) { $categories = array( 'Output' => array(), 'Input' => array(), + 'Execution' => array(), 'Misc' => array(), ); From e22248f6a5ab059e6a81d7a8a8b43c95e2e7adcf Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 18 Feb 2016 12:23:51 -0800 Subject: [PATCH 480/839] Regen docs according to format --- _includes/internal-api-list.html | 21 ++++++++++++------ _templates/internal-api.mustache | 8 ++++--- docs/internal-api/wp-cli-debug/index.md | 6 +++-- .../wp-cli-error-multi-line/index.md | 2 ++ docs/internal-api/wp-cli-error/index.md | 19 +++++++++------- docs/internal-api/wp-cli-launch/index.md | 22 +++++++++++++++++++ docs/internal-api/wp-cli-line/index.md | 5 +++-- docs/internal-api/wp-cli-log/index.md | 2 ++ docs/internal-api/wp-cli-read-value/index.md | 2 ++ docs/internal-api/wp-cli-success/index.md | 2 ++ .../wp-cli-utils-format-items/index.md | 4 +++- .../wp-cli-utils-get-flag-value/index.md | 4 +++- .../wp-cli-utils-get-named-sem-ver/index.md | 4 +++- .../wp-cli-utils-get-temp-dir/index.md | 4 +++- .../wp-cli-utils-write-csv/index.md | 2 ++ docs/internal-api/wp-cli-warning/index.md | 19 +++++++++++++--- 16 files changed, 97 insertions(+), 29 deletions(-) create mode 100644 docs/internal-api/wp-cli-launch/index.md diff --git a/_includes/internal-api-list.html b/_includes/internal-api-list.html index 502eb649..3508cabc 100644 --- a/_includes/internal-api-list.html +++ b/_includes/internal-api-list.html @@ -25,12 +25,17 @@ WP_CLI::debug() -Log information when --debug flag is used. +Display debug message prefixed with "Debug: " when `--debug` is used. + + +WP_CLI::warning() + +Display warning message prefixed with "Warning: ". WP_CLI::error() -Displays an error message prefixed with "Error: ". +Display error message prefixed with "Error: " and exits script. ## Input @@ -39,6 +44,13 @@ Read a value, from various formats. +## Execution + + +WP_CLI::launch() + +Launch an arbitrary external process that takes over I/O. + ## Misc @@ -62,11 +74,6 @@ Get the temp directory, and let the user know if it isn't writable. -WP_CLI::warning() - -Display a warning in the CLI and end with a newline. - - WP_CLI::error_multi_line() Display an error in the CLI and end with a newline. diff --git a/_templates/internal-api.mustache b/_templates/internal-api.mustache index ed71e9ea..bd1e729d 100644 --- a/_templates/internal-api.mustache +++ b/_templates/internal-api.mustache @@ -3,12 +3,14 @@ layout: default title: {{full_name}}() --- -Internal API » {{category}} » {{full_name}}() +Internal API » {{category}} -{{phpdoc.short_description}} +## {{full_name}}() {{signature}} +{{phpdoc.short_description}} +
    {{#phpdoc.parameters.param}} {{1}} ({{0}}) {{2}}
    @@ -18,5 +20,5 @@ title: {{full_name}}() {{/phpdoc.parameters.return}}
    -{{phpdoc.long_description}} +{{{phpdoc.long_description}}} diff --git a/docs/internal-api/wp-cli-debug/index.md b/docs/internal-api/wp-cli-debug/index.md index 84056b96..02150381 100644 --- a/docs/internal-api/wp-cli-debug/index.md +++ b/docs/internal-api/wp-cli-debug/index.md @@ -9,10 +9,12 @@ title: WP_CLI::debug() WP_CLI::debug( $message ) -Log information when --debug flag is used. -Helpful for optionally showing greater detail when needed. +Display debug message prefixed with "Debug: " when `--debug` is used.
    $message (string)
    +Helpful for optionally showing greater detail when needed. Debug message +is written to STDERR, and includes script execution time. + diff --git a/docs/internal-api/wp-cli-error-multi-line/index.md b/docs/internal-api/wp-cli-error-multi-line/index.md index 7c696a5d..512ce868 100644 --- a/docs/internal-api/wp-cli-error-multi-line/index.md +++ b/docs/internal-api/wp-cli-error-multi-line/index.md @@ -15,3 +15,5 @@ Display an error in the CLI and end with a newline. $message (array) each element from the array will be printed on its own line
    + + diff --git a/docs/internal-api/wp-cli-error/index.md b/docs/internal-api/wp-cli-error/index.md index d5af29bc..70bc7b51 100644 --- a/docs/internal-api/wp-cli-error/index.md +++ b/docs/internal-api/wp-cli-error/index.md @@ -9,18 +9,21 @@ title: WP_CLI::error() WP_CLI::error( $message, $exit = true ) -Displays an error message prefixed with "Error: ". +Display error message prefixed with "Error: " and exits script. + +
    +$message (string|WP_Error) Message to write to STDERR.
    +$exit (boolean|integer) True defaults to exit(1).
    +@return (null)

    +
    Error message is written to STDERR. Defaults to halting script execution with return code 1. - WP_CLI::error( 'The object cache could not be flushed.' ); + # `wp cache flush` considers flush failure to be a fatal error. + if ( false === wp_cache_flush() ) { + WP_CLI::error( 'The object cache could not be flushed.' ); + } -
    -$message (string|WP_Error) Message to write to STDERR.
    -$exit (boolean|integer) True defaults to exit(1).
    -@return (null)

    -
    - diff --git a/docs/internal-api/wp-cli-launch/index.md b/docs/internal-api/wp-cli-launch/index.md new file mode 100644 index 00000000..688dcbfe --- /dev/null +++ b/docs/internal-api/wp-cli-launch/index.md @@ -0,0 +1,22 @@ +--- +layout: default +title: WP_CLI::launch() +--- + +Internal API » Execution + +## WP_CLI::launch() + + WP_CLI::launch( $command, $exit_on_error = true, $return_detailed = array() ) + +Launch an arbitrary external process that takes over I/O. + +
    +Command (string) to call
    +Whether (bool) to exit if the command returns an error status
    +Whether (bool) to return an exit status (default) or detailed execution results.
    +@return (int|ProcessRun) command exit status, or a ProcessRun instance

    +
    + + + diff --git a/docs/internal-api/wp-cli-line/index.md b/docs/internal-api/wp-cli-line/index.md index c027a582..613b0f01 100644 --- a/docs/internal-api/wp-cli-line/index.md +++ b/docs/internal-api/wp-cli-line/index.md @@ -10,10 +10,11 @@ title: WP_CLI::line() WP_CLI::line( $message = '' ) Display a message in the CLI and end with a newline. -Ignores `--quiet` flag. To respect, use `WP_CLI::log()`
    $message (string) Message to display to the end user.
    -@return (null)

    +@return (null)

    +Ignores `--quiet` flag. To respect, use `WP_CLI::log()` + diff --git a/docs/internal-api/wp-cli-log/index.md b/docs/internal-api/wp-cli-log/index.md index d053b1ea..b18c34c5 100644 --- a/docs/internal-api/wp-cli-log/index.md +++ b/docs/internal-api/wp-cli-log/index.md @@ -15,3 +15,5 @@ Log an informational message. $message (string)
    + + diff --git a/docs/internal-api/wp-cli-read-value/index.md b/docs/internal-api/wp-cli-read-value/index.md index 07518aa2..79140cd1 100644 --- a/docs/internal-api/wp-cli-read-value/index.md +++ b/docs/internal-api/wp-cli-read-value/index.md @@ -16,3 +16,5 @@ Read a value, from various formats. $assoc_args (array)
    + + diff --git a/docs/internal-api/wp-cli-success/index.md b/docs/internal-api/wp-cli-success/index.md index 709a981a..8f46e341 100644 --- a/docs/internal-api/wp-cli-success/index.md +++ b/docs/internal-api/wp-cli-success/index.md @@ -15,3 +15,5 @@ Display a success in the CLI and end with a newline. $message (string)
    + + diff --git a/docs/internal-api/wp-cli-utils-format-items/index.md b/docs/internal-api/wp-cli-utils-format-items/index.md index 186daaf4..0f75fd4f 100644 --- a/docs/internal-api/wp-cli-utils-format-items/index.md +++ b/docs/internal-api/wp-cli-utils-format-items/index.md @@ -15,6 +15,8 @@ Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or $format (string) Format to use: 'table', 'json', 'csv', 'yaml', 'ids', 'count'
    $items (array) Data to output
    $fields (array|string) Named fields for each item of data. Can be array or comma-separated list
    -@return (null)

    +@return (null)

    + + diff --git a/docs/internal-api/wp-cli-utils-get-flag-value/index.md b/docs/internal-api/wp-cli-utils-get-flag-value/index.md index be9f8a14..498d0519 100644 --- a/docs/internal-api/wp-cli-utils-get-flag-value/index.md +++ b/docs/internal-api/wp-cli-utils-get-flag-value/index.md @@ -15,6 +15,8 @@ Return the flag value or, if it's not set, the $default value. $assoc_args (array) Arguments array.
    $flag (string) Flag to get the value.
    $default (mixed) Default value for the flag. Default: NULL
    -@return (mixed)

    +@return (mixed)

    + + diff --git a/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md b/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md index d070b045..937455bf 100644 --- a/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md +++ b/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md @@ -14,6 +14,8 @@ Compare two version strings to get the named semantic version.
    $new_version (string)
    $original_version (string)
    -@return (string) 'major', 'minor', 'patch'

    +@return (string) 'major', 'minor', 'patch'

    + + diff --git a/docs/internal-api/wp-cli-utils-get-temp-dir/index.md b/docs/internal-api/wp-cli-utils-get-temp-dir/index.md index a3fafbf8..7e8405b7 100644 --- a/docs/internal-api/wp-cli-utils-get-temp-dir/index.md +++ b/docs/internal-api/wp-cli-utils-get-temp-dir/index.md @@ -12,6 +12,8 @@ title: WP_CLI\Utils\get_temp_dir() Get the temp directory, and let the user know if it isn't writable.
    -@return (string)

    +@return (string)

    + + diff --git a/docs/internal-api/wp-cli-utils-write-csv/index.md b/docs/internal-api/wp-cli-utils-write-csv/index.md index 8e4543a3..65f46adb 100644 --- a/docs/internal-api/wp-cli-utils-write-csv/index.md +++ b/docs/internal-api/wp-cli-utils-write-csv/index.md @@ -17,3 +17,5 @@ Write data as CSV to a given file. $headers (array) List of CSV columns (optional)
    + + diff --git a/docs/internal-api/wp-cli-warning/index.md b/docs/internal-api/wp-cli-warning/index.md index ad8a8e56..4f8fcd94 100644 --- a/docs/internal-api/wp-cli-warning/index.md +++ b/docs/internal-api/wp-cli-warning/index.md @@ -3,15 +3,28 @@ layout: default title: WP_CLI::warning() --- -Internal API » Misc +Internal API » Output ## WP_CLI::warning() WP_CLI::warning( $message ) -Display a warning in the CLI and end with a newline. +Display warning message prefixed with "Warning: ".
    -$message (string)
    +$message (string) Message to write to STDERR.
    +@return (null)

    +Warning message is written to STDERR. + + + # `wp plugin activate` skips activation when plugin is network active. + $status = $this->get_status( $plugin->file ); + // Network-active is the highest level of activation status + if ( 'active-network' === $status ) { + WP_CLI::warning( "Plugin '{$plugin->name}' is already network active." ); + continue; + } + + From 4c0b3e97e80ada11138c6b554f46836a3bb10e5b Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 18 Feb 2016 15:10:32 -0800 Subject: [PATCH 481/839] Break internal API doc into sections --- _templates/internal-api.mustache | 13 ++++++++++--- docs/internal-api/wp-cli-debug/index.md | 9 +++++++-- docs/internal-api/wp-cli-error-multi-line/index.md | 8 ++++---- docs/internal-api/wp-cli-error/index.md | 9 +++++++-- docs/internal-api/wp-cli-launch/index.md | 8 ++++---- docs/internal-api/wp-cli-line/index.md | 9 +++++++-- docs/internal-api/wp-cli-log/index.md | 8 ++++---- docs/internal-api/wp-cli-read-value/index.md | 8 ++++---- docs/internal-api/wp-cli-success/index.md | 8 ++++---- .../internal-api/wp-cli-utils-format-items/index.md | 8 ++++---- .../wp-cli-utils-get-flag-value/index.md | 8 ++++---- .../wp-cli-utils-get-named-sem-ver/index.md | 8 ++++---- .../internal-api/wp-cli-utils-get-temp-dir/index.md | 8 ++++---- docs/internal-api/wp-cli-utils-write-csv/index.md | 8 ++++---- docs/internal-api/wp-cli-warning/index.md | 13 +++++++++---- 15 files changed, 80 insertions(+), 53 deletions(-) diff --git a/_templates/internal-api.mustache b/_templates/internal-api.mustache index bd1e729d..ef2b278b 100644 --- a/_templates/internal-api.mustache +++ b/_templates/internal-api.mustache @@ -7,10 +7,12 @@ title: {{full_name}}() ## {{full_name}}() - {{signature}} - {{phpdoc.short_description}} +### Usage + + {{signature}} +
    {{#phpdoc.parameters.param}} {{1}} ({{0}}) {{2}}
    @@ -20,5 +22,10 @@ title: {{full_name}}() {{/phpdoc.parameters.return}}
    -{{{phpdoc.long_description}}} +{{#phpdoc.long_description}} + +### Notes + +{{phpdoc.long_description}} +{{/phpdoc.long_description}} diff --git a/docs/internal-api/wp-cli-debug/index.md b/docs/internal-api/wp-cli-debug/index.md index 02150381..910b9026 100644 --- a/docs/internal-api/wp-cli-debug/index.md +++ b/docs/internal-api/wp-cli-debug/index.md @@ -7,14 +7,19 @@ title: WP_CLI::debug() ## WP_CLI::debug() - WP_CLI::debug( $message ) - Display debug message prefixed with "Debug: " when `--debug` is used. +### Usage + + WP_CLI::debug( $message ) +
    $message (string)
    + +### Notes + Helpful for optionally showing greater detail when needed. Debug message is written to STDERR, and includes script execution time. diff --git a/docs/internal-api/wp-cli-error-multi-line/index.md b/docs/internal-api/wp-cli-error-multi-line/index.md index 512ce868..4f894e45 100644 --- a/docs/internal-api/wp-cli-error-multi-line/index.md +++ b/docs/internal-api/wp-cli-error-multi-line/index.md @@ -7,13 +7,13 @@ title: WP_CLI::error_multi_line() ## WP_CLI::error_multi_line() - WP_CLI::error_multi_line( $message_lines ) - Display an error in the CLI and end with a newline. +### Usage + + WP_CLI::error_multi_line( $message_lines ) +
    $message (array) each element from the array will be printed on its own line
    - - diff --git a/docs/internal-api/wp-cli-error/index.md b/docs/internal-api/wp-cli-error/index.md index 70bc7b51..c3146b6b 100644 --- a/docs/internal-api/wp-cli-error/index.md +++ b/docs/internal-api/wp-cli-error/index.md @@ -7,16 +7,21 @@ title: WP_CLI::error() ## WP_CLI::error() - WP_CLI::error( $message, $exit = true ) - Display error message prefixed with "Error: " and exits script. +### Usage + + WP_CLI::error( $message, $exit = true ) +
    $message (string|WP_Error) Message to write to STDERR.
    $exit (boolean|integer) True defaults to exit(1).
    @return (null)

    + +### Notes + Error message is written to STDERR. Defaults to halting script execution with return code 1. diff --git a/docs/internal-api/wp-cli-launch/index.md b/docs/internal-api/wp-cli-launch/index.md index 688dcbfe..116946d7 100644 --- a/docs/internal-api/wp-cli-launch/index.md +++ b/docs/internal-api/wp-cli-launch/index.md @@ -7,10 +7,12 @@ title: WP_CLI::launch() ## WP_CLI::launch() - WP_CLI::launch( $command, $exit_on_error = true, $return_detailed = array() ) - Launch an arbitrary external process that takes over I/O. +### Usage + + WP_CLI::launch( $command, $exit_on_error = true, $return_detailed = array() ) +
    Command (string) to call
    Whether (bool) to exit if the command returns an error status
    @@ -18,5 +20,3 @@ Launch an arbitrary external process that takes over I/O. @return (int|ProcessRun) command exit status, or a ProcessRun instance

    - - diff --git a/docs/internal-api/wp-cli-line/index.md b/docs/internal-api/wp-cli-line/index.md index 613b0f01..b2b82961 100644 --- a/docs/internal-api/wp-cli-line/index.md +++ b/docs/internal-api/wp-cli-line/index.md @@ -7,14 +7,19 @@ title: WP_CLI::line() ## WP_CLI::line() - WP_CLI::line( $message = '' ) - Display a message in the CLI and end with a newline. +### Usage + + WP_CLI::line( $message = '' ) +
    $message (string) Message to display to the end user.
    @return (null)

    + +### Notes + Ignores `--quiet` flag. To respect, use `WP_CLI::log()` diff --git a/docs/internal-api/wp-cli-log/index.md b/docs/internal-api/wp-cli-log/index.md index b18c34c5..4af28005 100644 --- a/docs/internal-api/wp-cli-log/index.md +++ b/docs/internal-api/wp-cli-log/index.md @@ -7,13 +7,13 @@ title: WP_CLI::log() ## WP_CLI::log() - WP_CLI::log( $message ) - Log an informational message. +### Usage + + WP_CLI::log( $message ) +
    $message (string)
    - - diff --git a/docs/internal-api/wp-cli-read-value/index.md b/docs/internal-api/wp-cli-read-value/index.md index 79140cd1..b231f85b 100644 --- a/docs/internal-api/wp-cli-read-value/index.md +++ b/docs/internal-api/wp-cli-read-value/index.md @@ -7,14 +7,14 @@ title: WP_CLI::read_value() ## WP_CLI::read_value() - WP_CLI::read_value( $raw_value, $assoc_args = array() ) - Read a value, from various formats. +### Usage + + WP_CLI::read_value( $raw_value, $assoc_args = array() ) +
    $value (mixed)
    $assoc_args (array)
    - - diff --git a/docs/internal-api/wp-cli-success/index.md b/docs/internal-api/wp-cli-success/index.md index 8f46e341..db438123 100644 --- a/docs/internal-api/wp-cli-success/index.md +++ b/docs/internal-api/wp-cli-success/index.md @@ -7,13 +7,13 @@ title: WP_CLI::success() ## WP_CLI::success() - WP_CLI::success( $message ) - Display a success in the CLI and end with a newline. +### Usage + + WP_CLI::success( $message ) +
    $message (string)
    - - diff --git a/docs/internal-api/wp-cli-utils-format-items/index.md b/docs/internal-api/wp-cli-utils-format-items/index.md index 0f75fd4f..6df4dc5f 100644 --- a/docs/internal-api/wp-cli-utils-format-items/index.md +++ b/docs/internal-api/wp-cli-utils-format-items/index.md @@ -7,10 +7,12 @@ title: WP_CLI\Utils\format_items() ## WP_CLI\Utils\format_items() - WP_CLI\Utils\format_items( $format, $items, $fields ) - Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or count. +### Usage + + WP_CLI\Utils\format_items( $format, $items, $fields ) +
    $format (string) Format to use: 'table', 'json', 'csv', 'yaml', 'ids', 'count'
    $items (array) Data to output
    @@ -18,5 +20,3 @@ Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or @return (null)

    - - diff --git a/docs/internal-api/wp-cli-utils-get-flag-value/index.md b/docs/internal-api/wp-cli-utils-get-flag-value/index.md index 498d0519..fe398fca 100644 --- a/docs/internal-api/wp-cli-utils-get-flag-value/index.md +++ b/docs/internal-api/wp-cli-utils-get-flag-value/index.md @@ -7,10 +7,12 @@ title: WP_CLI\Utils\get_flag_value() ## WP_CLI\Utils\get_flag_value() - WP_CLI\Utils\get_flag_value( $assoc_args, $flag, $default = array() ) - Return the flag value or, if it's not set, the $default value. +### Usage + + WP_CLI\Utils\get_flag_value( $assoc_args, $flag, $default = array() ) +
    $assoc_args (array) Arguments array.
    $flag (string) Flag to get the value.
    @@ -18,5 +20,3 @@ Return the flag value or, if it's not set, the $default value. @return (mixed)

    - - diff --git a/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md b/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md index 937455bf..e0450fa9 100644 --- a/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md +++ b/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md @@ -7,15 +7,15 @@ title: WP_CLI\Utils\get_named_sem_ver() ## WP_CLI\Utils\get_named_sem_ver() - WP_CLI\Utils\get_named_sem_ver( $new_version, $original_version ) - Compare two version strings to get the named semantic version. +### Usage + + WP_CLI\Utils\get_named_sem_ver( $new_version, $original_version ) +
    $new_version (string)
    $original_version (string)
    @return (string) 'major', 'minor', 'patch'

    - - diff --git a/docs/internal-api/wp-cli-utils-get-temp-dir/index.md b/docs/internal-api/wp-cli-utils-get-temp-dir/index.md index 7e8405b7..fc90b889 100644 --- a/docs/internal-api/wp-cli-utils-get-temp-dir/index.md +++ b/docs/internal-api/wp-cli-utils-get-temp-dir/index.md @@ -7,13 +7,13 @@ title: WP_CLI\Utils\get_temp_dir() ## WP_CLI\Utils\get_temp_dir() - WP_CLI\Utils\get_temp_dir() - Get the temp directory, and let the user know if it isn't writable. +### Usage + + WP_CLI\Utils\get_temp_dir() +
    @return (string)

    - - diff --git a/docs/internal-api/wp-cli-utils-write-csv/index.md b/docs/internal-api/wp-cli-utils-write-csv/index.md index 65f46adb..6505f06f 100644 --- a/docs/internal-api/wp-cli-utils-write-csv/index.md +++ b/docs/internal-api/wp-cli-utils-write-csv/index.md @@ -7,15 +7,15 @@ title: WP_CLI\Utils\write_csv() ## WP_CLI\Utils\write_csv() - WP_CLI\Utils\write_csv( $fd, $rows, $headers = array() ) - Write data as CSV to a given file. +### Usage + + WP_CLI\Utils\write_csv( $fd, $rows, $headers = array() ) +
    $fd (resource) File descriptor
    $rows (array) Array of rows to output
    $headers (array) List of CSV columns (optional)
    - - diff --git a/docs/internal-api/wp-cli-warning/index.md b/docs/internal-api/wp-cli-warning/index.md index 4f8fcd94..5576197b 100644 --- a/docs/internal-api/wp-cli-warning/index.md +++ b/docs/internal-api/wp-cli-warning/index.md @@ -7,23 +7,28 @@ title: WP_CLI::warning() ## WP_CLI::warning() - WP_CLI::warning( $message ) - Display warning message prefixed with "Warning: ". +### Usage + + WP_CLI::warning( $message ) +
    $message (string) Message to write to STDERR.
    @return (null)

    + +### Notes + Warning message is written to STDERR. # `wp plugin activate` skips activation when plugin is network active. - $status = $this->get_status( $plugin->file ); + $status = $this->get_status( $plugin->file ); // Network-active is the highest level of activation status if ( 'active-network' === $status ) { - WP_CLI::warning( "Plugin '{$plugin->name}' is already network active." ); + WP_CLI::warning( "Plugin '{$plugin->name}' is already network active." ); continue; } From f11948872ebd3053da67f4906d2f3a5841803511 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 18 Feb 2016 15:32:14 -0800 Subject: [PATCH 482/839] Include related APIs based on the category --- Phakefile.php | 7 ++- _includes/internal-api-list.html | 56 +++++++++---------- _templates/internal-api-list.mustache | 8 ++- _templates/internal-api.mustache | 29 +++++++++- docs/internal-api/wp-cli-debug/index.md | 36 ++++++++++++ .../wp-cli-error-multi-line/index.md | 28 ++++++++++ docs/internal-api/wp-cli-error/index.md | 36 ++++++++++++ docs/internal-api/wp-cli-launch/index.md | 6 ++ docs/internal-api/wp-cli-line/index.md | 36 ++++++++++++ docs/internal-api/wp-cli-log/index.md | 34 +++++++++++ docs/internal-api/wp-cli-read-value/index.md | 6 ++ docs/internal-api/wp-cli-success/index.md | 34 +++++++++++ .../wp-cli-utils-format-items/index.md | 34 +++++++++++ .../wp-cli-utils-get-flag-value/index.md | 28 ++++++++++ .../wp-cli-utils-get-named-sem-ver/index.md | 28 ++++++++++ .../wp-cli-utils-get-temp-dir/index.md | 28 ++++++++++ .../wp-cli-utils-write-csv/index.md | 28 ++++++++++ docs/internal-api/wp-cli-warning/index.md | 40 ++++++++++++- 18 files changed, 465 insertions(+), 37 deletions(-) diff --git a/Phakefile.php b/Phakefile.php index 4b781708..281f1666 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -168,8 +168,12 @@ function gen_cmd_pages( $cmd, $parent = array() ) { foreach( $categories as $name => $apis ) { $out .= '## ' . $name . PHP_EOL . PHP_EOL; $out .= render( 'internal-api-list.mustache', array( 'apis' => $apis ) ); - foreach( $apis as $api ) { + foreach( $apis as $i => $api ) { $api['category'] = $name; + $api['related'] = $apis; + unset( $api['related'][ $i ] ); + $api['related'] = array_values( $api['related'] ); + $api['has_related'] = ! empty( $api['related'] ); $api_doc = render( 'internal-api.mustache', $api ); $path = "docs/internal-api/{$api['api_slug']}"; if ( ! is_dir( $path ) ) { @@ -177,6 +181,7 @@ function gen_cmd_pages( $cmd, $parent = array() ) { } file_put_contents( "$path/index.md", $api_doc ); } + $out .= PHP_EOL . PHP_EOL; } file_put_contents( '_includes/internal-api-list.html', $out ); diff --git a/_includes/internal-api-list.html b/_includes/internal-api-list.html index 3508cabc..b20ebebc 100644 --- a/_includes/internal-api-list.html +++ b/_includes/internal-api-list.html @@ -2,79 +2,75 @@ ## Output + -Display warning message prefixed with "Warning: ". +## Input -WP_CLI::error() + -Read a value, from various formats. ## Execution +
      -WP_CLI::launch() -Launch an arbitrary external process that takes over I/O. +
    • WP_CLI::launch() - Launch an arbitrary external process that takes over I/O.
    • -## Misc +
    + + +## Misc -WP_CLI\Utils\write_csv() + -Display an error in the CLI and end with a newline. diff --git a/_templates/internal-api-list.mustache b/_templates/internal-api-list.mustache index c04e3c42..ec56d775 100644 --- a/_templates/internal-api-list.mustache +++ b/_templates/internal-api-list.mustache @@ -1,7 +1,9 @@ -{{#apis}} + diff --git a/_templates/internal-api.mustache b/_templates/internal-api.mustache index ef2b278b..11730213 100644 --- a/_templates/internal-api.mustache +++ b/_templates/internal-api.mustache @@ -9,6 +9,8 @@ title: {{full_name}}() {{phpdoc.short_description}} +*** + ### Usage {{signature}} @@ -24,8 +26,33 @@ title: {{full_name}}() {{#phpdoc.long_description}} +*** + ### Notes -{{phpdoc.long_description}} +{{{phpdoc.long_description}}} {{/phpdoc.long_description}} + +{{#has_related}} + +*** + +### Related + +
      + +{{/has_related}} + +{{#related}} + +
    • {{full_name}}() - {{phpdoc.short_description}}
    • + +{{/related}} + +{{#has_related}} + +
    + +{{/has_related}} + diff --git a/docs/internal-api/wp-cli-debug/index.md b/docs/internal-api/wp-cli-debug/index.md index 910b9026..4431afa2 100644 --- a/docs/internal-api/wp-cli-debug/index.md +++ b/docs/internal-api/wp-cli-debug/index.md @@ -9,6 +9,8 @@ title: WP_CLI::debug() Display debug message prefixed with "Debug: " when `--debug` is used. +*** + ### Usage WP_CLI::debug( $message ) @@ -18,8 +20,42 @@ Display debug message prefixed with "Debug: " when `--debug` is used. +*** + ### Notes Helpful for optionally showing greater detail when needed. Debug message is written to STDERR, and includes script execution time. + + +*** + +### Related + + + + diff --git a/docs/internal-api/wp-cli-error-multi-line/index.md b/docs/internal-api/wp-cli-error-multi-line/index.md index 4f894e45..0d6192a9 100644 --- a/docs/internal-api/wp-cli-error-multi-line/index.md +++ b/docs/internal-api/wp-cli-error-multi-line/index.md @@ -9,6 +9,8 @@ title: WP_CLI::error_multi_line() Display an error in the CLI and end with a newline. +*** + ### Usage WP_CLI::error_multi_line( $message_lines ) @@ -17,3 +19,29 @@ Display an error in the CLI and end with a newline. $message (array) each element from the array will be printed on its own line
    + + +*** + +### Related + + + + diff --git a/docs/internal-api/wp-cli-error/index.md b/docs/internal-api/wp-cli-error/index.md index c3146b6b..073d176d 100644 --- a/docs/internal-api/wp-cli-error/index.md +++ b/docs/internal-api/wp-cli-error/index.md @@ -9,6 +9,8 @@ title: WP_CLI::error() Display error message prefixed with "Error: " and exits script. +*** + ### Usage WP_CLI::error( $message, $exit = true ) @@ -20,6 +22,8 @@ Display error message prefixed with "Error: " and exits script. +*** + ### Notes Error message is written to STDERR. Defaults to halting @@ -32,3 +36,35 @@ script execution with return code 1. } + + +*** + +### Related + + + + diff --git a/docs/internal-api/wp-cli-launch/index.md b/docs/internal-api/wp-cli-launch/index.md index 116946d7..b0b9e84f 100644 --- a/docs/internal-api/wp-cli-launch/index.md +++ b/docs/internal-api/wp-cli-launch/index.md @@ -9,6 +9,8 @@ title: WP_CLI::launch() Launch an arbitrary external process that takes over I/O. +*** + ### Usage WP_CLI::launch( $command, $exit_on_error = true, $return_detailed = array() ) @@ -20,3 +22,7 @@ Launch an arbitrary external process that takes over I/O. @return (int|ProcessRun) command exit status, or a ProcessRun instance

    + + + + diff --git a/docs/internal-api/wp-cli-line/index.md b/docs/internal-api/wp-cli-line/index.md index b2b82961..f459d062 100644 --- a/docs/internal-api/wp-cli-line/index.md +++ b/docs/internal-api/wp-cli-line/index.md @@ -9,6 +9,8 @@ title: WP_CLI::line() Display a message in the CLI and end with a newline. +*** + ### Usage WP_CLI::line( $message = '' ) @@ -19,7 +21,41 @@ Display a message in the CLI and end with a newline. +*** + ### Notes Ignores `--quiet` flag. To respect, use `WP_CLI::log()` + + +*** + +### Related + + + + diff --git a/docs/internal-api/wp-cli-log/index.md b/docs/internal-api/wp-cli-log/index.md index 4af28005..161fd024 100644 --- a/docs/internal-api/wp-cli-log/index.md +++ b/docs/internal-api/wp-cli-log/index.md @@ -9,6 +9,8 @@ title: WP_CLI::log() Log an informational message. +*** + ### Usage WP_CLI::log( $message ) @@ -17,3 +19,35 @@ Log an informational message. $message (string)
    + + +*** + +### Related + +
      + + + +
    • WP_CLI\Utils\format_items() - Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or count.
    • + + +
    • WP_CLI::line() - Display a message in the CLI and end with a newline.
    • + + +
    • WP_CLI::success() - Display a success in the CLI and end with a newline.
    • + + +
    • WP_CLI::debug() - Display debug message prefixed with "Debug: " when `--debug` is used.
    • + + +
    • WP_CLI::warning() - Display warning message prefixed with "Warning: ".
    • + + +
    • WP_CLI::error() - Display error message prefixed with "Error: " and exits script.
    • + + + +
    + + diff --git a/docs/internal-api/wp-cli-read-value/index.md b/docs/internal-api/wp-cli-read-value/index.md index b231f85b..a3acce1e 100644 --- a/docs/internal-api/wp-cli-read-value/index.md +++ b/docs/internal-api/wp-cli-read-value/index.md @@ -9,6 +9,8 @@ title: WP_CLI::read_value() Read a value, from various formats. +*** + ### Usage WP_CLI::read_value( $raw_value, $assoc_args = array() ) @@ -18,3 +20,7 @@ Read a value, from various formats. $assoc_args (array)
    + + + + diff --git a/docs/internal-api/wp-cli-success/index.md b/docs/internal-api/wp-cli-success/index.md index db438123..79c16ead 100644 --- a/docs/internal-api/wp-cli-success/index.md +++ b/docs/internal-api/wp-cli-success/index.md @@ -9,6 +9,8 @@ title: WP_CLI::success() Display a success in the CLI and end with a newline. +*** + ### Usage WP_CLI::success( $message ) @@ -17,3 +19,35 @@ Display a success in the CLI and end with a newline. $message (string)
    + + +*** + +### Related + +
      + + + +
    • WP_CLI\Utils\format_items() - Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or count.
    • + + +
    • WP_CLI::line() - Display a message in the CLI and end with a newline.
    • + + +
    • WP_CLI::log() - Log an informational message.
    • + + +
    • WP_CLI::debug() - Display debug message prefixed with "Debug: " when `--debug` is used.
    • + + +
    • WP_CLI::warning() - Display warning message prefixed with "Warning: ".
    • + + +
    • WP_CLI::error() - Display error message prefixed with "Error: " and exits script.
    • + + + +
    + + diff --git a/docs/internal-api/wp-cli-utils-format-items/index.md b/docs/internal-api/wp-cli-utils-format-items/index.md index 6df4dc5f..0b7c8a14 100644 --- a/docs/internal-api/wp-cli-utils-format-items/index.md +++ b/docs/internal-api/wp-cli-utils-format-items/index.md @@ -9,6 +9,8 @@ title: WP_CLI\Utils\format_items() Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or count. +*** + ### Usage WP_CLI\Utils\format_items( $format, $items, $fields ) @@ -20,3 +22,35 @@ Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or @return (null)

    + + +*** + +### Related + +
      + + + +
    • WP_CLI::line() - Display a message in the CLI and end with a newline.
    • + + +
    • WP_CLI::log() - Log an informational message.
    • + + +
    • WP_CLI::success() - Display a success in the CLI and end with a newline.
    • + + +
    • WP_CLI::debug() - Display debug message prefixed with "Debug: " when `--debug` is used.
    • + + +
    • WP_CLI::warning() - Display warning message prefixed with "Warning: ".
    • + + +
    • WP_CLI::error() - Display error message prefixed with "Error: " and exits script.
    • + + + +
    + + diff --git a/docs/internal-api/wp-cli-utils-get-flag-value/index.md b/docs/internal-api/wp-cli-utils-get-flag-value/index.md index fe398fca..a825f149 100644 --- a/docs/internal-api/wp-cli-utils-get-flag-value/index.md +++ b/docs/internal-api/wp-cli-utils-get-flag-value/index.md @@ -9,6 +9,8 @@ title: WP_CLI\Utils\get_flag_value() Return the flag value or, if it's not set, the $default value. +*** + ### Usage WP_CLI\Utils\get_flag_value( $assoc_args, $flag, $default = array() ) @@ -20,3 +22,29 @@ Return the flag value or, if it's not set, the $default value. @return (mixed)

    + + +*** + +### Related + + + + diff --git a/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md b/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md index e0450fa9..e966c8e1 100644 --- a/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md +++ b/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md @@ -9,6 +9,8 @@ title: WP_CLI\Utils\get_named_sem_ver() Compare two version strings to get the named semantic version. +*** + ### Usage WP_CLI\Utils\get_named_sem_ver( $new_version, $original_version ) @@ -19,3 +21,29 @@ Compare two version strings to get the named semantic version. @return (string) 'major', 'minor', 'patch'

    + + +*** + +### Related + + + + diff --git a/docs/internal-api/wp-cli-utils-get-temp-dir/index.md b/docs/internal-api/wp-cli-utils-get-temp-dir/index.md index fc90b889..1390b947 100644 --- a/docs/internal-api/wp-cli-utils-get-temp-dir/index.md +++ b/docs/internal-api/wp-cli-utils-get-temp-dir/index.md @@ -9,6 +9,8 @@ title: WP_CLI\Utils\get_temp_dir() Get the temp directory, and let the user know if it isn't writable. +*** + ### Usage WP_CLI\Utils\get_temp_dir() @@ -17,3 +19,29 @@ Get the temp directory, and let the user know if it isn't writable. @return (string)

    + + +*** + +### Related + + + + diff --git a/docs/internal-api/wp-cli-utils-write-csv/index.md b/docs/internal-api/wp-cli-utils-write-csv/index.md index 6505f06f..3d009e12 100644 --- a/docs/internal-api/wp-cli-utils-write-csv/index.md +++ b/docs/internal-api/wp-cli-utils-write-csv/index.md @@ -9,6 +9,8 @@ title: WP_CLI\Utils\write_csv() Write data as CSV to a given file. +*** + ### Usage WP_CLI\Utils\write_csv( $fd, $rows, $headers = array() ) @@ -19,3 +21,29 @@ Write data as CSV to a given file. $headers (array) List of CSV columns (optional)
    + + +*** + +### Related + + + + diff --git a/docs/internal-api/wp-cli-warning/index.md b/docs/internal-api/wp-cli-warning/index.md index 5576197b..761b30f4 100644 --- a/docs/internal-api/wp-cli-warning/index.md +++ b/docs/internal-api/wp-cli-warning/index.md @@ -9,6 +9,8 @@ title: WP_CLI::warning() Display warning message prefixed with "Warning: ". +*** + ### Usage WP_CLI::warning( $message ) @@ -19,17 +21,51 @@ Display warning message prefixed with "Warning: ". +*** + ### Notes Warning message is written to STDERR. # `wp plugin activate` skips activation when plugin is network active. - $status = $this->get_status( $plugin->file ); + $status = $this->get_status( $plugin->file ); // Network-active is the highest level of activation status if ( 'active-network' === $status ) { - WP_CLI::warning( "Plugin '{$plugin->name}' is already network active." ); + WP_CLI::warning( "Plugin '{$plugin->name}' is already network active." ); continue; } + + +*** + +### Related + +
      + + + +
    • WP_CLI\Utils\format_items() - Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or count.
    • + + +
    • WP_CLI::line() - Display a message in the CLI and end with a newline.
    • + + +
    • WP_CLI::log() - Log an informational message.
    • + + +
    • WP_CLI::success() - Display a success in the CLI and end with a newline.
    • + + +
    • WP_CLI::debug() - Display debug message prefixed with "Debug: " when `--debug` is used.
    • + + +
    • WP_CLI::error() - Display error message prefixed with "Error: " and exits script.
    • + + + +
    + + From e9da1d2c9a5c3a5bea06bf687ee3535f079f388e Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 18 Feb 2016 16:14:28 -0800 Subject: [PATCH 483/839] Internal API doc enhancements --- _includes/internal-api-list.html | 11 +++-- docs/internal-api/wp-cli-debug/index.md | 31 ++++++++++--- docs/internal-api/wp-cli-error/index.md | 15 ++++--- docs/internal-api/wp-cli-launch-self/index.md | 44 +++++++++++++++++++ docs/internal-api/wp-cli-launch/index.md | 35 +++++++++++++-- docs/internal-api/wp-cli-line/index.md | 11 ++--- docs/internal-api/wp-cli-log/index.md | 22 +++++++--- docs/internal-api/wp-cli-success/index.md | 30 ++++++++++--- .../wp-cli-utils-format-items/index.md | 8 ++-- docs/internal-api/wp-cli-warning/index.md | 11 +++-- 10 files changed, 174 insertions(+), 44 deletions(-) create mode 100644 docs/internal-api/wp-cli-launch-self/index.md diff --git a/_includes/internal-api-list.html b/_includes/internal-api-list.html index b20ebebc..4e996c17 100644 --- a/_includes/internal-api-list.html +++ b/_includes/internal-api-list.html @@ -8,13 +8,13 @@
  • WP_CLI\Utils\format_items() - Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or count.
  • -
  • WP_CLI::line() - Display a message in the CLI and end with a newline.
  • +
  • WP_CLI::line() - Display informational message without prefix, and ignore `--quiet`.
  • -
  • WP_CLI::log() - Log an informational message.
  • +
  • WP_CLI::log() - Display informational message without prefix.
  • -
  • WP_CLI::success() - Display a success in the CLI and end with a newline.
  • +
  • WP_CLI::success() - Display success message prefixed with "Success: ".
  • WP_CLI::debug() - Display debug message prefixed with "Debug: " when `--debug` is used.
  • @@ -23,7 +23,7 @@
  • WP_CLI::warning() - Display warning message prefixed with "Warning: ".
  • -
  • WP_CLI::error() - Display error message prefixed with "Error: " and exits script.
  • +
  • WP_CLI::error() - Display error message prefixed with "Error: " and exit script.
  • @@ -48,6 +48,9 @@
  • WP_CLI::launch() - Launch an arbitrary external process that takes over I/O.
  • +
  • WP_CLI::launch_self() - Run a WP-CLI command in a new process reusing the current runtime arguments.
  • + + diff --git a/docs/internal-api/wp-cli-debug/index.md b/docs/internal-api/wp-cli-debug/index.md index 4431afa2..b3206c9c 100644 --- a/docs/internal-api/wp-cli-debug/index.md +++ b/docs/internal-api/wp-cli-debug/index.md @@ -16,7 +16,8 @@ Display debug message prefixed with "Debug: " when `--debug` is used. WP_CLI::debug( $message )
    -$message (string)
    +$message (string) Message to write to STDERR.
    +@return (null)

    @@ -24,8 +25,24 @@ Display debug message prefixed with "Debug: " when `--debug` is used. ### Notes -Helpful for optionally showing greater detail when needed. Debug message -is written to STDERR, and includes script execution time. +Debug message is written to STDERR, and includes script execution time. + +Helpful for optionally showing greater detail when needed. Used throughout +WP-CLI bootstrap process for easier debugging and profiling. + + + # Called in `WP_CLI\Runner::set_wp_root()`. + private static function set_wp_root( $path ) { + define( 'ABSPATH', rtrim( $path, '/' ) . '/' ); + WP_CLI::debug( 'ABSPATH defined: ' . ABSPATH ); + $_SERVER['DOCUMENT_ROOT'] = realpath( $path ); + } + + # Debug details only appear when `--debug` is used. + # $ wp --debug + # [...] + # Debug: ABSPATH defined: /srv/www/wordpress-develop.dev/src/ (0.225s) + @@ -40,19 +57,19 @@ is written to STDERR, and includes script execution time.
  • WP_CLI\Utils\format_items() - Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or count.
  • -
  • WP_CLI::line() - Display a message in the CLI and end with a newline.
  • +
  • WP_CLI::line() - Display informational message without prefix, and ignore `--quiet`.
  • -
  • WP_CLI::log() - Log an informational message.
  • +
  • WP_CLI::log() - Display informational message without prefix.
  • -
  • WP_CLI::success() - Display a success in the CLI and end with a newline.
  • +
  • WP_CLI::success() - Display success message prefixed with "Success: ".
  • WP_CLI::warning() - Display warning message prefixed with "Warning: ".
  • -
  • WP_CLI::error() - Display error message prefixed with "Error: " and exits script.
  • +
  • WP_CLI::error() - Display error message prefixed with "Error: " and exit script.
  • diff --git a/docs/internal-api/wp-cli-error/index.md b/docs/internal-api/wp-cli-error/index.md index 073d176d..74e9c99c 100644 --- a/docs/internal-api/wp-cli-error/index.md +++ b/docs/internal-api/wp-cli-error/index.md @@ -7,7 +7,7 @@ title: WP_CLI::error() ## WP_CLI::error() -Display error message prefixed with "Error: " and exits script. +Display error message prefixed with "Error: " and exit script. *** @@ -26,8 +26,11 @@ Display error message prefixed with "Error: " and exits script. ### Notes -Error message is written to STDERR. Defaults to halting -script execution with return code 1. +Error message is written to STDERR. Defaults to halting script execution +with return code 1. + +Use `WP_CLI::warning()` instead when script execution should be permitted +to continue. # `wp cache flush` considers flush failure to be a fatal error. @@ -49,13 +52,13 @@ script execution with return code 1.
  • WP_CLI\Utils\format_items() - Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or count.
  • -
  • WP_CLI::line() - Display a message in the CLI and end with a newline.
  • +
  • WP_CLI::line() - Display informational message without prefix, and ignore `--quiet`.
  • -
  • WP_CLI::log() - Log an informational message.
  • +
  • WP_CLI::log() - Display informational message without prefix.
  • -
  • WP_CLI::success() - Display a success in the CLI and end with a newline.
  • +
  • WP_CLI::success() - Display success message prefixed with "Success: ".
  • WP_CLI::debug() - Display debug message prefixed with "Debug: " when `--debug` is used.
  • diff --git a/docs/internal-api/wp-cli-launch-self/index.md b/docs/internal-api/wp-cli-launch-self/index.md new file mode 100644 index 00000000..442cd6f2 --- /dev/null +++ b/docs/internal-api/wp-cli-launch-self/index.md @@ -0,0 +1,44 @@ +--- +layout: default +title: WP_CLI::launch_self() +--- + +Internal API » Execution + +## WP_CLI::launch_self() + +Run a WP-CLI command in a new process reusing the current runtime arguments. + +*** + +### Usage + + WP_CLI::launch_self( $command, $args = array(), $assoc_args = array(), $exit_on_error = true, $return_detailed = array(), $runtime_args = array() ) + +
    +$command (string) WP-CLI command to call.
    +$args (array) Positional arguments to include when calling the command.
    +$assoc_args (array) Associative arguments to include when calling the command.
    +$exit_on_error (bool) Whether to exit if the command returns an elevated return code.
    +$return_detailed (bool) Whether to return an exit status (default) or detailed execution results.
    +$runtime_args (array) Override one or more global args (path,url,user,allow-root)
    +@return (int|ProcessRun) command exit status, or a ProcessRun instance

    +
    + + + +*** + +### Related + +
      + + + +
    • WP_CLI::launch() - Launch an arbitrary external process that takes over I/O.
    • + + + +
    + + diff --git a/docs/internal-api/wp-cli-launch/index.md b/docs/internal-api/wp-cli-launch/index.md index b0b9e84f..df4d6bd5 100644 --- a/docs/internal-api/wp-cli-launch/index.md +++ b/docs/internal-api/wp-cli-launch/index.md @@ -16,13 +16,40 @@ Launch an arbitrary external process that takes over I/O. WP_CLI::launch( $command, $exit_on_error = true, $return_detailed = array() )
    -Command (string) to call
    -Whether (bool) to exit if the command returns an error status
    -Whether (bool) to return an exit status (default) or detailed execution results.
    -@return (int|ProcessRun) command exit status, or a ProcessRun instance

    +$command (string) External process to launch.
    +$exit_on_error (boolean) Whether to exit if the command returns an elevated return code.
    +$return_detailed (boolean) Whether to return an exit status (default) or detailed execution results.
    +@return (int|ProcessRun) command exit status, or a ProcessRun object for full details.

    +*** + +### Notes + + + # `wp core download` falls back to the `tar` binary when PharData isn't available + if ( ! class_exists( 'PharData' ) ) { + $cmd = "tar xz --strip-components=1 --directory=%s -f $tarball"; + WP_CLI::launch( Utils\esc_cmd( $cmd, $dest ) ); + return; + } + + + + +*** + +### Related + +
      + + + +
    • WP_CLI::launch_self() - Run a WP-CLI command in a new process reusing the current runtime arguments.
    • + + +
    diff --git a/docs/internal-api/wp-cli-line/index.md b/docs/internal-api/wp-cli-line/index.md index f459d062..24fc65b3 100644 --- a/docs/internal-api/wp-cli-line/index.md +++ b/docs/internal-api/wp-cli-line/index.md @@ -7,7 +7,7 @@ title: WP_CLI::line() ## WP_CLI::line() -Display a message in the CLI and end with a newline. +Display informational message without prefix, and ignore `--quiet`. *** @@ -25,7 +25,8 @@ Display a message in the CLI and end with a newline. ### Notes -Ignores `--quiet` flag. To respect, use `WP_CLI::log()` +Message is written to STDOUT. `WP_CLI::log()` is typically recommended; +`WP_CLI::line()` is included for historical compat. @@ -40,10 +41,10 @@ Ignores `--quiet` flag. To respect, use `WP_CLI::log()`
  • WP_CLI\Utils\format_items() - Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or count.
  • -
  • WP_CLI::log() - Log an informational message.
  • +
  • WP_CLI::log() - Display informational message without prefix.
  • -
  • WP_CLI::success() - Display a success in the CLI and end with a newline.
  • +
  • WP_CLI::success() - Display success message prefixed with "Success: ".
  • WP_CLI::debug() - Display debug message prefixed with "Debug: " when `--debug` is used.
  • @@ -52,7 +53,7 @@ Ignores `--quiet` flag. To respect, use `WP_CLI::log()`
  • WP_CLI::warning() - Display warning message prefixed with "Warning: ".
  • -
  • WP_CLI::error() - Display error message prefixed with "Error: " and exits script.
  • +
  • WP_CLI::error() - Display error message prefixed with "Error: " and exit script.
  • diff --git a/docs/internal-api/wp-cli-log/index.md b/docs/internal-api/wp-cli-log/index.md index 161fd024..8c364dfe 100644 --- a/docs/internal-api/wp-cli-log/index.md +++ b/docs/internal-api/wp-cli-log/index.md @@ -7,7 +7,7 @@ title: WP_CLI::log() ## WP_CLI::log() -Log an informational message. +Display informational message without prefix. *** @@ -16,10 +16,22 @@ Log an informational message. WP_CLI::log( $message )
    -$message (string)
    +$message (string) Message to write to STDOUT.
    +*** + +### Notes + +Message is written to STDOUT, or discarded when `--quiet` flag is supplied. + + + # `wp cli update` lets user know of each step in the update process. + WP_CLI::log( sprintf( 'Downloading from %s...', $download_url ) ); + + + *** @@ -32,10 +44,10 @@ Log an informational message.
  • WP_CLI\Utils\format_items() - Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or count.
  • -
  • WP_CLI::line() - Display a message in the CLI and end with a newline.
  • +
  • WP_CLI::line() - Display informational message without prefix, and ignore `--quiet`.
  • -
  • WP_CLI::success() - Display a success in the CLI and end with a newline.
  • +
  • WP_CLI::success() - Display success message prefixed with "Success: ".
  • WP_CLI::debug() - Display debug message prefixed with "Debug: " when `--debug` is used.
  • @@ -44,7 +56,7 @@ Log an informational message.
  • WP_CLI::warning() - Display warning message prefixed with "Warning: ".
  • -
  • WP_CLI::error() - Display error message prefixed with "Error: " and exits script.
  • +
  • WP_CLI::error() - Display error message prefixed with "Error: " and exit script.
  • diff --git a/docs/internal-api/wp-cli-success/index.md b/docs/internal-api/wp-cli-success/index.md index 79c16ead..9e3dae99 100644 --- a/docs/internal-api/wp-cli-success/index.md +++ b/docs/internal-api/wp-cli-success/index.md @@ -7,7 +7,7 @@ title: WP_CLI::success() ## WP_CLI::success() -Display a success in the CLI and end with a newline. +Display success message prefixed with "Success: ". *** @@ -16,10 +16,30 @@ Display a success in the CLI and end with a newline. WP_CLI::success( $message )
    -$message (string)
    +$message (string) Message to write to STDOUT.
    +@return (null)

    +*** + +### Notes + +Success message is written to STDOUT. + +Typically recommended to inform user of successful script conclusion. + + + # wp rewrite flush expects 'rewrite_rules' option to be set after flush. + flush_rewrite_rules( \WP_CLI\Utils\get_flag_value( $assoc_args, 'hard' ) ); + if ( ! get_option( 'rewrite_rules' ) ) { + WP_CLI::warning( "Rewrite rules are empty." ); + } else { + WP_CLI::success( 'Rewrite rules flushed.' ); + } + + + *** @@ -32,10 +52,10 @@ Display a success in the CLI and end with a newline.
  • WP_CLI\Utils\format_items() - Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or count.
  • -
  • WP_CLI::line() - Display a message in the CLI and end with a newline.
  • +
  • WP_CLI::line() - Display informational message without prefix, and ignore `--quiet`.
  • -
  • WP_CLI::log() - Log an informational message.
  • +
  • WP_CLI::log() - Display informational message without prefix.
  • WP_CLI::debug() - Display debug message prefixed with "Debug: " when `--debug` is used.
  • @@ -44,7 +64,7 @@ Display a success in the CLI and end with a newline.
  • WP_CLI::warning() - Display warning message prefixed with "Warning: ".
  • -
  • WP_CLI::error() - Display error message prefixed with "Error: " and exits script.
  • +
  • WP_CLI::error() - Display error message prefixed with "Error: " and exit script.
  • diff --git a/docs/internal-api/wp-cli-utils-format-items/index.md b/docs/internal-api/wp-cli-utils-format-items/index.md index 0b7c8a14..52be203d 100644 --- a/docs/internal-api/wp-cli-utils-format-items/index.md +++ b/docs/internal-api/wp-cli-utils-format-items/index.md @@ -32,13 +32,13 @@ Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or -
  • WP_CLI::line() - Display a message in the CLI and end with a newline.
  • +
  • WP_CLI::line() - Display informational message without prefix, and ignore `--quiet`.
  • -
  • WP_CLI::log() - Log an informational message.
  • +
  • WP_CLI::log() - Display informational message without prefix.
  • -
  • WP_CLI::success() - Display a success in the CLI and end with a newline.
  • +
  • WP_CLI::success() - Display success message prefixed with "Success: ".
  • WP_CLI::debug() - Display debug message prefixed with "Debug: " when `--debug` is used.
  • @@ -47,7 +47,7 @@ Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or
  • WP_CLI::warning() - Display warning message prefixed with "Warning: ".
  • -
  • WP_CLI::error() - Display error message prefixed with "Error: " and exits script.
  • +
  • WP_CLI::error() - Display error message prefixed with "Error: " and exit script.
  • diff --git a/docs/internal-api/wp-cli-warning/index.md b/docs/internal-api/wp-cli-warning/index.md index 761b30f4..10dc434d 100644 --- a/docs/internal-api/wp-cli-warning/index.md +++ b/docs/internal-api/wp-cli-warning/index.md @@ -27,6 +27,9 @@ Display warning message prefixed with "Warning: ". Warning message is written to STDERR. +Use instead of `WP_CLI::debug()` when script execution should be permitted +to continue. + # `wp plugin activate` skips activation when plugin is network active. $status = $this->get_status( $plugin->file ); @@ -50,19 +53,19 @@ Warning message is written to STDERR.
  • WP_CLI\Utils\format_items() - Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or count.
  • -
  • WP_CLI::line() - Display a message in the CLI and end with a newline.
  • +
  • WP_CLI::line() - Display informational message without prefix, and ignore `--quiet`.
  • -
  • WP_CLI::log() - Log an informational message.
  • +
  • WP_CLI::log() - Display informational message without prefix.
  • -
  • WP_CLI::success() - Display a success in the CLI and end with a newline.
  • +
  • WP_CLI::success() - Display success message prefixed with "Success: ".
  • WP_CLI::debug() - Display debug message prefixed with "Debug: " when `--debug` is used.
  • -
  • WP_CLI::error() - Display error message prefixed with "Error: " and exits script.
  • +
  • WP_CLI::error() - Display error message prefixed with "Error: " and exit script.
  • From 3b430ef72b49a625db1517710d6587a2b2a0fe3a Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Sat, 20 Feb 2016 07:31:09 -0800 Subject: [PATCH 484/839] Add internal API docs for `WP_CLI\Utils\make_progress_bar()` --- _includes/internal-api-list.html | 3 + docs/internal-api/wp-cli-debug/index.md | 3 + docs/internal-api/wp-cli-error/index.md | 3 + docs/internal-api/wp-cli-line/index.md | 3 + docs/internal-api/wp-cli-log/index.md | 3 + docs/internal-api/wp-cli-success/index.md | 3 + .../wp-cli-utils-format-items/index.md | 3 + .../wp-cli-utils-make-progress-bar/index.md | 81 +++++++++++++++++++ docs/internal-api/wp-cli-warning/index.md | 3 + 9 files changed, 105 insertions(+) create mode 100644 docs/internal-api/wp-cli-utils-make-progress-bar/index.md diff --git a/_includes/internal-api-list.html b/_includes/internal-api-list.html index 4e996c17..05e2240d 100644 --- a/_includes/internal-api-list.html +++ b/_includes/internal-api-list.html @@ -8,6 +8,9 @@
  • WP_CLI\Utils\format_items() - Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or count.
  • +
  • WP_CLI\Utils\make_progress_bar() - Create a progress bar to display percent completion of a given operation.
  • + +
  • WP_CLI::line() - Display informational message without prefix, and ignore `--quiet`.
  • diff --git a/docs/internal-api/wp-cli-debug/index.md b/docs/internal-api/wp-cli-debug/index.md index b3206c9c..83605a5f 100644 --- a/docs/internal-api/wp-cli-debug/index.md +++ b/docs/internal-api/wp-cli-debug/index.md @@ -57,6 +57,9 @@ WP-CLI bootstrap process for easier debugging and profiling.
  • WP_CLI\Utils\format_items() - Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or count.
  • +
  • WP_CLI\Utils\make_progress_bar() - Create a progress bar to display percent completion of a given operation.
  • + +
  • WP_CLI::line() - Display informational message without prefix, and ignore `--quiet`.
  • diff --git a/docs/internal-api/wp-cli-error/index.md b/docs/internal-api/wp-cli-error/index.md index 74e9c99c..ece6c739 100644 --- a/docs/internal-api/wp-cli-error/index.md +++ b/docs/internal-api/wp-cli-error/index.md @@ -52,6 +52,9 @@ to continue.
  • WP_CLI\Utils\format_items() - Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or count.
  • +
  • WP_CLI\Utils\make_progress_bar() - Create a progress bar to display percent completion of a given operation.
  • + +
  • WP_CLI::line() - Display informational message without prefix, and ignore `--quiet`.
  • diff --git a/docs/internal-api/wp-cli-line/index.md b/docs/internal-api/wp-cli-line/index.md index 24fc65b3..7de85b41 100644 --- a/docs/internal-api/wp-cli-line/index.md +++ b/docs/internal-api/wp-cli-line/index.md @@ -41,6 +41,9 @@ Message is written to STDOUT. `WP_CLI::log()` is typically recommended;
  • WP_CLI\Utils\format_items() - Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or count.
  • +
  • WP_CLI\Utils\make_progress_bar() - Create a progress bar to display percent completion of a given operation.
  • + +
  • WP_CLI::log() - Display informational message without prefix.
  • diff --git a/docs/internal-api/wp-cli-log/index.md b/docs/internal-api/wp-cli-log/index.md index 8c364dfe..8ba5cf0e 100644 --- a/docs/internal-api/wp-cli-log/index.md +++ b/docs/internal-api/wp-cli-log/index.md @@ -44,6 +44,9 @@ Message is written to STDOUT, or discarded when `--quiet` flag is supplied.
  • WP_CLI\Utils\format_items() - Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or count.
  • +
  • WP_CLI\Utils\make_progress_bar() - Create a progress bar to display percent completion of a given operation.
  • + +
  • WP_CLI::line() - Display informational message without prefix, and ignore `--quiet`.
  • diff --git a/docs/internal-api/wp-cli-success/index.md b/docs/internal-api/wp-cli-success/index.md index 9e3dae99..e73becc8 100644 --- a/docs/internal-api/wp-cli-success/index.md +++ b/docs/internal-api/wp-cli-success/index.md @@ -52,6 +52,9 @@ Typically recommended to inform user of successful script conclusion.
  • WP_CLI\Utils\format_items() - Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or count.
  • +
  • WP_CLI\Utils\make_progress_bar() - Create a progress bar to display percent completion of a given operation.
  • + +
  • WP_CLI::line() - Display informational message without prefix, and ignore `--quiet`.
  • diff --git a/docs/internal-api/wp-cli-utils-format-items/index.md b/docs/internal-api/wp-cli-utils-format-items/index.md index 52be203d..80f2315e 100644 --- a/docs/internal-api/wp-cli-utils-format-items/index.md +++ b/docs/internal-api/wp-cli-utils-format-items/index.md @@ -32,6 +32,9 @@ Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or +
  • WP_CLI\Utils\make_progress_bar() - Create a progress bar to display percent completion of a given operation.
  • + +
  • WP_CLI::line() - Display informational message without prefix, and ignore `--quiet`.
  • diff --git a/docs/internal-api/wp-cli-utils-make-progress-bar/index.md b/docs/internal-api/wp-cli-utils-make-progress-bar/index.md new file mode 100644 index 00000000..9a4b699b --- /dev/null +++ b/docs/internal-api/wp-cli-utils-make-progress-bar/index.md @@ -0,0 +1,81 @@ +--- +layout: default +title: WP_CLI\Utils\make_progress_bar() +--- + +Internal API » Output + +## WP_CLI\Utils\make_progress_bar() + +Create a progress bar to display percent completion of a given operation. + +*** + +### Usage + + WP_CLI\Utils\make_progress_bar( $message, $count ) + +
    +$message (string) Text to display before the progress bar.
    +$count (integer) Total number of ticks to be performed.
    +@return (cli\progress\Bar|WP_CLI\NoOp)

    +
    + + +*** + +### Notes + +Progress bar is written to STDOUT, and disabled when command is piped. Progress +advances with `$progress->tick()`, and completes with `$progress->finish()`. +Process bar also indicates elapsed time and expected total time. + + + # `wp user generate` ticks progress bar each time a new user is created. + # + # $ wp user generate --count=500 + # Generating users 22 % [=======> ] 0:05 / 0:23 + + $progress = \WP_CLI\Utils\make_progress_bar( 'Generating users', $count ); + for ( $i = 0; $i < $count; $i++ ) { + // uses wp_insert_user() to insert the user + $progress->tick(); + } + $progress->finish(); + + + + +*** + +### Related + +
      + + + +
    • WP_CLI\Utils\format_items() - Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or count.
    • + + +
    • WP_CLI::line() - Display informational message without prefix, and ignore `--quiet`.
    • + + +
    • WP_CLI::log() - Display informational message without prefix.
    • + + +
    • WP_CLI::success() - Display success message prefixed with "Success: ".
    • + + +
    • WP_CLI::debug() - Display debug message prefixed with "Debug: " when `--debug` is used.
    • + + +
    • WP_CLI::warning() - Display warning message prefixed with "Warning: ".
    • + + +
    • WP_CLI::error() - Display error message prefixed with "Error: " and exit script.
    • + + + +
    + + diff --git a/docs/internal-api/wp-cli-warning/index.md b/docs/internal-api/wp-cli-warning/index.md index 10dc434d..e6adc941 100644 --- a/docs/internal-api/wp-cli-warning/index.md +++ b/docs/internal-api/wp-cli-warning/index.md @@ -53,6 +53,9 @@ to continue.
  • WP_CLI\Utils\format_items() - Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or count.
  • +
  • WP_CLI\Utils\make_progress_bar() - Create a progress bar to display percent completion of a given operation.
  • + +
  • WP_CLI::line() - Display informational message without prefix, and ignore `--quiet`.
  • From 21249b3e3ff3987c07e11e653c45c5058850b915 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Sat, 20 Feb 2016 21:03:06 -0800 Subject: [PATCH 485/839] Add code example for `Utils\format_items()` --- Phakefile.php | 2 +- .../wp-cli-utils-format-items/index.md | 43 ++++++++++++++++++- 2 files changed, 42 insertions(+), 3 deletions(-) diff --git a/Phakefile.php b/Phakefile.php index 281f1666..3c192725 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -146,7 +146,7 @@ function gen_cmd_pages( $cmd, $parent = array() ) { }; $prepare_code_block = function( $description ) { - return preg_replace_callback( '#```(.+)```#s', function( $matches ) { + return preg_replace_callback( '#```(.+)```#Us', function( $matches ) { return str_replace( PHP_EOL, PHP_EOL . ' ', $matches[1] ); }, $description ); }; diff --git a/docs/internal-api/wp-cli-utils-format-items/index.md b/docs/internal-api/wp-cli-utils-format-items/index.md index 80f2315e..8f859c91 100644 --- a/docs/internal-api/wp-cli-utils-format-items/index.md +++ b/docs/internal-api/wp-cli-utils-format-items/index.md @@ -17,12 +17,51 @@ Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or
    $format (string) Format to use: 'table', 'json', 'csv', 'yaml', 'ids', 'count'
    -$items (array) Data to output
    -$fields (array|string) Named fields for each item of data. Can be array or comma-separated list
    +$items (array) An array of items to output.
    +$fields (array|string) Named fields for each item of data. Can be array or comma-separated list.
    @return (null)

    +*** + +### Notes + +Given a collection of items with a consistent data structure: + + + $items = array( + array( + 'key' => 'foo', + 'value' => 'bar', + ) + ); + + +Render `$items` easily render as an ASCII table: + + + WP_CLI\Utils\format_items( 'table', $items, array( 'key', 'value' ) ); + + # +-----+-------+ + # | key | value | + # +-----+-------+ + # | foo | bar | + # +-----+-------+ + + +Or render `$items` as YAML: + + + WP_CLI\Utils\format_items( 'yaml', $items, array( 'key', 'value' ) ); + + # --- + # - + # key: foo + # value: bar + + + *** From 3a4fa40c473c167d217d8057b2635b2d81ab50bb Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Sat, 20 Feb 2016 21:06:40 -0800 Subject: [PATCH 486/839] Fix typo --- docs/internal-api/wp-cli-utils-format-items/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/internal-api/wp-cli-utils-format-items/index.md b/docs/internal-api/wp-cli-utils-format-items/index.md index 8f859c91..2848d3c0 100644 --- a/docs/internal-api/wp-cli-utils-format-items/index.md +++ b/docs/internal-api/wp-cli-utils-format-items/index.md @@ -38,7 +38,7 @@ Given a collection of items with a consistent data structure: ); -Render `$items` easily render as an ASCII table: +Render `$items` as an ASCII table: WP_CLI\Utils\format_items( 'table', $items, array( 'key', 'value' ) ); From 97ea354632303845070432e7b2729f7ed42fe81c Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 25 Feb 2016 06:26:12 -0800 Subject: [PATCH 487/839] Add public docs for `WP_CLI::add_command()` --- Phakefile.php | 10 ++++ _includes/internal-api-list.html | 11 ++++ _templates/internal-api.mustache | 2 +- command.php | 18 +++++- docs/internal-api/wp-cli-add-command/index.md | 60 +++++++++++++++++++ 5 files changed, 98 insertions(+), 3 deletions(-) create mode 100644 docs/internal-api/wp-cli-add-command/index.md diff --git a/Phakefile.php b/Phakefile.php index 3c192725..c0510b35 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -129,6 +129,7 @@ function gen_cmd_pages( $cmd, $parent = array() ) { task( 'internal-api-list', function( $app ) { $apis = invoke_wp_cli( 'wp cli api-dump', $app ); $categories = array( + 'Registration' => array(), 'Output' => array(), 'Input' => array(), 'Execution' => array(), @@ -171,6 +172,15 @@ function gen_cmd_pages( $cmd, $parent = array() ) { foreach( $apis as $i => $api ) { $api['category'] = $name; $api['related'] = $apis; + $api['phpdoc']['parameters'] = array_map( function( $parameter ){ + foreach( $parameter as $key => $values ) { + if ( isset( $values[2] ) ) { + $values[2] = str_replace( array( PHP_EOL ), array( '
    ' ), $values[2] ); + $parameter[ $key ] = $values; + } + } + return $parameter; + }, $api['phpdoc']['parameters'] ); unset( $api['related'][ $i ] ); $api['related'] = array_values( $api['related'] ); $api['has_related'] = ! empty( $api['related'] ); diff --git a/_includes/internal-api-list.html b/_includes/internal-api-list.html index 05e2240d..9f3866df 100644 --- a/_includes/internal-api-list.html +++ b/_includes/internal-api-list.html @@ -1,5 +1,16 @@ *** +## Registration + + + + ## Output
      diff --git a/_templates/internal-api.mustache b/_templates/internal-api.mustache index 11730213..c578cb46 100644 --- a/_templates/internal-api.mustache +++ b/_templates/internal-api.mustache @@ -17,7 +17,7 @@ title: {{full_name}}()
      {{#phpdoc.parameters.param}} -{{1}} ({{0}}) {{2}}
      +{{1}} ({{0}}) {{{2}}}
      {{/phpdoc.parameters.param}} {{#phpdoc.parameters.return}} @return ({{0}}) {{2}}

      diff --git a/command.php b/command.php index d6a5b8c3..71ed1e12 100644 --- a/command.php +++ b/command.php @@ -115,11 +115,18 @@ function parse_docblock( $docblock ) { 'parameters' => array(), ); $extra_line = ''; + $in_param = false; foreach( preg_split("/(\r?\n)/", $docblock ) as $line ){ if ( preg_match('/^(?=\s+?\*[^\/])(.+)/', $line, $matches ) ) { $info = trim( $matches[1] ); $info = preg_replace( '/^(\*\s+?)/', '', $info ); - if ( $info[0] !== "@" ) { + if ( $in_param ) { + list( $param, $key ) = $in_param; + $ret['parameters'][ $param_name ][ $key ][2] .= PHP_EOL . $info; + if ( '}' === substr( $info, -1 ) ) { + $in_param = false; + } + } else if ( $info[0] !== "@" ) { $ret['description'] .= PHP_EOL . "{$extra_line}{$info}"; } else { preg_match( '/@(\w+)/', $info, $matches ); @@ -129,13 +136,20 @@ function parse_docblock( $docblock ) { $ret['parameters'][ $param_name ] = array(); } $ret['parameters'][ $param_name ][] = preg_split( '/[\s]+/', $value, 3 ); + end( $ret['parameters'][ $param_name ] ); + $key = key( $ret['parameters'][ $param_name ] ); + reset( $ret['parameters'][ $param_name ] ); + if ( ! empty( $ret['parameters'][ $param_name ][ $key ][ 2 ] ) + && '{' === substr( $ret['parameters'][ $param_name ][ $key ][ 2 ] , -1 ) ) { + $in_param = array( $param, $key ); + } } $extra_line = ''; } else { $extra_line .= PHP_EOL; } } - $ret['description'] = trim( $ret['description'], PHP_EOL ); + $ret['description'] = str_replace( '\/', '/', trim( $ret['description'], PHP_EOL ) ); $bits = explode( PHP_EOL, $ret['description'] ); $ret['short_description'] = array_shift( $bits ); $long_description = trim( implode( PHP_EOL, $bits ), PHP_EOL ); diff --git a/docs/internal-api/wp-cli-add-command/index.md b/docs/internal-api/wp-cli-add-command/index.md new file mode 100644 index 00000000..f5584ecc --- /dev/null +++ b/docs/internal-api/wp-cli-add-command/index.md @@ -0,0 +1,60 @@ +--- +layout: default +title: WP_CLI::add_command() +--- + +Internal API » Registration + +## WP_CLI::add_command() + +Register a command to WP-CLI. + +*** + +### Usage + + WP_CLI::add_command( $name, $callable, $args = array() ) + +
      +$name (string) Name for the command (e.g. "post list" or "site empty").
      +$callable (string) Command implementation as a class, function or closure.
      +$args (array) {
      Optional An associative array with additional registration parameters.
      'before_invoke' => callback to execute before invoking the command,
      'shortdesc' => short description (80 char or less) for the command,
      'synopsis' => the synopsis for the command (string or array),
      'when' => execute callback on a named WP-CLI hook (e.g. before_wp_load),
      }
      +@return (true) on success, hard error if registration failed.

      +
      + + +*** + +### Notes + +WP-CLI supports using any callable class, function, or closure as a +command. `WP_CLI::add_command()` is used for both internal and +third-party command registration. + +Command arguments are parsed from PHPDoc by default, but also can be +supplied as an optional third argument during registration. + + + # Register a custom 'foo' command to output a supplied positional param. + # + # $ wp foo bar + # Success: bar + + /** + * My awesome closure command + * + * + * : An awesome message to display + * + * @when before_wp_load + */ + $foo = function( $args ) { + WP_CLI::success( $args[0] ); + }; + WP_CLI::add_command( 'foo', $foo ); + + + + + + From 87816a34bc1136ddd28b1738db08f463a017faa7 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 25 Feb 2016 06:36:27 -0800 Subject: [PATCH 488/839] Mention that docs are automatically generated --- _templates/internal-api.mustache | 2 ++ docs/internal-api/index.md | 2 ++ docs/internal-api/wp-cli-add-command/index.md | 2 ++ docs/internal-api/wp-cli-debug/index.md | 2 ++ docs/internal-api/wp-cli-error-multi-line/index.md | 2 ++ docs/internal-api/wp-cli-error/index.md | 2 ++ docs/internal-api/wp-cli-launch-self/index.md | 2 ++ docs/internal-api/wp-cli-launch/index.md | 2 ++ docs/internal-api/wp-cli-line/index.md | 2 ++ docs/internal-api/wp-cli-log/index.md | 2 ++ docs/internal-api/wp-cli-read-value/index.md | 2 ++ docs/internal-api/wp-cli-success/index.md | 2 ++ docs/internal-api/wp-cli-utils-format-items/index.md | 2 ++ docs/internal-api/wp-cli-utils-get-flag-value/index.md | 2 ++ docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md | 2 ++ docs/internal-api/wp-cli-utils-get-temp-dir/index.md | 2 ++ docs/internal-api/wp-cli-utils-make-progress-bar/index.md | 2 ++ docs/internal-api/wp-cli-utils-write-csv/index.md | 2 ++ docs/internal-api/wp-cli-warning/index.md | 2 ++ 19 files changed, 38 insertions(+) diff --git a/_templates/internal-api.mustache b/_templates/internal-api.mustache index c578cb46..05a033a8 100644 --- a/_templates/internal-api.mustache +++ b/_templates/internal-api.mustache @@ -34,6 +34,8 @@ title: {{full_name}}() {{/phpdoc.long_description}} +*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* + {{#has_related}} *** diff --git a/docs/internal-api/index.md b/docs/internal-api/index.md index b994c0f7..d46c58df 100644 --- a/docs/internal-api/index.md +++ b/docs/internal-api/index.md @@ -9,4 +9,6 @@ WP-CLI includes a number of utilities which are considered stable and meant to b This also means functions and methods not listed here are considered part of the private API. They may change or disappear at any time. +*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* + {% include internal-api-list.html %} diff --git a/docs/internal-api/wp-cli-add-command/index.md b/docs/internal-api/wp-cli-add-command/index.md index f5584ecc..3145eb12 100644 --- a/docs/internal-api/wp-cli-add-command/index.md +++ b/docs/internal-api/wp-cli-add-command/index.md @@ -55,6 +55,8 @@ supplied as an optional third argument during registration. +*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* + diff --git a/docs/internal-api/wp-cli-debug/index.md b/docs/internal-api/wp-cli-debug/index.md index 83605a5f..e6be432a 100644 --- a/docs/internal-api/wp-cli-debug/index.md +++ b/docs/internal-api/wp-cli-debug/index.md @@ -45,6 +45,8 @@ WP-CLI bootstrap process for easier debugging and profiling. +*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* + *** diff --git a/docs/internal-api/wp-cli-error-multi-line/index.md b/docs/internal-api/wp-cli-error-multi-line/index.md index 0d6192a9..d8fcedab 100644 --- a/docs/internal-api/wp-cli-error-multi-line/index.md +++ b/docs/internal-api/wp-cli-error-multi-line/index.md @@ -20,6 +20,8 @@ Display an error in the CLI and end with a newline.
      +*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* + *** diff --git a/docs/internal-api/wp-cli-error/index.md b/docs/internal-api/wp-cli-error/index.md index ece6c739..b293be74 100644 --- a/docs/internal-api/wp-cli-error/index.md +++ b/docs/internal-api/wp-cli-error/index.md @@ -40,6 +40,8 @@ to continue. +*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* + *** diff --git a/docs/internal-api/wp-cli-launch-self/index.md b/docs/internal-api/wp-cli-launch-self/index.md index 442cd6f2..02bef08e 100644 --- a/docs/internal-api/wp-cli-launch-self/index.md +++ b/docs/internal-api/wp-cli-launch-self/index.md @@ -26,6 +26,8 @@ Run a WP-CLI command in a new process reusing the current runtime arguments. +*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* + *** diff --git a/docs/internal-api/wp-cli-launch/index.md b/docs/internal-api/wp-cli-launch/index.md index df4d6bd5..69a587b1 100644 --- a/docs/internal-api/wp-cli-launch/index.md +++ b/docs/internal-api/wp-cli-launch/index.md @@ -37,6 +37,8 @@ Launch an arbitrary external process that takes over I/O. +*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* + *** diff --git a/docs/internal-api/wp-cli-line/index.md b/docs/internal-api/wp-cli-line/index.md index 7de85b41..b57e233c 100644 --- a/docs/internal-api/wp-cli-line/index.md +++ b/docs/internal-api/wp-cli-line/index.md @@ -29,6 +29,8 @@ Message is written to STDOUT. `WP_CLI::log()` is typically recommended; `WP_CLI::line()` is included for historical compat. +*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* + *** diff --git a/docs/internal-api/wp-cli-log/index.md b/docs/internal-api/wp-cli-log/index.md index 8ba5cf0e..46081f0d 100644 --- a/docs/internal-api/wp-cli-log/index.md +++ b/docs/internal-api/wp-cli-log/index.md @@ -32,6 +32,8 @@ Message is written to STDOUT, or discarded when `--quiet` flag is supplied. +*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* + *** diff --git a/docs/internal-api/wp-cli-read-value/index.md b/docs/internal-api/wp-cli-read-value/index.md index a3acce1e..768f7d7f 100644 --- a/docs/internal-api/wp-cli-read-value/index.md +++ b/docs/internal-api/wp-cli-read-value/index.md @@ -21,6 +21,8 @@ Read a value, from various formats. +*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* + diff --git a/docs/internal-api/wp-cli-success/index.md b/docs/internal-api/wp-cli-success/index.md index e73becc8..d5280b0f 100644 --- a/docs/internal-api/wp-cli-success/index.md +++ b/docs/internal-api/wp-cli-success/index.md @@ -40,6 +40,8 @@ Typically recommended to inform user of successful script conclusion. +*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* + *** diff --git a/docs/internal-api/wp-cli-utils-format-items/index.md b/docs/internal-api/wp-cli-utils-format-items/index.md index 2848d3c0..c5adb19d 100644 --- a/docs/internal-api/wp-cli-utils-format-items/index.md +++ b/docs/internal-api/wp-cli-utils-format-items/index.md @@ -62,6 +62,8 @@ Or render `$items` as YAML: +*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* + *** diff --git a/docs/internal-api/wp-cli-utils-get-flag-value/index.md b/docs/internal-api/wp-cli-utils-get-flag-value/index.md index a825f149..0ac11832 100644 --- a/docs/internal-api/wp-cli-utils-get-flag-value/index.md +++ b/docs/internal-api/wp-cli-utils-get-flag-value/index.md @@ -23,6 +23,8 @@ Return the flag value or, if it's not set, the $default value. +*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* + *** diff --git a/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md b/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md index e966c8e1..77bde09d 100644 --- a/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md +++ b/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md @@ -22,6 +22,8 @@ Compare two version strings to get the named semantic version. +*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* + *** diff --git a/docs/internal-api/wp-cli-utils-get-temp-dir/index.md b/docs/internal-api/wp-cli-utils-get-temp-dir/index.md index 1390b947..d7b39c8f 100644 --- a/docs/internal-api/wp-cli-utils-get-temp-dir/index.md +++ b/docs/internal-api/wp-cli-utils-get-temp-dir/index.md @@ -20,6 +20,8 @@ Get the temp directory, and let the user know if it isn't writable. +*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* + *** diff --git a/docs/internal-api/wp-cli-utils-make-progress-bar/index.md b/docs/internal-api/wp-cli-utils-make-progress-bar/index.md index 9a4b699b..1898c3d4 100644 --- a/docs/internal-api/wp-cli-utils-make-progress-bar/index.md +++ b/docs/internal-api/wp-cli-utils-make-progress-bar/index.md @@ -45,6 +45,8 @@ Process bar also indicates elapsed time and expected total time. +*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* + *** diff --git a/docs/internal-api/wp-cli-utils-write-csv/index.md b/docs/internal-api/wp-cli-utils-write-csv/index.md index 3d009e12..40d547a4 100644 --- a/docs/internal-api/wp-cli-utils-write-csv/index.md +++ b/docs/internal-api/wp-cli-utils-write-csv/index.md @@ -22,6 +22,8 @@ Write data as CSV to a given file. +*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* + *** diff --git a/docs/internal-api/wp-cli-warning/index.md b/docs/internal-api/wp-cli-warning/index.md index e6adc941..1b7a9e71 100644 --- a/docs/internal-api/wp-cli-warning/index.md +++ b/docs/internal-api/wp-cli-warning/index.md @@ -41,6 +41,8 @@ to continue. +*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* + *** From e01bc444f1d95f16829556230e24a82925830b59 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 25 Feb 2016 09:58:00 -0800 Subject: [PATCH 489/839] Add internal API docs for `WP_CLI::add_hook()` and `WP_CLI:do_hook()` --- _includes/internal-api-list.html | 6 ++ docs/internal-api/wp-cli-add-command/index.md | 16 ++++ docs/internal-api/wp-cli-add-hook/index.md | 75 +++++++++++++++++++ docs/internal-api/wp-cli-do-hook/index.md | 52 +++++++++++++ 4 files changed, 149 insertions(+) create mode 100644 docs/internal-api/wp-cli-add-hook/index.md create mode 100644 docs/internal-api/wp-cli-do-hook/index.md diff --git a/_includes/internal-api-list.html b/_includes/internal-api-list.html index 9f3866df..db8fd879 100644 --- a/_includes/internal-api-list.html +++ b/_includes/internal-api-list.html @@ -5,6 +5,12 @@
        +
      • WP_CLI::add_hook() - Schedule a callback to be executed at a certain point.
      • + + +
      • WP_CLI::do_hook() - Execute callbacks registered to a given hook.
      • + +
      • WP_CLI::add_command() - Register a command to WP-CLI.
      • diff --git a/docs/internal-api/wp-cli-add-command/index.md b/docs/internal-api/wp-cli-add-command/index.md index 3145eb12..7220b413 100644 --- a/docs/internal-api/wp-cli-add-command/index.md +++ b/docs/internal-api/wp-cli-add-command/index.md @@ -58,5 +58,21 @@ supplied as an optional third argument during registration. *Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* +*** + +### Related + + diff --git a/docs/internal-api/wp-cli-add-hook/index.md b/docs/internal-api/wp-cli-add-hook/index.md new file mode 100644 index 00000000..9d0a3567 --- /dev/null +++ b/docs/internal-api/wp-cli-add-hook/index.md @@ -0,0 +1,75 @@ +--- +layout: default +title: WP_CLI::add_hook() +--- + +Internal API » Registration + +## WP_CLI::add_hook() + +Schedule a callback to be executed at a certain point. + +*** + +### Usage + + WP_CLI::add_hook( $when, $callback ) + +
        +$when (string) Identifier for the hook.
        +$callback (mixed) Callback to execute when hook is called.
        +@return (null)

        +
        + + +*** + +### Notes + +Hooks conceptually are very similar to WordPress actions. WP-CLI hooks +are typically called before WordPress is loaded. + +WP-CLI hooks include: + +* 'before_invoke:' - Just before a command is invoked. +* 'after_invoke:' - Just after a command is involved. +* 'before_wp_load' - Just before the WP load process begins. +* 'before_wp_config_load' - After wp-config.php has been located. +* 'after_wp_config_load' - After wp-config.php has been loaded into scope. +* 'after_wp_load' - Just after the WP load process has completed. + +WP-CLI commands can create their own hooks with `WP_CLI::do_hook()`. + + + # `wp network meta` confirms command is executing in multisite context. + WP_CLI::add_command( 'network meta', 'Network_Meta_Command', array( + 'before_invoke' => function () { + if ( !is_multisite() ) { + WP_CLI::error( 'This is not a multisite install.' ); + } + } + ) ); + + + +*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* + + +*** + +### Related + + + + diff --git a/docs/internal-api/wp-cli-do-hook/index.md b/docs/internal-api/wp-cli-do-hook/index.md new file mode 100644 index 00000000..1883dcbe --- /dev/null +++ b/docs/internal-api/wp-cli-do-hook/index.md @@ -0,0 +1,52 @@ +--- +layout: default +title: WP_CLI::do_hook() +--- + +Internal API » Registration + +## WP_CLI::do_hook() + +Execute callbacks registered to a given hook. + +*** + +### Usage + + WP_CLI::do_hook( $when ) + +
        +$when (string) Identifier for the hook.
        +@return (null)

        +
        + + +*** + +### Notes + +See `WP_CLI::add_hook()` for details on WP-CLI's internal hook system. +Commands can provide and call their own hooks. + + +*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* + + +*** + +### Related + + + + From d69083f4599f0b83e77707d4c4d8dc88092fa07e Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 25 Feb 2016 13:59:46 -0800 Subject: [PATCH 490/839] Internal APIs: WP_CLI::get_php_binary(), Utils\http_request(), WP_CLI::confirm() --- Phakefile.php | 1 + _includes/internal-api-list.html | 29 +++++++-- docs/internal-api/wp-cli-confirm/index.md | 58 +++++++++++++++++ docs/internal-api/wp-cli-debug/index.md | 3 + .../wp-cli-error-multi-line/index.md | 33 +++++++--- docs/internal-api/wp-cli-error/index.md | 3 + .../wp-cli-get-php-binary/index.md | 47 ++++++++++++++ docs/internal-api/wp-cli-line/index.md | 3 + docs/internal-api/wp-cli-log/index.md | 3 + docs/internal-api/wp-cli-read-value/index.md | 16 +++++ docs/internal-api/wp-cli-success/index.md | 3 + .../wp-cli-utils-format-items/index.md | 3 + .../wp-cli-utils-get-flag-value/index.md | 21 ++++--- .../wp-cli-utils-get-named-sem-ver/index.md | 8 +-- .../wp-cli-utils-get-temp-dir/index.md | 15 +---- .../wp-cli-utils-http-request/index.md | 63 +++++++++++++++++++ .../wp-cli-utils-make-progress-bar/index.md | 3 + .../wp-cli-utils-write-csv/index.md | 10 +-- docs/internal-api/wp-cli-warning/index.md | 3 + 19 files changed, 276 insertions(+), 49 deletions(-) create mode 100644 docs/internal-api/wp-cli-confirm/index.md create mode 100644 docs/internal-api/wp-cli-get-php-binary/index.md create mode 100644 docs/internal-api/wp-cli-utils-http-request/index.md diff --git a/Phakefile.php b/Phakefile.php index c0510b35..c302488a 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -133,6 +133,7 @@ function gen_cmd_pages( $cmd, $parent = array() ) { 'Output' => array(), 'Input' => array(), 'Execution' => array(), + 'System' => array(), 'Misc' => array(), ); diff --git a/_includes/internal-api-list.html b/_includes/internal-api-list.html index db8fd879..3eaa99ad 100644 --- a/_includes/internal-api-list.html +++ b/_includes/internal-api-list.html @@ -46,6 +46,9 @@
      • WP_CLI::error() - Display error message prefixed with "Error: " and exit script.
      • +
      • WP_CLI::error_multi_line() - Display a multi-line error message in a red box. Doesn't exit script.
      • + +
      @@ -54,6 +57,12 @@ -## Misc +## System + + +## Misc + + diff --git a/docs/internal-api/wp-cli-confirm/index.md b/docs/internal-api/wp-cli-confirm/index.md new file mode 100644 index 00000000..0f973ecd --- /dev/null +++ b/docs/internal-api/wp-cli-confirm/index.md @@ -0,0 +1,58 @@ +--- +layout: default +title: WP_CLI::confirm() +--- + +Internal API » Input + +## WP_CLI::confirm() + +Ask for confirmation before running a destructive operation. + +*** + +### Usage + + WP_CLI::confirm( $question, $assoc_args = array() ) + +
      +$question (string) Question to display before the prompt.
      +$assoc_args (array) Skips prompt if 'yes' is provided.
      +
      + + +*** + +### Notes + +If 'y' is provided to the question, the script execution continues. If +'n' or any other response is provided to the question, script exits. + + + # `wp db drop` asks for confirmation before dropping the database. + + WP_CLI::confirm( "Are you sure you want to drop the database?", $assoc_args ); + + + +*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* + + +*** + +### Related + + + + diff --git a/docs/internal-api/wp-cli-debug/index.md b/docs/internal-api/wp-cli-debug/index.md index e6be432a..56565cff 100644 --- a/docs/internal-api/wp-cli-debug/index.md +++ b/docs/internal-api/wp-cli-debug/index.md @@ -77,6 +77,9 @@ WP-CLI bootstrap process for easier debugging and profiling.
    • WP_CLI::error() - Display error message prefixed with "Error: " and exit script.
    • +
    • WP_CLI::error_multi_line() - Display a multi-line error message in a red box. Doesn't exit script.
    • + +
    diff --git a/docs/internal-api/wp-cli-error-multi-line/index.md b/docs/internal-api/wp-cli-error-multi-line/index.md index d8fcedab..d1c7f390 100644 --- a/docs/internal-api/wp-cli-error-multi-line/index.md +++ b/docs/internal-api/wp-cli-error-multi-line/index.md @@ -3,11 +3,11 @@ layout: default title: WP_CLI::error_multi_line() --- -Internal API » Misc +Internal API » Output ## WP_CLI::error_multi_line() -Display an error in the CLI and end with a newline. +Display a multi-line error message in a red box. Doesn't exit script. *** @@ -16,10 +16,17 @@ Display an error in the CLI and end with a newline. WP_CLI::error_multi_line( $message_lines )
    -$message (array) each element from the array will be printed on its own line
    +$message (array) Multi-line error message to be displayed.
    +*** + +### Notes + +Error message is written to STDERR. + + *Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* @@ -31,16 +38,28 @@ Display an error in the CLI and end with a newline. -
  • WP_CLI\Utils\write_csv() - Write data as CSV to a given file.
  • +
  • WP_CLI\Utils\format_items() - Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or count.
  • + + +
  • WP_CLI\Utils\make_progress_bar() - Create a progress bar to display percent completion of a given operation.
  • + + +
  • WP_CLI::line() - Display informational message without prefix, and ignore `--quiet`.
  • + + +
  • WP_CLI::log() - Display informational message without prefix.
  • + + +
  • WP_CLI::success() - Display success message prefixed with "Success: ".
  • -
  • WP_CLI\Utils\get_named_sem_ver() - Compare two version strings to get the named semantic version.
  • +
  • WP_CLI::debug() - Display debug message prefixed with "Debug: " when `--debug` is used.
  • -
  • WP_CLI\Utils\get_flag_value() - Return the flag value or, if it's not set, the $default value.
  • +
  • WP_CLI::warning() - Display warning message prefixed with "Warning: ".
  • -
  • WP_CLI\Utils\get_temp_dir() - Get the temp directory, and let the user know if it isn't writable.
  • +
  • WP_CLI::error() - Display error message prefixed with "Error: " and exit script.
  • diff --git a/docs/internal-api/wp-cli-error/index.md b/docs/internal-api/wp-cli-error/index.md index b293be74..e2ee29e3 100644 --- a/docs/internal-api/wp-cli-error/index.md +++ b/docs/internal-api/wp-cli-error/index.md @@ -72,6 +72,9 @@ to continue.
  • WP_CLI::warning() - Display warning message prefixed with "Warning: ".
  • +
  • WP_CLI::error_multi_line() - Display a multi-line error message in a red box. Doesn't exit script.
  • + + diff --git a/docs/internal-api/wp-cli-get-php-binary/index.md b/docs/internal-api/wp-cli-get-php-binary/index.md new file mode 100644 index 00000000..a64a723d --- /dev/null +++ b/docs/internal-api/wp-cli-get-php-binary/index.md @@ -0,0 +1,47 @@ +--- +layout: default +title: WP_CLI::get_php_binary() +--- + +Internal API » System + +## WP_CLI::get_php_binary() + +Get the path to the PHP binary used when executing WP-CLI. + +*** + +### Usage + + WP_CLI::get_php_binary() + +
    +@return (string)

    +
    + + +*** + +### Notes + +Environment values permit specific binaries to be indicated. + + +*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* + + +*** + +### Related + + + + diff --git a/docs/internal-api/wp-cli-line/index.md b/docs/internal-api/wp-cli-line/index.md index b57e233c..33674c8b 100644 --- a/docs/internal-api/wp-cli-line/index.md +++ b/docs/internal-api/wp-cli-line/index.md @@ -61,6 +61,9 @@ Message is written to STDOUT. `WP_CLI::log()` is typically recommended;
  • WP_CLI::error() - Display error message prefixed with "Error: " and exit script.
  • +
  • WP_CLI::error_multi_line() - Display a multi-line error message in a red box. Doesn't exit script.
  • + + diff --git a/docs/internal-api/wp-cli-log/index.md b/docs/internal-api/wp-cli-log/index.md index 46081f0d..7cf44598 100644 --- a/docs/internal-api/wp-cli-log/index.md +++ b/docs/internal-api/wp-cli-log/index.md @@ -64,6 +64,9 @@ Message is written to STDOUT, or discarded when `--quiet` flag is supplied.
  • WP_CLI::error() - Display error message prefixed with "Error: " and exit script.
  • +
  • WP_CLI::error_multi_line() - Display a multi-line error message in a red box. Doesn't exit script.
  • + + diff --git a/docs/internal-api/wp-cli-read-value/index.md b/docs/internal-api/wp-cli-read-value/index.md index 768f7d7f..9680e655 100644 --- a/docs/internal-api/wp-cli-read-value/index.md +++ b/docs/internal-api/wp-cli-read-value/index.md @@ -24,5 +24,21 @@ Read a value, from various formats. *Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* +*** + +### Related + + diff --git a/docs/internal-api/wp-cli-success/index.md b/docs/internal-api/wp-cli-success/index.md index d5280b0f..a504fe02 100644 --- a/docs/internal-api/wp-cli-success/index.md +++ b/docs/internal-api/wp-cli-success/index.md @@ -72,6 +72,9 @@ Typically recommended to inform user of successful script conclusion.
  • WP_CLI::error() - Display error message prefixed with "Error: " and exit script.
  • +
  • WP_CLI::error_multi_line() - Display a multi-line error message in a red box. Doesn't exit script.
  • + + diff --git a/docs/internal-api/wp-cli-utils-format-items/index.md b/docs/internal-api/wp-cli-utils-format-items/index.md index c5adb19d..3075b67c 100644 --- a/docs/internal-api/wp-cli-utils-format-items/index.md +++ b/docs/internal-api/wp-cli-utils-format-items/index.md @@ -94,6 +94,9 @@ Or render `$items` as YAML:
  • WP_CLI::error() - Display error message prefixed with "Error: " and exit script.
  • +
  • WP_CLI::error_multi_line() - Display a multi-line error message in a red box. Doesn't exit script.
  • + + diff --git a/docs/internal-api/wp-cli-utils-get-flag-value/index.md b/docs/internal-api/wp-cli-utils-get-flag-value/index.md index 0ac11832..a1277426 100644 --- a/docs/internal-api/wp-cli-utils-get-flag-value/index.md +++ b/docs/internal-api/wp-cli-utils-get-flag-value/index.md @@ -3,7 +3,7 @@ layout: default title: WP_CLI\Utils\get_flag_value() --- -Internal API » Misc +Internal API » Input ## WP_CLI\Utils\get_flag_value() @@ -23,27 +23,30 @@ Return the flag value or, if it's not set, the $default value. -*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* +*** +### Notes -*** +Because flags can be negated (e.g. --no-quiet to negate --quiet), this +function provides a safer alternative to using +`isset( $assoc_args['quiet'] )` or similar. -### Related -
      +*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* +*** -
    • WP_CLI\Utils\write_csv() - Write data as CSV to a given file.
    • +### Related +
        -
      • WP_CLI\Utils\get_named_sem_ver() - Compare two version strings to get the named semantic version.
      • -
      • WP_CLI\Utils\get_temp_dir() - Get the temp directory, and let the user know if it isn't writable.
      • +
      • WP_CLI::confirm() - Ask for confirmation before running a destructive operation.
      • -
      • WP_CLI::error_multi_line() - Display an error in the CLI and end with a newline.
      • +
      • WP_CLI::read_value() - Read a value, from various formats.
      • diff --git a/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md b/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md index 77bde09d..1bf16419 100644 --- a/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md +++ b/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md @@ -36,13 +36,7 @@ Compare two version strings to get the named semantic version.
      • WP_CLI\Utils\write_csv() - Write data as CSV to a given file.
      • -
      • WP_CLI\Utils\get_flag_value() - Return the flag value or, if it's not set, the $default value.
      • - - -
      • WP_CLI\Utils\get_temp_dir() - Get the temp directory, and let the user know if it isn't writable.
      • - - -
      • WP_CLI::error_multi_line() - Display an error in the CLI and end with a newline.
      • +
      • WP_CLI\Utils\http_request() - Make a HTTP request to a remote URL.
      • diff --git a/docs/internal-api/wp-cli-utils-get-temp-dir/index.md b/docs/internal-api/wp-cli-utils-get-temp-dir/index.md index d7b39c8f..f00b4c65 100644 --- a/docs/internal-api/wp-cli-utils-get-temp-dir/index.md +++ b/docs/internal-api/wp-cli-utils-get-temp-dir/index.md @@ -3,11 +3,11 @@ layout: default title: WP_CLI\Utils\get_temp_dir() --- -Internal API » Misc +Internal API » System ## WP_CLI\Utils\get_temp_dir() -Get the temp directory, and let the user know if it isn't writable. +Get the system's temp directory. Warns user if it isn't writable. *** @@ -31,16 +31,7 @@ Get the temp directory, and let the user know if it isn't writable. -
      • WP_CLI\Utils\write_csv() - Write data as CSV to a given file.
      • - - -
      • WP_CLI\Utils\get_named_sem_ver() - Compare two version strings to get the named semantic version.
      • - - -
      • WP_CLI\Utils\get_flag_value() - Return the flag value or, if it's not set, the $default value.
      • - - -
      • WP_CLI::error_multi_line() - Display an error in the CLI and end with a newline.
      • +
      • WP_CLI::get_php_binary() - Get the path to the PHP binary used when executing WP-CLI.
      • diff --git a/docs/internal-api/wp-cli-utils-http-request/index.md b/docs/internal-api/wp-cli-utils-http-request/index.md new file mode 100644 index 00000000..b268729c --- /dev/null +++ b/docs/internal-api/wp-cli-utils-http-request/index.md @@ -0,0 +1,63 @@ +--- +layout: default +title: WP_CLI\Utils\http_request() +--- + +Internal API » Misc + +## WP_CLI\Utils\http_request() + +Make a HTTP request to a remote URL. + +*** + +### Usage + + WP_CLI\Utils\http_request( $method, $url, $data = array(), $headers = array(), $options = array() ) + +
        +$method (string) HTTP method (GET, POST, DELETE, etc.)
        +$url (string) URL to make the HTTP request to.
        +$headers (array) Add specific headers to the request.
        +$options (array)
        +@return (object)

        +
        + + +*** + +### Notes + +Wraps the Requests HTTP library to ensure every request includes a cert. + + + # `wp core download` verifies the hash for a downloaded WordPress archive + + $md5_response = Utils\http_request( 'GET', $download_url . '.md5' ); + if ( 20 != substr( $md5_response->status_code, 0, 2 ) ) { + WP_CLI::error( "Couldn't access md5 hash for release (HTTP code {$response->status_code})" ); + } + + + +*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* + + +*** + +### Related + + + + diff --git a/docs/internal-api/wp-cli-utils-make-progress-bar/index.md b/docs/internal-api/wp-cli-utils-make-progress-bar/index.md index 1898c3d4..f139a2b2 100644 --- a/docs/internal-api/wp-cli-utils-make-progress-bar/index.md +++ b/docs/internal-api/wp-cli-utils-make-progress-bar/index.md @@ -77,6 +77,9 @@ Process bar also indicates elapsed time and expected total time.
      • WP_CLI::error() - Display error message prefixed with "Error: " and exit script.
      • +
      • WP_CLI::error_multi_line() - Display a multi-line error message in a red box. Doesn't exit script.
      • + +
      diff --git a/docs/internal-api/wp-cli-utils-write-csv/index.md b/docs/internal-api/wp-cli-utils-write-csv/index.md index 40d547a4..8eccb81e 100644 --- a/docs/internal-api/wp-cli-utils-write-csv/index.md +++ b/docs/internal-api/wp-cli-utils-write-csv/index.md @@ -33,16 +33,10 @@ Write data as CSV to a given file. -
    • WP_CLI\Utils\get_named_sem_ver() - Compare two version strings to get the named semantic version.
    • - - -
    • WP_CLI\Utils\get_flag_value() - Return the flag value or, if it's not set, the $default value.
    • +
    • WP_CLI\Utils\http_request() - Make a HTTP request to a remote URL.
    • -
    • WP_CLI\Utils\get_temp_dir() - Get the temp directory, and let the user know if it isn't writable.
    • - - -
    • WP_CLI::error_multi_line() - Display an error in the CLI and end with a newline.
    • +
    • WP_CLI\Utils\get_named_sem_ver() - Compare two version strings to get the named semantic version.
    • diff --git a/docs/internal-api/wp-cli-warning/index.md b/docs/internal-api/wp-cli-warning/index.md index 1b7a9e71..8784804f 100644 --- a/docs/internal-api/wp-cli-warning/index.md +++ b/docs/internal-api/wp-cli-warning/index.md @@ -73,6 +73,9 @@ to continue.
    • WP_CLI::error() - Display error message prefixed with "Error: " and exit script.
    • +
    • WP_CLI::error_multi_line() - Display a multi-line error message in a red box. Doesn't exit script.
    • + +
    From 4333a4d76beb50dcecb607448159faa6a2fb64ae Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 26 Feb 2016 06:45:05 -0800 Subject: [PATCH 491/839] Display global params in the sidebar --- Phakefile.php | 11 +++ _includes/footer.html | 4 + _includes/global-parameters.html | 26 ++++++ _includes/header.html | 4 + _templates/global-parameters.mustache | 10 +++ _templates/subcmd-list.mustache | 1 + assets/css/stylesheet.css | 93 +++++++++++++++++++++- commands/cache/add/index.md | 33 +------- commands/cache/decr/index.md | 33 +------- commands/cache/delete/index.md | 33 +------- commands/cache/flush/index.md | 33 +------- commands/cache/get/index.md | 33 +------- commands/cache/incr/index.md | 33 +------- commands/cache/index.md | 35 +------- commands/cache/replace/index.md | 33 +------- commands/cache/set/index.md | 33 +------- commands/cache/type/index.md | 33 +------- commands/cap/add/index.md | 33 +------- commands/cap/index.md | 35 +------- commands/cap/list/index.md | 33 +------- commands/cap/remove/index.md | 33 +------- commands/cli/check-update/index.md | 33 +------- commands/cli/cmd-dump/index.md | 33 +------- commands/cli/completions/index.md | 33 +------- commands/cli/index.md | 33 +------- commands/cli/info/index.md | 33 +------- commands/cli/param-dump/index.md | 33 +------- commands/cli/update/index.md | 33 +------- commands/cli/version/index.md | 33 +------- commands/comment/approve/index.md | 33 +------- commands/comment/count/index.md | 33 +------- commands/comment/create/index.md | 33 +------- commands/comment/delete/index.md | 33 +------- commands/comment/exists/index.md | 33 +------- commands/comment/generate/index.md | 33 +------- commands/comment/get/index.md | 33 +------- commands/comment/index.md | 35 +------- commands/comment/list/index.md | 33 +------- commands/comment/meta/add/index.md | 33 +------- commands/comment/meta/delete/index.md | 33 +------- commands/comment/meta/get/index.md | 33 +------- commands/comment/meta/index.md | 33 +------- commands/comment/meta/list/index.md | 33 +------- commands/comment/meta/update/index.md | 33 +------- commands/comment/recount/index.md | 33 +------- commands/comment/spam/index.md | 33 +------- commands/comment/status/index.md | 33 +------- commands/comment/trash/index.md | 33 +------- commands/comment/unapprove/index.md | 33 +------- commands/comment/unspam/index.md | 33 +------- commands/comment/untrash/index.md | 33 +------- commands/comment/update/index.md | 33 +------- commands/comment/url/index.md | 33 +------- commands/core/check-update/index.md | 33 +------- commands/core/config/index.md | 33 +------- commands/core/download/index.md | 33 +------- commands/core/index.md | 33 +------- commands/core/install/index.md | 33 +------- commands/core/is-installed/index.md | 33 +------- commands/core/language/activate/index.md | 33 +------- commands/core/language/index.md | 33 +------- commands/core/language/install/index.md | 33 +------- commands/core/language/list/index.md | 33 +------- commands/core/language/uninstall/index.md | 33 +------- commands/core/language/update/index.md | 33 +------- commands/core/multisite-convert/index.md | 33 +------- commands/core/multisite-install/index.md | 33 +------- commands/core/update-db/index.md | 33 +------- commands/core/update/index.md | 33 +------- commands/core/verify-checksums/index.md | 33 +------- commands/core/version/index.md | 33 +------- commands/cron/event/delete/index.md | 33 +------- commands/cron/event/index.md | 33 +------- commands/cron/event/list/index.md | 33 +------- commands/cron/event/run/index.md | 33 +------- commands/cron/event/schedule/index.md | 33 +------- commands/cron/index.md | 33 +------- commands/cron/schedule/index.md | 33 +------- commands/cron/schedule/list/index.md | 33 +------- commands/cron/test/index.md | 33 +------- commands/db/cli/index.md | 33 +------- commands/db/create/index.md | 33 +------- commands/db/drop/index.md | 33 +------- commands/db/export/index.md | 33 +------- commands/db/import/index.md | 33 +------- commands/db/index.md | 33 +------- commands/db/optimize/index.md | 33 +------- commands/db/query/index.md | 33 +------- commands/db/repair/index.md | 33 +------- commands/db/reset/index.md | 33 +------- commands/db/tables/index.md | 33 +------- commands/eval-file/index.md | 33 +------- commands/eval/index.md | 33 +------- commands/export/index.md | 33 +------- commands/help/index.md | 33 +------- commands/import/index.md | 33 +------- commands/index.html | 1 + commands/media/import/index.md | 33 +------- commands/media/index.md | 33 +------- commands/media/regenerate/index.md | 33 +------- commands/menu/create/index.md | 33 +------- commands/menu/delete/index.md | 33 +------- commands/menu/index.md | 35 +------- commands/menu/item/add-custom/index.md | 33 +------- commands/menu/item/add-post/index.md | 33 +------- commands/menu/item/add-term/index.md | 33 +------- commands/menu/item/delete/index.md | 33 +------- commands/menu/item/index.md | 33 +------- commands/menu/item/list/index.md | 33 +------- commands/menu/item/update/index.md | 33 +------- commands/menu/list/index.md | 33 +------- commands/menu/location/assign/index.md | 33 +------- commands/menu/location/index.md | 33 +------- commands/menu/location/list/index.md | 33 +------- commands/menu/location/remove/index.md | 33 +------- commands/network/index.md | 33 +------- commands/network/meta/add/index.md | 33 +------- commands/network/meta/delete/index.md | 33 +------- commands/network/meta/get/index.md | 33 +------- commands/network/meta/index.md | 33 +------- commands/network/meta/list/index.md | 33 +------- commands/network/meta/update/index.md | 33 +------- commands/option/add/index.md | 33 +------- commands/option/delete/index.md | 33 +------- commands/option/get/index.md | 33 +------- commands/option/index.md | 35 +------- commands/option/list/index.md | 33 +------- commands/option/update/index.md | 33 +------- commands/plugin/activate/index.md | 33 +------- commands/plugin/deactivate/index.md | 33 +------- commands/plugin/delete/index.md | 33 +------- commands/plugin/get/index.md | 33 +------- commands/plugin/index.md | 33 +------- commands/plugin/install/index.md | 33 +------- commands/plugin/is-installed/index.md | 33 +------- commands/plugin/list/index.md | 33 +------- commands/plugin/path/index.md | 33 +------- commands/plugin/search/index.md | 33 +------- commands/plugin/status/index.md | 33 +------- commands/plugin/toggle/index.md | 33 +------- commands/plugin/uninstall/index.md | 33 +------- commands/plugin/update/index.md | 33 +------- commands/post-type/get/index.md | 33 +------- commands/post-type/index.md | 33 +------- commands/post-type/list/index.md | 33 +------- commands/post/create/index.md | 33 +------- commands/post/delete/index.md | 33 +------- commands/post/edit/index.md | 33 +------- commands/post/generate/index.md | 33 +------- commands/post/get/index.md | 33 +------- commands/post/index.md | 33 +------- commands/post/list/index.md | 33 +------- commands/post/meta/add/index.md | 33 +------- commands/post/meta/delete/index.md | 33 +------- commands/post/meta/get/index.md | 33 +------- commands/post/meta/index.md | 33 +------- commands/post/meta/list/index.md | 33 +------- commands/post/meta/update/index.md | 33 +------- commands/post/term/add/index.md | 33 +------- commands/post/term/index.md | 33 +------- commands/post/term/list/index.md | 33 +------- commands/post/term/remove/index.md | 33 +------- commands/post/term/set/index.md | 33 +------- commands/post/update/index.md | 33 +------- commands/rewrite/flush/index.md | 33 +------- commands/rewrite/index.md | 33 +------- commands/rewrite/list/index.md | 33 +------- commands/rewrite/structure/index.md | 33 +------- commands/role/create/index.md | 33 +------- commands/role/delete/index.md | 33 +------- commands/role/exists/index.md | 33 +------- commands/role/index.md | 33 +------- commands/role/list/index.md | 33 +------- commands/role/reset/index.md | 33 +------- commands/scaffold/_s/index.md | 33 +------- commands/scaffold/child-theme/index.md | 33 +------- commands/scaffold/index.md | 33 +------- commands/scaffold/package-tests/index.md | 33 +------- commands/scaffold/plugin-tests/index.md | 33 +------- commands/scaffold/plugin/index.md | 33 +------- commands/scaffold/post-type/index.md | 33 +------- commands/scaffold/taxonomy/index.md | 33 +------- commands/search-replace/index.md | 33 +------- commands/server/index.md | 33 +------- commands/shell/index.md | 33 +------- commands/sidebar/index.md | 33 +------- commands/sidebar/list/index.md | 33 +------- commands/site/activate/index.md | 33 +------- commands/site/archive/index.md | 33 +------- commands/site/create/index.md | 33 +------- commands/site/deactivate/index.md | 33 +------- commands/site/delete/index.md | 33 +------- commands/site/empty/index.md | 33 +------- commands/site/index.md | 33 +------- commands/site/list/index.md | 33 +------- commands/site/spam/index.md | 33 +------- commands/site/unarchive/index.md | 33 +------- commands/site/unspam/index.md | 33 +------- commands/super-admin/add/index.md | 33 +------- commands/super-admin/index.md | 33 +------- commands/super-admin/list/index.md | 33 +------- commands/super-admin/remove/index.md | 33 +------- commands/taxonomy/get/index.md | 33 +------- commands/taxonomy/index.md | 33 +------- commands/taxonomy/list/index.md | 33 +------- commands/term/create/index.md | 33 +------- commands/term/delete/index.md | 33 +------- commands/term/generate/index.md | 33 +------- commands/term/get/index.md | 33 +------- commands/term/index.md | 33 +------- commands/term/list/index.md | 33 +------- commands/term/update/index.md | 33 +------- commands/term/url/index.md | 33 +------- commands/theme/activate/index.md | 33 +------- commands/theme/delete/index.md | 33 +------- commands/theme/disable/index.md | 33 +------- commands/theme/enable/index.md | 33 +------- commands/theme/get/index.md | 33 +------- commands/theme/index.md | 33 +------- commands/theme/install/index.md | 33 +------- commands/theme/is-installed/index.md | 33 +------- commands/theme/list/index.md | 33 +------- commands/theme/mod/get/index.md | 33 +------- commands/theme/mod/index.md | 33 +------- commands/theme/mod/remove/index.md | 33 +------- commands/theme/mod/set/index.md | 33 +------- commands/theme/path/index.md | 33 +------- commands/theme/search/index.md | 33 +------- commands/theme/status/index.md | 33 +------- commands/theme/update/index.md | 33 +------- commands/transient/delete-all/index.md | 33 +------- commands/transient/delete-expired/index.md | 33 +------- commands/transient/delete/index.md | 33 +------- commands/transient/get/index.md | 33 +------- commands/transient/index.md | 35 +------- commands/transient/set/index.md | 33 +------- commands/transient/type/index.md | 33 +------- commands/user/add-cap/index.md | 33 +------- commands/user/add-role/index.md | 33 +------- commands/user/create/index.md | 33 +------- commands/user/delete/index.md | 33 +------- commands/user/generate/index.md | 33 +------- commands/user/get/index.md | 33 +------- commands/user/import-csv/index.md | 33 +------- commands/user/index.md | 33 +------- commands/user/list-caps/index.md | 33 +------- commands/user/list/index.md | 33 +------- commands/user/meta/add/index.md | 33 +------- commands/user/meta/delete/index.md | 33 +------- commands/user/meta/get/index.md | 33 +------- commands/user/meta/index.md | 33 +------- commands/user/meta/list/index.md | 33 +------- commands/user/meta/update/index.md | 33 +------- commands/user/remove-cap/index.md | 33 +------- commands/user/remove-role/index.md | 33 +------- commands/user/set-role/index.md | 33 +------- commands/user/term/add/index.md | 33 +------- commands/user/term/index.md | 33 +------- commands/user/term/list/index.md | 33 +------- commands/user/term/remove/index.md | 33 +------- commands/user/term/set/index.md | 33 +------- commands/user/update/index.md | 33 +------- commands/widget/add/index.md | 33 +------- commands/widget/deactivate/index.md | 33 +------- commands/widget/delete/index.md | 33 +------- commands/widget/index.md | 35 +------- commands/widget/list/index.md | 33 +------- commands/widget/move/index.md | 33 +------- commands/widget/update/index.md | 33 +------- 269 files changed, 415 insertions(+), 8362 deletions(-) create mode 100644 _includes/global-parameters.html create mode 100644 _templates/global-parameters.mustache diff --git a/Phakefile.php b/Phakefile.php index c302488a..c0490c0a 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -62,6 +62,9 @@ function gen_cmd_pages( $cmd, $parent = array() ) { $docs = preg_replace( '/ <</', ' <<', $docs ); $docs = preg_replace( '/"/', '"', $docs ); + // Strip global parameters -> added in footer + $docs = preg_replace( '/#?## GLOBAL PARAMETERS.+/s', '', $docs ); + $binding['docs'] = $docs; } @@ -97,6 +100,7 @@ function gen_cmd_pages( $cmd, $parent = array() ) { $out = ''; + $global_args = array(); foreach ( $config_spec as $key => $details ) { if ( isset( $details['hidden'] ) || isset( $details['deprecated'] ) ) continue; @@ -120,9 +124,16 @@ function gen_cmd_pages( $cmd, $parent = array() ) { $description = ( isset( $details['desc'] ) ) ? $details['desc'] : ''; $out .= render( 'config.mustache', compact( 'config', 'flag', 'default', 'description' ) ); + if ( ! empty( $flag ) ) { + $global_args[] = array( + 'flag' => $flag, + 'description' => $description, + ); + } } file_put_contents( '_includes/param-list.html', $out ); + file_put_contents( '_includes/global-parameters.html', render( 'global-parameters.mustache', array( 'args' => $global_args ) ) ); }); desc( 'Update the /docs/internal-api/ page.' ); diff --git a/_includes/footer.html b/_includes/footer.html index 765991a9..71a90b1e 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -1,6 +1,10 @@ + {% if page.display_global_parameters %} + {% include global-parameters.html %} + {% endif %} + {% include analytics.html %} diff --git a/_includes/global-parameters.html b/_includes/global-parameters.html new file mode 100644 index 00000000..3c5df66c --- /dev/null +++ b/_includes/global-parameters.html @@ -0,0 +1,26 @@ + diff --git a/_includes/header.html b/_includes/header.html index 028110ba..416dd8ec 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -14,7 +14,11 @@ {{ page.title }} | WP-CLI + {% if page.display_global_parameters %} + + {% else %} + {% endif %}
    diff --git a/_templates/global-parameters.mustache b/_templates/global-parameters.mustache new file mode 100644 index 00000000..18d1c616 --- /dev/null +++ b/_templates/global-parameters.mustache @@ -0,0 +1,10 @@ + diff --git a/_templates/subcmd-list.mustache b/_templates/subcmd-list.mustache index 233fb98a..8fd815c6 100644 --- a/_templates/subcmd-list.mustache +++ b/_templates/subcmd-list.mustache @@ -1,6 +1,7 @@ --- layout: default title: 'wp {{synopsis}}' +display_global_parameters: true --- `wp {{synopsis}}` - {{description}} diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index bb2c6075..e0db2288 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -24,9 +24,10 @@ body { /* General & 'Reset' Stuff */ .container { - width: 90%; - max-width: 800px; + width: 100%; + max-width: 880px; margin: 0 auto; + padding: 0 20px; } section { @@ -301,7 +302,7 @@ footer { display: block; text-align: center; font-size: 10px; - margin: 20px 10px 10px 10px; + margin: 20px 10px 40px 10px; } .main-nav { @@ -397,9 +398,26 @@ footer { /** * Main Content */ +body.display-global-parameters { + overflow-x: hidden; +} + +body.display-global-parameters #main_content { + width: 65%; + float: left; +} + +@media (max-width: 690px) { + body.display-global-parameters #main_content{ + width: 100%; + } +} #main_content { width: 100%; + padding: 0 20px; + margin: 0 -20px; + box-sizing: border-box; -webkit-font-smoothing: antialiased; } @@ -433,6 +451,75 @@ footer { /*margin: 0 0 .3em 0;*/ } +/** + * Global Parameters + */ + +.global-parameters { + width: 35%; + float: right; + margin: 0 -20px 40px -20px; + padding: 0 20px; + color: #888; + background: #fff; + font-size: 14px; + box-sizing: border-box; + padding-left: 30px +} + +@media (max-width: 690px) { + .global-parameters { + width: auto; + margin:0; + float: none; + padding-left: 40px; + padding-right: 40px; + } +} + + +.global-parameters h3{ + text-transform: uppercase; + color: #888; + font-weight: bold; + font-size: 16px; + margin-left: -20px; +} +.global-parameters code { + background: none; + display: block; + font-size: 14px; + color: #0074A2; + font-weight: bold; + text-shadow: none; + margin-left: -20px; +} + +.global-parameters p { + margin-bottom: 5px; +} + + // Adjust visibility per page +body.command-line-interface-for-wordpress .global-parameters, +body.configuration .global-parameters{ + display: none; + background: green; +} + +body.configuration .global-parameters{ + display: none; + background: green; +} + + +.blog aside.global-parameters { + display: none; +} + +.command-line-interface-for-wordpress #main_content, +.blog #main_content { + width: 100%; +} /* Buttons */ diff --git a/commands/cache/add/index.md b/commands/cache/add/index.md index 640b6b66..472e7b62 100644 --- a/commands/cache/add/index.md +++ b/commands/cache/add/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp cache add' +display_global_parameters: true --- `wp cache add` - Add a value to the object cache. @@ -21,37 +22,5 @@ If a value already exists for the key, the value isn't added. [<expiration>] : Define how long to keep the value, in seconds. Defaults to 0 (as long as possible). -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/cache/decr/index.md b/commands/cache/decr/index.md index d8564a6d..1e62db8b 100644 --- a/commands/cache/decr/index.md +++ b/commands/cache/decr/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp cache decr' +display_global_parameters: true --- `wp cache decr` - Decrement a value in the object cache. @@ -16,37 +17,5 @@ title: 'wp cache decr' [<group>] : Method for grouping data within the cache which allows the same key to be used across groups. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/cache/delete/index.md b/commands/cache/delete/index.md index e1fc4503..adf28704 100644 --- a/commands/cache/delete/index.md +++ b/commands/cache/delete/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp cache delete' +display_global_parameters: true --- `wp cache delete` - Remove a value from the object cache. @@ -13,37 +14,5 @@ title: 'wp cache delete' [<group>] : Method for grouping data within the cache which allows the same key to be used across groups. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/cache/flush/index.md b/commands/cache/flush/index.md index 01835504..e34ef0b7 100644 --- a/commands/cache/flush/index.md +++ b/commands/cache/flush/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp cache flush' +display_global_parameters: true --- `wp cache flush` - Flush the object cache. @@ -10,37 +11,5 @@ title: 'wp cache flush' For sites using a persistent object cache, because WordPress Multisite simply adds a blog id to the cache key, flushing cache is typically a global operation. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/cache/get/index.md b/commands/cache/get/index.md index 2a6f4204..686637e2 100644 --- a/commands/cache/get/index.md +++ b/commands/cache/get/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp cache get' +display_global_parameters: true --- `wp cache get` - Get a value from the object cache. @@ -13,37 +14,5 @@ title: 'wp cache get' [<group>] : Method for grouping data within the cache which allows the same key to be used across groups. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/cache/incr/index.md b/commands/cache/incr/index.md index d988b2f4..b60eec01 100644 --- a/commands/cache/incr/index.md +++ b/commands/cache/incr/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp cache incr' +display_global_parameters: true --- `wp cache incr` - Increment a value in the object cache. @@ -16,37 +17,5 @@ title: 'wp cache incr' [<group>] : Method for grouping data within the cache which allows the same key to be used across groups. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/cache/index.md b/commands/cache/index.md index 6ad54c6c..8e659355 100644 --- a/commands/cache/index.md +++ b/commands/cache/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp cache' +display_global_parameters: true --- `wp cache` - Manage the object cache. @@ -11,39 +12,7 @@ title: 'wp cache' wp cache set my_key my_value my_group 300 - wp cache get my_key my_group## GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - - + wp cache get my_key my_group ### SUBCOMMANDS diff --git a/commands/cache/replace/index.md b/commands/cache/replace/index.md index 35f013c4..a0661b77 100644 --- a/commands/cache/replace/index.md +++ b/commands/cache/replace/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp cache replace' +display_global_parameters: true --- `wp cache replace` - Replace a value in the object cache, if the value already exists. @@ -19,37 +20,5 @@ title: 'wp cache replace' [<expiration>] : Define how long to keep the value, in seconds. Defaults to 0 (as long as possible). -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/cache/set/index.md b/commands/cache/set/index.md index 7546da1a..3d85b269 100644 --- a/commands/cache/set/index.md +++ b/commands/cache/set/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp cache set' +display_global_parameters: true --- `wp cache set` - Set a value to the object cache, regardless of whether it already exists. @@ -19,37 +20,5 @@ title: 'wp cache set' [<expiration>] : Define how long to keep the value, in seconds. Defaults to 0 (as long as possible). -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/cache/type/index.md b/commands/cache/type/index.md index 761ac04b..37ddb97d 100644 --- a/commands/cache/type/index.md +++ b/commands/cache/type/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp cache type' +display_global_parameters: true --- `wp cache type` - Attempts to determine which object cache is being used. @@ -11,37 +12,5 @@ Note that the guesses made by this function are based on the WP_Object_Cache cla that define the 3rd party object cache extension. Changes to those classes could render problems with this function's ability to determine which object cache is being used. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/cap/add/index.md b/commands/cap/add/index.md index a19c3b23..5d35fce6 100644 --- a/commands/cap/add/index.md +++ b/commands/cap/add/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp cap add' +display_global_parameters: true --- `wp cap add` - Add capabilities to a given role. @@ -13,37 +14,5 @@ title: 'wp cap add' <cap>... : One or more capabilities to add. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/cap/index.md b/commands/cap/index.md index 051f43a2..625be414 100644 --- a/commands/cap/index.md +++ b/commands/cap/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp cap' +display_global_parameters: true --- `wp cap` - Manage user capabilities. @@ -16,39 +17,7 @@ title: 'wp cap' wp cap list 'editor' | xargs wp cap add 'author' # Remove all caps from 'editor' role that also appear in 'author' role - wp cap list 'author' | xargs wp cap remove 'editor'## GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - - + wp cap list 'author' | xargs wp cap remove 'editor' ### SUBCOMMANDS diff --git a/commands/cap/list/index.md b/commands/cap/list/index.md index 0aa8bbed..b6985498 100644 --- a/commands/cap/list/index.md +++ b/commands/cap/list/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp cap list' +display_global_parameters: true --- `wp cap list` - List capabilities for a given role. @@ -15,37 +16,5 @@ title: 'wp cap list' # Display alphabetical list of bbPress moderator capabilities wp cap list 'bbp_moderator' | sort -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/cap/remove/index.md b/commands/cap/remove/index.md index 32925af1..219cc301 100644 --- a/commands/cap/remove/index.md +++ b/commands/cap/remove/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp cap remove' +display_global_parameters: true --- `wp cap remove` - Remove capabilities from a given role. @@ -13,37 +14,5 @@ title: 'wp cap remove' <cap>... : One or more capabilities to remove. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/cli/check-update/index.md b/commands/cli/check-update/index.md index d52dd7f5..5181eff2 100644 --- a/commands/cli/check-update/index.md +++ b/commands/cli/check-update/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp cli check-update' +display_global_parameters: true --- `wp cli check-update` - Check for update via Github API. Returns the available versions if there are updates, or empty if no update available. @@ -27,37 +28,5 @@ title: 'wp cli check-update' [\--format=<format>] : Accepted values: table, csv, json, count. Default: table -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/cli/cmd-dump/index.md b/commands/cli/cmd-dump/index.md index 9dc4b12c..85127a29 100644 --- a/commands/cli/cmd-dump/index.md +++ b/commands/cli/cmd-dump/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp cli cmd-dump' +display_global_parameters: true --- `wp cli cmd-dump` - Dump the list of installed commands, as JSON. @@ -9,37 +10,5 @@ title: 'wp cli cmd-dump' -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/cli/completions/index.md b/commands/cli/completions/index.md index 61f4fdc5..64c97d5b 100644 --- a/commands/cli/completions/index.md +++ b/commands/cli/completions/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp cli completions' +display_global_parameters: true --- `wp cli completions` - Generate tab completion strings. @@ -15,37 +16,5 @@ title: 'wp cli completions' \--point=<point> : The index to the current cursor position relative to the beginning of the command -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/cli/index.md b/commands/cli/index.md index 776f95d5..22b5893c 100644 --- a/commands/cli/index.md +++ b/commands/cli/index.md @@ -1,44 +1,13 @@ --- layout: default title: 'wp cli' +display_global_parameters: true --- `wp cli` - Get information about WP-CLI itself.
    -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - ### SUBCOMMANDS diff --git a/commands/cli/info/index.md b/commands/cli/info/index.md index ae1af77e..65e28f7d 100644 --- a/commands/cli/info/index.md +++ b/commands/cli/info/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp cli info' +display_global_parameters: true --- `wp cli info` - Print various data about the CLI environment. @@ -12,37 +13,5 @@ title: 'wp cli info' [\--format=<format>] : Accepted values: json -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/cli/param-dump/index.md b/commands/cli/param-dump/index.md index 032bb31f..d319e4c9 100644 --- a/commands/cli/param-dump/index.md +++ b/commands/cli/param-dump/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp cli param-dump' +display_global_parameters: true --- `wp cli param-dump` - Dump the list of global parameters, as JSON or in var_export format. @@ -15,37 +16,5 @@ title: 'wp cli param-dump' [\--format=<format>] : Accepted values: var_export, json. Default: json. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/cli/update/index.md b/commands/cli/update/index.md index 22c709fd..d9689851 100644 --- a/commands/cli/update/index.md +++ b/commands/cli/update/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp cli update' +display_global_parameters: true --- `wp cli update` - Fetch most recent update matching the requirements. Returns the available versions if there are updates, or empty if no update available. @@ -24,37 +25,5 @@ title: 'wp cli update' [\--yes] : Do not prompt for confirmation -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/cli/version/index.md b/commands/cli/version/index.md index aaaf6f51..73a9b231 100644 --- a/commands/cli/version/index.md +++ b/commands/cli/version/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp cli version' +display_global_parameters: true --- `wp cli version` - Print WP-CLI version. @@ -9,37 +10,5 @@ title: 'wp cli version' -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/comment/approve/index.md b/commands/comment/approve/index.md index 3483dd6c..e5bac73c 100644 --- a/commands/comment/approve/index.md +++ b/commands/comment/approve/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp comment approve' +display_global_parameters: true --- `wp comment approve` - Approve a comment. @@ -16,37 +17,5 @@ title: 'wp comment approve' wp comment approve 1337 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/comment/count/index.md b/commands/comment/count/index.md index c60c2d7f..7a8aa888 100644 --- a/commands/comment/count/index.md +++ b/commands/comment/count/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp comment count' +display_global_parameters: true --- `wp comment count` - Count comments, on whole blog or on a given post. @@ -17,37 +18,5 @@ title: 'wp comment count' wp comment count wp comment count 42 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/comment/create/index.md b/commands/comment/create/index.md index c035695a..a0ed055f 100644 --- a/commands/comment/create/index.md +++ b/commands/comment/create/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp comment create' +display_global_parameters: true --- `wp comment create` - Insert a comment. @@ -19,37 +20,5 @@ title: 'wp comment create' wp comment create --comment_post_ID=15 --comment_content="hello blog" --comment_author="wp-cli" -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/comment/delete/index.md b/commands/comment/delete/index.md index 05b6f02f..144d8377 100644 --- a/commands/comment/delete/index.md +++ b/commands/comment/delete/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp comment delete' +display_global_parameters: true --- `wp comment delete` - Delete a comment. @@ -21,37 +22,5 @@ title: 'wp comment delete' wp comment delete 1337 2341 --force -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/comment/exists/index.md b/commands/comment/exists/index.md index 87479508..f48f27e8 100644 --- a/commands/comment/exists/index.md +++ b/commands/comment/exists/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp comment exists' +display_global_parameters: true --- `wp comment exists` - Verify whether a comment exists. @@ -16,37 +17,5 @@ title: 'wp comment exists' wp comment exists 1337 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/comment/generate/index.md b/commands/comment/generate/index.md index 3cba3564..a01f2ce3 100644 --- a/commands/comment/generate/index.md +++ b/commands/comment/generate/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp comment generate' +display_global_parameters: true --- `wp comment generate` - Generate comments. @@ -12,37 +13,5 @@ title: 'wp comment generate' [\--count=<number>] : How many comments to generate. Default: 100 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/comment/get/index.md b/commands/comment/get/index.md index fb108c42..0d418f7f 100644 --- a/commands/comment/get/index.md +++ b/commands/comment/get/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp comment get' +display_global_parameters: true --- `wp comment get` - Get a single comment. @@ -25,37 +26,5 @@ title: 'wp comment get' wp comment get 1 --field=content -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/comment/index.md b/commands/comment/index.md index 884853df..a26c0b86 100644 --- a/commands/comment/index.md +++ b/commands/comment/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp comment' +display_global_parameters: true --- `wp comment` - Manage comments. @@ -10,39 +11,7 @@ title: 'wp comment' ### EXAMPLES # delete all spam comments. - wp comment delete $(wp comment list --status=spam --format=ids)## GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - - + wp comment delete $(wp comment list --status=spam --format=ids) ### SUBCOMMANDS diff --git a/commands/comment/list/index.md b/commands/comment/list/index.md index 5d86e9e9..690afff3 100644 --- a/commands/comment/list/index.md +++ b/commands/comment/list/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp comment list' +display_global_parameters: true --- `wp comment list` - Get a list of comments. @@ -52,37 +53,5 @@ These fields are optionally available: wp comment list --number=20 --status=approve -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/comment/meta/add/index.md b/commands/comment/meta/add/index.md index d847d2dc..ed00541f 100644 --- a/commands/comment/meta/add/index.md +++ b/commands/comment/meta/add/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp comment meta add' +display_global_parameters: true --- `wp comment meta add` - Add a meta field. @@ -21,37 +22,5 @@ title: 'wp comment meta add' [\--format=<format>] : The serialization format for the value. Default is plaintext. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/comment/meta/delete/index.md b/commands/comment/meta/delete/index.md index 8ee38f89..e31d9d60 100644 --- a/commands/comment/meta/delete/index.md +++ b/commands/comment/meta/delete/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp comment meta delete' +display_global_parameters: true --- `wp comment meta delete` - Delete a meta field. @@ -19,37 +20,5 @@ title: 'wp comment meta delete' [\--all] : Delete all meta for the object. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/comment/meta/get/index.md b/commands/comment/meta/get/index.md index a94e3eff..270be134 100644 --- a/commands/comment/meta/get/index.md +++ b/commands/comment/meta/get/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp comment meta get' +display_global_parameters: true --- `wp comment meta get` - Get meta field value. @@ -16,37 +17,5 @@ title: 'wp comment meta get' [\--format=<format>] : Accepted values: table, json. Default: table -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/comment/meta/index.md b/commands/comment/meta/index.md index 2febbec0..1cc8ec7a 100644 --- a/commands/comment/meta/index.md +++ b/commands/comment/meta/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp comment meta' +display_global_parameters: true --- `wp comment meta` - Manage comment custom fields. @@ -16,38 +17,6 @@ title: 'wp comment meta' wp comment meta set 123 description "Mary is a WordPress developer." -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - ### SUBCOMMANDS diff --git a/commands/comment/meta/list/index.md b/commands/comment/meta/list/index.md index 1dd42f6b..e1471003 100644 --- a/commands/comment/meta/list/index.md +++ b/commands/comment/meta/list/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp comment meta list' +display_global_parameters: true --- `wp comment meta list` - List all metadata associated with an object. @@ -19,37 +20,5 @@ title: 'wp comment meta list' [\--format=<format>] : Accepted values: table, csv, json, count. Default: table -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/comment/meta/update/index.md b/commands/comment/meta/update/index.md index 5958fed2..296f549e 100644 --- a/commands/comment/meta/update/index.md +++ b/commands/comment/meta/update/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp comment meta update' +display_global_parameters: true --- `wp comment meta update` - Update a meta field. @@ -21,37 +22,5 @@ title: 'wp comment meta update' [\--format=<format>] : The serialization format for the value. Default is plaintext. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/comment/recount/index.md b/commands/comment/recount/index.md index 7efef92d..088c96c8 100644 --- a/commands/comment/recount/index.md +++ b/commands/comment/recount/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp comment recount' +display_global_parameters: true --- `wp comment recount` - Recount the comment_count value for one or more posts. @@ -10,37 +11,5 @@ title: 'wp comment recount' <id>... : IDs for one or more posts to update. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/comment/spam/index.md b/commands/comment/spam/index.md index 772e2b87..6820b759 100644 --- a/commands/comment/spam/index.md +++ b/commands/comment/spam/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp comment spam' +display_global_parameters: true --- `wp comment spam` - Spam a comment. @@ -16,37 +17,5 @@ title: 'wp comment spam' wp comment spam 1337 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/comment/status/index.md b/commands/comment/status/index.md index 3ca5fd56..7540fff4 100644 --- a/commands/comment/status/index.md +++ b/commands/comment/status/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp comment status' +display_global_parameters: true --- `wp comment status` - Get status of a comment. @@ -16,37 +17,5 @@ title: 'wp comment status' wp comment status 1337 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/comment/trash/index.md b/commands/comment/trash/index.md index a5b24be5..4253d4f2 100644 --- a/commands/comment/trash/index.md +++ b/commands/comment/trash/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp comment trash' +display_global_parameters: true --- `wp comment trash` - Trash a comment. @@ -16,37 +17,5 @@ title: 'wp comment trash' wp comment trash 1337 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/comment/unapprove/index.md b/commands/comment/unapprove/index.md index 2b570304..4e3b5820 100644 --- a/commands/comment/unapprove/index.md +++ b/commands/comment/unapprove/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp comment unapprove' +display_global_parameters: true --- `wp comment unapprove` - Unapprove a comment. @@ -16,37 +17,5 @@ title: 'wp comment unapprove' wp comment unapprove 1337 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/comment/unspam/index.md b/commands/comment/unspam/index.md index 779906b2..a50a5602 100644 --- a/commands/comment/unspam/index.md +++ b/commands/comment/unspam/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp comment unspam' +display_global_parameters: true --- `wp comment unspam` - Unspam a comment. @@ -16,37 +17,5 @@ title: 'wp comment unspam' wp comment unspam 1337 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/comment/untrash/index.md b/commands/comment/untrash/index.md index c5b3abab..917a92ec 100644 --- a/commands/comment/untrash/index.md +++ b/commands/comment/untrash/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp comment untrash' +display_global_parameters: true --- `wp comment untrash` - Untrash a comment. @@ -16,37 +17,5 @@ title: 'wp comment untrash' wp comment untrash 1337 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/comment/update/index.md b/commands/comment/update/index.md index 0a51edfc..923a01ff 100644 --- a/commands/comment/update/index.md +++ b/commands/comment/update/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp comment update' +display_global_parameters: true --- `wp comment update` - Update one or more comments. @@ -19,37 +20,5 @@ title: 'wp comment update' wp comment update 123 --comment_author='That Guy' -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/comment/url/index.md b/commands/comment/url/index.md index bb01c8d4..78b8f5d5 100644 --- a/commands/comment/url/index.md +++ b/commands/comment/url/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp comment url' +display_global_parameters: true --- `wp comment url` - Get comment url @@ -16,37 +17,5 @@ title: 'wp comment url' wp comment url 123 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/core/check-update/index.md b/commands/core/check-update/index.md index 3d8d62bb..3f803b43 100644 --- a/commands/core/check-update/index.md +++ b/commands/core/check-update/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp core check-update' +display_global_parameters: true --- `wp core check-update` - Check for update via Version Check API. @@ -26,37 +27,5 @@ Lists the most recent versions when there are updates available, or success mess [\--format=<format>] : Accepted values: table, csv, json. Default: table -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/core/config/index.md b/commands/core/config/index.md index 33c211bc..a4b38473 100644 --- a/commands/core/config/index.md +++ b/commands/core/config/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp core config' +display_global_parameters: true --- `wp core config` - Generate a wp-config.php file. @@ -53,37 +54,5 @@ title: 'wp core config' define( 'WP_DEBUG_LOG', true ); PHP -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/core/download/index.md b/commands/core/download/index.md index ee86f0b4..91a679c7 100644 --- a/commands/core/download/index.md +++ b/commands/core/download/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp core download' +display_global_parameters: true --- `wp core download` - Download core WordPress files. @@ -25,37 +26,5 @@ title: 'wp core download' wp core download --locale=nl_NL -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/core/index.md b/commands/core/index.md index 70f3ba04..fd6cbfd0 100644 --- a/commands/core/index.md +++ b/commands/core/index.md @@ -1,44 +1,13 @@ --- layout: default title: 'wp core' +display_global_parameters: true --- `wp core` - Download, install, update and otherwise manage WordPress proper.
    -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - ### SUBCOMMANDS diff --git a/commands/core/install/index.md b/commands/core/install/index.md index 2b013483..64bdad2e 100644 --- a/commands/core/install/index.md +++ b/commands/core/install/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp core install' +display_global_parameters: true --- `wp core install` - Create the WordPress tables in the database. @@ -27,37 +28,5 @@ title: 'wp core install' [\--skip-email] : Don't send an email notification to the new admin user. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/core/is-installed/index.md b/commands/core/is-installed/index.md index 75584b5b..21b37a4b 100644 --- a/commands/core/is-installed/index.md +++ b/commands/core/is-installed/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp core is-installed' +display_global_parameters: true --- `wp core is-installed` - Determine if the WordPress tables are installed. @@ -16,37 +17,5 @@ title: 'wp core is-installed' wp core install fi -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/core/language/activate/index.md b/commands/core/language/activate/index.md index e53459c4..06d1a773 100644 --- a/commands/core/language/activate/index.md +++ b/commands/core/language/activate/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp core language activate' +display_global_parameters: true --- `wp core language activate` - Activate a given language. @@ -10,37 +11,5 @@ title: 'wp core language activate' <language> : Language code to activate. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/core/language/index.md b/commands/core/language/index.md index 9516685e..ec45ea9c 100644 --- a/commands/core/language/index.md +++ b/commands/core/language/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp core language' +display_global_parameters: true --- `wp core language` - @@ -9,38 +10,6 @@ title: 'wp core language' -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - ### SUBCOMMANDS diff --git a/commands/core/language/install/index.md b/commands/core/language/install/index.md index 4ed7f152..5b074230 100644 --- a/commands/core/language/install/index.md +++ b/commands/core/language/install/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp core language install' +display_global_parameters: true --- `wp core language install` - Install a given language. @@ -13,37 +14,5 @@ title: 'wp core language install' [\--activate] : If set, the language will be activated immediately after install. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/core/language/list/index.md b/commands/core/language/list/index.md index 9caf1bd8..0f4c5e2b 100644 --- a/commands/core/language/list/index.md +++ b/commands/core/language/list/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp core language list' +display_global_parameters: true --- `wp core language list` - List all languages available. @@ -35,37 +36,5 @@ These fields are optionally available: * version * package -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/core/language/uninstall/index.md b/commands/core/language/uninstall/index.md index 8a7440dc..82673963 100644 --- a/commands/core/language/uninstall/index.md +++ b/commands/core/language/uninstall/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp core language uninstall' +display_global_parameters: true --- `wp core language uninstall` - Uninstall a given language. @@ -10,37 +11,5 @@ title: 'wp core language uninstall' <language> : Language code to uninstall. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/core/language/update/index.md b/commands/core/language/update/index.md index 108cb60f..3963f414 100644 --- a/commands/core/language/update/index.md +++ b/commands/core/language/update/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp core language update' +display_global_parameters: true --- `wp core language update` - Updates the active translation of core, plugins, and themes. @@ -10,37 +11,5 @@ title: 'wp core language update' [\--dry-run] : Preview which translations would be updated. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/core/multisite-convert/index.md b/commands/core/multisite-convert/index.md index 804b7e0b..3ec76f2a 100644 --- a/commands/core/multisite-convert/index.md +++ b/commands/core/multisite-convert/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp core multisite-convert' +display_global_parameters: true --- `wp core multisite-convert` - Transform a single-site install into a multi-site install. @@ -19,37 +20,5 @@ Default: '/' [\--subdomains] : If passed, the network will use subdomains, instead of subdirectories. Doesn't work with 'localhost'. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/core/multisite-install/index.md b/commands/core/multisite-install/index.md index 9bfb6880..621e9fc5 100644 --- a/commands/core/multisite-install/index.md +++ b/commands/core/multisite-install/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp core multisite-install' +display_global_parameters: true --- `wp core multisite-install` - Install multisite from scratch. @@ -34,37 +35,5 @@ Default: '/' [\--skip-email] : Don't send an email notification to the new admin user. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/core/update-db/index.md b/commands/core/update-db/index.md index 25203a1c..761155e3 100644 --- a/commands/core/update-db/index.md +++ b/commands/core/update-db/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp core update-db' +display_global_parameters: true --- `wp core update-db` - Update the WordPress database. @@ -13,37 +14,5 @@ title: 'wp core update-db' [\--dry-run] : Compare database versions without performing the update. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/core/update/index.md b/commands/core/update/index.md index 24f5c1d6..144935b8 100644 --- a/commands/core/update/index.md +++ b/commands/core/update/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp core update' +display_global_parameters: true --- `wp core update` - Update WordPress. @@ -32,37 +33,5 @@ title: 'wp core update' wp core update --version=3.1 --force -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/core/verify-checksums/index.md b/commands/core/verify-checksums/index.md index 9858914c..651cd92c 100644 --- a/commands/core/verify-checksums/index.md +++ b/commands/core/verify-checksums/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp core verify-checksums' +display_global_parameters: true --- `wp core verify-checksums` - Verify WordPress files against WordPress.org's checksums. @@ -15,37 +16,5 @@ Specify version to verify checksums without loading WordPress. [\--locale=<locale>] : Verify checksums against a specific locale of WordPress. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/core/version/index.md b/commands/core/version/index.md index 624ce02a..3cd1d601 100644 --- a/commands/core/version/index.md +++ b/commands/core/version/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp core version' +display_global_parameters: true --- `wp core version` - Display the WordPress version. @@ -12,37 +13,5 @@ title: 'wp core version' [\--extra] : Show extended version information. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/cron/event/delete/index.md b/commands/cron/event/delete/index.md index d3eefa6c..6766cc2e 100644 --- a/commands/cron/event/delete/index.md +++ b/commands/cron/event/delete/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp cron event delete' +display_global_parameters: true --- `wp cron event delete` - Delete the next scheduled cron event for the given hook. @@ -12,37 +13,5 @@ title: 'wp cron event delete' <hook> : The hook name -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/cron/event/index.md b/commands/cron/event/index.md index b2cf04d6..49534b93 100644 --- a/commands/cron/event/index.md +++ b/commands/cron/event/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp cron event' +display_global_parameters: true --- `wp cron event` - Manage WP-Cron events. @@ -9,38 +10,6 @@ title: 'wp cron event' -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - ### SUBCOMMANDS diff --git a/commands/cron/event/list/index.md b/commands/cron/event/list/index.md index fe7fe8c3..4d8e5d18 100644 --- a/commands/cron/event/list/index.md +++ b/commands/cron/event/list/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp cron event list' +display_global_parameters: true --- `wp cron event list` - List scheduled cron events. @@ -37,37 +38,5 @@ These fields are optionally available: wp cron event list --fields=hook,next_run --format=json -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/cron/event/run/index.md b/commands/cron/event/run/index.md index 84fd11bb..c3ef6538 100644 --- a/commands/cron/event/run/index.md +++ b/commands/cron/event/run/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp cron event run' +display_global_parameters: true --- `wp cron event run` - Run the next scheduled cron event for the given hook. @@ -15,37 +16,5 @@ title: 'wp cron event run' [\--all] : Run all hooks. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/cron/event/schedule/index.md b/commands/cron/event/schedule/index.md index 518ed3c0..6924385b 100644 --- a/commands/cron/event/schedule/index.md +++ b/commands/cron/event/schedule/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp cron event schedule' +display_global_parameters: true --- `wp cron event schedule` - Schedule a new cron event. @@ -29,37 +30,5 @@ title: 'wp cron event schedule' wp cron event schedule cron_test '+1 hour' --foo=1 --bar=2 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/cron/index.md b/commands/cron/index.md index 748f6a1a..476fce99 100644 --- a/commands/cron/index.md +++ b/commands/cron/index.md @@ -1,44 +1,13 @@ --- layout: default title: 'wp cron' +display_global_parameters: true --- `wp cron` - Manage WP-Cron events and schedules.
    -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - ### SUBCOMMANDS diff --git a/commands/cron/schedule/index.md b/commands/cron/schedule/index.md index 66130449..a5805d8f 100644 --- a/commands/cron/schedule/index.md +++ b/commands/cron/schedule/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp cron schedule' +display_global_parameters: true --- `wp cron schedule` - Manage WP-Cron schedules. @@ -9,38 +10,6 @@ title: 'wp cron schedule' -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - ### SUBCOMMANDS diff --git a/commands/cron/schedule/list/index.md b/commands/cron/schedule/list/index.md index 8f2d24e9..f317de9d 100644 --- a/commands/cron/schedule/list/index.md +++ b/commands/cron/schedule/list/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp cron schedule list' +display_global_parameters: true --- `wp cron schedule list` - List available cron schedules. @@ -31,37 +32,5 @@ There are no additional fields. wp cron schedule list --fields=name --format=ids -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/cron/test/index.md b/commands/cron/test/index.md index e65a467d..29385305 100644 --- a/commands/cron/test/index.md +++ b/commands/cron/test/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp cron test' +display_global_parameters: true --- `wp cron test` - Test the WP Cron spawning system and report back its status. @@ -9,37 +10,5 @@ title: 'wp cron test' -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/db/cli/index.md b/commands/db/cli/index.md index 0d444695..5eb01d96 100644 --- a/commands/db/cli/index.md +++ b/commands/db/cli/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp db cli' +display_global_parameters: true --- `wp db cli` - Open a mysql console using the WordPress credentials. @@ -9,37 +10,5 @@ title: 'wp db cli' -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/db/create/index.md b/commands/db/create/index.md index b9e23c80..096bb294 100644 --- a/commands/db/create/index.md +++ b/commands/db/create/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp db create' +display_global_parameters: true --- `wp db create` - Create the database, as specified in wp-config.php @@ -9,37 +10,5 @@ title: 'wp db create' -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/db/drop/index.md b/commands/db/drop/index.md index 5a9f8f29..25cdc8c2 100644 --- a/commands/db/drop/index.md +++ b/commands/db/drop/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp db drop' +display_global_parameters: true --- `wp db drop` - Delete the database. @@ -12,37 +13,5 @@ title: 'wp db drop' [\--yes] : Answer yes to the confirmation message. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/db/export/index.md b/commands/db/export/index.md index 3ece99c8..9680ace0 100644 --- a/commands/db/export/index.md +++ b/commands/db/export/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp db export' +display_global_parameters: true --- `wp db export` - Exports the database to a file or to STDOUT. @@ -29,37 +30,5 @@ title: 'wp db export' # Export all tables matching prefix wp db export --tables=$(wp db tables --all-tables-with-prefix --format=csv) -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/db/import/index.md b/commands/db/import/index.md index 94af0d8e..f3c6aea4 100644 --- a/commands/db/import/index.md +++ b/commands/db/import/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp db import' +display_global_parameters: true --- `wp db import` - Import database from a file or from STDIN. @@ -12,37 +13,5 @@ title: 'wp db import' [<file>] : The name of the SQL file to import. If '-', then reads from STDIN. If omitted, it will look for '{dbname}.sql'. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/db/index.md b/commands/db/index.md index 008d4e22..7cfe2cfe 100644 --- a/commands/db/index.md +++ b/commands/db/index.md @@ -1,44 +1,13 @@ --- layout: default title: 'wp db' +display_global_parameters: true --- `wp db` - Perform basic database operations.
    -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - ### SUBCOMMANDS diff --git a/commands/db/optimize/index.md b/commands/db/optimize/index.md index ca831851..10d8d5ee 100644 --- a/commands/db/optimize/index.md +++ b/commands/db/optimize/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp db optimize' +display_global_parameters: true --- `wp db optimize` - Optimize the database. @@ -9,37 +10,5 @@ title: 'wp db optimize' -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/db/query/index.md b/commands/db/query/index.md index eacafdfd..edfe7e42 100644 --- a/commands/db/query/index.md +++ b/commands/db/query/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp db query' +display_global_parameters: true --- `wp db query` - Execute a query against the database. @@ -20,37 +21,5 @@ title: 'wp db query' # check all tables in the database wp db query "CHECK TABLE $(wp db tables | paste -s -d',');" -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/db/repair/index.md b/commands/db/repair/index.md index b3014ed0..9bd72700 100644 --- a/commands/db/repair/index.md +++ b/commands/db/repair/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp db repair' +display_global_parameters: true --- `wp db repair` - Repair the database. @@ -9,37 +10,5 @@ title: 'wp db repair' -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/db/reset/index.md b/commands/db/reset/index.md index 05060e4d..fd0cf324 100644 --- a/commands/db/reset/index.md +++ b/commands/db/reset/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp db reset' +display_global_parameters: true --- `wp db reset` - Remove all tables from the database. @@ -12,37 +13,5 @@ title: 'wp db reset' [\--yes] : Answer yes to the confirmation message. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/db/tables/index.md b/commands/db/tables/index.md index 0316e3b0..12f4156d 100644 --- a/commands/db/tables/index.md +++ b/commands/db/tables/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp db tables' +display_global_parameters: true --- `wp db tables` - List the database tables. @@ -37,37 +38,5 @@ Defaults to all tables registered to $wpdb. # Export all tables matching prefix wp db export --tables=$(wp db tables --all-tables-with-prefix --format=csv) -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/eval-file/index.md b/commands/eval-file/index.md index c0deaa60..75a68a5a 100644 --- a/commands/eval-file/index.md +++ b/commands/eval-file/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp eval-file' +display_global_parameters: true --- `wp eval-file` - Load and execute a PHP file. @@ -18,37 +19,5 @@ title: 'wp eval-file' [\--skip-wordpress] : Load and execute file without loading WordPress. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/eval/index.md b/commands/eval/index.md index 0185299e..d294b5a4 100644 --- a/commands/eval/index.md +++ b/commands/eval/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp eval' +display_global_parameters: true --- `wp eval` - Execute arbitrary PHP code. @@ -13,37 +14,5 @@ title: 'wp eval' [\--skip-wordpress] : Execute code without loading WordPress. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/export/index.md b/commands/export/index.md index 552b11fe..8c2483ea 100644 --- a/commands/export/index.md +++ b/commands/export/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp export' +display_global_parameters: true --- `wp export` - Export content to a WXR file. @@ -62,37 +63,5 @@ with a comma. Defaults to none. # Export a random subset of content wp export --post__in=$(wp post list --post_type=post --orderby=rand --posts_per_page=8 --format=ids) -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/help/index.md b/commands/help/index.md index eeff3546..3db7cca7 100644 --- a/commands/help/index.md +++ b/commands/help/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp help' +display_global_parameters: true --- `wp help` - Get help on WP-CLI, or on a specific. command. @@ -18,37 +19,5 @@ title: 'wp help' # get help for `core download` subcommand wp help core download -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/import/index.md b/commands/import/index.md index 25e28fd3..ce4f7aef 100644 --- a/commands/import/index.md +++ b/commands/import/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp import' +display_global_parameters: true --- `wp import` - Import content from a WXR file. @@ -18,37 +19,5 @@ title: 'wp import' [\--skip=<data-type>] : Skip importing specific data. Supported options are: 'attachment' and 'image_resize' (skip time-consuming thumbnail generation). -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/index.html b/commands/index.html index 91fb29a3..01f0b957 100644 --- a/commands/index.html +++ b/commands/index.html @@ -1,6 +1,7 @@ --- layout: default title: Built-in Commands +display_global_parameters: true ---
    diff --git a/commands/media/import/index.md b/commands/media/import/index.md index 4e1e1d62..bd6cfd7a 100644 --- a/commands/media/import/index.md +++ b/commands/media/import/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp media import' +display_global_parameters: true --- `wp media import` - Create attachments from local files or from URLs. @@ -46,37 +47,5 @@ title: 'wp media import' # Import an image from the web wp media import http://s.wordpress.org/style/images/wp-header-logo.png --title='The WordPress logo' --alt="Semantic personal publishing" -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/media/index.md b/commands/media/index.md index 66660bb8..709e3b8c 100644 --- a/commands/media/index.md +++ b/commands/media/index.md @@ -1,44 +1,13 @@ --- layout: default title: 'wp media' +display_global_parameters: true --- `wp media` - Manage attachments.
    -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - ### SUBCOMMANDS diff --git a/commands/media/regenerate/index.md b/commands/media/regenerate/index.md index 36b52b5b..24667940 100644 --- a/commands/media/regenerate/index.md +++ b/commands/media/regenerate/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp media regenerate' +display_global_parameters: true --- `wp media regenerate` - Regenerate thumbnail(s). @@ -29,37 +30,5 @@ title: 'wp media regenerate' # re-generate all thumbnails that have IDs between 1000 and 2000 seq 1000 2000 | xargs wp media regenerate -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/menu/create/index.md b/commands/menu/create/index.md index 95a71aff..3f8c4adb 100644 --- a/commands/menu/create/index.md +++ b/commands/menu/create/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp menu create' +display_global_parameters: true --- `wp menu create` - Create a new menu @@ -17,37 +18,5 @@ title: 'wp menu create' wp menu create "My Menu" -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/menu/delete/index.md b/commands/menu/delete/index.md index 92a4cac7..c4b30fe2 100644 --- a/commands/menu/delete/index.md +++ b/commands/menu/delete/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp menu delete' +display_global_parameters: true --- `wp menu delete` - Delete one or more menus @@ -14,37 +15,5 @@ title: 'wp menu delete' wp menu delete "My Menu" -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/menu/index.md b/commands/menu/index.md index 30018d40..502ab952 100644 --- a/commands/menu/index.md +++ b/commands/menu/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp menu' +display_global_parameters: true --- `wp menu` - List, create, assign, and delete menus @@ -19,39 +20,7 @@ title: 'wp menu' wp menu item add-custom sidebar-menu Apple http://apple.com --porcelain # Assign the 'primary-menu' menu to the 'primary' location - wp menu location assign primary-menu primary## GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - - + wp menu location assign primary-menu primary ### SUBCOMMANDS diff --git a/commands/menu/item/add-custom/index.md b/commands/menu/item/add-custom/index.md index 864ab051..fc80ba32 100644 --- a/commands/menu/item/add-custom/index.md +++ b/commands/menu/item/add-custom/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp menu item add-custom' +display_global_parameters: true --- `wp menu item add-custom` - Add a custom menu item @@ -41,37 +42,5 @@ title: 'wp menu item add-custom' wp menu item add-custom sidebar-menu Apple http://apple.com --porcelain -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/menu/item/add-post/index.md b/commands/menu/item/add-post/index.md index 18d15828..4c4b87f5 100644 --- a/commands/menu/item/add-post/index.md +++ b/commands/menu/item/add-post/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp menu item add-post' +display_global_parameters: true --- `wp menu item add-post` - Add a post as a menu item @@ -44,37 +45,5 @@ title: 'wp menu item add-post' wp menu item add-post sidebar-menu 33 --title="Custom Test Post" -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/menu/item/add-term/index.md b/commands/menu/item/add-term/index.md index 6b502e44..92afd23a 100644 --- a/commands/menu/item/add-term/index.md +++ b/commands/menu/item/add-term/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp menu item add-term' +display_global_parameters: true --- `wp menu item add-term` - Add a taxonomy term as a menu item @@ -47,37 +48,5 @@ title: 'wp menu item add-term' wp menu item add-term sidebar-menu post_tag 24 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/menu/item/delete/index.md b/commands/menu/item/delete/index.md index bf2784ae..4b0f3a36 100644 --- a/commands/menu/item/delete/index.md +++ b/commands/menu/item/delete/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp menu item delete' +display_global_parameters: true --- `wp menu item delete` - Delete one or more items from a menu @@ -14,37 +15,5 @@ title: 'wp menu item delete' wp menu item delete 45 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/menu/item/index.md b/commands/menu/item/index.md index 154bf5b8..8842f923 100644 --- a/commands/menu/item/index.md +++ b/commands/menu/item/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp menu item' +display_global_parameters: true --- `wp menu item` - List, add, and delete items associated with a menu @@ -15,38 +16,6 @@ title: 'wp menu item' # Create a new menu link item wp menu item add-custom sidebar-menu Apple http://apple.com --porcelain -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - ### SUBCOMMANDS diff --git a/commands/menu/item/list/index.md b/commands/menu/item/list/index.md index a9e25e73..f856394a 100644 --- a/commands/menu/item/list/index.md +++ b/commands/menu/item/list/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp menu item list' +display_global_parameters: true --- `wp menu item list` - Get a list of items associated with a menu @@ -45,37 +46,5 @@ These fields are optionally available: wp menu item list <menu> -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/menu/item/update/index.md b/commands/menu/item/update/index.md index 21281b4b..ca45a6df 100644 --- a/commands/menu/item/update/index.md +++ b/commands/menu/item/update/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp menu item update' +display_global_parameters: true --- `wp menu item update` - Update a menu item @@ -38,37 +39,5 @@ title: 'wp menu item update' wp menu item update 45 --title=WordPress --link='http://wordpress.org' --target=_blank --position=2 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/menu/list/index.md b/commands/menu/list/index.md index 2d821f3f..025a39c1 100644 --- a/commands/menu/list/index.md +++ b/commands/menu/list/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp menu list' +display_global_parameters: true --- `wp menu list` - Get a list of menus. @@ -37,37 +38,5 @@ These fields are optionally available: wp menu list -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/menu/location/assign/index.md b/commands/menu/location/assign/index.md index 7f459d1d..fffd14cd 100644 --- a/commands/menu/location/assign/index.md +++ b/commands/menu/location/assign/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp menu location assign' +display_global_parameters: true --- `wp menu location assign` - Assign a location to a menu @@ -17,37 +18,5 @@ title: 'wp menu location assign' wp menu location assign primary-menu primary -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/menu/location/index.md b/commands/menu/location/index.md index 4c7d2fab..e26c2f57 100644 --- a/commands/menu/location/index.md +++ b/commands/menu/location/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp menu location' +display_global_parameters: true --- `wp menu location` - Manage a menu's assignment to locations. @@ -18,38 +19,6 @@ title: 'wp menu location' # Remove the 'primary-menu' menu from the 'primary' location wp menu location remove primary-menu primary -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - ### SUBCOMMANDS diff --git a/commands/menu/location/list/index.md b/commands/menu/location/list/index.md index af3fe0f8..e3f212ce 100644 --- a/commands/menu/location/list/index.md +++ b/commands/menu/location/list/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp menu location list' +display_global_parameters: true --- `wp menu location list` - List locations for the current theme. @@ -21,37 +22,5 @@ These fields will be displayed by default for each location: wp menu location list -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/menu/location/remove/index.md b/commands/menu/location/remove/index.md index 1a06fc1d..4a3aee6f 100644 --- a/commands/menu/location/remove/index.md +++ b/commands/menu/location/remove/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp menu location remove' +display_global_parameters: true --- `wp menu location remove` - Remove a location from a menu @@ -17,37 +18,5 @@ title: 'wp menu location remove' wp menu location remove primary-menu primary -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/network/index.md b/commands/network/index.md index 3e3cc0d5..00aebccd 100644 --- a/commands/network/index.md +++ b/commands/network/index.md @@ -1,44 +1,13 @@ --- layout: default title: 'wp network' +display_global_parameters: true --- `wp network` -
    -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - ### SUBCOMMANDS diff --git a/commands/network/meta/add/index.md b/commands/network/meta/add/index.md index b2d49722..07149886 100644 --- a/commands/network/meta/add/index.md +++ b/commands/network/meta/add/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp network meta add' +display_global_parameters: true --- `wp network meta add` - Add a meta field. @@ -21,37 +22,5 @@ title: 'wp network meta add' [\--format=<format>] : The serialization format for the value. Default is plaintext. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/network/meta/delete/index.md b/commands/network/meta/delete/index.md index 004b09c7..06b190b7 100644 --- a/commands/network/meta/delete/index.md +++ b/commands/network/meta/delete/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp network meta delete' +display_global_parameters: true --- `wp network meta delete` - Delete a meta field. @@ -19,37 +20,5 @@ title: 'wp network meta delete' [\--all] : Delete all meta for the object. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/network/meta/get/index.md b/commands/network/meta/get/index.md index 029cf359..91e5ca72 100644 --- a/commands/network/meta/get/index.md +++ b/commands/network/meta/get/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp network meta get' +display_global_parameters: true --- `wp network meta get` - Get meta field value. @@ -16,37 +17,5 @@ title: 'wp network meta get' [\--format=<format>] : Accepted values: table, json. Default: table -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/network/meta/index.md b/commands/network/meta/index.md index 3fb293e3..d4e1a15d 100644 --- a/commands/network/meta/index.md +++ b/commands/network/meta/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp network meta' +display_global_parameters: true --- `wp network meta` - Manage network custom fields. @@ -20,38 +21,6 @@ title: 'wp network meta' # get a list of super-admins wp network meta get 1 site_admins -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - ### SUBCOMMANDS diff --git a/commands/network/meta/list/index.md b/commands/network/meta/list/index.md index 5eae566f..e6adc209 100644 --- a/commands/network/meta/list/index.md +++ b/commands/network/meta/list/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp network meta list' +display_global_parameters: true --- `wp network meta list` - List all metadata associated with an object. @@ -19,37 +20,5 @@ title: 'wp network meta list' [\--format=<format>] : Accepted values: table, csv, json, count. Default: table -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/network/meta/update/index.md b/commands/network/meta/update/index.md index aab7b86c..113fb989 100644 --- a/commands/network/meta/update/index.md +++ b/commands/network/meta/update/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp network meta update' +display_global_parameters: true --- `wp network meta update` - Update a meta field. @@ -21,37 +22,5 @@ title: 'wp network meta update' [\--format=<format>] : The serialization format for the value. Default is plaintext. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/option/add/index.md b/commands/option/add/index.md index cfb7c72d..9ab206bb 100644 --- a/commands/option/add/index.md +++ b/commands/option/add/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp option add' +display_global_parameters: true --- `wp option add` - Add an option. @@ -26,37 +27,5 @@ title: 'wp option add' # Create an option by reading a JSON file wp option add my_option --format=json < config.json -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/option/delete/index.md b/commands/option/delete/index.md index 946d5ef2..a4cc0ada 100644 --- a/commands/option/delete/index.md +++ b/commands/option/delete/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp option delete' +display_global_parameters: true --- `wp option delete` - Delete an option. @@ -10,37 +11,5 @@ title: 'wp option delete' <key> : Key for the option. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/option/get/index.md b/commands/option/get/index.md index 52765cce..f8bad754 100644 --- a/commands/option/get/index.md +++ b/commands/option/get/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp option get' +display_global_parameters: true --- `wp option get` - Get an option. @@ -13,37 +14,5 @@ title: 'wp option get' [\--format=<format>] : Get value as var_export() or JSON. Default: var_export() -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/option/index.md b/commands/option/index.md index fcaf6637..aa0d2cc1 100644 --- a/commands/option/index.md +++ b/commands/option/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp option' +display_global_parameters: true --- `wp option` - Manage options. @@ -20,39 +21,7 @@ title: 'wp option' wp option update my_option '{"foo": "bar"}' --format=json - wp option delete my_option## GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - - + wp option delete my_option ### SUBCOMMANDS diff --git a/commands/option/list/index.md b/commands/option/list/index.md index 11567414..89c92d19 100644 --- a/commands/option/list/index.md +++ b/commands/option/list/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp option list' +display_global_parameters: true --- `wp option list` - List options. @@ -42,37 +43,5 @@ These fields are optionally available: * autoload * size_bytes -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/option/update/index.md b/commands/option/update/index.md index 541caf08..ffff9793 100644 --- a/commands/option/update/index.md +++ b/commands/option/update/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp option update' +display_global_parameters: true --- `wp option update` - Update an option. @@ -29,37 +30,5 @@ title: 'wp option update' # Update one option on multiple sites using xargs wp site list --field=url | xargs -n1 -I {} sh -c 'wp --url={} option update <key> <value>' -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/plugin/activate/index.md b/commands/plugin/activate/index.md index 6508f318..76feb161 100644 --- a/commands/plugin/activate/index.md +++ b/commands/plugin/activate/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp plugin activate' +display_global_parameters: true --- `wp plugin activate` - Activate a plugin. @@ -18,37 +19,5 @@ title: 'wp plugin activate' [\--network] : If set, the plugin will be activated for the entire multisite network. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/plugin/deactivate/index.md b/commands/plugin/deactivate/index.md index aeffc2f8..e5ac7044 100644 --- a/commands/plugin/deactivate/index.md +++ b/commands/plugin/deactivate/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp plugin deactivate' +display_global_parameters: true --- `wp plugin deactivate` - Deactivate a plugin. @@ -21,37 +22,5 @@ title: 'wp plugin deactivate' [\--network] : If set, the plugin will be deactivated for the entire multisite network. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/plugin/delete/index.md b/commands/plugin/delete/index.md index 49e287a2..467b4e04 100644 --- a/commands/plugin/delete/index.md +++ b/commands/plugin/delete/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp plugin delete' +display_global_parameters: true --- `wp plugin delete` - Delete plugin files without deactivating or uninstalling. @@ -19,37 +20,5 @@ title: 'wp plugin delete' # Delete inactive plugins wp plugin delete $(wp plugin list --status=inactive --field=name) -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/plugin/get/index.md b/commands/plugin/get/index.md index 9f696ff2..c9ad5b14 100644 --- a/commands/plugin/get/index.md +++ b/commands/plugin/get/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp plugin get' +display_global_parameters: true --- `wp plugin get` - Get a plugin. @@ -25,37 +26,5 @@ title: 'wp plugin get' wp plugin get bbpress --format=json -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/plugin/index.md b/commands/plugin/index.md index fc346c76..8b7cd927 100644 --- a/commands/plugin/index.md +++ b/commands/plugin/index.md @@ -1,44 +1,13 @@ --- layout: default title: 'wp plugin' +display_global_parameters: true --- `wp plugin` - Manage plugins.
    -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - ### SUBCOMMANDS diff --git a/commands/plugin/install/index.md b/commands/plugin/install/index.md index 64cc6664..f568e9eb 100644 --- a/commands/plugin/install/index.md +++ b/commands/plugin/install/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp plugin install' +display_global_parameters: true --- `wp plugin install` - Install a plugin. @@ -40,37 +41,5 @@ for confirmation. # Install from a remote zip file wp plugin install http://s3.amazonaws.com/bucketname/my-plugin.zip?AWSAccessKeyId=123&Expires=456&Signature=abcdef -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/plugin/is-installed/index.md b/commands/plugin/is-installed/index.md index 06097dae..9b9b4965 100644 --- a/commands/plugin/is-installed/index.md +++ b/commands/plugin/is-installed/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp plugin is-installed' +display_global_parameters: true --- `wp plugin is-installed` - Check if the plugin is installed. @@ -16,37 +17,5 @@ title: 'wp plugin is-installed' wp plugin is-installed hello -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/plugin/list/index.md b/commands/plugin/list/index.md index 81604d71..f54dcea8 100644 --- a/commands/plugin/list/index.md +++ b/commands/plugin/list/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp plugin list' +display_global_parameters: true --- `wp plugin list` - Get a list of plugins. @@ -45,37 +46,5 @@ These fields are optionally available: # List plugins on each site in a network wp site list --field=url | xargs -n 1 -I % wp plugin list --url=% -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/plugin/path/index.md b/commands/plugin/path/index.md index 01234671..1457d637 100644 --- a/commands/plugin/path/index.md +++ b/commands/plugin/path/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp plugin path' +display_global_parameters: true --- `wp plugin path` - Get the path to a plugin or to the plugin directory. @@ -21,37 +22,5 @@ plugin file. cd $(wp plugin path) -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/plugin/search/index.md b/commands/plugin/search/index.md index 995642e1..a98e6396 100644 --- a/commands/plugin/search/index.md +++ b/commands/plugin/search/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp plugin search' +display_global_parameters: true --- `wp plugin search` - Search the wordpress.org plugin repository. @@ -45,37 +46,5 @@ title: 'wp plugin search' wp plugin search dsgnwrks --fields=name,version,slug,rating,num_ratings -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/plugin/status/index.md b/commands/plugin/status/index.md index 373c0d44..decaa0d5 100644 --- a/commands/plugin/status/index.md +++ b/commands/plugin/status/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp plugin status' +display_global_parameters: true --- `wp plugin status` - See the status of one or all plugins. @@ -12,37 +13,5 @@ title: 'wp plugin status' [<plugin>] : A particular plugin to show the status for. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/plugin/toggle/index.md b/commands/plugin/toggle/index.md index 4ea6b6db..b9f46bbe 100644 --- a/commands/plugin/toggle/index.md +++ b/commands/plugin/toggle/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp plugin toggle' +display_global_parameters: true --- `wp plugin toggle` - Toggle a plugin's activation state. @@ -15,37 +16,5 @@ title: 'wp plugin toggle' [\--network] : If set, the plugin will be toggled for the entire multisite network. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/plugin/uninstall/index.md b/commands/plugin/uninstall/index.md index 23deaf8c..45b0a891 100644 --- a/commands/plugin/uninstall/index.md +++ b/commands/plugin/uninstall/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp plugin uninstall' +display_global_parameters: true --- `wp plugin uninstall` - Uninstall a plugin. @@ -23,37 +24,5 @@ will be run. wp plugin uninstall hello -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/plugin/update/index.md b/commands/plugin/update/index.md index fc0a1e1f..191894d5 100644 --- a/commands/plugin/update/index.md +++ b/commands/plugin/update/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp plugin update' +display_global_parameters: true --- `wp plugin update` - Update one or more plugins. @@ -30,37 +31,5 @@ title: 'wp plugin update' wp plugin update --all -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/post-type/get/index.md b/commands/post-type/get/index.md index b91c9c56..b8fd84d7 100644 --- a/commands/post-type/get/index.md +++ b/commands/post-type/get/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp post-type get' +display_global_parameters: true --- `wp post-type get` - Get a post type @@ -25,37 +26,5 @@ title: 'wp post-type get' wp post-type get page --format=json -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/post-type/index.md b/commands/post-type/index.md index 8edd2dbb..e1761c53 100644 --- a/commands/post-type/index.md +++ b/commands/post-type/index.md @@ -1,44 +1,13 @@ --- layout: default title: 'wp post-type' +display_global_parameters: true --- `wp post-type` - Manage post types.
    -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - ### SUBCOMMANDS diff --git a/commands/post-type/list/index.md b/commands/post-type/list/index.md index 58fd7e50..fc8646a7 100644 --- a/commands/post-type/list/index.md +++ b/commands/post-type/list/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp post-type list' +display_global_parameters: true --- `wp post-type list` - List post types. @@ -40,37 +41,5 @@ There are no optionally available fields. wp post-type list --object-type=post --fields=name,public -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/post/create/index.md b/commands/post/create/index.md index 4516a172..2cb1ff8f 100644 --- a/commands/post/create/index.md +++ b/commands/post/create/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp post create' +display_global_parameters: true --- `wp post create` - Create a post. @@ -34,37 +35,5 @@ title: 'wp post create' wp post create ./post-content.txt --post_category=201,345 --post_title='Post from file' -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/post/delete/index.md b/commands/post/delete/index.md index 79b03000..f69588d3 100644 --- a/commands/post/delete/index.md +++ b/commands/post/delete/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp post delete' +display_global_parameters: true --- `wp post delete` - Delete a post by ID. @@ -27,37 +28,5 @@ title: 'wp post delete' # delete all posts in the trash wp post delete $(wp post list --post_status=trash --format=ids) -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/post/edit/index.md b/commands/post/edit/index.md index eb3bc765..d565b466 100644 --- a/commands/post/edit/index.md +++ b/commands/post/edit/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp post edit' +display_global_parameters: true --- `wp post edit` - Launch system editor to edit post content. @@ -16,37 +17,5 @@ title: 'wp post edit' wp post edit 123 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/post/generate/index.md b/commands/post/generate/index.md index 6b9368df..2169f4f9 100644 --- a/commands/post/generate/index.md +++ b/commands/post/generate/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp post generate' +display_global_parameters: true --- `wp post generate` - Generate some posts. @@ -35,37 +36,5 @@ title: 'wp post generate' wp post generate --count=10 --post_type=page --post_date=1999-01-04 curl http://loripsum.net/api/5 | wp post generate --post_content --count=10 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/post/get/index.md b/commands/post/get/index.md index df1d6b97..0f4c890d 100644 --- a/commands/post/get/index.md +++ b/commands/post/get/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp post get' +display_global_parameters: true --- `wp post get` - Get a post's content by ID. @@ -26,37 +27,5 @@ title: 'wp post get' # save the post content to a file wp post get 12 --field=content > file.txt -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/post/index.md b/commands/post/index.md index dc91f5a0..c5541ed5 100644 --- a/commands/post/index.md +++ b/commands/post/index.md @@ -1,44 +1,13 @@ --- layout: default title: 'wp post' +display_global_parameters: true --- `wp post` - Manage posts.
    -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - ### SUBCOMMANDS diff --git a/commands/post/list/index.md b/commands/post/list/index.md index 3de7eabc..90e9f69a 100644 --- a/commands/post/list/index.md +++ b/commands/post/list/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp post list' +display_global_parameters: true --- `wp post list` - Get a list of posts. @@ -66,37 +67,5 @@ These fields are optionally available: wp post list --post__in=1,3 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/post/meta/add/index.md b/commands/post/meta/add/index.md index 2f900eed..5d90203a 100644 --- a/commands/post/meta/add/index.md +++ b/commands/post/meta/add/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp post meta add' +display_global_parameters: true --- `wp post meta add` - Add a meta field. @@ -21,37 +22,5 @@ title: 'wp post meta add' [\--format=<format>] : The serialization format for the value. Default is plaintext. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/post/meta/delete/index.md b/commands/post/meta/delete/index.md index 4c3e57ab..c02c8159 100644 --- a/commands/post/meta/delete/index.md +++ b/commands/post/meta/delete/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp post meta delete' +display_global_parameters: true --- `wp post meta delete` - Delete a meta field. @@ -19,37 +20,5 @@ title: 'wp post meta delete' [\--all] : Delete all meta for the object. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/post/meta/get/index.md b/commands/post/meta/get/index.md index 2ddb7742..952ac7a7 100644 --- a/commands/post/meta/get/index.md +++ b/commands/post/meta/get/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp post meta get' +display_global_parameters: true --- `wp post meta get` - Get meta field value. @@ -16,37 +17,5 @@ title: 'wp post meta get' [\--format=<format>] : Accepted values: table, json. Default: table -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/post/meta/index.md b/commands/post/meta/index.md index 7412166a..0a328e14 100644 --- a/commands/post/meta/index.md +++ b/commands/post/meta/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp post meta' +display_global_parameters: true --- `wp post meta` - Manage post custom fields. @@ -16,38 +17,6 @@ title: 'wp post meta' wp post meta set 123 _wp_page_template about.php -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - ### SUBCOMMANDS diff --git a/commands/post/meta/list/index.md b/commands/post/meta/list/index.md index 615a59f6..03e16290 100644 --- a/commands/post/meta/list/index.md +++ b/commands/post/meta/list/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp post meta list' +display_global_parameters: true --- `wp post meta list` - List all metadata associated with an object. @@ -19,37 +20,5 @@ title: 'wp post meta list' [\--format=<format>] : Accepted values: table, csv, json, count. Default: table -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/post/meta/update/index.md b/commands/post/meta/update/index.md index 90683000..78d4344d 100644 --- a/commands/post/meta/update/index.md +++ b/commands/post/meta/update/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp post meta update' +display_global_parameters: true --- `wp post meta update` - Update a meta field. @@ -21,37 +22,5 @@ title: 'wp post meta update' [\--format=<format>] : The serialization format for the value. Default is plaintext. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/post/term/add/index.md b/commands/post/term/add/index.md index db73f9ec..8d55253b 100644 --- a/commands/post/term/add/index.md +++ b/commands/post/term/add/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp post term add' +display_global_parameters: true --- `wp post term add` - Add a term. Appends to existing set of terms on the object. @@ -16,37 +17,5 @@ title: 'wp post term add' <term>... : The slug of the term or terms to be added. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/post/term/index.md b/commands/post/term/index.md index 632b4938..f98824e5 100644 --- a/commands/post/term/index.md +++ b/commands/post/term/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp post term' +display_global_parameters: true --- `wp post term` - Manage post terms. @@ -11,38 +12,6 @@ title: 'wp post term' wp post term set 123 test category -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - ### SUBCOMMANDS diff --git a/commands/post/term/list/index.md b/commands/post/term/list/index.md index f0f8cbba..3b7b67d9 100644 --- a/commands/post/term/list/index.md +++ b/commands/post/term/list/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp post term list' +display_global_parameters: true --- `wp post term list` - List all terms associated with an object. @@ -36,37 +37,5 @@ These fields are optionally available: * parent * count -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/post/term/remove/index.md b/commands/post/term/remove/index.md index 3e77d408..466a86dd 100644 --- a/commands/post/term/remove/index.md +++ b/commands/post/term/remove/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp post term remove' +display_global_parameters: true --- `wp post term remove` - Remove a term. @@ -16,37 +17,5 @@ title: 'wp post term remove' <term>... : The name of the term or terms to deleted. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/post/term/set/index.md b/commands/post/term/set/index.md index 5783c6cd..c80bdd49 100644 --- a/commands/post/term/set/index.md +++ b/commands/post/term/set/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp post term set' +display_global_parameters: true --- `wp post term set` - Set terms. Replaces existing terms on the object. @@ -16,37 +17,5 @@ title: 'wp post term set' <term>... : The slug of the term or terms to be updated. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/post/update/index.md b/commands/post/update/index.md index 3759a15d..1ebf9283 100644 --- a/commands/post/update/index.md +++ b/commands/post/update/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp post update' +display_global_parameters: true --- `wp post update` - Update one or more posts. @@ -29,37 +30,5 @@ title: 'wp post update' wp post update 123 --post_name=something --post_status=draft -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/rewrite/flush/index.md b/commands/rewrite/flush/index.md index ed081b87..ec651167 100644 --- a/commands/rewrite/flush/index.md +++ b/commands/rewrite/flush/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp rewrite flush' +display_global_parameters: true --- `wp rewrite flush` - Flush rewrite rules. @@ -22,37 +23,5 @@ to your wp-cli.yml or config.yml. For example: [\--hard] : Perform a hard flush - update `.htaccess` rules as well as rewrite rules in database. Works only on single site installs. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/rewrite/index.md b/commands/rewrite/index.md index bd67a93c..a783e051 100644 --- a/commands/rewrite/index.md +++ b/commands/rewrite/index.md @@ -1,44 +1,13 @@ --- layout: default title: 'wp rewrite' +display_global_parameters: true --- `wp rewrite` - Manage rewrite rules.
    -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - ### SUBCOMMANDS diff --git a/commands/rewrite/list/index.md b/commands/rewrite/list/index.md index 7acd0fa4..71de4b20 100644 --- a/commands/rewrite/list/index.md +++ b/commands/rewrite/list/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp rewrite list' +display_global_parameters: true --- `wp rewrite list` - Print current rewrite rules. @@ -25,37 +26,5 @@ title: 'wp rewrite list' wp rewrite list --format=csv -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/rewrite/structure/index.md b/commands/rewrite/structure/index.md index b1f55c77..f894b41c 100644 --- a/commands/rewrite/structure/index.md +++ b/commands/rewrite/structure/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp rewrite structure' +display_global_parameters: true --- `wp rewrite structure` - Update the permalink structure. @@ -35,37 +36,5 @@ to your wp-cli.yml or config.yml. For example: wp rewrite structure '/%year%/%monthnum%/%postname%' -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/role/create/index.md b/commands/role/create/index.md index 2d63eb43..4bf1cd65 100644 --- a/commands/role/create/index.md +++ b/commands/role/create/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp role create' +display_global_parameters: true --- `wp role create` - Create a new role. @@ -24,37 +25,5 @@ title: 'wp role create' wp role create productadmin "Product Administrator" -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/role/delete/index.md b/commands/role/delete/index.md index 99506183..493b21b2 100644 --- a/commands/role/delete/index.md +++ b/commands/role/delete/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp role delete' +display_global_parameters: true --- `wp role delete` - Delete an existing role. @@ -18,37 +19,5 @@ title: 'wp role delete' wp role delete productadmin -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/role/exists/index.md b/commands/role/exists/index.md index dbaca8b2..d3ecc7da 100644 --- a/commands/role/exists/index.md +++ b/commands/role/exists/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp role exists' +display_global_parameters: true --- `wp role exists` - Check if a role exists. @@ -20,37 +21,5 @@ Will exit with status 0 if the role exists, 1 if it does not. wp role exists editor -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/role/index.md b/commands/role/index.md index 8066dd97..d31f6360 100644 --- a/commands/role/index.md +++ b/commands/role/index.md @@ -1,44 +1,13 @@ --- layout: default title: 'wp role' +display_global_parameters: true --- `wp role` - Manage user roles.
    -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - ### SUBCOMMANDS diff --git a/commands/role/list/index.md b/commands/role/list/index.md index a210e55e..74dfaf76 100644 --- a/commands/role/list/index.md +++ b/commands/role/list/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp role list' +display_global_parameters: true --- `wp role list` - List all roles. @@ -28,37 +29,5 @@ There are no optional fields. wp role list --fields=role --format=csv -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/role/reset/index.md b/commands/role/reset/index.md index 5a27f72c..bb017710 100644 --- a/commands/role/reset/index.md +++ b/commands/role/reset/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp role reset' +display_global_parameters: true --- `wp role reset` - Reset any default role to default capabilities. @@ -21,37 +22,5 @@ title: 'wp role reset' wp role reset --all -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/scaffold/_s/index.md b/commands/scaffold/_s/index.md index 21febb19..52c2833e 100644 --- a/commands/scaffold/_s/index.md +++ b/commands/scaffold/_s/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp scaffold _s' +display_global_parameters: true --- `wp scaffold _s` - Generate starter code for a theme. @@ -33,37 +34,5 @@ title: 'wp scaffold _s' [\--force] : Overwrite files that already exist. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/scaffold/child-theme/index.md b/commands/scaffold/child-theme/index.md index 721c1182..e464bb2c 100644 --- a/commands/scaffold/child-theme/index.md +++ b/commands/scaffold/child-theme/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp scaffold child-theme' +display_global_parameters: true --- `wp scaffold child-theme` - Generate empty child theme. @@ -36,37 +37,5 @@ title: 'wp scaffold child-theme' [\--force] : Overwrite files that already exist. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/scaffold/index.md b/commands/scaffold/index.md index 17889824..2f2bf8e7 100644 --- a/commands/scaffold/index.md +++ b/commands/scaffold/index.md @@ -1,44 +1,13 @@ --- layout: default title: 'wp scaffold' +display_global_parameters: true --- `wp scaffold` - Generate code for post types, taxonomies, etc.
    -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - ### SUBCOMMANDS diff --git a/commands/scaffold/package-tests/index.md b/commands/scaffold/package-tests/index.md index a548d478..5b54f9d0 100644 --- a/commands/scaffold/package-tests/index.md +++ b/commands/scaffold/package-tests/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp scaffold package-tests' +display_global_parameters: true --- `wp scaffold package-tests` - Generate files needed for writing Behat tests for your command. @@ -35,37 +36,5 @@ WP-CLI Behat framework uses Behat ~2.5. wp scaffold package-tests /path/to/command/dir/ -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/scaffold/plugin-tests/index.md b/commands/scaffold/plugin-tests/index.md index cd9cbf02..f5870353 100644 --- a/commands/scaffold/plugin-tests/index.md +++ b/commands/scaffold/plugin-tests/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp scaffold plugin-tests' +display_global_parameters: true --- `wp scaffold plugin-tests` - Generate files needed for running PHPUnit tests. @@ -36,37 +37,5 @@ variable. wp scaffold plugin-tests hello -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/scaffold/plugin/index.md b/commands/scaffold/plugin/index.md index d23732f4..7316b728 100644 --- a/commands/scaffold/plugin/index.md +++ b/commands/scaffold/plugin/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp scaffold plugin' +display_global_parameters: true --- `wp scaffold plugin` - Generate starter code for a plugin. @@ -42,37 +43,5 @@ title: 'wp scaffold plugin' [\--force] : Overwrite files that already exist. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/scaffold/post-type/index.md b/commands/scaffold/post-type/index.md index 746d0b04..bce18853 100644 --- a/commands/scaffold/post-type/index.md +++ b/commands/scaffold/post-type/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp scaffold post-type' +display_global_parameters: true --- `wp scaffold post-type` - Generate PHP code for registering a custom post type. @@ -34,37 +35,5 @@ STDOUT. Specify a theme with `--theme=<theme>` to have the file placed in [\--force] : Overwrite files that already exist. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/scaffold/taxonomy/index.md b/commands/scaffold/taxonomy/index.md index 171d5188..7748bfb2 100644 --- a/commands/scaffold/taxonomy/index.md +++ b/commands/scaffold/taxonomy/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp scaffold taxonomy' +display_global_parameters: true --- `wp scaffold taxonomy` - Generate PHP code for registering a custom taxonomy. @@ -38,37 +39,5 @@ STDOUT. Specify a theme with `--theme=<theme>` to have the file placed in wp scaffold taxonomy venue --post_types=event,presentation -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/search-replace/index.md b/commands/search-replace/index.md index df5a8393..36687b32 100644 --- a/commands/search-replace/index.md +++ b/commands/search-replace/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp search-replace' +display_global_parameters: true --- `wp search-replace` - Search/replace strings in the database. @@ -83,37 +84,5 @@ will take about 15-20x longer when using --regex. # Search/replace to a SQL file without transforming the database wp search-replace foo bar --export=database.sql -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/server/index.md b/commands/server/index.md index 4ba2fbb6..59e190c0 100644 --- a/commands/server/index.md +++ b/commands/server/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp server' +display_global_parameters: true --- `wp server` - Launch PHP's built-in web server for this specific WordPress installation. @@ -28,37 +29,5 @@ title: 'wp server' # Run on port 80 (for multisite) sudo wp server --host=localhost.localdomain --port=80 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/shell/index.md b/commands/shell/index.md index 8d0687cf..f2ccad96 100644 --- a/commands/shell/index.md +++ b/commands/shell/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp shell' +display_global_parameters: true --- `wp shell` - Interactive PHP console. @@ -16,37 +17,5 @@ title: 'wp shell' [\--basic] : Start in fail-safe mode, even if Boris is available. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/sidebar/index.md b/commands/sidebar/index.md index dfa8280f..a7521918 100644 --- a/commands/sidebar/index.md +++ b/commands/sidebar/index.md @@ -1,44 +1,13 @@ --- layout: default title: 'wp sidebar' +display_global_parameters: true --- `wp sidebar` - Manage sidebars.
    -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - ### SUBCOMMANDS diff --git a/commands/sidebar/list/index.md b/commands/sidebar/list/index.md index 2634a92c..1e301354 100644 --- a/commands/sidebar/list/index.md +++ b/commands/sidebar/list/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp sidebar list' +display_global_parameters: true --- `wp sidebar list` - List registered sidebars. @@ -35,37 +36,5 @@ These fields are optionally available: wp sidebar list --fields=name,id --format=csv -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/site/activate/index.md b/commands/site/activate/index.md index 59860483..d9872162 100644 --- a/commands/site/activate/index.md +++ b/commands/site/activate/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp site activate' +display_global_parameters: true --- `wp site activate` - Activate one or more sites @@ -16,37 +17,5 @@ title: 'wp site activate' wp site activate 123 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/site/archive/index.md b/commands/site/archive/index.md index 7623b573..66bba967 100644 --- a/commands/site/archive/index.md +++ b/commands/site/archive/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp site archive' +display_global_parameters: true --- `wp site archive` - Archive one or more sites @@ -16,37 +17,5 @@ title: 'wp site archive' wp site archive 123 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/site/create/index.md b/commands/site/create/index.md index 2e1394dd..05160b61 100644 --- a/commands/site/create/index.md +++ b/commands/site/create/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp site create' +display_global_parameters: true --- `wp site create` - Create a site in a multisite install. @@ -27,37 +28,5 @@ title: 'wp site create' [\--porcelain] : If set, only the site id will be output on success. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/site/deactivate/index.md b/commands/site/deactivate/index.md index ed991a68..0ceb957f 100644 --- a/commands/site/deactivate/index.md +++ b/commands/site/deactivate/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp site deactivate' +display_global_parameters: true --- `wp site deactivate` - Deactivate one or more sites @@ -16,37 +17,5 @@ title: 'wp site deactivate' wp site deactivate 123 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/site/delete/index.md b/commands/site/delete/index.md index 765e4cd9..35cc038c 100644 --- a/commands/site/delete/index.md +++ b/commands/site/delete/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp site delete' +display_global_parameters: true --- `wp site delete` - Delete a site in a multisite install. @@ -21,37 +22,5 @@ title: 'wp site delete' [\--keep-tables] : Delete the blog from the list, but don't drop it's tables. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/site/empty/index.md b/commands/site/empty/index.md index 344b3c95..ec6ed889 100644 --- a/commands/site/empty/index.md +++ b/commands/site/empty/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp site empty' +display_global_parameters: true --- `wp site empty` - Empty a site of its content (posts, comments, and terms). @@ -15,37 +16,5 @@ title: 'wp site empty' [\--yes] : Proceed to empty the site without a confirmation prompt. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/site/index.md b/commands/site/index.md index a69e5f2e..2469febc 100644 --- a/commands/site/index.md +++ b/commands/site/index.md @@ -1,44 +1,13 @@ --- layout: default title: 'wp site' +display_global_parameters: true --- `wp site` - Perform site-wide operations.
    -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - ### SUBCOMMANDS diff --git a/commands/site/list/index.md b/commands/site/list/index.md index 08102f2b..31746037 100644 --- a/commands/site/list/index.md +++ b/commands/site/list/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp site list' +display_global_parameters: true --- `wp site list` - List all sites in a multisite install. @@ -50,37 +51,5 @@ These fields are optionally available: # Output a simple list of site URLs wp site list --field=url -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/site/spam/index.md b/commands/site/spam/index.md index c1e2c8f4..ade28cf2 100644 --- a/commands/site/spam/index.md +++ b/commands/site/spam/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp site spam' +display_global_parameters: true --- `wp site spam` - Mark one or more sites as spam @@ -16,37 +17,5 @@ title: 'wp site spam' wp site spam 123 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/site/unarchive/index.md b/commands/site/unarchive/index.md index c0150547..2c1cf7cc 100644 --- a/commands/site/unarchive/index.md +++ b/commands/site/unarchive/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp site unarchive' +display_global_parameters: true --- `wp site unarchive` - Unarchive one or more sites @@ -16,37 +17,5 @@ title: 'wp site unarchive' wp site unarchive 123 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/site/unspam/index.md b/commands/site/unspam/index.md index 925d735b..81914379 100644 --- a/commands/site/unspam/index.md +++ b/commands/site/unspam/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp site unspam' +display_global_parameters: true --- `wp site unspam` - Remove one or more sites from spam @@ -16,37 +17,5 @@ title: 'wp site unspam' wp site unspam 123 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/super-admin/add/index.md b/commands/super-admin/add/index.md index ee32c101..b06559fe 100644 --- a/commands/super-admin/add/index.md +++ b/commands/super-admin/add/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp super-admin add' +display_global_parameters: true --- `wp super-admin add` - Grant super-admin privileges to one or more users. @@ -10,37 +11,5 @@ title: 'wp super-admin add' <user>... : One or more user IDs, user emails, or user logins. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/super-admin/index.md b/commands/super-admin/index.md index 64a30510..577538e0 100644 --- a/commands/super-admin/index.md +++ b/commands/super-admin/index.md @@ -1,44 +1,13 @@ --- layout: default title: 'wp super-admin' +display_global_parameters: true --- `wp super-admin` - List, add, and remove super admins from a network.
    -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - ### SUBCOMMANDS diff --git a/commands/super-admin/list/index.md b/commands/super-admin/list/index.md index e2b2698a..85884639 100644 --- a/commands/super-admin/list/index.md +++ b/commands/super-admin/list/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp super-admin list' +display_global_parameters: true --- `wp super-admin list` - Show a list of users with super-admin capabilities. @@ -9,37 +10,5 @@ title: 'wp super-admin list' -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/super-admin/remove/index.md b/commands/super-admin/remove/index.md index fe1d5758..1dd03859 100644 --- a/commands/super-admin/remove/index.md +++ b/commands/super-admin/remove/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp super-admin remove' +display_global_parameters: true --- `wp super-admin remove` - Revoke super-admin privileges to one or more users. @@ -10,37 +11,5 @@ title: 'wp super-admin remove' <user>... : One or more user IDs, user emails, or user logins. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/taxonomy/get/index.md b/commands/taxonomy/get/index.md index 5fb8d9b1..042b8f30 100644 --- a/commands/taxonomy/get/index.md +++ b/commands/taxonomy/get/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp taxonomy get' +display_global_parameters: true --- `wp taxonomy get` - Get a taxonomy @@ -25,37 +26,5 @@ title: 'wp taxonomy get' wp taxonomy get post_tag --format=json -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/taxonomy/index.md b/commands/taxonomy/index.md index 9220463b..1fe28961 100644 --- a/commands/taxonomy/index.md +++ b/commands/taxonomy/index.md @@ -1,44 +1,13 @@ --- layout: default title: 'wp taxonomy' +display_global_parameters: true --- `wp taxonomy` - Manage taxonomies.
    -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - ### SUBCOMMANDS diff --git a/commands/taxonomy/list/index.md b/commands/taxonomy/list/index.md index b79c13aa..8191f5d0 100644 --- a/commands/taxonomy/list/index.md +++ b/commands/taxonomy/list/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp taxonomy list' +display_global_parameters: true --- `wp taxonomy list` - List taxonomies. @@ -39,37 +40,5 @@ There are no optionally available fields. wp taxonomy list --object-type=post --fields=name,public -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/term/create/index.md b/commands/term/create/index.md index 02a8b189..3323f8f2 100644 --- a/commands/term/create/index.md +++ b/commands/term/create/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp term create' +display_global_parameters: true --- `wp term create` - Create a term. @@ -31,37 +32,5 @@ title: 'wp term create' wp term create category Apple --description="A type of fruit" -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/term/delete/index.md b/commands/term/delete/index.md index 327ab270..74dc5866 100644 --- a/commands/term/delete/index.md +++ b/commands/term/delete/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp term delete' +display_global_parameters: true --- `wp term delete` - Delete a term. @@ -20,37 +21,5 @@ title: 'wp term delete' # delete all post tags wp term list post_tag --field=term_id | xargs wp term delete post_tag -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/term/generate/index.md b/commands/term/generate/index.md index d15e45bb..4086065b 100644 --- a/commands/term/generate/index.md +++ b/commands/term/generate/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp term generate' +display_global_parameters: true --- `wp term generate` - Generate some terms. @@ -22,37 +23,5 @@ title: 'wp term generate' wp term generate --count=10 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/term/get/index.md b/commands/term/get/index.md index 71d129f2..7738210b 100644 --- a/commands/term/get/index.md +++ b/commands/term/get/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp term get' +display_global_parameters: true --- `wp term get` - Get a taxonomy term @@ -28,37 +29,5 @@ title: 'wp term get' wp term get category 1 --format=json -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/term/index.md b/commands/term/index.md index 5e8bc8a5..9ccaf8cb 100644 --- a/commands/term/index.md +++ b/commands/term/index.md @@ -1,44 +1,13 @@ --- layout: default title: 'wp term' +display_global_parameters: true --- `wp term` - Manage terms.
    -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - ### SUBCOMMANDS diff --git a/commands/term/list/index.md b/commands/term/list/index.md index 37f44465..253e9463 100644 --- a/commands/term/list/index.md +++ b/commands/term/list/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp term list' +display_global_parameters: true --- `wp term list` - List terms in a taxonomy. @@ -44,37 +45,5 @@ There are no optionally available fields. wp term list post_tag --fields=name,slug -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/term/update/index.md b/commands/term/update/index.md index 41d95eef..ad58110e 100644 --- a/commands/term/update/index.md +++ b/commands/term/update/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp term update' +display_global_parameters: true --- `wp term update` - Update a term. @@ -31,37 +32,5 @@ title: 'wp term update' wp term update category 15 --name=Apple -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/term/url/index.md b/commands/term/url/index.md index 94b2bce9..cfd6836d 100644 --- a/commands/term/url/index.md +++ b/commands/term/url/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp term url' +display_global_parameters: true --- `wp term url` - Get term url @@ -21,37 +22,5 @@ title: 'wp term url' wp term url post_tag 123 324 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/theme/activate/index.md b/commands/theme/activate/index.md index 1f87d810..7ff842e5 100644 --- a/commands/theme/activate/index.md +++ b/commands/theme/activate/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp theme activate' +display_global_parameters: true --- `wp theme activate` - Activate a theme. @@ -12,37 +13,5 @@ title: 'wp theme activate' <theme> : The theme to activate. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/theme/delete/index.md b/commands/theme/delete/index.md index 59cba7d8..96a3140a 100644 --- a/commands/theme/delete/index.md +++ b/commands/theme/delete/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp theme delete' +display_global_parameters: true --- `wp theme delete` - Delete a theme. @@ -16,37 +17,5 @@ title: 'wp theme delete' wp theme delete twentyeleven -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/theme/disable/index.md b/commands/theme/disable/index.md index ff2b9331..3a0484ee 100644 --- a/commands/theme/disable/index.md +++ b/commands/theme/disable/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp theme disable' +display_global_parameters: true --- `wp theme disable` - Disable a theme in a multisite install. @@ -23,37 +24,5 @@ enabled for them independently. wp theme disable twentythirteen --network -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/theme/enable/index.md b/commands/theme/enable/index.md index e57082ef..9523e478 100644 --- a/commands/theme/enable/index.md +++ b/commands/theme/enable/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp theme enable' +display_global_parameters: true --- `wp theme enable` - Enable a theme in a multisite install. @@ -27,37 +28,5 @@ the "network" flag has no influence on this. wp theme enable twentythirteen --activate -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/theme/get/index.md b/commands/theme/get/index.md index 0d5532b4..75b3010a 100644 --- a/commands/theme/get/index.md +++ b/commands/theme/get/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp theme get' +display_global_parameters: true --- `wp theme get` - Get a theme @@ -25,37 +26,5 @@ title: 'wp theme get' wp theme get twentytwelve --format=json -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/theme/index.md b/commands/theme/index.md index 13e2d749..58b1991e 100644 --- a/commands/theme/index.md +++ b/commands/theme/index.md @@ -1,44 +1,13 @@ --- layout: default title: 'wp theme' +display_global_parameters: true --- `wp theme` - Manage themes.
    -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - ### SUBCOMMANDS diff --git a/commands/theme/install/index.md b/commands/theme/install/index.md index d1587649..5305f9ba 100644 --- a/commands/theme/install/index.md +++ b/commands/theme/install/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp theme install' +display_global_parameters: true --- `wp theme install` - Install a theme. @@ -34,37 +35,5 @@ for confirmation. # Install from a remote zip file wp theme install http://s3.amazonaws.com/bucketname/my-theme.zip?AWSAccessKeyId=123&Expires=456&Signature=abcdef -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/theme/is-installed/index.md b/commands/theme/is-installed/index.md index 72c46b93..1c096d5b 100644 --- a/commands/theme/is-installed/index.md +++ b/commands/theme/is-installed/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp theme is-installed' +display_global_parameters: true --- `wp theme is-installed` - Check if the theme is installed. @@ -16,37 +17,5 @@ title: 'wp theme is-installed' wp theme is-installed twentytwelve -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/theme/list/index.md b/commands/theme/list/index.md index cfe5cdfc..c960bc29 100644 --- a/commands/theme/list/index.md +++ b/commands/theme/list/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp theme list' +display_global_parameters: true --- `wp theme list` - Get a list of themes. @@ -42,37 +43,5 @@ These fields are optionally available: wp theme list --status=inactive --format=csv -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/theme/mod/get/index.md b/commands/theme/mod/get/index.md index 4e24d6dc..69b62b5e 100644 --- a/commands/theme/mod/get/index.md +++ b/commands/theme/mod/get/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp theme mod get' +display_global_parameters: true --- `wp theme mod get` - Get theme mod(s). @@ -24,37 +25,5 @@ title: 'wp theme mod get' wp theme mod get background_color --format=json wp theme mod get background_color header_textcolor -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/theme/mod/index.md b/commands/theme/mod/index.md index 824cc554..0b594690 100644 --- a/commands/theme/mod/index.md +++ b/commands/theme/mod/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp theme mod' +display_global_parameters: true --- `wp theme mod` - Manage theme mods. @@ -9,38 +10,6 @@ title: 'wp theme mod' -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - ### SUBCOMMANDS diff --git a/commands/theme/mod/remove/index.md b/commands/theme/mod/remove/index.md index a8b9eefb..9d0b2b38 100644 --- a/commands/theme/mod/remove/index.md +++ b/commands/theme/mod/remove/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp theme mod remove' +display_global_parameters: true --- `wp theme mod remove` - Remove theme mod(s). @@ -21,37 +22,5 @@ title: 'wp theme mod remove' wp theme mod remove background_color wp theme mod remove background_color header_textcolor -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/theme/mod/set/index.md b/commands/theme/mod/set/index.md index 9d98f6ac..b15d3525 100644 --- a/commands/theme/mod/set/index.md +++ b/commands/theme/mod/set/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp theme mod set' +display_global_parameters: true --- `wp theme mod set` - Set a theme mod. @@ -19,37 +20,5 @@ title: 'wp theme mod set' wp theme mod set background_color 000000 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/theme/path/index.md b/commands/theme/path/index.md index 4bd2dcd1..e076db5e 100644 --- a/commands/theme/path/index.md +++ b/commands/theme/path/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp theme path' +display_global_parameters: true --- `wp theme path` - Get the path to a theme or to the theme directory. @@ -21,37 +22,5 @@ theme's "style.css" file. cd $(wp theme path) -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/theme/search/index.md b/commands/theme/search/index.md index b791bf64..78416884 100644 --- a/commands/theme/search/index.md +++ b/commands/theme/search/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp theme search' +display_global_parameters: true --- `wp theme search` - Search the wordpress.org theme repository. @@ -41,37 +42,5 @@ title: 'wp theme search' wp theme search automattic --fields=name,version,slug,rating,num_ratings,description -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/theme/status/index.md b/commands/theme/status/index.md index 323795d4..8b325cf9 100644 --- a/commands/theme/status/index.md +++ b/commands/theme/status/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp theme status' +display_global_parameters: true --- `wp theme status` - See the status of one or all themes. @@ -12,37 +13,5 @@ title: 'wp theme status' [<theme>] : A particular theme to show the status for. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/theme/update/index.md b/commands/theme/update/index.md index 6289ef98..dff27062 100644 --- a/commands/theme/update/index.md +++ b/commands/theme/update/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp theme update' +display_global_parameters: true --- `wp theme update` - Update one or more themes. @@ -30,37 +31,5 @@ title: 'wp theme update' wp theme update --all -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/transient/delete-all/index.md b/commands/transient/delete-all/index.md index 30d7a6c3..9acc84b4 100644 --- a/commands/transient/delete-all/index.md +++ b/commands/transient/delete-all/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp transient delete-all' +display_global_parameters: true --- `wp transient delete-all` - Delete all transients. @@ -9,37 +10,5 @@ title: 'wp transient delete-all' -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/transient/delete-expired/index.md b/commands/transient/delete-expired/index.md index d16704c7..7f5a356d 100644 --- a/commands/transient/delete-expired/index.md +++ b/commands/transient/delete-expired/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp transient delete-expired' +display_global_parameters: true --- `wp transient delete-expired` - Delete all expired transients. @@ -9,37 +10,5 @@ title: 'wp transient delete-expired' -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/transient/delete/index.md b/commands/transient/delete/index.md index bdc73217..2893571e 100644 --- a/commands/transient/delete/index.md +++ b/commands/transient/delete/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp transient delete' +display_global_parameters: true --- `wp transient delete` - Delete a transient value. @@ -13,37 +14,5 @@ title: 'wp transient delete' [\--network] : Delete the value of a network transient, instead of that on a single site. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/transient/get/index.md b/commands/transient/get/index.md index fbce1c48..ed12239d 100644 --- a/commands/transient/get/index.md +++ b/commands/transient/get/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp transient get' +display_global_parameters: true --- `wp transient get` - Get a transient value. @@ -16,37 +17,5 @@ title: 'wp transient get' [\--network] : Get the value of the network transient, instead of the single site. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/transient/index.md b/commands/transient/index.md index cf49b2d5..6d584d5c 100644 --- a/commands/transient/index.md +++ b/commands/transient/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp transient' +display_global_parameters: true --- `wp transient` - Manage transients. @@ -9,39 +10,7 @@ title: 'wp transient' ### EXAMPLES - wp transient set my_key my_value 300## GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - - + wp transient set my_key my_value 300 ### SUBCOMMANDS diff --git a/commands/transient/set/index.md b/commands/transient/set/index.md index e6527588..9ac1a3e3 100644 --- a/commands/transient/set/index.md +++ b/commands/transient/set/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp transient set' +display_global_parameters: true --- `wp transient set` - Set a transient value. <expiration> is the time until expiration, in seconds. @@ -19,37 +20,5 @@ title: 'wp transient set' [\--network] : Set the transient value on the network, instead of single site. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/transient/type/index.md b/commands/transient/type/index.md index 10afb03f..6bfc32b8 100644 --- a/commands/transient/type/index.md +++ b/commands/transient/type/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp transient type' +display_global_parameters: true --- `wp transient type` - See whether the transients API is using an object cache or the options table. @@ -9,37 +10,5 @@ title: 'wp transient type' -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/user/add-cap/index.md b/commands/user/add-cap/index.md index 94ce4a4e..27df4467 100644 --- a/commands/user/add-cap/index.md +++ b/commands/user/add-cap/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp user add-cap' +display_global_parameters: true --- `wp user add-cap` - Add a capability for a user. @@ -20,37 +21,5 @@ title: 'wp user add-cap' wp user add-cap john create_premium_item wp user add-cap 15 edit_product -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/user/add-role/index.md b/commands/user/add-role/index.md index 089c4e6d..374a52b3 100644 --- a/commands/user/add-role/index.md +++ b/commands/user/add-role/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp user add-role' +display_global_parameters: true --- `wp user add-role` - Add a role for a user. @@ -20,37 +21,5 @@ title: 'wp user add-role' wp user add-role bob author wp user add-role 12 author -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/user/create/index.md b/commands/user/create/index.md index 1b6378d4..c770be9f 100644 --- a/commands/user/create/index.md +++ b/commands/user/create/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp user create' +display_global_parameters: true --- `wp user create` - Create a user. @@ -43,37 +44,5 @@ title: 'wp user create' wp user create bob bob@example.com --role=author -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/user/delete/index.md b/commands/user/delete/index.md index 06898a10..7cf69c5a 100644 --- a/commands/user/delete/index.md +++ b/commands/user/delete/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp user delete' +display_global_parameters: true --- `wp user delete` - Delete one or more users from the current site. @@ -26,37 +27,5 @@ title: 'wp user delete' # Delete user 123 and reassign posts to user 567 wp user delete 123 --reassign=567 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/user/generate/index.md b/commands/user/generate/index.md index 693835bc..a4e4de06 100644 --- a/commands/user/generate/index.md +++ b/commands/user/generate/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp user generate' +display_global_parameters: true --- `wp user generate` - Generate users. @@ -15,37 +16,5 @@ title: 'wp user generate' [\--role=<role>] : The role of the generated users. Default: default role from WP -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/user/get/index.md b/commands/user/get/index.md index 3a3c2ef6..1fdb4e6f 100644 --- a/commands/user/get/index.md +++ b/commands/user/get/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp user get' +display_global_parameters: true --- `wp user get` - Get a single user. @@ -27,37 +28,5 @@ title: 'wp user get' wp user get bob --format=json > bob.json -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/user/import-csv/index.md b/commands/user/import-csv/index.md index dffd9587..50a1a37b 100644 --- a/commands/user/import-csv/index.md +++ b/commands/user/import-csv/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp user import-csv' +display_global_parameters: true --- `wp user import-csv` - Import users from a CSV file. @@ -30,37 +31,5 @@ title: 'wp user import-csv' newuser1,newuser1@example.com,New User,author existinguser,existinguser@example.com,Existing User,administrator -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/user/index.md b/commands/user/index.md index 1ce9c9c5..3f885806 100644 --- a/commands/user/index.md +++ b/commands/user/index.md @@ -1,44 +1,13 @@ --- layout: default title: 'wp user' +display_global_parameters: true --- `wp user` - Manage users.
    -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - ### SUBCOMMANDS diff --git a/commands/user/list-caps/index.md b/commands/user/list-caps/index.md index 05b28597..0f653ceb 100644 --- a/commands/user/list-caps/index.md +++ b/commands/user/list-caps/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp user list-caps' +display_global_parameters: true --- `wp user list-caps` - List all user's capabilities. @@ -17,37 +18,5 @@ title: 'wp user list-caps' wp user list-caps admin wp user list-caps 21 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/user/list/index.md b/commands/user/list/index.md index d3b82e5c..ad124f46 100644 --- a/commands/user/list/index.md +++ b/commands/user/list/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp user list' +display_global_parameters: true --- `wp user list` - List users. @@ -60,37 +61,5 @@ These fields are optionally available: wp user list --fields=display_name,user_email --format=json -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/user/meta/add/index.md b/commands/user/meta/add/index.md index d2611293..284695af 100644 --- a/commands/user/meta/add/index.md +++ b/commands/user/meta/add/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp user meta add' +display_global_parameters: true --- `wp user meta add` - Add a meta field. @@ -19,37 +20,5 @@ title: 'wp user meta add' [\--format=<format>] : The serialization format for the value. Default is plaintext. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/user/meta/delete/index.md b/commands/user/meta/delete/index.md index 57f6aa17..20c9d5dd 100644 --- a/commands/user/meta/delete/index.md +++ b/commands/user/meta/delete/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp user meta delete' +display_global_parameters: true --- `wp user meta delete` - Delete a meta field. @@ -16,37 +17,5 @@ title: 'wp user meta delete' [<value>] : The value to delete. If omitted, all rows with key will deleted. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/user/meta/get/index.md b/commands/user/meta/get/index.md index f48a3f0a..509daaa5 100644 --- a/commands/user/meta/get/index.md +++ b/commands/user/meta/get/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp user meta get' +display_global_parameters: true --- `wp user meta get` - Get meta field value. @@ -18,37 +19,5 @@ title: 'wp user meta get' [\--format=<format>] : Accepted values: table, json. Default: table -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/user/meta/index.md b/commands/user/meta/index.md index ddcf6340..ad75602a 100644 --- a/commands/user/meta/index.md +++ b/commands/user/meta/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp user meta' +display_global_parameters: true --- `wp user meta` - Manage user custom fields. @@ -18,38 +19,6 @@ title: 'wp user meta' wp user meta update admin first_name "George" -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - ### SUBCOMMANDS diff --git a/commands/user/meta/list/index.md b/commands/user/meta/list/index.md index 0cc361b1..f2fae18a 100644 --- a/commands/user/meta/list/index.md +++ b/commands/user/meta/list/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp user meta list' +display_global_parameters: true --- `wp user meta list` - List all metadata associated with an object. @@ -19,37 +20,5 @@ title: 'wp user meta list' [\--format=<format>] : Accepted values: table, csv, json, count. Default: table -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/user/meta/update/index.md b/commands/user/meta/update/index.md index f2e28cdd..148eccf8 100644 --- a/commands/user/meta/update/index.md +++ b/commands/user/meta/update/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp user meta update' +display_global_parameters: true --- `wp user meta update` - Update a meta field. @@ -19,37 +20,5 @@ title: 'wp user meta update' [\--format=<format>] : The serialization format for the value. Default is plaintext. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/user/remove-cap/index.md b/commands/user/remove-cap/index.md index fb63cadb..0851d61f 100644 --- a/commands/user/remove-cap/index.md +++ b/commands/user/remove-cap/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp user remove-cap' +display_global_parameters: true --- `wp user remove-cap` - Remove a user's capability. @@ -20,37 +21,5 @@ title: 'wp user remove-cap' wp user remove-cap bob edit_themes wp user remove-cap 11 publish_newsletters -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/user/remove-role/index.md b/commands/user/remove-role/index.md index 5760de92..71be34f3 100644 --- a/commands/user/remove-role/index.md +++ b/commands/user/remove-role/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp user remove-role' +display_global_parameters: true --- `wp user remove-role` - Remove a user's role. @@ -20,37 +21,5 @@ title: 'wp user remove-role' wp user remove-role bob wp user remove-role 12 editor -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/user/set-role/index.md b/commands/user/set-role/index.md index ba74e87a..83a81755 100644 --- a/commands/user/set-role/index.md +++ b/commands/user/set-role/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp user set-role' +display_global_parameters: true --- `wp user set-role` - Set the user role (for a particular blog). @@ -21,37 +22,5 @@ used. wp user set-role bob author wp user set-role 12 author -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/user/term/add/index.md b/commands/user/term/add/index.md index 1bac0cdc..dd78c3dd 100644 --- a/commands/user/term/add/index.md +++ b/commands/user/term/add/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp user term add' +display_global_parameters: true --- `wp user term add` - Add a term. Appends to existing set of terms on the object. @@ -16,37 +17,5 @@ title: 'wp user term add' <term>... : The slug of the term or terms to be added. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/user/term/index.md b/commands/user/term/index.md index 10d4f1dc..4a579bcf 100644 --- a/commands/user/term/index.md +++ b/commands/user/term/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp user term' +display_global_parameters: true --- `wp user term` - Manage user terms. @@ -11,38 +12,6 @@ title: 'wp user term' wp user term set 123 test category -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - ### SUBCOMMANDS diff --git a/commands/user/term/list/index.md b/commands/user/term/list/index.md index 6dff25b2..bd166c40 100644 --- a/commands/user/term/list/index.md +++ b/commands/user/term/list/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp user term list' +display_global_parameters: true --- `wp user term list` - List all terms associated with an object. @@ -36,37 +37,5 @@ These fields are optionally available: * parent * count -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/user/term/remove/index.md b/commands/user/term/remove/index.md index 36bf6243..07aa9121 100644 --- a/commands/user/term/remove/index.md +++ b/commands/user/term/remove/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp user term remove' +display_global_parameters: true --- `wp user term remove` - Remove a term. @@ -16,37 +17,5 @@ title: 'wp user term remove' <term>... : The name of the term or terms to deleted. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/user/term/set/index.md b/commands/user/term/set/index.md index bc9b0953..b62be261 100644 --- a/commands/user/term/set/index.md +++ b/commands/user/term/set/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp user term set' +display_global_parameters: true --- `wp user term set` - Set terms. Replaces existing terms on the object. @@ -16,37 +17,5 @@ title: 'wp user term set' <term>... : The slug of the term or terms to be updated. -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/user/update/index.md b/commands/user/update/index.md index 2ac15f67..2d8d0201 100644 --- a/commands/user/update/index.md +++ b/commands/user/update/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp user update' +display_global_parameters: true --- `wp user update` - Update a user. @@ -19,37 +20,5 @@ title: 'wp user update' wp user update 123 --display_name=Mary --user_pass=marypass -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/widget/add/index.md b/commands/widget/add/index.md index 5acf9d74..81a974c3 100644 --- a/commands/widget/add/index.md +++ b/commands/widget/add/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp widget add' +display_global_parameters: true --- `wp widget add` - Add a widget to a sidebar. @@ -23,37 +24,5 @@ title: 'wp widget add' wp widget add calendar sidebar-1 2 --title="Calendar" -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/widget/deactivate/index.md b/commands/widget/deactivate/index.md index 7462728e..7743ae6d 100644 --- a/commands/widget/deactivate/index.md +++ b/commands/widget/deactivate/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp widget deactivate' +display_global_parameters: true --- `wp widget deactivate` - Deactivate one or more widgets from an active sidebar. @@ -14,37 +15,5 @@ title: 'wp widget deactivate' wp widget deactivate recent-comments-2 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/widget/delete/index.md b/commands/widget/delete/index.md index 1b7836ec..7ba4e143 100644 --- a/commands/widget/delete/index.md +++ b/commands/widget/delete/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp widget delete' +display_global_parameters: true --- `wp widget delete` - Delete one or more widgets from a sidebar. @@ -14,37 +15,5 @@ title: 'wp widget delete' wp widget delete recent-comments-2 -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/widget/index.md b/commands/widget/index.md index c7784925..1f27b34a 100644 --- a/commands/widget/index.md +++ b/commands/widget/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp widget' +display_global_parameters: true --- `wp widget` - Manage sidebar widgets. @@ -19,39 +20,7 @@ title: 'wp widget' wp widget update calendar-1 --title="Calendar" # Delete one or more widgets entirely - wp widget delete calendar-2 archive-1## GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - - + wp widget delete calendar-2 archive-1 ### SUBCOMMANDS diff --git a/commands/widget/list/index.md b/commands/widget/list/index.md index c5634788..8e6b5cad 100644 --- a/commands/widget/list/index.md +++ b/commands/widget/list/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp widget list' +display_global_parameters: true --- `wp widget list` - List widgets associated with a sidebar. @@ -31,37 +32,5 @@ There are no optionally available fields. wp widget list sidebar-1 --fields=name --format=csv -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/widget/move/index.md b/commands/widget/move/index.md index 2c916964..da02117d 100644 --- a/commands/widget/move/index.md +++ b/commands/widget/move/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp widget move' +display_global_parameters: true --- `wp widget move` - Move a widget from one position on a sidebar to another. @@ -22,37 +23,5 @@ title: 'wp widget move' wp widget move recent-comments-2 --sidebar-id=wp_inactive_widgets -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - diff --git a/commands/widget/update/index.md b/commands/widget/update/index.md index b378d5ed..37be9cb2 100644 --- a/commands/widget/update/index.md +++ b/commands/widget/update/index.md @@ -1,6 +1,7 @@ --- layout: default title: 'wp widget update' +display_global_parameters: true --- `wp widget update` - Update a given widget's options. @@ -17,37 +18,5 @@ title: 'wp widget update' wp widget update calendar-1 --title="Calendar" -### GLOBAL PARAMETERS - - \--path=<path> - Path to the WordPress files. - - \--url=<url> - Pretend request came from given URL. In multisite, this argument is how the target site is specified. - - \--user=<id|login|email> - Set the WordPress user. - - \--skip-plugins[=<plugin>] - Skip loading all or some plugins. - - \--skip-themes[=<theme>] - Skip loading all or some themes. - - \--require=<path> - Load PHP file before running the command (may be used more than once). - - \--[no-]color - Whether to colorize the output. - - \--debug - Show all PHP errors; add verbosity to WP-CLI bootstrap. - - \--prompt - Prompt the user to enter values for all command arguments. - - \--quiet - Suppress informational messages. - From 2dbba4f40f6647eed1add2b26c9cba2a58fbb9b3 Mon Sep 17 00:00:00 2001 From: Gilbert Pellegrom Date: Fri, 4 Mar 2016 10:20:52 +0000 Subject: [PATCH 492/839] Port Alternative Install Methods page from wiki --- alternative-install-methods/index.md | 236 +++++++++++++++++++++++++++ index.md | 2 +- 2 files changed, 237 insertions(+), 1 deletion(-) create mode 100644 alternative-install-methods/index.md diff --git a/alternative-install-methods/index.md b/alternative-install-methods/index.md new file mode 100644 index 00000000..340db8be --- /dev/null +++ b/alternative-install-methods/index.md @@ -0,0 +1,236 @@ +--- +layout: default +title: Alternative Install Methods +--- + +# Alternative Install Methods + +## Installing nightly via Phar + +The "nightly" is the bleeding-edge version of WP-CLI, built straight from the [master branch](https://github.com/wp-cli/wp-cli/commits/master). + +Just follow the normal [installation instructions](/#install), except change the URL to the phar file: + + + +## Installing via Composer + +### As part of a project + +Add the following line to your projects `composer.json` file: + +```json +"require" : { + "wp-cli/wp-cli" : "~0.21", + "psy/psysh" : "~0.6" +} +``` +where the `psy/psysh` package is just a _suggestion_ by the WP CLI package and _optional_. + +Optionally (if run on a server or for e.g. in a virtual machine locally) you can automate setting up the command and making it available in the users path. Let's assume _Composer_ installed into `/var/www/vendor`, we can add the following `scripts`/commands to the `composer.json` file. The second and third line set up [bash completion](https://github.com/wp-cli/wp-cli/blob/master/utils/wp-completion.bash) so we don't have to remember every single command: + +```json +"scripts" : { + "post-install-cmd" : [ + "sudo ln -s /var/www/vendor/wp-cli/wp-cli/bin/wp /usr/bin/wp", + "source /var/www/vendor/wp-cli/wp-cli/utils/wp-completion.bash", + "source ~/.bash_profile" + ] +} +``` + +### As a project + +Needs `php` and `composer` (or `php composer.phar`) set up as console commands. + +``` +composer create-project wp-cli/wp-cli --prefer-source +``` + +Then run `wp-cli/bin/wp` or add `wp-cli/bin` folder to `PATH` for global `wp` command (on Windows, use `wp-cli/bin/wp.bat` instead). + +To update, you'll need to: + +``` +cd wp-cli +git pull origin master +composer install +``` + +### Global require + +If you prefer to have PHP tools installed globally via Composer and have something like `~/.composer/vendor/bin` in your PATH (or `C:\Users\you\AppData\Roaming\Composer\vendor\bin` on Windows), you can just run: + +``` +composer global require wp-cli/wp-cli +``` + +To update everything globally, run `composer global update`. + + +### Installing a specific version + +If you want to install a specific version of WP-CLI then append the version numbers behind the packages + +``` +composer create-project wp-cli/wp-cli:0.15.1 --no-dev +``` +The version must be in a [format](https://getcomposer.org/doc/04-schema.md#version) that Composer can understand and can be found on [packagist.org](https://packagist.org/packages/wp-cli/wp-cli). + +**Installing bleeding-edge** +If you want to install bleeding-edge then use `dev-master`: + +``` +composer create-project wp-cli/wp-cli:dev-master --no-dev +``` + +### Installing globally as a project + +You can specify a custom install path for WP-CLI, like so: + +``` +composer create-project wp-cli/wp-cli /usr/share/wp-cli --no-dev +``` + +Then, just symlink the binary: + +``` +sudo ln -s /usr/share/wp-cli/bin/wp /usr/bin/wp +``` + +## Installing via Homebrew + +``` +brew install homebrew/php/wp-cli +``` +Here's the [formula](https://github.com/homebrew/homebrew-php/blob/master/Formula/wp-cli.rb). + +## Installing on Windows + +Install via [composer as described above](#installing-via-composer) or use the following method. + +Make sure you have php installed and [in your path](http://php.net/manual/en/faq.installation.php#faq.installation.addtopath) so you can execute it globally. + +Download [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar) manually and save it to a folder, for example `c:\wp-cli` + +Create a file named `wp.bat` in `c:\wp-cli` with the following contents: + +``` +@ECHO OFF +php "c:/wp-cli/wp-cli.phar" %* +``` + +Add `c:\wp-cli` to your path: + +``` +setx path "%path%;c:\wp-cli" +``` + +You can now use wp-cli from anywhere in Windows command line. + +## Installing via .deb package + +On Debian or Ubuntu, just download and open one of the .deb packages: + + +## Using a custom PHP binary + +In some cases, like for MAMP installs, you might not want to use the default PHP binary. + +To change it, you need to set the WP_CLI_PHP environment variable in your `.bash_profile`: + +``` +export WP_CLI_PHP=/Applications/MAMP/.../bin/php +``` + +Once you have added that and saved the file, reload the file with: + +``` +source ~/.bash_profile +``` + +After you've done that, run `wp --info` to make sure it took. + +## Installing on MediaTemple + +See [http://razorfrog.com/installing-wp-cli-on-mediatemple-grid-server/](http://razorfrog.com/installing-wp-cli-on-mediatemple-grid-server/) + +## Installing Locally on cPanel Dedicated Server + +Below is an account of upgrading from wp-cli 0.13.0 to version 0.17.1 onto a dedicated server using cPanel accounts thus restricting wp-cli to individual domain vs entire box ... + +I was upgrading from version 0.13 to 0.17.1 and the install script previously used is deprecated yet my working version of wp-cli was in `/home/[USERNAME]/.wp-cli/` ... I also did not want to super-user-do across my dedicated box but instead keep wp-cli at account level (a domain vs root box) ... + +* First I downloaded the wp-cli.phar file onto my server in the user account I want wp-cli to run ... can download the wp-cli.phar file one of two ways - click on link with web broswer at https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar then ftp file onto server ... or via wget with the no-check-certificate flag as the SSL certificate at githubusercontent.com kicks out errors (ditto using curl -k) + +
    wget --no-check-certificate https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
    + +* Once the file is on server, move it into the previous installed folder (or create the folder) -> /home/[USERNAME]/.wp-cli/ ... delete all other files and folders so only one file, wp-cli.phar, is in this folder ... + +* Next make the file executable by chmod to 0755 + +* Key part is to now update your .bash_profile file with this line that also points to your WordPress directory (mine WP install is in the public_html folder) ... also note with cPanel the .bash_profile file is found in /home/[USERNAME]/.bash_profile + +
    # WP-CLI Create WP Alias
    +alias wp="php /home/[USERNAME]/.wp-cli/wp-cli.phar --path=/home/[USERNAME]/public_html/"
    + +* Now reload the bash profile + +
    source ~/.bash_profile
    + +* Then test and voila - working wp-cli.phar file ... + +**Outstanding Issues** ... when I do wp --info, I get the following and it is the root dir, global config and project config that i'm not positive are correct so I might be missing something to set these but for now my install is working with various tests ... output from wp --info = + +``` +PHP binary: /usr/local/bin/php +PHP version: 5.5.18 +php.ini used: /usr/local/lib/php.ini +WP-CLI root dir: phar://wp-cli.phar +WP-CLI global config: blank +WP-CLI project config: blank +WP-CLI version: 0.17.1 +``` + +ps - this cPanel section authored by Chuck Scott - chuck at avantigroup dot com on 11.20.2014 + +## Installing Locally Better Way + +Though previous method works well when `wp-cli` used interactively, it fails when it comes to automation. Some scripts (for example [wp-deploy capistrano tasks](https://github.com/Mixd/wp-deploy)) may access `wp-cli` via + +``` +/usr/bin/env wp +``` + +It means PATH should be aware of `wp` command. Also PATH should be defined in `.bashrc` file, not in `.bash_profile`, in order to make it visible to scripts. `.bash_profile` in turn could load `.bashrc` + +**Complete HOWTO:** + +- First download the `wp-cli.phar` file using wget or curl. For example: + +
    curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
    + +- Then, check if it works: + +
    php wp-cli.phar --info
    + +- Move the file into the previous installed folder (or create the folder) -> `/home/[USERNAME]/.wp-cli/`, delete all other files and folders so only one file, `wp-cli.phar`, is in this folder. Rename `wp-cli.phar` into `wp` and make it executable: + +
    chmod +x wp-cli.phar
    +mkdir ~/.wp-cli
    +mv wp-cli.phar ~/.wp-cli/wp
    + +- Next update (or create) your .bashrc file, located at `/home/[USERNAME]/.bashrc`. It should contain something like this: + +
    export PATH="$PATH:$HOME/.wp-cli"
    + +- Update (or create) your .bash_profile file, located at `/home/[USERNAME]/.bash_profile`. It should contain something like this: + +
    if [ -f ~/.bashrc ]; then 
    +    source ~/.bashrc 
    +fi
    + +- Finally reload .bashrc and check if everything works properly: + +
    source ~/.bashrc
    +/usr/bin/env wp --info
    diff --git a/index.md b/index.md index dffc4cf4..22622f8a 100644 --- a/index.md +++ b/index.md @@ -54,7 +54,7 @@ If you're using MAMP, you will probably get a MySQL error, because the `php` fou More resources: * [Getting Started with WP-CLI](https://trepmal.com/2014/02/22/getting-started-with-wp-cli/) (includes video) -* [Alternative Install Methods](https://github.com/wp-cli/wp-cli/wiki/Alternative-Install-Methods) +* [Alternative Install Methods](/alternative-install-methods)

    Tab completions

    From 7caa841d2268dcab43aa94baffe0947856355840 Mon Sep 17 00:00:00 2001 From: Gilbert Pellegrom Date: Fri, 4 Mar 2016 10:34:18 +0000 Subject: [PATCH 493/839] Move to /wiki folder --- index.md | 2 +- .../alternative-install-methods}/index.md | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename {alternative-install-methods => wiki/alternative-install-methods}/index.md (100%) diff --git a/index.md b/index.md index 22622f8a..014686b6 100644 --- a/index.md +++ b/index.md @@ -54,7 +54,7 @@ If you're using MAMP, you will probably get a MySQL error, because the `php` fou More resources: * [Getting Started with WP-CLI](https://trepmal.com/2014/02/22/getting-started-with-wp-cli/) (includes video) -* [Alternative Install Methods](/alternative-install-methods) +* [Alternative Install Methods](/wiki/alternative-install-methods)

    Tab completions

    diff --git a/alternative-install-methods/index.md b/wiki/alternative-install-methods/index.md similarity index 100% rename from alternative-install-methods/index.md rename to wiki/alternative-install-methods/index.md From aafaec300602307405d3add9d24d9ec5af233118 Mon Sep 17 00:00:00 2001 From: Gilbert Pellegrom Date: Fri, 4 Mar 2016 10:37:17 +0000 Subject: [PATCH 494/839] Port Creating Helpful Bug Reports page from wiki --- wiki/creating-helpful-bug-reports/index.md | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 wiki/creating-helpful-bug-reports/index.md diff --git a/wiki/creating-helpful-bug-reports/index.md b/wiki/creating-helpful-bug-reports/index.md new file mode 100644 index 00000000..5f1d55e5 --- /dev/null +++ b/wiki/creating-helpful-bug-reports/index.md @@ -0,0 +1,24 @@ +--- +layout: default +title: Creating Helpful Bug Reports +--- + +# Creating Helpful Bug Reports + +Think you've found a bug? Here are some helpful details you can include in your new issue to help expedite resolution. + +``` +# What is your system? +lsb_release -a +uname -a +# Which version of PHP are you using? +which -a php +php -v +# Are you running suhosin? +php -m | grep -i suhosin +# Which version of WordPress are you using? +grep '^\$wp_version\s' wp-includes/version.php +# Can you share the results of which wp ? +which -a wp +stat $(which wp) +``` \ No newline at end of file From 2e1af148c6909b50632960b35004b18be07dabf2 Mon Sep 17 00:00:00 2001 From: Gilbert Pellegrom Date: Fri, 4 Mar 2016 10:55:08 +0000 Subject: [PATCH 495/839] Port Plugin Unit Tests page from wiki --- wiki/plugin-unit-tests/index.md | 54 +++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 wiki/plugin-unit-tests/index.md diff --git a/wiki/plugin-unit-tests/index.md b/wiki/plugin-unit-tests/index.md new file mode 100644 index 00000000..08a823be --- /dev/null +++ b/wiki/plugin-unit-tests/index.md @@ -0,0 +1,54 @@ +--- +layout: default +title: Plugin Unit Tests +--- + +# Plugin Unit Tests + +This guide will demonstrate how to: + +* set up unit tests for an existing plugin, using WP-CLI +* run the tests locally + +We're going to assume that you already have a plugin called `my-plugin`. + +So, let's get started: + +1) [Install PHPUnit](https://github.com/sebastianbergmann/phpunit#installation) (4.8.x required, 5.x not supported). + +2) Generate the plugin test files: + +```bash +wp scaffold plugin-tests my-plugin +``` + +This command will generate all the files needed for running tests, including a `.travis.yml` file. If you host your plugin on Github and enable [Travis CI](http://about.travis-ci.org), the tests will be run automatically after every commit you make to the plugin. + +3) Initialize the testing environment locally: + +(you'll need to already have `svn` and `wget` available) + +```bash +cd $(wp plugin path my-plugin --dir) +bash bin/install-wp-tests.sh wordpress_test root '' localhost latest +``` + +where: + +* `wordpress_test` is the name of the test database (**all data will be deleted!**) +* `root` is the MySQL user name +* `''` is the MySQL user password +* `localhost` is the MySQL server host +* `latest` is the WordPress version; could also be `3.7`, `3.6.2` etc. + +This script does a couple things. First it installs a copy of WordPress in the `temp/` directory (by default) as well as the WordPress unit testing tools. Then it creates a database to be used while running tests. + +NOTE: This script can be run multiple times without errors, but it will *not* overwrite previously existing files. So if your DB credentials change, or you want to switch to a different instance of mysql, simply re-running the script won't be enough. You'll need to manually edit the `wp-config.php` that's installed in the `temp/`. + +4) Run the plugin tests: + +```bash +phpunit +``` + +**Note**: phpunit 4.8.x is required (5.x won't work) \ No newline at end of file From 92e621711aca8dc8ee91e60ba6218dec57dda261 Mon Sep 17 00:00:00 2001 From: Gilbert Pellegrom Date: Fri, 4 Mar 2016 11:07:12 +0000 Subject: [PATCH 496/839] Port External Resources page from wiki --- wiki/external-resources/index.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 wiki/external-resources/index.md diff --git a/wiki/external-resources/index.md b/wiki/external-resources/index.md new file mode 100644 index 00000000..c5992a3a --- /dev/null +++ b/wiki/external-resources/index.md @@ -0,0 +1,31 @@ +--- +layout: default +title: External Resources +--- + +# External Resources + +## Blog posts & tutorials + +* [scribu: A Command-Line Interface for WordPress](http://scribu.net/wordpress/a-command-line-interface-for-wordpress.html) +* [A bit of bits: WP-CLI: WordPress Command Line Tools](http://madewithlove.be/abob/2011/12/wp-cli-wordpress-command-line-tools/) +* [Mika Epstein: Command Line WP](http://halfelf.org/2012/command-line-wp/) +* [Treehouse Blog: Tame WordPress from the Command Line with wp-cli](http://blog.teamtreehouse.com/tame-wordpress-from-the-command-line-with-wp-cli) +* [Matt Wiebe: Why You Should Develop Plugins With wp-cli](http://wp.mattwie.be/2014/01/15/why-you-should-develop-plugins-with-wp-cli/) +* [Arnaud Sellenet: A Decent Wordpress Deploy Workflow](http://demental.info/blog/2013/04/09/a-decent-wordpress-deploy-workflow/) +* [Torque: Using WP CLI to Set Up a Test Version of Your Site](http://torquemag.io/using-wp-cli-to-set-up-a-test-version-of-your-site/) + +## Slides + +* [Francesco Laffi: WPday Bologna 2013: wp-cli](https://speakerdeck.com/francescolaffi/wpday-bologna-2013-wp-cli) +* [Michael Bastos: Command Line WordPress Step by Step](https://docs.google.com/presentation/d/1iDYvmM_52ww_iB4aGMAYL_KJ1pnElAVm40c7IrZtyz8/edit) +* [Kelly Dwan: Importing (any!) Content with WP-CLI](//redradar.net/slides/wp-cli/) +* [Jaime Martinez: Simplify your day to day tasks with WP-CLI](http://slid.es/jmslbam/wp-cli-wp-meetup010-25-nov-2013) + +## Videos + +* [scribu: Command Line Learnings For Make Benefit Glorious Nation Of WordPress](http://wordpress.tv/2013/02/23/cristi-burka-command-line-learnings-for-make-benefit-glorious-nation-of-wordpress/) +* [Mike Schroder: Magical WordPress Management using WP-CLI](http://wordpress.tv/2013/08/06/mike-schroder-magical-wordpress-management-using-wp-cli/) +* [Daniel Bachhuber: WordPress at the Command Line](http://wordpress.tv/2012/08/21/daniel-bachhuber-wordpress-at-the-command-line/) +* [AJ Morris: Managing WordPress from the Command Line](http://ajmorris.me/managing-wordpress-command-line/) +* [Shawn Hooper: WP-CLI – Save Time by Managing WordPress from the Command Line](https://wordpress.tv/2015/09/15/shawn-hooper-wp-cli-save-time-managing-command-line/) \ No newline at end of file From 1820ffdab9a8819abfb841debe78fa4bd792bcb2 Mon Sep 17 00:00:00 2001 From: Gilbert Pellegrom Date: Fri, 4 Mar 2016 11:10:25 +0000 Subject: [PATCH 497/839] Port Example Usage page from wiki --- wiki/example-usage/index.md | 61 +++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 wiki/example-usage/index.md diff --git a/wiki/example-usage/index.md b/wiki/example-usage/index.md new file mode 100644 index 00000000..d788901b --- /dev/null +++ b/wiki/example-usage/index.md @@ -0,0 +1,61 @@ +--- +layout: default +title: Example Usage +--- + +# Example Usage + +This page contains examples of some common command line uses. + +## Get basic info on WP-CLI install + + wp --info + +Gives you basic info on the WP-CLI install, including PHP binary location, version and location of PHP.INI file: + + PHP binary: /usr/local/bin/php + PHP version: 5.4.17 + php.ini used: /usr/local/lib/php.ini + WP-CLI root dir: phar://wp-cli.phar + WP-CLI global config: /root/.wp-cli/config.yml + WP-CLI project config: + WP-CLI version: 0.13.0 + +## Download latest [en_US] version of WordPress into the current folder + + wp core download + +If you have WordPress already installed in the current folder: + + wp core download --force + +## Create WXR export files from site in a multisite install to current directory + + wp export --url=sub.domain.com + +## Import WXR file from current directory into a specific site in a multisite install, create authors and skip image resize + + wp import domain.wordpress.2014-01-01.xml --authors=create --skip="image_resize" --url=sub.domain.com + +## Regenerate all thumbnails for a specific site in a multisite install + + wp media regenerate --url=sub.domain.com --yes + +## Delete all pages + + wp post list --post_type=page --field=ID | xargs wp post delete + +and for a specific site in a multisite install: + + WP='wp --url=sub.domain.com' + $WP post list --post_type=page --field=ID | xargs $WP post delete + +## Integrate with Psysh + +First, download [Psysh](http://psysh.org/): + + curl psysh.org/psysh > psysh.phar + +Then, invoke the shell: + + wp --require=psysh.phar shell \ No newline at end of file From 8870421ad9c3bef654c089b033273c1943d863c2 Mon Sep 17 00:00:00 2001 From: Gilbert Pellegrom Date: Fri, 4 Mar 2016 11:13:32 +0000 Subject: [PATCH 498/839] Port Shell Tips page from wiki --- wiki/shell-tips/index.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 wiki/shell-tips/index.md diff --git a/wiki/shell-tips/index.md b/wiki/shell-tips/index.md new file mode 100644 index 00000000..0b696219 --- /dev/null +++ b/wiki/shell-tips/index.md @@ -0,0 +1,35 @@ +--- +layout: default +title: Shell Tips +--- + +# Shell Tips + +Master of bash or zsh? Share your tips here. + +## Take a look at the plugin changelog + +Needs `elinks` to browse HTML. + +```bash +wget -qO- http://api.wordpress.org/plugins/info/1.0/akismet|php -r '$seri=unserialize(stream_get_contents(STDIN)); echo $seri->sections["changelog"];'|elinks -force-html +``` + +Explanation + +- set wget quiet & query the WordPress.org Plugin API +- unserialize with php, `stream_get_contents(STDIN)` means "get all from *stdin*" +- echo the changelog part from the API's reply +- fire up elinks (a console browser) to view the changelog + +## Start wp-cli with ABSPATH in the current dir and under the current dir's owner + +```bash +#!/bin/bash + +sudo -u $(stat . -c %U) -- wp --path="$PWD" "$@" +``` + +Explanation + +The `stat` command returns the owner of the current directory, WordPress root. From e121fc99033d5ef2292e6d523aa6f73b3f4d2b52 Mon Sep 17 00:00:00 2001 From: Gilbert Pellegrom Date: Fri, 4 Mar 2016 11:30:42 +0000 Subject: [PATCH 499/839] Port Tools that use WP-CLI page from wiki --- wiki/tools-that-use-wp-cli/index.md | 38 +++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 wiki/tools-that-use-wp-cli/index.md diff --git a/wiki/tools-that-use-wp-cli/index.md b/wiki/tools-that-use-wp-cli/index.md new file mode 100644 index 00000000..f01ead92 --- /dev/null +++ b/wiki/tools-that-use-wp-cli/index.md @@ -0,0 +1,38 @@ +--- +layout: default +title: Tools that use WP-CLI +--- + +# Tools that use WP-CLI + +The following is a list of projects that integrate with WP-CLI. Also see [List of community commands](https://github.com/wp-cli/wp-cli/wiki/List-of-community-commands). + +## Wrappers + +* [Chef WP-CLI](https://github.com/francescolaffi/chef-wp-cli) - WP provisioning using Chef +* [node-wp-cli](https://github.com/gtg092x/node-wp-cli) - Node JS wrapper for WP-CLI +* [Puppet WP-CLI](https://github.com/rmccue/puppet-wp) - WP provisioning using Puppet +* [wpcli gem](https://github.com/hasanen/wpcli) - run WP-CLI commands from Ruby +* [wplib](https://github.com/szepeviktor/wplib) - shell scripts for managing multiple sites +* [wpcli helpers](https://github.com/kartonnade/wp_cli_helpers) - a bundle of time saver aliases and functions for the shell +* [cPanel-wp-management](https://github.com/MarioKnight/cPanel-wp-management) - shell scripts designed to loop through all accounts on cPanel servers + +## Editor plugins + +* Vim - [https://github.com/dsawardekar/wordpress.vim](https://github.com/dsawardekar/wordpress.vim) +* Netbeans - [https://github.com/junichi11/netbeans-wordpress-plugin](https://github.com/junichi11/netbeans-wordpress-plugin) +* Netbeans - [http://plugins.netbeans.org/plugin/46542/php-wordpress-blog-cms](http://plugins.netbeans.org/plugin/46542/php-wordpress-blog-cms) + +## Vagrant boxes + +* [Trellis](https://github.com/roots/trellis) +* [Varying Vagrant Vagrants](https://github.com/10up/varying-vagrant-vagrants) +* [VCCW](http://vccw.cc/) + +## Misc + +* [Bedrock](https://github.com/roots/bedrock) - WP base stack +* [EasyEngine](https://github.com/rtCamp/easyengine/) - Hosting control panel +* [WordPress Development Flow](https://github.com/cityindex/wordpress-development-flow) - retired +* [WP-CLI GUI](http://wpcligui.com/) - a GUI to assist with installing WP using WP-CLI +* [WP-API Oauth](https://github.com/WP-API/OAuth1) - WP REST API - OAuth 1.0a Server From 8c237d86c26a4d84d78380d5724a9f1d45adccd6 Mon Sep 17 00:00:00 2001 From: Gilbert Pellegrom Date: Fri, 4 Mar 2016 12:54:05 +0000 Subject: [PATCH 500/839] Port Philosophy page from wiki --- wiki/philosophy/index.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 wiki/philosophy/index.md diff --git a/wiki/philosophy/index.md b/wiki/philosophy/index.md new file mode 100644 index 00000000..4983735c --- /dev/null +++ b/wiki/philosophy/index.md @@ -0,0 +1,32 @@ +--- +layout: default +title: Philosophy +--- + +# Philosophy + +This page contains a list of guidelines that should inform decisions related to scope, command organization and behaviour: + +## Don't assume anything. + +Bundled commands MUST work on any given WordPress install (provided that it's a new enough version), no matter how it's configured and no matter how much data it has. + +As a corollary, bundled commands should not assume the presence of any plugin or theme. + +## Composability is always a good idea. + +One of the most useful ideas in UNIX was that of [pipelines](http://en.wikipedia.org/wiki/Pipeline_%28Unix%29). + +WP-CLI commands should be composable, i.e. the output from one command should be easily pipe-able to another command. + +A corollary of this is that commands should be _orthogonal_, which means that there should be no overlapping functionality between commands. (`wp plugin install --activate` is an exception). + +## Readability trumps number of keystrokes. + +Most of the commands in WP-CLI will be used non-interactively, so make the parameter names self-documenting. + +## Stay focused. + +Bundled commands should expose or make use of WordPress-specific functionality. + +If a command provides useful functionality, but it doesn't have anything to do with WordPress, it doesn't belong in WP-CLI. \ No newline at end of file From c6605829aeb2057a168a97b5df20d6a13b0072fd Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 4 Mar 2016 07:25:06 -0800 Subject: [PATCH 501/839] Make installation instructions more generic --- .../installing}/index.md | 57 +++++++++++++------ 1 file changed, 41 insertions(+), 16 deletions(-) rename {wiki/alternative-install-methods => docs/installing}/index.md (87%) diff --git a/wiki/alternative-install-methods/index.md b/docs/installing/index.md similarity index 87% rename from wiki/alternative-install-methods/index.md rename to docs/installing/index.md index 340db8be..9fb89f89 100644 --- a/wiki/alternative-install-methods/index.md +++ b/docs/installing/index.md @@ -1,11 +1,36 @@ --- layout: default -title: Alternative Install Methods +title: Installing --- -# Alternative Install Methods +## Recommended Installation -## Installing nightly via Phar +The recommended way to install WP-CLI is by downloading the Phar build, marking it executable, and placing it on your PATH. + +First, download [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar) using `wget` or `curl`. For example: + +~~~ +curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar +~~~ + +Then, check if it works: + +~~~ +php wp-cli.phar --info +~~~ + +To be able to type just `wp`, instead of `php wp-cli.phar`, you need to make the file executable and move it to somewhere in your PATH. For example: + +~~~ +chmod +x wp-cli.phar +sudo mv wp-cli.phar /usr/local/bin/wp +~~~ + +Now try running `wp --info`. Voila! + +## Alternative Installation Methods + +### Installing nightly via Phar The "nightly" is the bleeding-edge version of WP-CLI, built straight from the [master branch](https://github.com/wp-cli/wp-cli/commits/master). @@ -13,9 +38,9 @@ Just follow the normal [installation instructions](/#install), except change the -## Installing via Composer +### Installing via Composer -### As part of a project +#### As part of a project Add the following line to your projects `composer.json` file: @@ -39,7 +64,7 @@ Optionally (if run on a server or for e.g. in a virtual machine locally) you can } ``` -### As a project +#### As a project Needs `php` and `composer` (or `php composer.phar`) set up as console commands. @@ -57,7 +82,7 @@ git pull origin master composer install ``` -### Global require +#### Global require If you prefer to have PHP tools installed globally via Composer and have something like `~/.composer/vendor/bin` in your PATH (or `C:\Users\you\AppData\Roaming\Composer\vendor\bin` on Windows), you can just run: @@ -68,7 +93,7 @@ composer global require wp-cli/wp-cli To update everything globally, run `composer global update`. -### Installing a specific version +#### Installing a specific version If you want to install a specific version of WP-CLI then append the version numbers behind the packages @@ -84,7 +109,7 @@ If you want to install bleeding-edge then use `dev-master`: composer create-project wp-cli/wp-cli:dev-master --no-dev ``` -### Installing globally as a project +#### Installing globally as a project You can specify a custom install path for WP-CLI, like so: @@ -98,14 +123,14 @@ Then, just symlink the binary: sudo ln -s /usr/share/wp-cli/bin/wp /usr/bin/wp ``` -## Installing via Homebrew +### Installing via Homebrew ``` brew install homebrew/php/wp-cli ``` Here's the [formula](https://github.com/homebrew/homebrew-php/blob/master/Formula/wp-cli.rb). -## Installing on Windows +### Installing on Windows Install via [composer as described above](#installing-via-composer) or use the following method. @@ -128,12 +153,12 @@ setx path "%path%;c:\wp-cli" You can now use wp-cli from anywhere in Windows command line. -## Installing via .deb package +### Installing via .deb package On Debian or Ubuntu, just download and open one of the .deb packages: -## Using a custom PHP binary +### Using a custom PHP binary In some cases, like for MAMP installs, you might not want to use the default PHP binary. @@ -151,11 +176,11 @@ source ~/.bash_profile After you've done that, run `wp --info` to make sure it took. -## Installing on MediaTemple +### Installing on MediaTemple See [http://razorfrog.com/installing-wp-cli-on-mediatemple-grid-server/](http://razorfrog.com/installing-wp-cli-on-mediatemple-grid-server/) -## Installing Locally on cPanel Dedicated Server +### Installing Locally on cPanel Dedicated Server Below is an account of upgrading from wp-cli 0.13.0 to version 0.17.1 onto a dedicated server using cPanel accounts thus restricting wp-cli to individual domain vs entire box ... @@ -194,7 +219,7 @@ WP-CLI version: 0.17.1 ps - this cPanel section authored by Chuck Scott - chuck at avantigroup dot com on 11.20.2014 -## Installing Locally Better Way +### Installing Locally Better Way Though previous method works well when `wp-cli` used interactively, it fails when it comes to automation. Some scripts (for example [wp-deploy capistrano tasks](https://github.com/Mixd/wp-deploy)) may access `wp-cli` via From 1ea0fd0b7e4c196b62a15d2d41dccf763e8ea07a Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 4 Mar 2016 07:33:10 -0800 Subject: [PATCH 502/839] Clean up code formatting --- docs/installing/index.md | 98 +++++++++++++++------------------------- 1 file changed, 37 insertions(+), 61 deletions(-) diff --git a/docs/installing/index.md b/docs/installing/index.md index 9fb89f89..b8c1bbc1 100644 --- a/docs/installing/index.md +++ b/docs/installing/index.md @@ -40,94 +40,78 @@ Just follow the normal [installation instructions](/#install), except change the ### Installing via Composer -#### As part of a project +**As part of a project** Add the following line to your projects `composer.json` file: -```json -"require" : { - "wp-cli/wp-cli" : "~0.21", - "psy/psysh" : "~0.6" -} -``` + "require" : { + "wp-cli/wp-cli" : "~0.22", + "psy/psysh" : "~0.6" + } + where the `psy/psysh` package is just a _suggestion_ by the WP CLI package and _optional_. Optionally (if run on a server or for e.g. in a virtual machine locally) you can automate setting up the command and making it available in the users path. Let's assume _Composer_ installed into `/var/www/vendor`, we can add the following `scripts`/commands to the `composer.json` file. The second and third line set up [bash completion](https://github.com/wp-cli/wp-cli/blob/master/utils/wp-completion.bash) so we don't have to remember every single command: -```json -"scripts" : { - "post-install-cmd" : [ - "sudo ln -s /var/www/vendor/wp-cli/wp-cli/bin/wp /usr/bin/wp", - "source /var/www/vendor/wp-cli/wp-cli/utils/wp-completion.bash", - "source ~/.bash_profile" - ] -} -``` + "scripts" : { + "post-install-cmd" : [ + "sudo ln -s /var/www/vendor/wp-cli/wp-cli/bin/wp /usr/bin/wp", + "source /var/www/vendor/wp-cli/wp-cli/utils/wp-completion.bash", + "source ~/.bash_profile" + ] + } -#### As a project +**As a project** Needs `php` and `composer` (or `php composer.phar`) set up as console commands. -``` -composer create-project wp-cli/wp-cli --prefer-source -``` + composer create-project wp-cli/wp-cli --prefer-source Then run `wp-cli/bin/wp` or add `wp-cli/bin` folder to `PATH` for global `wp` command (on Windows, use `wp-cli/bin/wp.bat` instead). To update, you'll need to: -``` -cd wp-cli -git pull origin master -composer install -``` + cd wp-cli + git pull origin master + composer install -#### Global require +**Global require** If you prefer to have PHP tools installed globally via Composer and have something like `~/.composer/vendor/bin` in your PATH (or `C:\Users\you\AppData\Roaming\Composer\vendor\bin` on Windows), you can just run: -``` -composer global require wp-cli/wp-cli -``` + composer global require wp-cli/wp-cli To update everything globally, run `composer global update`. - -#### Installing a specific version +**Installing a specific version** If you want to install a specific version of WP-CLI then append the version numbers behind the packages -``` -composer create-project wp-cli/wp-cli:0.15.1 --no-dev -``` + + composer create-project wp-cli/wp-cli:0.22.0 --no-dev + The version must be in a [format](https://getcomposer.org/doc/04-schema.md#version) that Composer can understand and can be found on [packagist.org](https://packagist.org/packages/wp-cli/wp-cli). -**Installing bleeding-edge** +**Installing bleeding-edge** + If you want to install bleeding-edge then use `dev-master`: -``` -composer create-project wp-cli/wp-cli:dev-master --no-dev -``` + composer create-project wp-cli/wp-cli:dev-master --no-dev #### Installing globally as a project You can specify a custom install path for WP-CLI, like so: -``` -composer create-project wp-cli/wp-cli /usr/share/wp-cli --no-dev -``` + composer create-project wp-cli/wp-cli /usr/share/wp-cli --no-dev Then, just symlink the binary: -``` -sudo ln -s /usr/share/wp-cli/bin/wp /usr/bin/wp -``` + sudo ln -s /usr/share/wp-cli/bin/wp /usr/bin/wp ### Installing via Homebrew -``` -brew install homebrew/php/wp-cli -``` + brew install homebrew/php/wp-cli + Here's the [formula](https://github.com/homebrew/homebrew-php/blob/master/Formula/wp-cli.rb). ### Installing on Windows @@ -140,18 +124,14 @@ Download [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli Create a file named `wp.bat` in `c:\wp-cli` with the following contents: -``` -@ECHO OFF -php "c:/wp-cli/wp-cli.phar" %* -``` + @ECHO OFF + php "c:/wp-cli/wp-cli.phar" %* Add `c:\wp-cli` to your path: -``` -setx path "%path%;c:\wp-cli" -``` + setx path "%path%;c:\wp-cli" -You can now use wp-cli from anywhere in Windows command line. +You can now use WP-CLI from anywhere in Windows command line. ### Installing via .deb package @@ -164,15 +144,11 @@ In some cases, like for MAMP installs, you might not want to use the default PHP To change it, you need to set the WP_CLI_PHP environment variable in your `.bash_profile`: -``` -export WP_CLI_PHP=/Applications/MAMP/.../bin/php -``` + export WP_CLI_PHP=/Applications/MAMP/.../bin/php Once you have added that and saved the file, reload the file with: -``` -source ~/.bash_profile -``` + source ~/.bash_profile After you've done that, run `wp --info` to make sure it took. From 3d501b63f0aecf4e4090799c51800ba073c741f6 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 4 Mar 2016 07:34:04 -0800 Subject: [PATCH 503/839] Remove cPanel and random local install docs which seem to be out of date --- docs/installing/index.md | 80 ---------------------------------------- 1 file changed, 80 deletions(-) diff --git a/docs/installing/index.md b/docs/installing/index.md index b8c1bbc1..53469bc3 100644 --- a/docs/installing/index.md +++ b/docs/installing/index.md @@ -155,83 +155,3 @@ After you've done that, run `wp --info` to make sure it took. ### Installing on MediaTemple See [http://razorfrog.com/installing-wp-cli-on-mediatemple-grid-server/](http://razorfrog.com/installing-wp-cli-on-mediatemple-grid-server/) - -### Installing Locally on cPanel Dedicated Server - -Below is an account of upgrading from wp-cli 0.13.0 to version 0.17.1 onto a dedicated server using cPanel accounts thus restricting wp-cli to individual domain vs entire box ... - -I was upgrading from version 0.13 to 0.17.1 and the install script previously used is deprecated yet my working version of wp-cli was in `/home/[USERNAME]/.wp-cli/` ... I also did not want to super-user-do across my dedicated box but instead keep wp-cli at account level (a domain vs root box) ... - -* First I downloaded the wp-cli.phar file onto my server in the user account I want wp-cli to run ... can download the wp-cli.phar file one of two ways - click on link with web broswer at https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar then ftp file onto server ... or via wget with the no-check-certificate flag as the SSL certificate at githubusercontent.com kicks out errors (ditto using curl -k) - -
    wget --no-check-certificate https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
    - -* Once the file is on server, move it into the previous installed folder (or create the folder) -> /home/[USERNAME]/.wp-cli/ ... delete all other files and folders so only one file, wp-cli.phar, is in this folder ... - -* Next make the file executable by chmod to 0755 - -* Key part is to now update your .bash_profile file with this line that also points to your WordPress directory (mine WP install is in the public_html folder) ... also note with cPanel the .bash_profile file is found in /home/[USERNAME]/.bash_profile - -
    # WP-CLI Create WP Alias
    -alias wp="php /home/[USERNAME]/.wp-cli/wp-cli.phar --path=/home/[USERNAME]/public_html/"
    - -* Now reload the bash profile - -
    source ~/.bash_profile
    - -* Then test and voila - working wp-cli.phar file ... - -**Outstanding Issues** ... when I do wp --info, I get the following and it is the root dir, global config and project config that i'm not positive are correct so I might be missing something to set these but for now my install is working with various tests ... output from wp --info = - -``` -PHP binary: /usr/local/bin/php -PHP version: 5.5.18 -php.ini used: /usr/local/lib/php.ini -WP-CLI root dir: phar://wp-cli.phar -WP-CLI global config: blank -WP-CLI project config: blank -WP-CLI version: 0.17.1 -``` - -ps - this cPanel section authored by Chuck Scott - chuck at avantigroup dot com on 11.20.2014 - -### Installing Locally Better Way - -Though previous method works well when `wp-cli` used interactively, it fails when it comes to automation. Some scripts (for example [wp-deploy capistrano tasks](https://github.com/Mixd/wp-deploy)) may access `wp-cli` via - -``` -/usr/bin/env wp -``` - -It means PATH should be aware of `wp` command. Also PATH should be defined in `.bashrc` file, not in `.bash_profile`, in order to make it visible to scripts. `.bash_profile` in turn could load `.bashrc` - -**Complete HOWTO:** - -- First download the `wp-cli.phar` file using wget or curl. For example: - -
    curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
    - -- Then, check if it works: - -
    php wp-cli.phar --info
    - -- Move the file into the previous installed folder (or create the folder) -> `/home/[USERNAME]/.wp-cli/`, delete all other files and folders so only one file, `wp-cli.phar`, is in this folder. Rename `wp-cli.phar` into `wp` and make it executable: - -
    chmod +x wp-cli.phar
    -mkdir ~/.wp-cli
    -mv wp-cli.phar ~/.wp-cli/wp
    - -- Next update (or create) your .bashrc file, located at `/home/[USERNAME]/.bashrc`. It should contain something like this: - -
    export PATH="$PATH:$HOME/.wp-cli"
    - -- Update (or create) your .bash_profile file, located at `/home/[USERNAME]/.bash_profile`. It should contain something like this: - -
    if [ -f ~/.bashrc ]; then 
    -    source ~/.bashrc 
    -fi
    - -- Finally reload .bashrc and check if everything works properly: - -
    source ~/.bashrc
    -/usr/bin/env wp --info
    From 2efe80849a845f75d4cc52c5f8dbc82a2ae9de79 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 4 Mar 2016 08:43:40 -0800 Subject: [PATCH 504/839] Generate the documentation list --- Phakefile.php | 47 +++++++++++++++++++++++++++++++- _includes/doc-list.html | 22 +++++++++++++++ _includes/header.html | 1 + _layouts/doc.html | 10 +++++++ _templates/internal-api.mustache | 2 +- docs/index.md | 13 +++++++++ docs/installing/index.md | 4 ++- docs/internal-api/index.md | 4 ++- 8 files changed, 99 insertions(+), 4 deletions(-) create mode 100644 _includes/doc-list.html create mode 100644 _layouts/doc.html create mode 100644 docs/index.md diff --git a/Phakefile.php b/Phakefile.php index c0490c0a..cf3f3ed8 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -209,6 +209,51 @@ function gen_cmd_pages( $cmd, $parent = array() ) { file_put_contents( '_includes/internal-api-list.html', $out ); }); +desc( 'Update the /docs/ page.' ); +task( 'doc-list', function( $app ){ + $docs = array( + 'Guides' => array(), + 'References' => array(), + 'Contributing' => array(), + 'Misc' => array(), + ); + foreach( glob( __DIR__ . '/docs/*/index.md' ) as $file ) { + $contents = file_get_contents( $file ); + $parts = explode( '---', $contents ); + $header = $parts[1]; + preg_match( '#category:\s(.+)#', $header, $matches ); + if ( ! empty( $matches[1] ) && array_key_exists( $matches[1], $docs ) ) { + $category = $matches[1]; + } else { + $category = 'Misc'; + } + preg_match( '#title:\s(.+)#', $header, $matches ); + $title = ! empty( $matches[1] ) ? $matches[1] : ''; + preg_match( '#description:\s(.+)#', $header, $matches ); + $description = ! empty( $matches[1] ) ? $matches[1] : ''; + $docs[ $category ][] = array( + 'path' => basename( dirname( $file ) ), + 'title' => $title, + 'description' => $description, + ); + } + $out = ''; + foreach( $docs as $category => $cat_docs ) { + $out .= '

    ' . $category . '

    ' . PHP_EOL . PHP_EOL; + $out .= '
      ' . PHP_EOL; + foreach( $cat_docs as $cat_doc ) { + $out .= '
    • ' . $cat_doc['title'] . ''; + if ( ! empty( $cat_doc['description'] ) ) { + $out .= ' - ' . $cat_doc['description']; + } + $out .= '
    • ' . PHP_EOL; + } + $out .= '
    ' . PHP_EOL . PHP_EOL; + } + + file_put_contents( '_includes/doc-list.html', $out ); +}); + desc( 'Build the site.' ); -task( 'default', 'cmd-list', 'param-list', 'internal-api-list' ); +task( 'default', 'cmd-list', 'param-list', 'internal-api-list', 'doc-list' ); diff --git a/_includes/doc-list.html b/_includes/doc-list.html new file mode 100644 index 00000000..9d53eaf3 --- /dev/null +++ b/_includes/doc-list.html @@ -0,0 +1,22 @@ +

    Guides

    + +
      +
    • Installing - Recommended and alternative installation mechanisms.
    • +
    + +

    References

    + +
      +
    • Internal API - Stable utilities considered safe to use in community commands.
    • +
    + +

    Contributing

    + +
      +
    + +

    Misc

    + +
      +
    + diff --git a/_includes/header.html b/_includes/header.html index 416dd8ec..e95cf83e 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -12,6 +12,7 @@ {{ page.title }} | WP-CLI + {% if page.display_global_parameters %} diff --git a/_layouts/doc.html b/_layouts/doc.html new file mode 100644 index 00000000..51596f85 --- /dev/null +++ b/_layouts/doc.html @@ -0,0 +1,10 @@ +{% include header.html %} + +{% capture page_url %}{{ page.url | remove:'index.html' }}{% endcapture %} +{% if page_url != '/docs/' %} +Docs » {{ page.category }} +{% endif %} + +{{ content }} + +{% include footer.html %} diff --git a/_templates/internal-api.mustache b/_templates/internal-api.mustache index 05a033a8..58853f2b 100644 --- a/_templates/internal-api.mustache +++ b/_templates/internal-api.mustache @@ -3,7 +3,7 @@ layout: default title: {{full_name}}() --- -Internal API » {{category}} +Docs » Internal API » {{category}} ## {{full_name}}() diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 00000000..562cecf8 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,13 @@ +--- +layout: doc +title: Documentation +description: Helpful guides and resources for using WP-CLI. +--- + +## Documentation + +Here are some helpful guides and resources for using WP-CLI. + +Can't find what you're looking for? [Open an issue](https://github.com/wp-cli/wp-cli/issues) to request improvements. + +{% include doc-list.html %} diff --git a/docs/installing/index.md b/docs/installing/index.md index 53469bc3..d781ccac 100644 --- a/docs/installing/index.md +++ b/docs/installing/index.md @@ -1,6 +1,8 @@ --- -layout: default +layout: doc title: Installing +category: Guides +description: Recommended and alternative installation mechanisms. --- ## Recommended Installation diff --git a/docs/internal-api/index.md b/docs/internal-api/index.md index d46c58df..7cfb8ae6 100644 --- a/docs/internal-api/index.md +++ b/docs/internal-api/index.md @@ -1,6 +1,8 @@ --- -layout: default +layout: doc title: Internal API +category: References +description: Stable utilities considered safe to use in community commands. --- ## Internal API From 5bb0b0ba730fa4185cb8c58909573a17409da1a2 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 4 Mar 2016 08:47:45 -0800 Subject: [PATCH 505/839] Add direct Edit link for documentation --- _layouts/doc.html | 3 +++ 1 file changed, 3 insertions(+) diff --git a/_layouts/doc.html b/_layouts/doc.html index 51596f85..b53e4fc7 100644 --- a/_layouts/doc.html +++ b/_layouts/doc.html @@ -1,6 +1,9 @@ {% include header.html %} {% capture page_url %}{{ page.url | remove:'index.html' }}{% endcapture %} + +Edit + {% if page_url != '/docs/' %} Docs » {{ page.category }} {% endif %} From 230107150ea31f78e18ab6627920d5f835faaba5 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 4 Mar 2016 08:49:04 -0800 Subject: [PATCH 506/839] Regen Interal API docs to include top-level Doc item --- docs/internal-api/wp-cli-add-command/index.md | 2 +- docs/internal-api/wp-cli-add-hook/index.md | 2 +- docs/internal-api/wp-cli-confirm/index.md | 2 +- docs/internal-api/wp-cli-debug/index.md | 2 +- docs/internal-api/wp-cli-do-hook/index.md | 2 +- docs/internal-api/wp-cli-error-multi-line/index.md | 2 +- docs/internal-api/wp-cli-error/index.md | 2 +- docs/internal-api/wp-cli-get-php-binary/index.md | 2 +- docs/internal-api/wp-cli-launch-self/index.md | 2 +- docs/internal-api/wp-cli-launch/index.md | 2 +- docs/internal-api/wp-cli-line/index.md | 2 +- docs/internal-api/wp-cli-log/index.md | 2 +- docs/internal-api/wp-cli-read-value/index.md | 2 +- docs/internal-api/wp-cli-success/index.md | 2 +- docs/internal-api/wp-cli-utils-format-items/index.md | 2 +- docs/internal-api/wp-cli-utils-get-flag-value/index.md | 2 +- docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md | 2 +- docs/internal-api/wp-cli-utils-get-temp-dir/index.md | 2 +- docs/internal-api/wp-cli-utils-http-request/index.md | 2 +- docs/internal-api/wp-cli-utils-make-progress-bar/index.md | 2 +- docs/internal-api/wp-cli-utils-write-csv/index.md | 2 +- docs/internal-api/wp-cli-warning/index.md | 2 +- 22 files changed, 22 insertions(+), 22 deletions(-) diff --git a/docs/internal-api/wp-cli-add-command/index.md b/docs/internal-api/wp-cli-add-command/index.md index 7220b413..a10be8e9 100644 --- a/docs/internal-api/wp-cli-add-command/index.md +++ b/docs/internal-api/wp-cli-add-command/index.md @@ -3,7 +3,7 @@ layout: default title: WP_CLI::add_command() --- -Internal API » Registration +Docs » Internal API » Registration ## WP_CLI::add_command() diff --git a/docs/internal-api/wp-cli-add-hook/index.md b/docs/internal-api/wp-cli-add-hook/index.md index 9d0a3567..df8db1bf 100644 --- a/docs/internal-api/wp-cli-add-hook/index.md +++ b/docs/internal-api/wp-cli-add-hook/index.md @@ -3,7 +3,7 @@ layout: default title: WP_CLI::add_hook() --- -Internal API » Registration +Docs » Internal API » Registration ## WP_CLI::add_hook() diff --git a/docs/internal-api/wp-cli-confirm/index.md b/docs/internal-api/wp-cli-confirm/index.md index 0f973ecd..ce6c0647 100644 --- a/docs/internal-api/wp-cli-confirm/index.md +++ b/docs/internal-api/wp-cli-confirm/index.md @@ -3,7 +3,7 @@ layout: default title: WP_CLI::confirm() --- -Internal API » Input +Docs » Internal API » Input ## WP_CLI::confirm() diff --git a/docs/internal-api/wp-cli-debug/index.md b/docs/internal-api/wp-cli-debug/index.md index 56565cff..a3d7a110 100644 --- a/docs/internal-api/wp-cli-debug/index.md +++ b/docs/internal-api/wp-cli-debug/index.md @@ -3,7 +3,7 @@ layout: default title: WP_CLI::debug() --- -Internal API » Output +Docs » Internal API » Output ## WP_CLI::debug() diff --git a/docs/internal-api/wp-cli-do-hook/index.md b/docs/internal-api/wp-cli-do-hook/index.md index 1883dcbe..0befe628 100644 --- a/docs/internal-api/wp-cli-do-hook/index.md +++ b/docs/internal-api/wp-cli-do-hook/index.md @@ -3,7 +3,7 @@ layout: default title: WP_CLI::do_hook() --- -Internal API » Registration +Docs » Internal API » Registration ## WP_CLI::do_hook() diff --git a/docs/internal-api/wp-cli-error-multi-line/index.md b/docs/internal-api/wp-cli-error-multi-line/index.md index d1c7f390..083e635b 100644 --- a/docs/internal-api/wp-cli-error-multi-line/index.md +++ b/docs/internal-api/wp-cli-error-multi-line/index.md @@ -3,7 +3,7 @@ layout: default title: WP_CLI::error_multi_line() --- -Internal API » Output +Docs » Internal API » Output ## WP_CLI::error_multi_line() diff --git a/docs/internal-api/wp-cli-error/index.md b/docs/internal-api/wp-cli-error/index.md index e2ee29e3..060248e5 100644 --- a/docs/internal-api/wp-cli-error/index.md +++ b/docs/internal-api/wp-cli-error/index.md @@ -3,7 +3,7 @@ layout: default title: WP_CLI::error() --- -Internal API » Output +Docs » Internal API » Output ## WP_CLI::error() diff --git a/docs/internal-api/wp-cli-get-php-binary/index.md b/docs/internal-api/wp-cli-get-php-binary/index.md index a64a723d..f29f06a3 100644 --- a/docs/internal-api/wp-cli-get-php-binary/index.md +++ b/docs/internal-api/wp-cli-get-php-binary/index.md @@ -3,7 +3,7 @@ layout: default title: WP_CLI::get_php_binary() --- -Internal API » System +Docs » Internal API » System ## WP_CLI::get_php_binary() diff --git a/docs/internal-api/wp-cli-launch-self/index.md b/docs/internal-api/wp-cli-launch-self/index.md index 02bef08e..42e5486c 100644 --- a/docs/internal-api/wp-cli-launch-self/index.md +++ b/docs/internal-api/wp-cli-launch-self/index.md @@ -3,7 +3,7 @@ layout: default title: WP_CLI::launch_self() --- -Internal API » Execution +Docs » Internal API » Execution ## WP_CLI::launch_self() diff --git a/docs/internal-api/wp-cli-launch/index.md b/docs/internal-api/wp-cli-launch/index.md index 69a587b1..2e05be0c 100644 --- a/docs/internal-api/wp-cli-launch/index.md +++ b/docs/internal-api/wp-cli-launch/index.md @@ -3,7 +3,7 @@ layout: default title: WP_CLI::launch() --- -Internal API » Execution +Docs » Internal API » Execution ## WP_CLI::launch() diff --git a/docs/internal-api/wp-cli-line/index.md b/docs/internal-api/wp-cli-line/index.md index 33674c8b..11f498a6 100644 --- a/docs/internal-api/wp-cli-line/index.md +++ b/docs/internal-api/wp-cli-line/index.md @@ -3,7 +3,7 @@ layout: default title: WP_CLI::line() --- -Internal API » Output +Docs » Internal API » Output ## WP_CLI::line() diff --git a/docs/internal-api/wp-cli-log/index.md b/docs/internal-api/wp-cli-log/index.md index 7cf44598..d32da7c9 100644 --- a/docs/internal-api/wp-cli-log/index.md +++ b/docs/internal-api/wp-cli-log/index.md @@ -3,7 +3,7 @@ layout: default title: WP_CLI::log() --- -Internal API » Output +Docs » Internal API » Output ## WP_CLI::log() diff --git a/docs/internal-api/wp-cli-read-value/index.md b/docs/internal-api/wp-cli-read-value/index.md index 9680e655..ca1970a0 100644 --- a/docs/internal-api/wp-cli-read-value/index.md +++ b/docs/internal-api/wp-cli-read-value/index.md @@ -3,7 +3,7 @@ layout: default title: WP_CLI::read_value() --- -Internal API » Input +Docs » Internal API » Input ## WP_CLI::read_value() diff --git a/docs/internal-api/wp-cli-success/index.md b/docs/internal-api/wp-cli-success/index.md index a504fe02..281dce10 100644 --- a/docs/internal-api/wp-cli-success/index.md +++ b/docs/internal-api/wp-cli-success/index.md @@ -3,7 +3,7 @@ layout: default title: WP_CLI::success() --- -Internal API » Output +Docs » Internal API » Output ## WP_CLI::success() diff --git a/docs/internal-api/wp-cli-utils-format-items/index.md b/docs/internal-api/wp-cli-utils-format-items/index.md index 3075b67c..237d1781 100644 --- a/docs/internal-api/wp-cli-utils-format-items/index.md +++ b/docs/internal-api/wp-cli-utils-format-items/index.md @@ -3,7 +3,7 @@ layout: default title: WP_CLI\Utils\format_items() --- -Internal API » Output +Docs » Internal API » Output ## WP_CLI\Utils\format_items() diff --git a/docs/internal-api/wp-cli-utils-get-flag-value/index.md b/docs/internal-api/wp-cli-utils-get-flag-value/index.md index a1277426..cc4c4d82 100644 --- a/docs/internal-api/wp-cli-utils-get-flag-value/index.md +++ b/docs/internal-api/wp-cli-utils-get-flag-value/index.md @@ -3,7 +3,7 @@ layout: default title: WP_CLI\Utils\get_flag_value() --- -Internal API » Input +Docs » Internal API » Input ## WP_CLI\Utils\get_flag_value() diff --git a/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md b/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md index 1bf16419..4f99e40f 100644 --- a/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md +++ b/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md @@ -3,7 +3,7 @@ layout: default title: WP_CLI\Utils\get_named_sem_ver() --- -Internal API » Misc +Docs » Internal API » Misc ## WP_CLI\Utils\get_named_sem_ver() diff --git a/docs/internal-api/wp-cli-utils-get-temp-dir/index.md b/docs/internal-api/wp-cli-utils-get-temp-dir/index.md index f00b4c65..815eb84b 100644 --- a/docs/internal-api/wp-cli-utils-get-temp-dir/index.md +++ b/docs/internal-api/wp-cli-utils-get-temp-dir/index.md @@ -3,7 +3,7 @@ layout: default title: WP_CLI\Utils\get_temp_dir() --- -Internal API » System +Docs » Internal API » System ## WP_CLI\Utils\get_temp_dir() diff --git a/docs/internal-api/wp-cli-utils-http-request/index.md b/docs/internal-api/wp-cli-utils-http-request/index.md index b268729c..48dcf87f 100644 --- a/docs/internal-api/wp-cli-utils-http-request/index.md +++ b/docs/internal-api/wp-cli-utils-http-request/index.md @@ -3,7 +3,7 @@ layout: default title: WP_CLI\Utils\http_request() --- -Internal API » Misc +Docs » Internal API » Misc ## WP_CLI\Utils\http_request() diff --git a/docs/internal-api/wp-cli-utils-make-progress-bar/index.md b/docs/internal-api/wp-cli-utils-make-progress-bar/index.md index f139a2b2..21ec5d41 100644 --- a/docs/internal-api/wp-cli-utils-make-progress-bar/index.md +++ b/docs/internal-api/wp-cli-utils-make-progress-bar/index.md @@ -3,7 +3,7 @@ layout: default title: WP_CLI\Utils\make_progress_bar() --- -Internal API » Output +Docs » Internal API » Output ## WP_CLI\Utils\make_progress_bar() diff --git a/docs/internal-api/wp-cli-utils-write-csv/index.md b/docs/internal-api/wp-cli-utils-write-csv/index.md index 8eccb81e..35b91150 100644 --- a/docs/internal-api/wp-cli-utils-write-csv/index.md +++ b/docs/internal-api/wp-cli-utils-write-csv/index.md @@ -3,7 +3,7 @@ layout: default title: WP_CLI\Utils\write_csv() --- -Internal API » Misc +Docs » Internal API » Misc ## WP_CLI\Utils\write_csv() diff --git a/docs/internal-api/wp-cli-warning/index.md b/docs/internal-api/wp-cli-warning/index.md index 8784804f..0ad32f70 100644 --- a/docs/internal-api/wp-cli-warning/index.md +++ b/docs/internal-api/wp-cli-warning/index.md @@ -3,7 +3,7 @@ layout: default title: WP_CLI::warning() --- -Internal API » Output +Docs » Internal API » Output ## WP_CLI::warning() From c1de5bcac0a5ae9152a454d16eaf8b8ba69b5730 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 4 Mar 2016 08:51:17 -0800 Subject: [PATCH 507/839] Add SEO description for internal api docs --- _templates/internal-api.mustache | 1 + docs/internal-api/wp-cli-add-command/index.md | 1 + docs/internal-api/wp-cli-add-hook/index.md | 1 + docs/internal-api/wp-cli-confirm/index.md | 1 + docs/internal-api/wp-cli-debug/index.md | 1 + docs/internal-api/wp-cli-do-hook/index.md | 1 + docs/internal-api/wp-cli-error-multi-line/index.md | 1 + docs/internal-api/wp-cli-error/index.md | 1 + docs/internal-api/wp-cli-get-php-binary/index.md | 1 + docs/internal-api/wp-cli-launch-self/index.md | 1 + docs/internal-api/wp-cli-launch/index.md | 1 + docs/internal-api/wp-cli-line/index.md | 1 + docs/internal-api/wp-cli-log/index.md | 1 + docs/internal-api/wp-cli-read-value/index.md | 1 + docs/internal-api/wp-cli-success/index.md | 1 + docs/internal-api/wp-cli-utils-format-items/index.md | 1 + docs/internal-api/wp-cli-utils-get-flag-value/index.md | 1 + docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md | 1 + docs/internal-api/wp-cli-utils-get-temp-dir/index.md | 1 + docs/internal-api/wp-cli-utils-http-request/index.md | 1 + docs/internal-api/wp-cli-utils-make-progress-bar/index.md | 1 + docs/internal-api/wp-cli-utils-write-csv/index.md | 1 + docs/internal-api/wp-cli-warning/index.md | 1 + 23 files changed, 23 insertions(+) diff --git a/_templates/internal-api.mustache b/_templates/internal-api.mustache index 58853f2b..fcd66a95 100644 --- a/_templates/internal-api.mustache +++ b/_templates/internal-api.mustache @@ -1,6 +1,7 @@ --- layout: default title: {{full_name}}() +description: {{phpdoc.short_description}} --- Docs » Internal API » {{category}} diff --git a/docs/internal-api/wp-cli-add-command/index.md b/docs/internal-api/wp-cli-add-command/index.md index a10be8e9..34acaf22 100644 --- a/docs/internal-api/wp-cli-add-command/index.md +++ b/docs/internal-api/wp-cli-add-command/index.md @@ -1,6 +1,7 @@ --- layout: default title: WP_CLI::add_command() +description: Register a command to WP-CLI. --- Docs » Internal API » Registration diff --git a/docs/internal-api/wp-cli-add-hook/index.md b/docs/internal-api/wp-cli-add-hook/index.md index df8db1bf..a68a008b 100644 --- a/docs/internal-api/wp-cli-add-hook/index.md +++ b/docs/internal-api/wp-cli-add-hook/index.md @@ -1,6 +1,7 @@ --- layout: default title: WP_CLI::add_hook() +description: Schedule a callback to be executed at a certain point. --- Docs » Internal API » Registration diff --git a/docs/internal-api/wp-cli-confirm/index.md b/docs/internal-api/wp-cli-confirm/index.md index ce6c0647..dc3d5504 100644 --- a/docs/internal-api/wp-cli-confirm/index.md +++ b/docs/internal-api/wp-cli-confirm/index.md @@ -1,6 +1,7 @@ --- layout: default title: WP_CLI::confirm() +description: Ask for confirmation before running a destructive operation. --- Docs » Internal API » Input diff --git a/docs/internal-api/wp-cli-debug/index.md b/docs/internal-api/wp-cli-debug/index.md index a3d7a110..d3a81eef 100644 --- a/docs/internal-api/wp-cli-debug/index.md +++ b/docs/internal-api/wp-cli-debug/index.md @@ -1,6 +1,7 @@ --- layout: default title: WP_CLI::debug() +description: Display debug message prefixed with "Debug: " when `--debug` is used. --- Docs » Internal API » Output diff --git a/docs/internal-api/wp-cli-do-hook/index.md b/docs/internal-api/wp-cli-do-hook/index.md index 0befe628..bb74b20c 100644 --- a/docs/internal-api/wp-cli-do-hook/index.md +++ b/docs/internal-api/wp-cli-do-hook/index.md @@ -1,6 +1,7 @@ --- layout: default title: WP_CLI::do_hook() +description: Execute callbacks registered to a given hook. --- Docs » Internal API » Registration diff --git a/docs/internal-api/wp-cli-error-multi-line/index.md b/docs/internal-api/wp-cli-error-multi-line/index.md index 083e635b..02e1ec5a 100644 --- a/docs/internal-api/wp-cli-error-multi-line/index.md +++ b/docs/internal-api/wp-cli-error-multi-line/index.md @@ -1,6 +1,7 @@ --- layout: default title: WP_CLI::error_multi_line() +description: Display a multi-line error message in a red box. Doesn't exit script. --- Docs » Internal API » Output diff --git a/docs/internal-api/wp-cli-error/index.md b/docs/internal-api/wp-cli-error/index.md index 060248e5..1e5b1c88 100644 --- a/docs/internal-api/wp-cli-error/index.md +++ b/docs/internal-api/wp-cli-error/index.md @@ -1,6 +1,7 @@ --- layout: default title: WP_CLI::error() +description: Display error message prefixed with "Error: " and exit script. --- Docs » Internal API » Output diff --git a/docs/internal-api/wp-cli-get-php-binary/index.md b/docs/internal-api/wp-cli-get-php-binary/index.md index f29f06a3..7b598fe5 100644 --- a/docs/internal-api/wp-cli-get-php-binary/index.md +++ b/docs/internal-api/wp-cli-get-php-binary/index.md @@ -1,6 +1,7 @@ --- layout: default title: WP_CLI::get_php_binary() +description: Get the path to the PHP binary used when executing WP-CLI. --- Docs » Internal API » System diff --git a/docs/internal-api/wp-cli-launch-self/index.md b/docs/internal-api/wp-cli-launch-self/index.md index 42e5486c..e67ebae7 100644 --- a/docs/internal-api/wp-cli-launch-self/index.md +++ b/docs/internal-api/wp-cli-launch-self/index.md @@ -1,6 +1,7 @@ --- layout: default title: WP_CLI::launch_self() +description: Run a WP-CLI command in a new process reusing the current runtime arguments. --- Docs » Internal API » Execution diff --git a/docs/internal-api/wp-cli-launch/index.md b/docs/internal-api/wp-cli-launch/index.md index 2e05be0c..9bdab3ae 100644 --- a/docs/internal-api/wp-cli-launch/index.md +++ b/docs/internal-api/wp-cli-launch/index.md @@ -1,6 +1,7 @@ --- layout: default title: WP_CLI::launch() +description: Launch an arbitrary external process that takes over I/O. --- Docs » Internal API » Execution diff --git a/docs/internal-api/wp-cli-line/index.md b/docs/internal-api/wp-cli-line/index.md index 11f498a6..0f448521 100644 --- a/docs/internal-api/wp-cli-line/index.md +++ b/docs/internal-api/wp-cli-line/index.md @@ -1,6 +1,7 @@ --- layout: default title: WP_CLI::line() +description: Display informational message without prefix, and ignore `--quiet`. --- Docs » Internal API » Output diff --git a/docs/internal-api/wp-cli-log/index.md b/docs/internal-api/wp-cli-log/index.md index d32da7c9..2c56604a 100644 --- a/docs/internal-api/wp-cli-log/index.md +++ b/docs/internal-api/wp-cli-log/index.md @@ -1,6 +1,7 @@ --- layout: default title: WP_CLI::log() +description: Display informational message without prefix. --- Docs » Internal API » Output diff --git a/docs/internal-api/wp-cli-read-value/index.md b/docs/internal-api/wp-cli-read-value/index.md index ca1970a0..34d79c40 100644 --- a/docs/internal-api/wp-cli-read-value/index.md +++ b/docs/internal-api/wp-cli-read-value/index.md @@ -1,6 +1,7 @@ --- layout: default title: WP_CLI::read_value() +description: Read a value, from various formats. --- Docs » Internal API » Input diff --git a/docs/internal-api/wp-cli-success/index.md b/docs/internal-api/wp-cli-success/index.md index 281dce10..3a888159 100644 --- a/docs/internal-api/wp-cli-success/index.md +++ b/docs/internal-api/wp-cli-success/index.md @@ -1,6 +1,7 @@ --- layout: default title: WP_CLI::success() +description: Display success message prefixed with "Success: ". --- Docs » Internal API » Output diff --git a/docs/internal-api/wp-cli-utils-format-items/index.md b/docs/internal-api/wp-cli-utils-format-items/index.md index 237d1781..0c856423 100644 --- a/docs/internal-api/wp-cli-utils-format-items/index.md +++ b/docs/internal-api/wp-cli-utils-format-items/index.md @@ -1,6 +1,7 @@ --- layout: default title: WP_CLI\Utils\format_items() +description: Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or count. --- Docs » Internal API » Output diff --git a/docs/internal-api/wp-cli-utils-get-flag-value/index.md b/docs/internal-api/wp-cli-utils-get-flag-value/index.md index cc4c4d82..1bc49464 100644 --- a/docs/internal-api/wp-cli-utils-get-flag-value/index.md +++ b/docs/internal-api/wp-cli-utils-get-flag-value/index.md @@ -1,6 +1,7 @@ --- layout: default title: WP_CLI\Utils\get_flag_value() +description: Return the flag value or, if it's not set, the $default value. --- Docs » Internal API » Input diff --git a/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md b/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md index 4f99e40f..08d6e29e 100644 --- a/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md +++ b/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md @@ -1,6 +1,7 @@ --- layout: default title: WP_CLI\Utils\get_named_sem_ver() +description: Compare two version strings to get the named semantic version. --- Docs » Internal API » Misc diff --git a/docs/internal-api/wp-cli-utils-get-temp-dir/index.md b/docs/internal-api/wp-cli-utils-get-temp-dir/index.md index 815eb84b..400f1dec 100644 --- a/docs/internal-api/wp-cli-utils-get-temp-dir/index.md +++ b/docs/internal-api/wp-cli-utils-get-temp-dir/index.md @@ -1,6 +1,7 @@ --- layout: default title: WP_CLI\Utils\get_temp_dir() +description: Get the system's temp directory. Warns user if it isn't writable. --- Docs » Internal API » System diff --git a/docs/internal-api/wp-cli-utils-http-request/index.md b/docs/internal-api/wp-cli-utils-http-request/index.md index 48dcf87f..ded4a1c6 100644 --- a/docs/internal-api/wp-cli-utils-http-request/index.md +++ b/docs/internal-api/wp-cli-utils-http-request/index.md @@ -1,6 +1,7 @@ --- layout: default title: WP_CLI\Utils\http_request() +description: Make a HTTP request to a remote URL. --- Docs » Internal API » Misc diff --git a/docs/internal-api/wp-cli-utils-make-progress-bar/index.md b/docs/internal-api/wp-cli-utils-make-progress-bar/index.md index 21ec5d41..d642cfd7 100644 --- a/docs/internal-api/wp-cli-utils-make-progress-bar/index.md +++ b/docs/internal-api/wp-cli-utils-make-progress-bar/index.md @@ -1,6 +1,7 @@ --- layout: default title: WP_CLI\Utils\make_progress_bar() +description: Create a progress bar to display percent completion of a given operation. --- Docs » Internal API » Output diff --git a/docs/internal-api/wp-cli-utils-write-csv/index.md b/docs/internal-api/wp-cli-utils-write-csv/index.md index 35b91150..f1460e47 100644 --- a/docs/internal-api/wp-cli-utils-write-csv/index.md +++ b/docs/internal-api/wp-cli-utils-write-csv/index.md @@ -1,6 +1,7 @@ --- layout: default title: WP_CLI\Utils\write_csv() +description: Write data as CSV to a given file. --- Docs » Internal API » Misc diff --git a/docs/internal-api/wp-cli-warning/index.md b/docs/internal-api/wp-cli-warning/index.md index 0ad32f70..7a1d2de6 100644 --- a/docs/internal-api/wp-cli-warning/index.md +++ b/docs/internal-api/wp-cli-warning/index.md @@ -1,6 +1,7 @@ --- layout: default title: WP_CLI::warning() +description: Display warning message prefixed with "Warning: ". --- Docs » Internal API » Output From e35c67980380b0218ddebc5f966cdbd3ac6b5cb9 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 4 Mar 2016 08:57:10 -0800 Subject: [PATCH 508/839] Move Philosophy page into /docs/ --- _includes/doc-list.html | 1 + {wiki => docs}/philosophy/index.md | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) rename {wiki => docs}/philosophy/index.md (87%) diff --git a/_includes/doc-list.html b/_includes/doc-list.html index 9d53eaf3..2b72da05 100644 --- a/_includes/doc-list.html +++ b/_includes/doc-list.html @@ -13,6 +13,7 @@

    References

    Contributing

      +
    • Philosophy - Guidelines which inform project scope, command organization, and behavior.

    Misc

    diff --git a/wiki/philosophy/index.md b/docs/philosophy/index.md similarity index 87% rename from wiki/philosophy/index.md rename to docs/philosophy/index.md index 4983735c..183373d5 100644 --- a/wiki/philosophy/index.md +++ b/docs/philosophy/index.md @@ -1,6 +1,8 @@ --- -layout: default +layout: doc title: Philosophy +category: Contributing +description: Guidelines which inform project scope, command organization, and behavior. --- # Philosophy @@ -29,4 +31,4 @@ Most of the commands in WP-CLI will be used non-interactively, so make the param Bundled commands should expose or make use of WordPress-specific functionality. -If a command provides useful functionality, but it doesn't have anything to do with WordPress, it doesn't belong in WP-CLI. \ No newline at end of file +If a command provides useful functionality, but it doesn't have anything to do with WordPress, it doesn't belong in WP-CLI. From fc03a367c43ccd170decce6118323d583d5da1ee Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 4 Mar 2016 09:03:26 -0800 Subject: [PATCH 509/839] Render documentation page title as part of the template --- _layouts/doc.html | 2 ++ docs/index.md | 2 -- docs/internal-api/index.md | 2 -- docs/philosophy/index.md | 2 -- 4 files changed, 2 insertions(+), 6 deletions(-) diff --git a/_layouts/doc.html b/_layouts/doc.html index b53e4fc7..9bfa3f1d 100644 --- a/_layouts/doc.html +++ b/_layouts/doc.html @@ -8,6 +8,8 @@ Docs » {{ page.category }} {% endif %} +

    {{ page.title }}

    + {{ content }} {% include footer.html %} diff --git a/docs/index.md b/docs/index.md index 562cecf8..d8279b35 100644 --- a/docs/index.md +++ b/docs/index.md @@ -4,8 +4,6 @@ title: Documentation description: Helpful guides and resources for using WP-CLI. --- -## Documentation - Here are some helpful guides and resources for using WP-CLI. Can't find what you're looking for? [Open an issue](https://github.com/wp-cli/wp-cli/issues) to request improvements. diff --git a/docs/internal-api/index.md b/docs/internal-api/index.md index 7cfb8ae6..4a5cb504 100644 --- a/docs/internal-api/index.md +++ b/docs/internal-api/index.md @@ -5,8 +5,6 @@ category: References description: Stable utilities considered safe to use in community commands. --- -## Internal API - WP-CLI includes a number of utilities which are considered stable and meant to be used by commands. This also means functions and methods not listed here are considered part of the private API. They may change or disappear at any time. diff --git a/docs/philosophy/index.md b/docs/philosophy/index.md index 183373d5..f4f96f77 100644 --- a/docs/philosophy/index.md +++ b/docs/philosophy/index.md @@ -5,8 +5,6 @@ category: Contributing description: Guidelines which inform project scope, command organization, and behavior. --- -# Philosophy - This page contains a list of guidelines that should inform decisions related to scope, command organization and behaviour: ## Don't assume anything. From 983bbb596bb45e38e3ba93e22dcefc526e23191d Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 4 Mar 2016 09:14:14 -0800 Subject: [PATCH 510/839] Port Governance page from the wiki --- _includes/doc-list.html | 1 + docs/governance/index.md | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 docs/governance/index.md diff --git a/_includes/doc-list.html b/_includes/doc-list.html index 2b72da05..3a66a784 100644 --- a/_includes/doc-list.html +++ b/_includes/doc-list.html @@ -13,6 +13,7 @@

    References

    Contributing

      +
    • Governance - Summary of those behind WP-CLI.
    • Philosophy - Guidelines which inform project scope, command organization, and behavior.
    diff --git a/docs/governance/index.md b/docs/governance/index.md new file mode 100644 index 00000000..7c70048b --- /dev/null +++ b/docs/governance/index.md @@ -0,0 +1,38 @@ +--- +layout: doc +title: Governance +category: Contributing +description: Summary of those behind WP-CLI. +--- + +### Who runs things? + +[andreascreten](https://github.com/andreascreten), [danielbachhuber](https://github.com/danielbachhuber), and [scribu](https://github.com/scribu) are currently the three people with administrator access to the following properties: + +* [wp-cli](https://github.com/wp-cli) github organization +* [wpcli](https://twitter.com/wpcli) twitter account +* [wp-cli-commits](https://groups.google.com/forum/?fromgroups#!forum/wp-cli-commits) mailing list + +### Who controls the wp-cli.org site? + +The domain currently owned by [andreascreten](https://github.com/andreascreten). + +The entire site is hosted on Github Pages: + +| **URL** | **Repository** | **Branch** | **Updates** +|:---------------------------------|:------------------------------|:-----------|:------------ +| http://wp-cli.org/ | [wp-cli/wp-cli.github.com][1] | master | manual +| http://wp-cli.org/package-index/ | [wp-cli/package-index][2] | gh-pages | cron job hosted on separate server (owned by daniel) +| http://wp-cli.org/builds/ | [wp-cli/builds][3] | gh-pages | automatically by Travis CI + +[1]: http://github.com/wp-cli/wp-cli.github.com +[2]: http://github.com/wp-cli/package-index +[3]: http://github.com/wp-cli/builds + +### Why are some contributors [members](https://github.com/orgs/wp-cli/people) of the wp-cli organization? + +Because they have demonstrated, over a period of time, that they are capable and invested in moving the project forward: + +* contributing to the wp-cli codebase +* promoting wp-cli (speaking at WordCamps, writing blog posts etc.) +* helping other users and/or contributors From 6aad6799a36f9a68af2659c4ae9dd92a2a34961e Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 4 Mar 2016 09:30:45 -0800 Subject: [PATCH 511/839] Migrate Tools to /docs/ format --- _includes/doc-list.html | 1 + {wiki/tools-that-use-wp-cli => docs/tools}/index.md | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) rename {wiki/tools-that-use-wp-cli => docs/tools}/index.md (93%) diff --git a/_includes/doc-list.html b/_includes/doc-list.html index 2b72da05..9d4f66c0 100644 --- a/_includes/doc-list.html +++ b/_includes/doc-list.html @@ -8,6 +8,7 @@

    References

    • Internal API - Stable utilities considered safe to use in community commands.
    • +
    • Integrated Tools - External projects that integrate with WP-CLI in some form.

    Contributing

    diff --git a/wiki/tools-that-use-wp-cli/index.md b/docs/tools/index.md similarity index 93% rename from wiki/tools-that-use-wp-cli/index.md rename to docs/tools/index.md index f01ead92..0d079edf 100644 --- a/wiki/tools-that-use-wp-cli/index.md +++ b/docs/tools/index.md @@ -1,10 +1,10 @@ --- -layout: default -title: Tools that use WP-CLI +layout: doc +title: Integrated Tools +description: External projects that integrate with WP-CLI in some form. +category: References --- -# Tools that use WP-CLI - The following is a list of projects that integrate with WP-CLI. Also see [List of community commands](https://github.com/wp-cli/wp-cli/wiki/List-of-community-commands). ## Wrappers From 7ce4ae8107f5d9a68bfa16f117c51867b89bbe12 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 4 Mar 2016 09:39:47 -0800 Subject: [PATCH 512/839] Port to `/docs/`; sort alphabetically --- Phakefile.php | 3 ++- _includes/doc-list.html | 3 ++- {wiki => docs}/shell-tips/index.md | 4 +++- 3 files changed, 7 insertions(+), 3 deletions(-) rename {wiki => docs}/shell-tips/index.md (91%) diff --git a/Phakefile.php b/Phakefile.php index cf3f3ed8..20d88fb2 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -231,7 +231,7 @@ function gen_cmd_pages( $cmd, $parent = array() ) { $title = ! empty( $matches[1] ) ? $matches[1] : ''; preg_match( '#description:\s(.+)#', $header, $matches ); $description = ! empty( $matches[1] ) ? $matches[1] : ''; - $docs[ $category ][] = array( + $docs[ $category ][ $title ] = array( 'path' => basename( dirname( $file ) ), 'title' => $title, 'description' => $description, @@ -241,6 +241,7 @@ function gen_cmd_pages( $cmd, $parent = array() ) { foreach( $docs as $category => $cat_docs ) { $out .= '

    ' . $category . '

    ' . PHP_EOL . PHP_EOL; $out .= '
      ' . PHP_EOL; + ksort( $cat_docs ); foreach( $cat_docs as $cat_doc ) { $out .= '
    • ' . $cat_doc['title'] . ''; if ( ! empty( $cat_doc['description'] ) ) { diff --git a/_includes/doc-list.html b/_includes/doc-list.html index 1de53430..bf64f21e 100644 --- a/_includes/doc-list.html +++ b/_includes/doc-list.html @@ -7,8 +7,9 @@

      Guides

      References

        -
      • Internal API - Stable utilities considered safe to use in community commands.
      • Integrated Tools - External projects that integrate with WP-CLI in some form.
      • +
      • Internal API - Stable utilities considered safe to use in community commands.
      • +
      • Shell Tips - Helpful shortcuts for bash and zsh.

      Contributing

      diff --git a/wiki/shell-tips/index.md b/docs/shell-tips/index.md similarity index 91% rename from wiki/shell-tips/index.md rename to docs/shell-tips/index.md index 0b696219..bdd058fd 100644 --- a/wiki/shell-tips/index.md +++ b/docs/shell-tips/index.md @@ -1,6 +1,8 @@ --- -layout: default +layout: doc title: Shell Tips +description: Helpful shortcuts for bash and zsh. +category: References --- # Shell Tips From 65bc837f759ca2c7631d68b4c2960f2a1526ada8 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 4 Mar 2016 09:41:44 -0800 Subject: [PATCH 513/839] Remove dupe title --- docs/shell-tips/index.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/shell-tips/index.md b/docs/shell-tips/index.md index bdd058fd..c94c0418 100644 --- a/docs/shell-tips/index.md +++ b/docs/shell-tips/index.md @@ -5,8 +5,6 @@ description: Helpful shortcuts for bash and zsh. category: References --- -# Shell Tips - Master of bash or zsh? Share your tips here. ## Take a look at the plugin changelog From a527d18eb8f8a538b7e0a9d031644613413b1faf Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 7 Mar 2016 05:19:24 -0800 Subject: [PATCH 514/839] Fix formatting of search-replace wildcard example Otherwise, the `*` is markdownified. --- commands/search-replace/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/commands/search-replace/index.md b/commands/search-replace/index.md index 36687b32..3e428bf6 100644 --- a/commands/search-replace/index.md +++ b/commands/search-replace/index.md @@ -30,7 +30,7 @@ change primary key values. [<table>...] : List of database tables to restrict the replacement to. Wildcards are -supported, e.g. 'wp_*_options' or 'wp_post*'. +supported, e.g. `'wp_*_options'` or `'wp_post*'`. [\--dry-run] : Run the entire search/replace operation and show report, but don't save From c6c8f237d6b995ddbe0eca4cbb2bcf1365cf4022 Mon Sep 17 00:00:00 2001 From: Andrew Woods Date: Mon, 7 Mar 2016 19:04:52 -0800 Subject: [PATCH 515/839] Add wp_install bash function This emulates the web-based install process. --- docs/shell-tips/index.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/docs/shell-tips/index.md b/docs/shell-tips/index.md index c94c0418..48e5cdf6 100644 --- a/docs/shell-tips/index.md +++ b/docs/shell-tips/index.md @@ -33,3 +33,29 @@ sudo -u $(stat . -c %U) -- wp --path="$PWD" "$@" Explanation The `stat` command returns the owner of the current directory, WordPress root. + +## Install and Configure WordPress with WP-CLI + +```bash +wp_install () +{ + wp core download --path=$1; + cd $1; + read -p 'name the database:' dbname; + wp core config --dbname=$dbname --dbuser=root --dbpass=awoods --dbhost=localhost; + wp db create; + wp core install --prompt +} + +$ source ~/.bashrc +$ wp_install new-site +``` + +Explanation + +Add this function to your ~/.bashrc are reload your shell (or open a new shell). +You'll need to substitute these database credentials with your own. +When you need create a new wordpress install, call this function and specify the +name of the directory where you want to create the site. This emulates the +web-based install process. + From 12936082bf912b3446c96d1a09f3cc177e263c09 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 8 Mar 2016 12:42:24 -0800 Subject: [PATCH 516/839] Publish `wp package` command docs But don't link them up yet. We just want them as direct reference. --- commands/package/browse/index.md | 19 +++++++++++++ commands/package/index.md | 42 +++++++++++++++++++++++++++++ commands/package/install/index.md | 25 +++++++++++++++++ commands/package/list/index.md | 17 ++++++++++++ commands/package/uninstall/index.md | 17 ++++++++++++ 5 files changed, 120 insertions(+) create mode 100644 commands/package/browse/index.md create mode 100644 commands/package/index.md create mode 100644 commands/package/install/index.md create mode 100644 commands/package/list/index.md create mode 100644 commands/package/uninstall/index.md diff --git a/commands/package/browse/index.md b/commands/package/browse/index.md new file mode 100644 index 00000000..a1190779 --- /dev/null +++ b/commands/package/browse/index.md @@ -0,0 +1,19 @@ +--- +layout: default +title: 'wp package browse' +display_global_parameters: true +--- + +`wp package browse` - Browse WP-CLI packages available for installation. + +
      + +Lists packages available for installation from the [Package Index](http://wp-cli.org/package-index/). + +### OPTIONS + +[\--format=<format>] +: Accepted values: table, json, csv, yaml, ids. Default: table. + + + diff --git a/commands/package/index.md b/commands/package/index.md new file mode 100644 index 00000000..1a991bcf --- /dev/null +++ b/commands/package/index.md @@ -0,0 +1,42 @@ +--- +layout: default +title: 'wp package' +display_global_parameters: true +--- + +`wp package` - Manage WP-CLI packages. + +
      + + + + + +### SUBCOMMANDS + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescription
    browseBrowse WP-CLI packages available for installation.
    installInstall a WP-CLI package.
    listList installed WP-CLI packages.
    uninstallUninstall a WP-CLI package.
    diff --git a/commands/package/install/index.md b/commands/package/install/index.md new file mode 100644 index 00000000..cbced1ce --- /dev/null +++ b/commands/package/install/index.md @@ -0,0 +1,25 @@ +--- +layout: default +title: 'wp package install' +display_global_parameters: true +--- + +`wp package install` - Install a WP-CLI package. + +
    + +### OPTIONS + +<name> +: Name of the package to install. Can optionally contain a version constraint. + +### EXAMPLES + + # install the latest development version + wp package install wp-cli/server-command + + # install the latest stable version + wp package install wp-cli/server-command:@stable + + + diff --git a/commands/package/list/index.md b/commands/package/list/index.md new file mode 100644 index 00000000..849f8630 --- /dev/null +++ b/commands/package/list/index.md @@ -0,0 +1,17 @@ +--- +layout: default +title: 'wp package list' +display_global_parameters: true +--- + +`wp package list` - List installed WP-CLI packages. + +
    + +### OPTIONS + +[\--format=<format>] +: Accepted values: table, json, csv, yaml, ids. Default: table + + + diff --git a/commands/package/uninstall/index.md b/commands/package/uninstall/index.md new file mode 100644 index 00000000..dc48e566 --- /dev/null +++ b/commands/package/uninstall/index.md @@ -0,0 +1,17 @@ +--- +layout: default +title: 'wp package uninstall' +display_global_parameters: true +--- + +`wp package uninstall` - Uninstall a WP-CLI package. + +
    + +### OPTIONS + +<name> +: Name of the package to uninstall. + + + From 4222f26948be04146fe193d349000709871917ba Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 8 Mar 2016 13:19:12 -0800 Subject: [PATCH 517/839] Retool bug report document to be more helpful --- _includes/doc-list.html | 1 + docs/bug-reports/index.md | 39 ++++++++++++++++++++++ wiki/creating-helpful-bug-reports/index.md | 24 ------------- 3 files changed, 40 insertions(+), 24 deletions(-) create mode 100644 docs/bug-reports/index.md delete mode 100644 wiki/creating-helpful-bug-reports/index.md diff --git a/_includes/doc-list.html b/_includes/doc-list.html index bf64f21e..c027ee47 100644 --- a/_includes/doc-list.html +++ b/_includes/doc-list.html @@ -15,6 +15,7 @@

    References

    Contributing

      +
    • Bug Reports - How you can help ensure your issue is resolved in a timely manner.
    • Governance - Summary of those behind WP-CLI.
    • Philosophy - Guidelines which inform project scope, command organization, and behavior.
    diff --git a/docs/bug-reports/index.md b/docs/bug-reports/index.md new file mode 100644 index 00000000..60a332fa --- /dev/null +++ b/docs/bug-reports/index.md @@ -0,0 +1,39 @@ +--- +layout: doc +title: Bug Reports +category: Contributing +description: How you can help ensure your issue is resolved in a timely manner. +--- + +Think you've found a bug? We'd love for you to help us get it fixed. + +At a minimum, please start your [Github issue](https://github.com/wp-cli/wp-cli/issues) with: + +* What you were doing. +* What you expected to see. +* What you actually saw. + +Instead of: + +> I think WP-CLI is broken. Can you help me? + +It would be better to start with something like: + +> When I run `wp post list`, I see a fatal error about a class being undefined. I expected to see the list of posts. + +Also, because WP-CLI is a tool whose behavior is different from system to system, it never hurts to include some environmental details in your issue if you think they're relevant. + + # What is your system? + lsb_release -a + uname -a + # Which version of PHP are you using? + which -a php + php -v + # Are you running suhosin? + php -m | grep -i suhosin + # Which version of WordPress are you using? + grep '^\$wp_version\s' wp-includes/version.php + # Can you share the results of which wp ? + which -a wp + stat $(which wp) + diff --git a/wiki/creating-helpful-bug-reports/index.md b/wiki/creating-helpful-bug-reports/index.md deleted file mode 100644 index 5f1d55e5..00000000 --- a/wiki/creating-helpful-bug-reports/index.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -layout: default -title: Creating Helpful Bug Reports ---- - -# Creating Helpful Bug Reports - -Think you've found a bug? Here are some helpful details you can include in your new issue to help expedite resolution. - -``` -# What is your system? -lsb_release -a -uname -a -# Which version of PHP are you using? -which -a php -php -v -# Are you running suhosin? -php -m | grep -i suhosin -# Which version of WordPress are you using? -grep '^\$wp_version\s' wp-includes/version.php -# Can you share the results of which wp ? -which -a wp -stat $(which wp) -``` \ No newline at end of file From 457578f235436494c47bd7877d98cc174173eab2 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 8 Mar 2016 13:31:37 -0800 Subject: [PATCH 518/839] Port "Contributing" documentation to a dedicated page This will give it more public visibility --- _includes/doc-list.html | 3 +- docs/bug-reports/index.md | 2 +- docs/pull-requests/index.md | 66 +++++++++++++++++++++++++++++++++++++ 3 files changed, 69 insertions(+), 2 deletions(-) create mode 100644 docs/pull-requests/index.md diff --git a/_includes/doc-list.html b/_includes/doc-list.html index c027ee47..e7a0e4e2 100644 --- a/_includes/doc-list.html +++ b/_includes/doc-list.html @@ -15,9 +15,10 @@

    References

    Contributing

      -
    • Bug Reports - How you can help ensure your issue is resolved in a timely manner.
    • +
    • Bug Reports - Help ensure your issue is resolved in a timely manner.
    • Governance - Summary of those behind WP-CLI.
    • Philosophy - Guidelines which inform project scope, command organization, and behavior.
    • +
    • Pull Requests - Submit your first bug fix or new feature.

    Misc

    diff --git a/docs/bug-reports/index.md b/docs/bug-reports/index.md index 60a332fa..edc4bba9 100644 --- a/docs/bug-reports/index.md +++ b/docs/bug-reports/index.md @@ -2,7 +2,7 @@ layout: doc title: Bug Reports category: Contributing -description: How you can help ensure your issue is resolved in a timely manner. +description: Help ensure your issue is resolved in a timely manner. --- Think you've found a bug? We'd love for you to help us get it fixed. diff --git a/docs/pull-requests/index.md b/docs/pull-requests/index.md new file mode 100644 index 00000000..a7385c8e --- /dev/null +++ b/docs/pull-requests/index.md @@ -0,0 +1,66 @@ +--- +layout: doc +title: Pull Requests +category: Contributing +description: Submit your first bug fix or new feature. +--- + +WP-CLI follows a pull request workflow for changes to its code (and documentation). Whether you want to fix a bug or implement a new feature, the process is pretty much the same: + +0. [Search existing issues](https://github.com/wp-cli/wp-cli/issues); if you can't find anything related to what you want to work on, open a new issue so that you can get some initial feedback. +1. [Fork](https://github.com/wp-cli/wp-cli/fork) the repository. +2. Create a branch for each issue you'd like to address. Commit your changes. +3. Push the code changes from your local clone to your fork. +4. Open a pull request. + +It doesn't matter if the code isn't perfect. The idea is to get it reviewed early and iterate on it. + +If you're adding a new feature, please add one or more functional tests for it in the `features/` directory. See below. + +Lastly, please follow the [WordPress Coding Standards](http://make.wordpress.org/core/handbook/coding-standards/). + +## Setting up + +If you haven't submitted a pull request before, you'll want to install WP-CLI for local development: + +1. Clone this git repository on your local machine. +2. Install [Composer](https://getcomposer.org/) if you don't already have it. +3. Run `composer install` to fetch all the dependencies. +4. Run `./bin/wp --info` to test if everything was installed properly. + +## Running and writing tests + +There are two types of automated tests: + +* unit tests, implemented using [PHPUnit](http://phpunit.de/) +* functional tests, implemented using [Behat](http://behat.org) + +### Unit tests + +The unit test files are in the `tests/` directory. + +To run the unit tests, just execute: + + ./vendor/bin/phpunit + +### Functional tests + +The functional test files are in the `features/` directory. + +Before running the functional tests, you'll need a MySQL (or MariaDB) user called `wp_cli_test` with the password `password1` that has full privileges on the MySQL database `wp_cli_test`. Running the following as root in MySQL should do the trick: + + GRANT ALL PRIVILEGES ON wp_cli_test.* TO "wp_cli_test"@"localhost" IDENTIFIED BY "password1"; + +Then, to run the entire test suite: + + ./vendor/bin/behat --expand + +Or to test a single feature: + + ./vendor/bin/behat features/core.feature + +More info can be found by using `./vendor/bin/behat --help`. + +## Finally... + +Thanks! Hacking on WP-CLI should be fun. If you find any of this hard to figure out, let us know so we can improve our process or documentation! From 2b77087b74a10d377b605e3696f4c65d2e80943f Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 8 Mar 2016 13:43:00 -0800 Subject: [PATCH 519/839] Port Hosting Companies list from wiki --- _includes/doc-list.html | 1 + docs/hosting-companies/index.md | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 docs/hosting-companies/index.md diff --git a/_includes/doc-list.html b/_includes/doc-list.html index e7a0e4e2..606acf8c 100644 --- a/_includes/doc-list.html +++ b/_includes/doc-list.html @@ -7,6 +7,7 @@

    Guides

    References

      +
    • Hosting Companies - List of hosting companies with WP-CLI installed by default.
    • Integrated Tools - External projects that integrate with WP-CLI in some form.
    • Internal API - Stable utilities considered safe to use in community commands.
    • Shell Tips - Helpful shortcuts for bash and zsh.
    • diff --git a/docs/hosting-companies/index.md b/docs/hosting-companies/index.md new file mode 100644 index 00000000..8d2af464 --- /dev/null +++ b/docs/hosting-companies/index.md @@ -0,0 +1,28 @@ +--- +template: doc +title: Hosting Companies +category: References +description: List of hosting companies with WP-CLI installed by default. +--- + +The following is a list of hosting companies that have WP-CLI installed by default for their customers, i.e. when they first SSH into their server, the `wp` command is already available. + +In alphabetical order: + +* [1&1](http://1and1.com/) +* [Amimoto](http://megumi-cloud.com/) +* [Bluehost](http://www.bluehost.com/) +* [Cloudways](http://cloudways.com) +* [Dreamhost](http://dreamhost.com) +* [GoDaddy] (https://www.godaddy.com/help/accessing-wp-cli-on-your-managed-wordpress-account-12066) +* [LiquidWeb] (https://liquidweb.com/wordpress) +* [Kinsta](https://kinsta.com) +* [Media Temple](http://mediatemple.net) +* [NearlyFreeSpeech.NET](https://www.nearlyfreespeech.net/) +* [Pantheon](https://pantheon.io) +* [Site5](http://www.site5.com/) +* [SiteGround](http://www.siteground.com/) +* [Synthesis](http://websynthesis.com/) +* [TVC.Net](http://TVC.Net/) +* [WordPress.com VIP](http://vip.wordpress.com/) +* [WPEngine.com](http://wpengine.com) From c61437e9b4d132fdaa8ff3d27e59c3ca9b3e9109 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 8 Mar 2016 13:45:21 -0800 Subject: [PATCH 520/839] Fix hosting page layout --- docs/hosting-companies/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/hosting-companies/index.md b/docs/hosting-companies/index.md index 8d2af464..35d83cdd 100644 --- a/docs/hosting-companies/index.md +++ b/docs/hosting-companies/index.md @@ -1,5 +1,5 @@ --- -template: doc +layout: doc title: Hosting Companies category: References description: List of hosting companies with WP-CLI installed by default. From 9656dab18baa0f66539ce69fd8f534a79c4c530f Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 8 Mar 2016 14:08:20 -0800 Subject: [PATCH 521/839] Port the Release Checklist from the wiki --- _includes/doc-list.html | 1 + docs/release-checklist/index.md | 59 +++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 docs/release-checklist/index.md diff --git a/_includes/doc-list.html b/_includes/doc-list.html index 606acf8c..f1f0db70 100644 --- a/_includes/doc-list.html +++ b/_includes/doc-list.html @@ -20,6 +20,7 @@

      Contributing

    • Governance - Summary of those behind WP-CLI.
    • Philosophy - Guidelines which inform project scope, command organization, and behavior.
    • Pull Requests - Submit your first bug fix or new feature.
    • +
    • Release Checklist - Tasks performed during the process of tagging a release.

    Misc

    diff --git a/docs/release-checklist/index.md b/docs/release-checklist/index.md new file mode 100644 index 00000000..fb115d0d --- /dev/null +++ b/docs/release-checklist/index.md @@ -0,0 +1,59 @@ +--- +layout: doc +title: Release Checklist +description: Tasks performed during the process of tagging a release. +category: Contributing +--- + +This page describes the list of activities that developers must perform to produce a new release of WP-CLI. + +### Updating WP-CLI + +Make sure that the contents of [VERSION](https://github.com/wp-cli/wp-cli/blob/master/VERSION) are changed to latest. + +### Locking php-cli-tools version + +php-cli-tools is set to `dev-master` during the development cycle. During the WP-CLI release process, `composer.json` should be locked to a specific version. php-cli-tools may need a new version tagged as well. + +### Updating the contributor list + +Use `./utils/contrib-list` to see new contributors. Update the `.mailmap` file so that the names match their github handles. + +When done, use `sort .mailmap -f -u -o .mailmap` to only add new contributors. + +### Updating the Phar build + +1) Create a git tag and push it. + +2) Create a stable [Phar build](https://github.com/wp-cli/builds/tree/gh-pages/phar): + + cd wp-cli-builds/phar + cp wp-cli-nightly.phar wp-cli.phar + md5 -q wp-cli.phar > wp-cli.phar.md5 + shasum -a 512 wp-cli.phar | cut -d ' ' -f 1 > wp-cli.phar.sha512 + +3) Sign the release with GPG. See + + gpg --output wp-cli.phar.gpg --sign wp-cli.phar + +4) Create a release on Github: . Make sure to upload the Phar from the builds directory. + +### Updating the Debian build + +1) Run this script: + +2) Symlink the latest deb: `ln -sfv php-wpcli_${VERSION}_all.deb php-wpcli_latest_all.deb` + +3) Commit file to builds repo + +### Updating the Homebrew formula + +A pull request must be submitted to the Homebrew repo. See for background. + +### Updating the website + +See + +### Writing the release post + +Use `./utils/contrib-list -l` to generate the list of contributors. From 264c8e8f6e4c728fe3d8dda8f0e8178be24d82cf Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 8 Mar 2016 15:14:37 -0800 Subject: [PATCH 522/839] Make website fully responsive on mobile --- _includes/header.html | 1 + assets/css/stylesheet.css | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/header.html b/_includes/header.html index e95cf83e..38b216d6 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -3,6 +3,7 @@ + diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index e0db2288..ecee96b5 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -24,7 +24,6 @@ body { /* General & 'Reset' Stuff */ .container { - width: 100%; max-width: 880px; margin: 0 auto; padding: 0 20px; From 4a88c663830c4a9f8c9de1dd0ef35b171a03fef0 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 8 Mar 2016 16:48:28 -0800 Subject: [PATCH 523/839] Port FAQs as a better named "Common Issues" --- Phakefile.php | 3 ++ _includes/doc-list.html | 6 +--- docs/common-issues/index.md | 67 +++++++++++++++++++++++++++++++++++++ 3 files changed, 71 insertions(+), 5 deletions(-) create mode 100644 docs/common-issues/index.md diff --git a/Phakefile.php b/Phakefile.php index 20d88fb2..e03a2513 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -239,6 +239,9 @@ function gen_cmd_pages( $cmd, $parent = array() ) { } $out = ''; foreach( $docs as $category => $cat_docs ) { + if ( empty( $cat_docs ) ) { + continue; + } $out .= '

    ' . $category . '

    ' . PHP_EOL . PHP_EOL; $out .= '
      ' . PHP_EOL; ksort( $cat_docs ); diff --git a/_includes/doc-list.html b/_includes/doc-list.html index f1f0db70..ea9b46cc 100644 --- a/_includes/doc-list.html +++ b/_includes/doc-list.html @@ -1,6 +1,7 @@

      Guides

      @@ -23,8 +24,3 @@

      Contributing

    • Release Checklist - Tasks performed during the process of tagging a release.
    -

    Misc

    - -
      -
    - diff --git a/docs/common-issues/index.md b/docs/common-issues/index.md new file mode 100644 index 00000000..d50a4294 --- /dev/null +++ b/docs/common-issues/index.md @@ -0,0 +1,67 @@ +--- +layout: doc +title: Common issues and their fixes +description: In case of fire, break glass. +category: Guides +--- + +### The installation hangs + +If the installation seems to hang forever while trying to clone the resources from GitHub, please ensure that you are allowed to connect to Github using SSL (port 443) and Git (port 9418) for outbound connections. + +### Error: Can't connect to the database + +A few possibilities: + +a) you're using MAMP, but WP-CLI is not using the MAMP PHP binary. + +You can check which PHP WP-CLI is using by running `wp --info`. + +Set or update the `WP_CLI_PHP` environment variable with the path to the MAMP PHP. + +b) it's a WordPress multisite install. + +c) the database credentials in `wp-config.php` are actually incorrect. + +### PHP Fatal error: Cannot redeclare wp_unregister_GLOBALS() + +If you get this fatal error running the `wp` command, you may have moved or edited `wp-config.php` beyond what wp-cli supports: + +``` +PHP Fatal error: Cannot redeclare wp_unregister_GLOBALS() (previously declared in /var/www/foo.com/wp-includes/load.php:18) in /var/www/foo.com/wp-includes/load.php on line 33 +``` + +One of WP-CLI's requirements is that the line: + +```php +require_once(ABSPATH . 'wp-settings.php'); +``` + +remains in the `wp-config.php` file, so if you've modified or moved it, put it back there. It gets matched by a regex when WP-CLI runs. + +See also: [#1631](https://github.com/wp-cli/wp-cli/issues/1631) + +### PHP Fatal error: Call to undefined function cli\posix_isatty() + +Please ensure you have the php-process extension installed. For example for Centos 6: `yum install php-process` + +### Warning: Some code is trying to do a URL redirect + +Most of the time, it's some plugin or theme code that disables wp-admin access to non-admins. + +Quick fix, other than disabling the protection, is to pass the user parameter: `--user=some_admin` + +See also: [#477](https://github.com/wp-cli/wp-cli/issues/477) + +### W3 Total Cache Error: some files appear to be missing or out of place. + +W3 Total Cache object caching can cause this problem. Disabling object caching and optionally removing `wp-content/object-cache.php` will allow WP-CLI to work again. + +See also: [#587](https://github.com/wp-cli/wp-cli/issues/587) + +### The automated updater doesn't work for versions before 3.4 + +The `wp core update` command is designed to work for WordPress 3.4 and above. To be able to update an older website to latest WordPress, you could try one of the following alternatives: + +1. **Fully-automated:** Run `wp core download --force` to download latest WordPress and replace it with your files (don't worry, `wp-config.php` will remain intact). Then, run `wp core update-db` to update the database. Since the procedure isn't ideal, run once again `wp core download --force` and the new version should be available. +2. **Semi-automated:** Run `wp core download --force` to download all files and replace them in your current installation, then navigate to `/wp-admin/` and run the database upgrade when prompted. From dbe4b1bba023854486d01a5601f0a62176f992b5 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 9 Mar 2016 12:55:57 -0800 Subject: [PATCH 524/839] Reformat Plugin Unit Tests as Docs --- _includes/doc-list.html | 1 + {wiki => docs}/plugin-unit-tests/index.md | 22 ++++++++-------------- 2 files changed, 9 insertions(+), 14 deletions(-) rename {wiki => docs}/plugin-unit-tests/index.md (83%) diff --git a/_includes/doc-list.html b/_includes/doc-list.html index ea9b46cc..555d8598 100644 --- a/_includes/doc-list.html +++ b/_includes/doc-list.html @@ -3,6 +3,7 @@

    Guides

    References

    diff --git a/wiki/plugin-unit-tests/index.md b/docs/plugin-unit-tests/index.md similarity index 83% rename from wiki/plugin-unit-tests/index.md rename to docs/plugin-unit-tests/index.md index 08a823be..b94b8089 100644 --- a/wiki/plugin-unit-tests/index.md +++ b/docs/plugin-unit-tests/index.md @@ -1,10 +1,10 @@ --- -layout: default +layout: doc title: Plugin Unit Tests +description: How to set up and run PHPUnit tests for a WordPress plugin. +category: Guides --- -# Plugin Unit Tests - This guide will demonstrate how to: * set up unit tests for an existing plugin, using WP-CLI @@ -18,9 +18,7 @@ So, let's get started: 2) Generate the plugin test files: -```bash -wp scaffold plugin-tests my-plugin -``` + wp scaffold plugin-tests my-plugin This command will generate all the files needed for running tests, including a `.travis.yml` file. If you host your plugin on Github and enable [Travis CI](http://about.travis-ci.org), the tests will be run automatically after every commit you make to the plugin. @@ -28,10 +26,8 @@ This command will generate all the files needed for running tests, including a ` (you'll need to already have `svn` and `wget` available) -```bash -cd $(wp plugin path my-plugin --dir) -bash bin/install-wp-tests.sh wordpress_test root '' localhost latest -``` + cd $(wp plugin path my-plugin --dir) + bash bin/install-wp-tests.sh wordpress_test root '' localhost latest where: @@ -47,8 +43,6 @@ NOTE: This script can be run multiple times without errors, but it will *not* ov 4) Run the plugin tests: -```bash -phpunit -``` + phpunit -**Note**: phpunit 4.8.x is required (5.x won't work) \ No newline at end of file +**Note**: phpunit 4.8.x is required (5.x won't work) From 53983a6e970cd5002b3c83cc0ce9ec4744f0a20c Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Sun, 13 Mar 2016 07:12:29 -0700 Subject: [PATCH 525/839] Update `scaffold plugin-tests` docs --- commands/scaffold/plugin-tests/index.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/commands/scaffold/plugin-tests/index.md b/commands/scaffold/plugin-tests/index.md index f5870353..aa0158fc 100644 --- a/commands/scaffold/plugin-tests/index.md +++ b/commands/scaffold/plugin-tests/index.md @@ -8,14 +8,17 @@ display_global_parameters: true
    -### DESCRIPTION +### OVERVIEW -These are the files that are generated: +The following files are generated for your plugin by this command: -* `phpunit.xml.dist` is the configuration file for PHPUnit -* `.travis.yml` is the configuration file for Travis CI -* `tests/bootstrap.php` is the file that makes the current plugin active when running the test suite -* `tests/test-sample.php` is a sample file containing the actual tests +* `phpunit.xml.dist` is the configuration file for PHPUnit. +* `.travis.yml` is the configuration file for Travis CI. +* `bin/install-wp-tests.sh` configures the WordPress test suite and a test database. +* `tests/bootstrap.php` is the file that makes the current plugin active when running the test suite. +* `tests/test-sample.php` is a sample file containing the actual tests. + +Learn more from the [plugin unit tests documentation](http://wp-cli.org/docs/plugin-unit-tests/). ### ENVIRONMENT From 3243e01bc37ca8da793fff699a0a3b53e67ada2b Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Sun, 13 Mar 2016 07:26:59 -0700 Subject: [PATCH 526/839] Inject `/config/` and `/commands/` into docs list by default --- Phakefile.php | 17 ++++++++++++++--- _includes/doc-list.html | 2 ++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/Phakefile.php b/Phakefile.php index e03a2513..1fde11d7 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -213,7 +213,18 @@ function gen_cmd_pages( $cmd, $parent = array() ) { task( 'doc-list', function( $app ){ $docs = array( 'Guides' => array(), - 'References' => array(), + 'References' => array( + 'Configuration options' => array( + 'path' => '/config/', + 'title' => 'Configuration options defining how a command is executed.', + 'description' => '', + ), + 'Built-in commands' => array( + 'path' => '/commands/', + 'title' => 'Built-in commands', + 'description' => 'Commands included in every copy of WP-CLI.', + ), + ), 'Contributing' => array(), 'Misc' => array(), ); @@ -232,7 +243,7 @@ function gen_cmd_pages( $cmd, $parent = array() ) { preg_match( '#description:\s(.+)#', $header, $matches ); $description = ! empty( $matches[1] ) ? $matches[1] : ''; $docs[ $category ][ $title ] = array( - 'path' => basename( dirname( $file ) ), + 'path' => '/docs/' . basename( dirname( $file ) ) . '/', 'title' => $title, 'description' => $description, ); @@ -246,7 +257,7 @@ function gen_cmd_pages( $cmd, $parent = array() ) { $out .= '
      ' . PHP_EOL; ksort( $cat_docs ); foreach( $cat_docs as $cat_doc ) { - $out .= '
    • ' . $cat_doc['title'] . ''; + $out .= '
    • ' . $cat_doc['title'] . ''; if ( ! empty( $cat_doc['description'] ) ) { $out .= ' - ' . $cat_doc['description']; } diff --git a/_includes/doc-list.html b/_includes/doc-list.html index 555d8598..4f16d115 100644 --- a/_includes/doc-list.html +++ b/_includes/doc-list.html @@ -9,6 +9,8 @@

      Guides

      References

        +
      • Built-in commands - Commands included in every copy of WP-CLI.
      • +
      • Configuration options defining how a command is executed.
      • Hosting Companies - List of hosting companies with WP-CLI installed by default.
      • Integrated Tools - External projects that integrate with WP-CLI in some form.
      • Internal API - Stable utilities considered safe to use in community commands.
      • From 137815a8f3fbfd914fd523a094c78d75873bb4e3 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Sun, 13 Mar 2016 07:35:17 -0700 Subject: [PATCH 527/839] Port over Implementation details from the wiki --- _includes/doc-list.html | 1 + docs/implementation-details/index.md | 38 ++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 docs/implementation-details/index.md diff --git a/_includes/doc-list.html b/_includes/doc-list.html index 4f16d115..d1749ed2 100644 --- a/_includes/doc-list.html +++ b/_includes/doc-list.html @@ -22,6 +22,7 @@

        Contributing

        • Bug Reports - Help ensure your issue is resolved in a timely manner.
        • Governance - Summary of those behind WP-CLI.
        • +
        • Implementation details - Catalog of historical design decisions.
        • Philosophy - Guidelines which inform project scope, command organization, and behavior.
        • Pull Requests - Submit your first bug fix or new feature.
        • Release Checklist - Tasks performed during the process of tagging a release.
        • diff --git a/docs/implementation-details/index.md b/docs/implementation-details/index.md new file mode 100644 index 00000000..6b05da66 --- /dev/null +++ b/docs/implementation-details/index.md @@ -0,0 +1,38 @@ +--- +layout: doc +title: Implementation details +description: Catalog of historical design decisions. +category: Contributing +--- + +This page contains some history on various implementation details of WP-CLI. + +### Command Help Text + +The `wp help ` has been through several incarnations. + +Since WP-CLI 0.3, it invoked a static `help()` method in the command class, if it existed. ([48a8887d](https://github.com/wp-cli/wp-cli/commit/48a8887d46be25e0c0ad326975729ec816c17331)) + +Since WP-CLI 0.6, it looked for a `.1` ROFF file and displayed it using `man`. The ROFF file was compiled from a corresponding `.txt` markdown file and from PHPDoc metadata. ([#24](https://github.com/wp-cli/wp-cli/issues/24)). + +Since WP-CLI 0.11, it generates the help text on the fly. ([#548](https://github.com/wp-cli/wp-cli/pull/548)) + +### WP_ADMIN + +Most WP-CLI commands perform administrative actions and they need access to code defined in `wp-admin/includes`. This code can be loaded on-demand or preemptively. + +The question is: should the `WP_ADMIN` constant be set to `true` or `false`? + +Initially, WP-CLI just loaded the wp-admin code and didn't mess with the WP_ADMIN constant at all. + +Then, it sort of pretended it was doing a front-end page load, for doing integration testing ([#69](https://github.com/wp-cli/wp-cli/issues/69)). [1] + +Then it pretended it was loading wp-admin, to side-step caching plugins ([#164](https://github.com/wp-cli/wp-cli/issues/164)). + +Then it stopped pretending it was loading wp-admin ([#352](https://github.com/wp-cli/wp-cli/issues/352)), because we found a better way to side-step caching plugins. [2] + +---- + +* [1]: It turned out that the official WordPress testing suite had a better solution: the `go_to()` method. +* [2]: The solution was rolling our own `wp-settings.php` file. + From fbf81adf2b951f136cdd0504b59df09f8db0469a Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Sun, 13 Mar 2016 08:04:27 -0700 Subject: [PATCH 528/839] Move External resources to the new doc format --- _includes/doc-list.html | 1 + {wiki => docs}/external-resources/index.md | 10 +++++----- 2 files changed, 6 insertions(+), 5 deletions(-) rename {wiki => docs}/external-resources/index.md (93%) diff --git a/_includes/doc-list.html b/_includes/doc-list.html index d1749ed2..4bc12d8b 100644 --- a/_includes/doc-list.html +++ b/_includes/doc-list.html @@ -2,6 +2,7 @@

          Guides

          diff --git a/wiki/external-resources/index.md b/docs/external-resources/index.md similarity index 93% rename from wiki/external-resources/index.md rename to docs/external-resources/index.md index c5992a3a..431f1ec8 100644 --- a/wiki/external-resources/index.md +++ b/docs/external-resources/index.md @@ -1,10 +1,10 @@ --- -layout: default -title: External Resources +layout: doc +title: External resources +description: Blog posts, slides and videos from users. +category: Guides --- -# External Resources - ## Blog posts & tutorials * [scribu: A Command-Line Interface for WordPress](http://scribu.net/wordpress/a-command-line-interface-for-wordpress.html) @@ -28,4 +28,4 @@ title: External Resources * [Mike Schroder: Magical WordPress Management using WP-CLI](http://wordpress.tv/2013/08/06/mike-schroder-magical-wordpress-management-using-wp-cli/) * [Daniel Bachhuber: WordPress at the Command Line](http://wordpress.tv/2012/08/21/daniel-bachhuber-wordpress-at-the-command-line/) * [AJ Morris: Managing WordPress from the Command Line](http://ajmorris.me/managing-wordpress-command-line/) -* [Shawn Hooper: WP-CLI – Save Time by Managing WordPress from the Command Line](https://wordpress.tv/2015/09/15/shawn-hooper-wp-cli-save-time-managing-command-line/) \ No newline at end of file +* [Shawn Hooper: WP-CLI – Save Time by Managing WordPress from the Command Line](https://wordpress.tv/2015/09/15/shawn-hooper-wp-cli-save-time-managing-command-line/) From bd8443bb8519ff3717c2a4ce29ba4f17bf574335 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Sun, 13 Mar 2016 08:14:26 -0700 Subject: [PATCH 529/839] Reformat as Quick Start doc --- {wiki/example-usage => docs/quick-start}/index.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) rename {wiki/example-usage => docs/quick-start}/index.md (85%) diff --git a/wiki/example-usage/index.md b/docs/quick-start/index.md similarity index 85% rename from wiki/example-usage/index.md rename to docs/quick-start/index.md index d788901b..8f69003f 100644 --- a/wiki/example-usage/index.md +++ b/docs/quick-start/index.md @@ -1,9 +1,12 @@ --- -layout: default -title: Example Usage +layout: doc +title: Quick start +description: Where to begin after you've installed WP-CLI for the first time. +category: Guides --- -# Example Usage +Congratulations! You've [installed WP-CLI](/docs/installing/) for the first time, and are ready to level-up your use of WordPress. + This page contains examples of some common command line uses. From ad997695ca3bc4441329105ed6b86133bf1e72e4 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Sun, 13 Mar 2016 08:17:21 -0700 Subject: [PATCH 530/839] Fix doc list for Configuration options --- Phakefile.php | 4 ++-- _includes/doc-list.html | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Phakefile.php b/Phakefile.php index 1fde11d7..ed9165c2 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -216,8 +216,8 @@ function gen_cmd_pages( $cmd, $parent = array() ) { 'References' => array( 'Configuration options' => array( 'path' => '/config/', - 'title' => 'Configuration options defining how a command is executed.', - 'description' => '', + 'title' => 'Configuration options', + 'description' => 'Variables defining how a command is executed, including which WordPress user the command is run as and which WordPress instance the commnd is run against.', ), 'Built-in commands' => array( 'path' => '/commands/', diff --git a/_includes/doc-list.html b/_includes/doc-list.html index 4bc12d8b..7370cebf 100644 --- a/_includes/doc-list.html +++ b/_includes/doc-list.html @@ -5,13 +5,14 @@

          Guides

        • External resources - Blog posts, slides and videos from users.
        • Installing - Recommended and alternative installation mechanisms.
        • Plugin Unit Tests - How to set up and run PHPUnit tests for a WordPress plugin.
        • +
        • Quick start - Where to begin after you've installed WP-CLI for the first time.

        References

        • Built-in commands - Commands included in every copy of WP-CLI.
        • -
        • Configuration options defining how a command is executed.
        • +
        • Configuration options - Variables defining how a command is executed, including which WordPress user the command is run as and which WordPress instance the commnd is run against.
        • Hosting Companies - List of hosting companies with WP-CLI installed by default.
        • Integrated Tools - External projects that integrate with WP-CLI in some form.
        • Internal API - Stable utilities considered safe to use in community commands.
        • From d49aa195abd6808bcfe1d92cf71cf41a1989abe1 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Sun, 13 Mar 2016 08:43:35 -0700 Subject: [PATCH 531/839] Permit doc list to be ordered --- Phakefile.php | 17 ++++++++++------- _includes/doc-list.html | 8 ++++---- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/Phakefile.php b/Phakefile.php index ed9165c2..f26702f6 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -212,7 +212,10 @@ function gen_cmd_pages( $cmd, $parent = array() ) { desc( 'Update the /docs/ page.' ); task( 'doc-list', function( $app ){ $docs = array( - 'Guides' => array(), + 'Guides' => array( + 'Installing' => array(), + 'Quick Start' => array(), + ), 'References' => array( 'Configuration options' => array( 'path' => '/config/', @@ -242,11 +245,12 @@ function gen_cmd_pages( $cmd, $parent = array() ) { $title = ! empty( $matches[1] ) ? $matches[1] : ''; preg_match( '#description:\s(.+)#', $header, $matches ); $description = ! empty( $matches[1] ) ? $matches[1] : ''; - $docs[ $category ][ $title ] = array( - 'path' => '/docs/' . basename( dirname( $file ) ) . '/', - 'title' => $title, - 'description' => $description, - ); + if ( ! isset( $docs[ $category ][ $title ] ) ) { + $docs[ $category ][ $title ] = array(); + } + $docs[ $category ][ $title ]['path'] = '/docs/' . basename( dirname( $file ) ) . '/'; + $docs[ $category ][ $title ]['title'] = $title; + $docs[ $category ][ $title ]['description'] = $description; } $out = ''; foreach( $docs as $category => $cat_docs ) { @@ -255,7 +259,6 @@ function gen_cmd_pages( $cmd, $parent = array() ) { } $out .= '

          ' . $category . '

          ' . PHP_EOL . PHP_EOL; $out .= '
            ' . PHP_EOL; - ksort( $cat_docs ); foreach( $cat_docs as $cat_doc ) { $out .= '
          • ' . $cat_doc['title'] . ''; if ( ! empty( $cat_doc['description'] ) ) { diff --git a/_includes/doc-list.html b/_includes/doc-list.html index 7370cebf..44da4b67 100644 --- a/_includes/doc-list.html +++ b/_includes/doc-list.html @@ -1,22 +1,22 @@

            Guides

            References

              -
            • Built-in commands - Commands included in every copy of WP-CLI.
            • Configuration options - Variables defining how a command is executed, including which WordPress user the command is run as and which WordPress instance the commnd is run against.
            • +
            • Built-in commands - Commands included in every copy of WP-CLI.
            • Hosting Companies - List of hosting companies with WP-CLI installed by default.
            • -
            • Integrated Tools - External projects that integrate with WP-CLI in some form.
            • Internal API - Stable utilities considered safe to use in community commands.
            • Shell Tips - Helpful shortcuts for bash and zsh.
            • +
            • Integrated Tools - External projects that integrate with WP-CLI in some form.

            Contributing

            From 9f610c4214d4589ba1c09b941dc59b225f973db7 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Sun, 13 Mar 2016 09:12:24 -0700 Subject: [PATCH 532/839] Flesh out the Quick start --- docs/installing/index.md | 17 +++++++++- docs/quick-start/index.md | 68 +++++++++++++++++++++++---------------- 2 files changed, 56 insertions(+), 29 deletions(-) diff --git a/docs/installing/index.md b/docs/installing/index.md index d781ccac..1b4adefa 100644 --- a/docs/installing/index.md +++ b/docs/installing/index.md @@ -28,7 +28,22 @@ chmod +x wp-cli.phar sudo mv wp-cli.phar /usr/local/bin/wp ~~~ -Now try running `wp --info`. Voila! +Now try running `wp --info`. If WP-CLI is installed successfully, you'll see output like this: + +~~~ +PHP binary: /usr/bin/php5 +PHP version: 5.5.9-1ubuntu4.14 +php.ini used: /etc/php5/cli/php.ini +WP-CLI root dir: /home/wp-cli/.wp-cli +WP-CLI packages dir: /home/wp-cli/.wp-cli/packages/ +WP-CLI global config: /home/wp-cli/.wp-cli/config.yml +WP-CLI project config: +WP-CLI version: 0.23.0 +~~~ + +Voila! You're now an official WP-CLI user. + +Wondering what to do next? Check out the [quick start guide](/docs/quick-start/) for a short introduction and some example usage. ## Alternative Installation Methods diff --git a/docs/quick-start/index.md b/docs/quick-start/index.md index 8f69003f..a0ed10b7 100644 --- a/docs/quick-start/index.md +++ b/docs/quick-start/index.md @@ -1,30 +1,52 @@ --- layout: doc -title: Quick start +title: Quick Start description: Where to begin after you've installed WP-CLI for the first time. category: Guides --- -Congratulations! You've [installed WP-CLI](/docs/installing/) for the first time, and are ready to level-up your use of WordPress. +Congratulations! You've [installed WP-CLI](/docs/installing/) for the first time, and are ready to level-up your use of WordPress. This page contains a brief introduction to WP-CLI with some example usage. +## Introduction -This page contains examples of some common command line uses. +WP-CLI is a command line interface for WordPress. The project's goal is to offer a complete alternative to the WordPress admin; for any action you might want to perform in the WordPress admin, there should be an equivalent WP-CLI command. -## Get basic info on WP-CLI install +For instance, because you can install a plugin from the WordPress admin, you can also [install a plugin](/commands/plugin/install/) with WP-CLI: - wp --info + $ wp plugin install akismet + Installing Akismet (3.1.8) + Downloading install package from https://downloads.wordpress.org/plugin/akismet.3.1.8.zip... + Unpacking the package... + Installing the plugin... + Plugin installed successfully. -Gives you basic info on the WP-CLI install, including PHP binary location, version and location of PHP.INI file: +And, because you can also activate plugins from the WordPress admin, you can [activate a plugin](/commands/plugin/activate/) with WP-CLI: - PHP binary: /usr/local/bin/php - PHP version: 5.4.17 - php.ini used: /usr/local/lib/php.ini - WP-CLI root dir: phar://wp-cli.phar - WP-CLI global config: /root/.wp-cli/config.yml - WP-CLI project config: - WP-CLI version: 0.13.0 + $ wp plugin activate akismet + Success: Plugin 'akismet' activated. -## Download latest [en_US] version of WordPress into the current folder +One key difference between using the WordPress admin and WP-CLI: performing any action takes many fewer clicks. As you become more familiar with the command line, you'll notice performing a given task with WP-CLI is generally much faster than performing the same task through the WordPress admin. Investing time upfront into learning how to better use WP-CLI pays dividends in the long term. + +## Common Terms + +Throughout your usage of WP-CLI, you'll hear certain terms used over and over again. + +For instance, a _command_ is an atomic unit of WP-CLI functionality. `wp plugin install` is one such command, as is `wp plugin activate`. Commands represent a name (e.g. 'plugin install') and a callback, and are registered with `WP_CLI::add_command()` ([doc](/docs/internal-api/wp-cli-add-command/)). + +The _synopsis_ defines which _positional_ and _associative_ arguments a command accepts. Let's take a look at the synopsis for `wp plugin install`: + + $ wp plugin install + usage: wp plugin install ... [--version=] [--force] [--activate] [--activate-network] + +In this example, `...` is the accepted _positional_ argument. In fact, `wp plugin install` accepts the same positional argument (the slug, ZIP, or URL of a plugin to install) multiple times. `[--version=]` is one of the accepted _associative_ arguments. It's used to denote the version of the plugin to install. Notice, too, the square brackets around the argument definition; square brackets mean the argument is optional. + +WP-CLI also has a [series of _global_ arguments](/config/) which work with all commands. For instance, including `--debug` means your command execution will display all PHP errors, and add extra verbosity to the WP-CLI bootstrap process. + +## Example usage + +Ready to dive in? Here are some examples of common WP-CLI commands: + +### Download latest [en_US] version of WordPress into the current folder wp core download @@ -32,19 +54,19 @@ If you have WordPress already installed in the current folder: wp core download --force -## Create WXR export files from site in a multisite install to current directory +### Create WXR export files from site in a multisite install to current directory wp export --url=sub.domain.com -## Import WXR file from current directory into a specific site in a multisite install, create authors and skip image resize +### Import WXR file from current directory into a specific site in a multisite install, create authors and skip image resize wp import domain.wordpress.2014-01-01.xml --authors=create --skip="image_resize" --url=sub.domain.com -## Regenerate all thumbnails for a specific site in a multisite install +### Regenerate all thumbnails for a specific site in a multisite install wp media regenerate --url=sub.domain.com --yes -## Delete all pages +### Delete all pages wp post list --post_type=page --field=ID | xargs wp post delete @@ -52,13 +74,3 @@ and for a specific site in a multisite install: WP='wp --url=sub.domain.com' $WP post list --post_type=page --field=ID | xargs $WP post delete - -## Integrate with Psysh - -First, download [Psysh](http://psysh.org/): - - curl psysh.org/psysh > psysh.phar - -Then, invoke the shell: - - wp --require=psysh.phar shell \ No newline at end of file From 2d633d7e2bdd77b9a613987cf26b06150edd2604 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Sun, 13 Mar 2016 15:06:24 -0700 Subject: [PATCH 533/839] Add documentation on how to resolve undefined index notice --- docs/common-issues/index.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/common-issues/index.md b/docs/common-issues/index.md index d50a4294..67576895 100644 --- a/docs/common-issues/index.md +++ b/docs/common-issues/index.md @@ -45,6 +45,16 @@ See also: [#1631](https://github.com/wp-cli/wp-cli/issues/1631) Please ensure you have the php-process extension installed. For example for Centos 6: `yum install php-process` +### PHP notice: Undefined index on `$_SERVER` superglobal + +The `$_SERVER` superglobal is an array typically populated by a web server with information such as headers, paths, and script locations. PHP CLI doesn't populate this variable, nor does WP-CLI, because many of the variable details are meaningless at the command line. + +Before accessing a value on the `$_SERVER` superglobal, you should check if the key is set: + + if ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && 'https' === $_SERVER['HTTP_X_FORWARDED_PROTO'] ) { + $_SERVER['HTTPS']='on'; + } + ### Warning: Some code is trying to do a URL redirect Most of the time, it's some plugin or theme code that disables wp-admin access to non-admins. From 4deafbe074446ef2187863c54b029f829b1fa089 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 14 Mar 2016 06:21:02 -0700 Subject: [PATCH 534/839] First pass at a rewrite of the Commands Cookbook --- _includes/doc-list.html | 1 + docs/commands-cookbook/index.md | 75 +++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 docs/commands-cookbook/index.md diff --git a/_includes/doc-list.html b/_includes/doc-list.html index 44da4b67..b0afa283 100644 --- a/_includes/doc-list.html +++ b/_includes/doc-list.html @@ -3,6 +3,7 @@

            Guides

            • Installing - Recommended and alternative installation mechanisms.
            • Quick Start - Where to begin after you've installed WP-CLI for the first time.
            • +
            • Commands Cookbook - The full 101 on writing a command.
            • Common issues and their fixes - In case of fire, break glass.
            • External resources - Blog posts, slides and videos from users.
            • Plugin Unit Tests - How to set up and run PHPUnit tests for a WordPress plugin.
            • diff --git a/docs/commands-cookbook/index.md b/docs/commands-cookbook/index.md new file mode 100644 index 00000000..ab3d7fbb --- /dev/null +++ b/docs/commands-cookbook/index.md @@ -0,0 +1,75 @@ +--- +layout: doc +title: Commands Cookbook +description: The full 101 on writing a command. +category: Guides +--- + +Creating your own custom WP-CLI command can be easier than it looks. + +## Overview + +WP-CLI's goal is to offer a complete alternative to the WordPress admin; for any action you might want to perform in the WordPress admin, there should be an equivalent WP-CLI command. A _command_ is an atomic unit of WP-CLI functionality. `wp plugin install` ([doc](/commands/plugin/install/)) is one such command, as is `wp plugin activate` ([doc](/commands/plugin/activate/)). + +_But_, the WordPress admin is a Swiss Army knife of infinite complexity. There's no way just this project could handle every use case. This is why WP-CLI includes a set of common internal commands, while also offering a rich API for third-parties to register and distribute their own commands. + +### Command types + +Internal commands: + +* Usually cover functionality offered by a standard install WordPress. There are exceptions to this rule though, notably `wp search-replace` ([doc](/commands/search-replace/)). +* Do not depend on other components such as plugins, themes etc. +* Are maintained by the WP-CLI team. + +Third-party commands: + +* Can be defined in plugins or themes. +* Can be distributed independent of a plugin or theme in the [Package Index](/package-index/). + +## Anatomy of a command + +WP-CLI supports registering any callable class, function, or closure as a command. `WP_CLI::add_command()` ([doc](/docs/internal-api/wp-cli-add-command/)) is used for both internal and third-party command registration. + +### Required arguments + +The two required arguments for `WP_CLI::add_command()` are `$name` and `$callable`: + +1. `$name` is the command's name within WP-CLI's namespace (e.g. `plugin install` or `post list`). +2. `$callable` is the implementation of the command, as a callable class, function, or closure. + +For instance, here are three ways of registering a functionally-equivalent command: + + // 1. Command is a function + function foo_command( $args ) { + WP_CLI::success( $args[0] ); + } + WP_CLI::add_command( 'foo', 'foo_command' ); + + // 2. Command is a closure + $foo_command = function( $args ) { + WP_CLI::success( $args[0] ); + } + WP_CLI::add_command( 'foo', $foo_command ); + + // 3. Command is a method on a class + class Foo_Command { + public function __invoke( $args ) { + WP_CLI::success( $args[0] ); + } + } + WP_CLI::add_command( 'foo', 'Foo_Command' ); + +Importantly, classes behave a bit differently than functions and closures in that: + +* Any public methods on a class are registered as subcommands of the command. For instance, given the examples above, a method `bar()` on the class `Foo` would be registered as `wp foo bar`. But... +* `__invoke()` is treated as a magic method. If a class implements `__invoke()`, the command name will be registered to that method and no other methods of that class will be registered as commands. + +## Distributing your command + +### Including a command in your plugin + + if ( defined( 'WP_CLI' ) && WP_CLI ) { + require_once dirname( __FILE__ ) . '/inc/class-plugin-cli-command.php'; + } + +### Publishing a WP-CLI package From 3cf3aa90ad3627e02dd533674a3742b1cadff480 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 14 Mar 2016 06:51:51 -0700 Subject: [PATCH 535/839] Include an example command --- docs/commands-cookbook/index.md | 100 ++++++++++++++++++++++++++------ 1 file changed, 81 insertions(+), 19 deletions(-) diff --git a/docs/commands-cookbook/index.md b/docs/commands-cookbook/index.md index ab3d7fbb..1360dc81 100644 --- a/docs/commands-cookbook/index.md +++ b/docs/commands-cookbook/index.md @@ -9,9 +9,9 @@ Creating your own custom WP-CLI command can be easier than it looks. ## Overview -WP-CLI's goal is to offer a complete alternative to the WordPress admin; for any action you might want to perform in the WordPress admin, there should be an equivalent WP-CLI command. A _command_ is an atomic unit of WP-CLI functionality. `wp plugin install` ([doc](/commands/plugin/install/)) is one such command, as is `wp plugin activate` ([doc](/commands/plugin/activate/)). +WP-CLI's goal is to offer a complete alternative to the WordPress admin; for any action you might want to perform in the WordPress admin, there should be an equivalent WP-CLI command. A _command_ is an atomic unit of WP-CLI functionality. `wp plugin install` ([doc](/commands/plugin/install/)) is one such command, as is `wp plugin activate` ([doc](/commands/plugin/activate/)). Commands are useful because they can offer simple, precise interfaces for performing complex tasks. -_But_, the WordPress admin is a Swiss Army knife of infinite complexity. There's no way just this project could handle every use case. This is why WP-CLI includes a set of common internal commands, while also offering a rich API for third-parties to register and distribute their own commands. +_But_, the WordPress admin is a Swiss Army knife of infinite complexity. There's no way just this project could handle every use case. This is why WP-CLI includes a set of [common internal commands](/commands/), while also offering a rich API for third-parties to register and [distribute their own commands](/package-index/). ### Command types @@ -39,33 +39,95 @@ The two required arguments for `WP_CLI::add_command()` are `$name` and `$callabl For instance, here are three ways of registering a functionally-equivalent command: - // 1. Command is a function - function foo_command( $args ) { +~~~ +// 1. Command is a function +function foo_command( $args ) { + WP_CLI::success( $args[0] ); +} +WP_CLI::add_command( 'foo', 'foo_command' ); + +// 2. Command is a closure +$foo_command = function( $args ) { + WP_CLI::success( $args[0] ); +} +WP_CLI::add_command( 'foo', $foo_command ); + +// 3. Command is a method on a class +class Foo_Command { + public function __invoke( $args ) { WP_CLI::success( $args[0] ); } - WP_CLI::add_command( 'foo', 'foo_command' ); - - // 2. Command is a closure - $foo_command = function( $args ) { - WP_CLI::success( $args[0] ); - } - WP_CLI::add_command( 'foo', $foo_command ); - - // 3. Command is a method on a class - class Foo_Command { - public function __invoke( $args ) { - WP_CLI::success( $args[0] ); - } - } - WP_CLI::add_command( 'foo', 'Foo_Command' ); +} +WP_CLI::add_command( 'foo', 'Foo_Command' ); +~~~ Importantly, classes behave a bit differently than functions and closures in that: * Any public methods on a class are registered as subcommands of the command. For instance, given the examples above, a method `bar()` on the class `Foo` would be registered as `wp foo bar`. But... * `__invoke()` is treated as a magic method. If a class implements `__invoke()`, the command name will be registered to that method and no other methods of that class will be registered as commands. +### Command internals + +Your command can do whatever it wants! + +As an example, say you were tasked with finding all unused themes on a multisite network ([#2523](https://github.com/wp-cli/wp-cli/issues/2523)). If you had to perform this task manually through the WordPress admin, it would probably take hours, if not days, of effort. However, if you're familiar with writing WP-CLI commands, you could complete the task in 15 minutes or less. + +Here's what such a command looks like: + +~~~ +/** + * Find unused themes on a multisite network. + * + * Iterates through all sites on a network to find themes which aren't enabled + * on any site. + */ +$find_unused_themes_command = function() { + $response = WP_CLI::launch_self( 'site list', array(), array( 'format' => 'json' ), false, true ); + $sites = json_decode( $response->stdout ); + $unused = array(); + $used = array(); + foreach( $sites as $site ) { + WP_CLI::log( "Checking {$site->url} for unused themes..." ); + $response = WP_CLI::launch_self( 'theme list', array(), array( 'url' => $site->url, 'format' => 'json' ), false, true ); + $themes = json_decode( $response->stdout ); + foreach( $themes as $theme ) { + if ( 'no' == $theme->enabled && 'inactive' == $theme->status && ! in_array( $theme->name, $used ) ) { + $unused[ $theme->name ] = $theme; + } else { + if ( isset( $unused[ $theme->name ] ) ) { + unset( $unused[ $theme->name ] ); + } + $used[] = $theme->name; + } + } + } + WP_CLI\Utils\format_items( 'table', $unused, array( 'name', 'version' ) ); +}; +WP_CLI::add_command( 'find-unused-themes', $find_unused_themes_command, array( + 'before_invoke' => function(){ + if ( ! is_multisite() ) { + WP_CLI::error( 'This is not a multisite install.' ); + } + }, +) ); +~~~ + +Let's run through the [internal APIs](/docs/internal-apis/) this command uses to achieve its goal: + +* `WP_CLI::add_command()` ([doc](/docs/internal-api/wp-cli-add-command/)) is used to register a `find-unused-themes` command to the `$find_unused_themes_command` closure. The `before_invoke` argument makes it possible to verify the command is running on a multisite install, and error if not. +* `WP_CLI::error()` ([doc](/docs/internal-api/wp-cli-error/)) renders a nicely formatted error message and exits. +* `WP_CLI::launch_self()` ([doc](/docs/internal-api/wp-cli-launch-self/)) initially spawns a process to get a list of all sites, then is later used to get the list of themes for a given site. +* `WP_CLI::log()` ([doc](/docs/internal-api/wp-cli-log/)) renders informational output to the end user. +* `WP_CLI\Utils\format_items()` ([doc](/docs/internal-api/wp-cli-utils-format-items/)) renders the list of unused themes after the command has completed its discovery. + +### Writing tests + +tk + ## Distributing your command +tk + ### Including a command in your plugin if ( defined( 'WP_CLI' ) && WP_CLI ) { From bd4fa3498b7a25a3b9af227c5460bdd2428dc6c4 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 14 Mar 2016 07:08:47 -0700 Subject: [PATCH 536/839] Support Quick Links on longer docs --- _layouts/doc.html | 9 +++++++++ docs/installing/index.md | 4 ++++ docs/quick-start/index.md | 6 +++++- 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/_layouts/doc.html b/_layouts/doc.html index 9bfa3f1d..1bbaeef9 100644 --- a/_layouts/doc.html +++ b/_layouts/doc.html @@ -10,6 +10,15 @@

              {{ page.title }}

              +{% if page.quick_links %} + Quick links: + {% for quick_link in page.quick_links %} + {% capture link %}{{ quick_link | slugify }}{% endcapture %} + {{quick_link}} {% if forloop.last == false %}|{% endif %} + {% endfor %} +
              +{% endif %} + {{ content }} {% include footer.html %} diff --git a/docs/installing/index.md b/docs/installing/index.md index 1b4adefa..2fb4d9bd 100644 --- a/docs/installing/index.md +++ b/docs/installing/index.md @@ -3,6 +3,10 @@ layout: doc title: Installing category: Guides description: Recommended and alternative installation mechanisms. +quick_links: + - Recommended Installation + - Installing nightly via Phar + - Installing via Composer --- ## Recommended Installation diff --git a/docs/quick-start/index.md b/docs/quick-start/index.md index a0ed10b7..87ac683b 100644 --- a/docs/quick-start/index.md +++ b/docs/quick-start/index.md @@ -3,6 +3,10 @@ layout: doc title: Quick Start description: Where to begin after you've installed WP-CLI for the first time. category: Guides +quick_links: + - Introduction + - Common Terms + - Example Usage --- Congratulations! You've [installed WP-CLI](/docs/installing/) for the first time, and are ready to level-up your use of WordPress. This page contains a brief introduction to WP-CLI with some example usage. @@ -42,7 +46,7 @@ In this example, `...` is the accepted _positional_ argument. In WP-CLI also has a [series of _global_ arguments](/config/) which work with all commands. For instance, including `--debug` means your command execution will display all PHP errors, and add extra verbosity to the WP-CLI bootstrap process. -## Example usage +## Example Usage Ready to dive in? Here are some examples of common WP-CLI commands: From d866b988f04705e32fd5f43668689f35274ac584 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 14 Mar 2016 07:13:38 -0700 Subject: [PATCH 537/839] `
              ` is annoying --- _layouts/doc.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_layouts/doc.html b/_layouts/doc.html index 1bbaeef9..f9eb0cad 100644 --- a/_layouts/doc.html +++ b/_layouts/doc.html @@ -11,12 +11,12 @@

              {{ page.title }}

              {% if page.quick_links %} - Quick links: + Quick links: {% for quick_link in page.quick_links %} {% capture link %}{{ quick_link | slugify }}{% endcapture %} {{quick_link}} {% if forloop.last == false %}|{% endif %} {% endfor %} -
              +
              {% endif %} {{ content }} From 192518ba3ca4b9ed73ab30ec88f7115334274e5d Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 14 Mar 2016 07:43:25 -0700 Subject: [PATCH 538/839] Flesh out section on PHPDoc --- docs/commands-cookbook/index.md | 207 +++++++++++++++++++++++++++++++- 1 file changed, 203 insertions(+), 4 deletions(-) diff --git a/docs/commands-cookbook/index.md b/docs/commands-cookbook/index.md index 1360dc81..61fd3707 100644 --- a/docs/commands-cookbook/index.md +++ b/docs/commands-cookbook/index.md @@ -3,13 +3,18 @@ layout: doc title: Commands Cookbook description: The full 101 on writing a command. category: Guides +quick_links: + - Overview + - Anatomy of a Command + - PHPDoc + - Distributing --- Creating your own custom WP-CLI command can be easier than it looks. ## Overview -WP-CLI's goal is to offer a complete alternative to the WordPress admin; for any action you might want to perform in the WordPress admin, there should be an equivalent WP-CLI command. A _command_ is an atomic unit of WP-CLI functionality. `wp plugin install` ([doc](/commands/plugin/install/)) is one such command, as is `wp plugin activate` ([doc](/commands/plugin/activate/)). Commands are useful because they can offer simple, precise interfaces for performing complex tasks. +WP-CLI's goal is to offer a complete alternative to the WordPress admin; for any action you might want to perform in the WordPress admin, there should be an equivalent WP-CLI command. A **command** is an atomic unit of WP-CLI functionality. `wp plugin install` ([doc](/commands/plugin/install/)) is one such command, as is `wp plugin activate` ([doc](/commands/plugin/activate/)). Commands are useful because they can offer simple, precise interfaces for performing complex tasks. _But_, the WordPress admin is a Swiss Army knife of infinite complexity. There's no way just this project could handle every use case. This is why WP-CLI includes a set of [common internal commands](/commands/), while also offering a rich API for third-parties to register and [distribute their own commands](/package-index/). @@ -26,13 +31,22 @@ Third-party commands: * Can be defined in plugins or themes. * Can be distributed independent of a plugin or theme in the [Package Index](/package-index/). -## Anatomy of a command +## Anatomy of a Command WP-CLI supports registering any callable class, function, or closure as a command. `WP_CLI::add_command()` ([doc](/docs/internal-api/wp-cli-add-command/)) is used for both internal and third-party command registration. +The **synopsis** of a command defines which **positional** and **associative** arguments a command accepts. Let's take a look at the synopsis for `wp plugin install`: + + $ wp plugin install + usage: wp plugin install ... [--version=] [--force] [--activate] [--activate-network] + +In this example, `...` is the accepted **positional** argument. In fact, `wp plugin install` accepts the same positional argument (the slug, ZIP, or URL of a plugin to install) multiple times. `[--version=]` is one of the accepted **associative** arguments. It's used to denote the version of the plugin to install. Notice, too, the square brackets around the argument definition; square brackets mean the argument is optional. + +WP-CLI also has a [series of **global** arguments](/config/) which work with all commands. For instance, including `--debug` means your command execution will display all PHP errors, and add extra verbosity to the WP-CLI bootstrap process. + ### Required arguments -The two required arguments for `WP_CLI::add_command()` are `$name` and `$callable`: +When registering a command, the two required arguments for `WP_CLI::add_command()` are `$name` and `$callable`: 1. `$name` is the command's name within WP-CLI's namespace (e.g. `plugin install` or `post list`). 2. `$callable` is the implementation of the command, as a callable class, function, or closure. @@ -66,6 +80,191 @@ Importantly, classes behave a bit differently than functions and closures in tha * Any public methods on a class are registered as subcommands of the command. For instance, given the examples above, a method `bar()` on the class `Foo` would be registered as `wp foo bar`. But... * `__invoke()` is treated as a magic method. If a class implements `__invoke()`, the command name will be registered to that method and no other methods of that class will be registered as commands. +### Optional arguments + +WP-CLI supports two ways of registering optional arguments for your command: through the callable's PHPDoc, or passed as a third `$args` parameter to `WP_CLI::add_command()`. + +#### PHPDoc + +A typical WP-CLI class looks like this: + +~~~ + + * : The name of the person to greet. + * + * [--type=] + * : Whether or not to greet the person with success or error. + * --- + * default: success + * options: + * - success + * - error + * --- + * + * ## EXAMPLES + * + * wp example hello Newman + * + */ + function hello( $args, $assoc_args ) { + list( $name ) = $args; + + // Print the message with type + $type = $assoc_args['type']; + WP_CLI::$type( "Hello, $name!" ); + } +} + +WP_CLI::add_command( 'example', 'Example_Command' ); +~~~ + +The command PHPDoc comment has 3 parts: + +#### Shortdesc + +The shortdesc is the first line in the PHPDoc: + +~~~ + /** + * Prints a greeting. +~~~ + +#### Longdesc + +The longdesc is middle part of the PHPDoc: + +~~~ + * ## OPTIONS + * + * + * : The name of the person to greet. + * + * [--type=] + * : Whether or not to greet the person with success or error. + * --- + * default: success + * options: + * - success + * - error + * --- + * + * ## EXAMPLES + * + * wp example hello Newman +~~~ + +Options defined in the longdesc are interpreted as the command's **synopsis**: + +* `` is a required positional argument. +* `[--type=]` is an optional associative argument which defaults to 'success' and accepts either 'success' or 'error'. + +A command's synopsis is used for validating the arguments, before passing them to the implementation. + +The longdesc is also displayed when calling the `help` command, for example, `wp help example hello`. + +#### Docblock tags + +This is the last section and it starts immediately after the longdesc: + +~~~ + * @when before_wp_load + */ +~~~ + +Here's the list of defined tags: + +`@subcommand` + +There are cases where you can't make the method name have the name of the subcommand. For example, you can't have a method named `list`, because `list` is a reserved keyword in PHP. + +That's when the `@subcommand` tag comes to the rescue: + +~~~ + /** + * @subcommand list + */ + function _list( $args, $assoc_args ) { + ... + } + + /** + * @subcommand do-chores + */ + function do_chores( $args, $assoc_args ) { + ... + } +~~~ + +`@alias` + +With the `@alias` tag, you can add another way of calling a subcommand. Example: + +~~~ + /** + * @alias hi + */ + function hello( $args, $assoc_args ) { + ... + } +~~~ + +~~~ +$ wp example hi Joe +Success: Hello, Joe! +~~~ + +`@when` + +This is a special tag that tells WP-CLI when to execute the command. As of WP-CLI 0.11, it only supports a single value: + +~~~ +@when before_wp_load +~~~ + +It has no effect if the command using it is loaded from a plugin or a theme, because by that time WordPress itself will have already been loaded. + +#### `$args` parameter + +Each of the configuration options supported by PHPDoc can instead be passed as the third argument in command registration: + +~~~ +$hello_command = function( $args, $assoc_args ) { + list( $name ) = $args; + $type = $assoc_args['type']; + WP_CLI::$type( "Hello, $name!" ); +} +WP_CLI::add_command( 'example hello', $hello_command, array( + 'shortdesc' => 'Prints a greeting.', + 'synopsis' => array( + array( + 'type' => 'positional', + 'name' => 'name', + 'optional' => false, + 'multiple' => false, + ), + array( + 'type' => 'assoc', + 'name' => 'type', + 'optional' => true, + 'default' => 'success', + 'options' => array( 'success', 'error' ), + ), + ), + 'when' => 'before_wp_load', +) ); +~~~ + ### Command internals Your command can do whatever it wants! @@ -124,7 +323,7 @@ Let's run through the [internal APIs](/docs/internal-apis/) this command uses to tk -## Distributing your command +## Distributing tk From ae21e30dbded91cb121bb202741b4f3d432292f0 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 14 Mar 2016 10:03:10 -0700 Subject: [PATCH 539/839] Make inline code blocks more readable Using a different font-size with vertical padding is very difficult to read --- assets/css/stylesheet.css | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index ecee96b5..1744e106 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -186,9 +186,8 @@ pre { /* Inline code */ code { - padding: 0.3em 0.3em 0.2em 0.3em; - border-radius: .3em; - font-size: 1.05em; + padding-left: 0.3em; + padding-right: 0.3em; background: #444; } /* Oh I want SASS here */ From 9a652bc2d802a38e6268f64df481cccd7ccba14c Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 14 Mar 2016 10:04:28 -0700 Subject: [PATCH 540/839] Use some indentation --- _layouts/doc.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_layouts/doc.html b/_layouts/doc.html index f9eb0cad..a35bfaf2 100644 --- a/_layouts/doc.html +++ b/_layouts/doc.html @@ -11,12 +11,12 @@

              {{ page.title }}

              {% if page.quick_links %} - Quick links: +

              Quick links: {% for quick_link in page.quick_links %} {% capture link %}{{ quick_link | slugify }}{% endcapture %} {{quick_link}} {% if forloop.last == false %}|{% endif %} {% endfor %} - +

              {% endif %} {{ content }} From fc27d77519ed885e75dabde9063d5683f7ae7a6f Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 14 Mar 2016 10:08:22 -0700 Subject: [PATCH 541/839] Clean up heading styles --- assets/css/stylesheet.css | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 1744e106..95ce5f7f 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -40,7 +40,7 @@ h1, h2, h3, h4, h5, h6 { font-weight: normal; } -h3 { +h3, h4 { font-weight: 600; } @@ -424,15 +424,15 @@ body.display-global-parameters #main_content { } #main_content h2 { - font-size: 24px; + font-size: 28px; } #main_content h3 { - font-size: 18px; + font-size: 24px; } #main_content h4 { - font-size: 14px; + font-size: 18px; /*margin-top: .3em;*/ } From f597e6fd0c41011f655dfd0c1dda1dabd3110607 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 14 Mar 2016 10:30:20 -0700 Subject: [PATCH 542/839] Edits --- docs/commands-cookbook/index.md | 70 +++++++++++++++------------------ 1 file changed, 32 insertions(+), 38 deletions(-) diff --git a/docs/commands-cookbook/index.md b/docs/commands-cookbook/index.md index 61fd3707..7f78cd2a 100644 --- a/docs/commands-cookbook/index.md +++ b/docs/commands-cookbook/index.md @@ -4,21 +4,20 @@ title: Commands Cookbook description: The full 101 on writing a command. category: Guides quick_links: - - Overview - - Anatomy of a Command - - PHPDoc - - Distributing + - Anatomy of a command + - Annotating with PHPDoc + - Command internals --- Creating your own custom WP-CLI command can be easier than it looks. ## Overview -WP-CLI's goal is to offer a complete alternative to the WordPress admin; for any action you might want to perform in the WordPress admin, there should be an equivalent WP-CLI command. A **command** is an atomic unit of WP-CLI functionality. `wp plugin install` ([doc](/commands/plugin/install/)) is one such command, as is `wp plugin activate` ([doc](/commands/plugin/activate/)). Commands are useful because they can offer simple, precise interfaces for performing complex tasks. +WP-CLI's goal is to offer a complete alternative to the WordPress admin; for any action you might want to perform in the WordPress admin, there should be an equivalent WP-CLI command. A **command** is an atomic unit of WP-CLI functionality. `wp plugin install` ([doc](/commands/plugin/install/)) is one such command, as is `wp plugin activate` ([doc](/commands/plugin/activate/)). Commands are useful to WordPress users because they can offer simple, precise interfaces for performing complex tasks. _But_, the WordPress admin is a Swiss Army knife of infinite complexity. There's no way just this project could handle every use case. This is why WP-CLI includes a set of [common internal commands](/commands/), while also offering a rich API for third-parties to register and [distribute their own commands](/package-index/). -### Command types +#### Command types Internal commands: @@ -31,7 +30,7 @@ Third-party commands: * Can be defined in plugins or themes. * Can be distributed independent of a plugin or theme in the [Package Index](/package-index/). -## Anatomy of a Command +## Anatomy of a command WP-CLI supports registering any callable class, function, or closure as a command. `WP_CLI::add_command()` ([doc](/docs/internal-api/wp-cli-add-command/)) is used for both internal and third-party command registration. @@ -42,16 +41,16 @@ The **synopsis** of a command defines which **positional** and **associative** a In this example, `...` is the accepted **positional** argument. In fact, `wp plugin install` accepts the same positional argument (the slug, ZIP, or URL of a plugin to install) multiple times. `[--version=]` is one of the accepted **associative** arguments. It's used to denote the version of the plugin to install. Notice, too, the square brackets around the argument definition; square brackets mean the argument is optional. -WP-CLI also has a [series of **global** arguments](/config/) which work with all commands. For instance, including `--debug` means your command execution will display all PHP errors, and add extra verbosity to the WP-CLI bootstrap process. +WP-CLI also has a [series of global arguments](/config/) which work with all commands. For instance, including `--debug` means your command execution will display all PHP errors, and add extra verbosity to the WP-CLI bootstrap process. -### Required arguments +### Required registration arguments -When registering a command, the two required arguments for `WP_CLI::add_command()` are `$name` and `$callable`: +When registering a command, `WP_CLI::add_command()` requires two arguments:: 1. `$name` is the command's name within WP-CLI's namespace (e.g. `plugin install` or `post list`). 2. `$callable` is the implementation of the command, as a callable class, function, or closure. -For instance, here are three ways of registering a functionally-equivalent command: +In the following example, each instance of `wp foo` is functionally equivalent: ~~~ // 1. Command is a function @@ -80,11 +79,11 @@ Importantly, classes behave a bit differently than functions and closures in tha * Any public methods on a class are registered as subcommands of the command. For instance, given the examples above, a method `bar()` on the class `Foo` would be registered as `wp foo bar`. But... * `__invoke()` is treated as a magic method. If a class implements `__invoke()`, the command name will be registered to that method and no other methods of that class will be registered as commands. -### Optional arguments +### Optional registration arguments WP-CLI supports two ways of registering optional arguments for your command: through the callable's PHPDoc, or passed as a third `$args` parameter to `WP_CLI::add_command()`. -#### PHPDoc +#### Annotating with PHPDoc A typical WP-CLI class looks like this: @@ -116,6 +115,7 @@ class Example_Command extends WP_CLI_Command { * * wp example hello Newman * + * @when before_wp_load */ function hello( $args, $assoc_args ) { list( $name ) = $args; @@ -129,7 +129,7 @@ class Example_Command extends WP_CLI_Command { WP_CLI::add_command( 'example', 'Example_Command' ); ~~~ -The command PHPDoc comment has 3 parts: +This command's PHPDoc is interpreted in three ways: #### Shortdesc @@ -166,12 +166,19 @@ The longdesc is middle part of the PHPDoc: Options defined in the longdesc are interpreted as the command's **synopsis**: -* `` is a required positional argument. -* `[--type=]` is an optional associative argument which defaults to 'success' and accepts either 'success' or 'error'. +* `` is a required positional argument. Changing it to `..` would mean the command could accept one or more positional arguments. +* `[--type=]` is an optional associative argument which defaults to 'success' and accepts either 'success' or 'error'. Changing it to `[--error]` would change the argument to behave as an optional boolean flag. A command's synopsis is used for validating the arguments, before passing them to the implementation. -The longdesc is also displayed when calling the `help` command, for example, `wp help example hello`. +The longdesc is also displayed when calling the `help` command, for example, `wp help example hello`. Its syntax is [Markdown Extra](http://michelf.ca/projects/php-markdown/extra/) and here are a few more notes on how it's handled by WP-CLI: + +* The longdesc is generally treated as a free-form text. The `OPTIONS` and `EXAMPLES` section names are not enforced, just common and recommended. +* Sections names (`## NAME`) are colorized and printed with zero indentation. +* Everything else is indented by 2 characters, option descriptions are further indented by additional 2 characters. +* Word-wrapping is a bit tricky. If you want to utilize as much space on each line as possible and don't get word-wrapping artifacts like one or two words on the next line, follow these rules: + * Hard-wrap option descriptions at **75 chars** after the colon and a space. + * Hard-wrap everything else at **90 chars**. #### Docblock tags @@ -184,7 +191,7 @@ This is the last section and it starts immediately after the longdesc: Here's the list of defined tags: -`@subcommand` +**@subcommand** There are cases where you can't make the method name have the name of the subcommand. For example, you can't have a method named `list`, because `list` is a reserved keyword in PHP. @@ -206,7 +213,7 @@ That's when the `@subcommand` tag comes to the rescue: } ~~~ -`@alias` +**@alias** With the `@alias` tag, you can add another way of calling a subcommand. Example: @@ -224,17 +231,19 @@ $ wp example hi Joe Success: Hello, Joe! ~~~ -`@when` +**@when** -This is a special tag that tells WP-CLI when to execute the command. As of WP-CLI 0.11, it only supports a single value: +This is a special tag that tells WP-CLI when to execute the command. It supports [all registered hooks](/docs/internal-api/wp-cli-add-hook/). ~~~ @when before_wp_load ~~~ +Do keep in mind most WP-CLI hooks fire before WordPress is loaded. If your command is loaded from a plugin or theme, `@when` will be essentially ignored. + It has no effect if the command using it is loaded from a plugin or a theme, because by that time WordPress itself will have already been loaded. -#### `$args` parameter +#### WP_CLI::add_command()'s third $args parameter Each of the configuration options supported by PHPDoc can instead be passed as the third argument in command registration: @@ -267,7 +276,7 @@ WP_CLI::add_command( 'example hello', $hello_command, array( ### Command internals -Your command can do whatever it wants! +Now that you know how to register a command, the world is your oyster. Inside your callback, your command can do whatever it wants. As an example, say you were tasked with finding all unused themes on a multisite network ([#2523](https://github.com/wp-cli/wp-cli/issues/2523)). If you had to perform this task manually through the WordPress admin, it would probably take hours, if not days, of effort. However, if you're familiar with writing WP-CLI commands, you could complete the task in 15 minutes or less. @@ -319,18 +328,3 @@ Let's run through the [internal APIs](/docs/internal-apis/) this command uses to * `WP_CLI::log()` ([doc](/docs/internal-api/wp-cli-log/)) renders informational output to the end user. * `WP_CLI\Utils\format_items()` ([doc](/docs/internal-api/wp-cli-utils-format-items/)) renders the list of unused themes after the command has completed its discovery. -### Writing tests - -tk - -## Distributing - -tk - -### Including a command in your plugin - - if ( defined( 'WP_CLI' ) && WP_CLI ) { - require_once dirname( __FILE__ ) . '/inc/class-plugin-cli-command.php'; - } - -### Publishing a WP-CLI package From 5909d57938d2ba2a5dc83e37933af2f396f00974 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 14 Mar 2016 10:33:03 -0700 Subject: [PATCH 543/839] Include section on help rendering --- docs/commands-cookbook/index.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/commands-cookbook/index.md b/docs/commands-cookbook/index.md index 7f78cd2a..136f0926 100644 --- a/docs/commands-cookbook/index.md +++ b/docs/commands-cookbook/index.md @@ -328,3 +328,11 @@ Let's run through the [internal APIs](/docs/internal-apis/) this command uses to * `WP_CLI::log()` ([doc](/docs/internal-api/wp-cli-log/)) renders informational output to the end user. * `WP_CLI\Utils\format_items()` ([doc](/docs/internal-api/wp-cli-utils-format-items/)) renders the list of unused themes after the command has completed its discovery. +### Help rendering + +Your command's PHPDoc (or registered definition) is rendered using the `help` command. The output is ordered like this: + + 1. Short description + 2. Synopsis + 3. Long description (OPTIONS, EXAMPLES etc.) + 4. Global parameters From 4ccbcd99c4d8e01c3bc0d417cadace1c9e9d8274 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 14 Mar 2016 10:36:07 -0700 Subject: [PATCH 544/839] Add more detail on accepting arguments --- docs/commands-cookbook/index.md | 48 +++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/docs/commands-cookbook/index.md b/docs/commands-cookbook/index.md index 136f0926..faf2990c 100644 --- a/docs/commands-cookbook/index.md +++ b/docs/commands-cookbook/index.md @@ -278,6 +278,54 @@ WP_CLI::add_command( 'example hello', $hello_command, array( Now that you know how to register a command, the world is your oyster. Inside your callback, your command can do whatever it wants. +#### Accepting arguments + +In order to handle runtime arguments, you have to add two parameters to your callable: `$args` and `$assoc_args`. + +~~~ +function hello( $args, $assoc_args ) { + /* Code goes here*/ +} +~~~ + +`$args` variable will store all the positional arguments: + +~~~ +$ wp example hello Joe Doe +~~~ + +~~~ +WP_CLI::line( $args[0] ); // Joe +WP_CLI::line( $args[1] ); // Doe + + +`$assoc_args` variable will store all the arguments defined like `--key=value` or `--flag` or `--no-flag` + +~~~ +$ wp example hello --name='Joe Doe' --verbose --no-option +~~~ + +~~~ +WP_CLI::line( $assoc_args['name'] ); // Joe Doe +WP_CLI::line( $assoc_args['verbose'] ); // true +WP_CLI::line( $assoc_args['option'] ); // false +~~~ + +Also, you can combine argument types: + +~~~ +$ wp example hello --name=Joe foo --verbose bar +~~~ + +~~~ +WP_CLI::line( $assoc_args['name'] ); // Joe +WP_CLI::line( $assoc_args['verbose'] ); // true +WP_CLI::line( $args[0] ); // foo +WP_CLI::line( $args[1] ); // bar +~~~ + +#### Effectively reusing WP-CLI internal APIs + As an example, say you were tasked with finding all unused themes on a multisite network ([#2523](https://github.com/wp-cli/wp-cli/issues/2523)). If you had to perform this task manually through the WordPress admin, it would probably take hours, if not days, of effort. However, if you're familiar with writing WP-CLI commands, you could complete the task in 15 minutes or less. Here's what such a command looks like: From 8cadc8414897b104465cfd40fa4b26e167c6edee Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 14 Mar 2016 10:56:17 -0700 Subject: [PATCH 545/839] Expose relative links for headings --- _includes/footer.html | 41 +++++++++++++++++++++++++++++++++++++++ assets/css/stylesheet.css | 15 ++++++++++++++ 2 files changed, 56 insertions(+) diff --git a/_includes/footer.html b/_includes/footer.html index 71a90b1e..ba092a7f 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -8,5 +8,46 @@ {% include analytics.html %} + + + diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 95ce5f7f..b5ab70c4 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -44,6 +44,21 @@ h3, h4 { font-weight: 600; } +.header-link { + display: none; + text-decoration: none; + color: #888; + margin-left: 0.5em; +} + +h1:hover .header-link, +h2:hover .header-link, +h3:hover .header-link, +h4:hover .header-link, +h5:hover .header-link { + display: inline !important; +} + p { margin: .5em 0 1.1em 0; } From d3ab538d125ed2d65c8d5af6f3eca906c280d9bf Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 14 Mar 2016 10:57:32 -0700 Subject: [PATCH 546/839] Always display them, because they're subtle --- assets/css/stylesheet.css | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index b5ab70c4..9849783e 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -45,18 +45,13 @@ h3, h4 { } .header-link { - display: none; text-decoration: none; - color: #888; + color: #BBB; margin-left: 0.5em; } -h1:hover .header-link, -h2:hover .header-link, -h3:hover .header-link, -h4:hover .header-link, -h5:hover .header-link { - display: inline !important; +.header-link:hover { + color: #292929; } p { From 7f1a29d77909c429b9ff3245e9d2fa892a9df9c3 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 14 Mar 2016 12:06:30 -0700 Subject: [PATCH 547/839] Actually, hide header links by default --- assets/css/stylesheet.css | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 9849783e..4d9f3f8c 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -48,12 +48,21 @@ h3, h4 { text-decoration: none; color: #BBB; margin-left: 0.5em; + font-size: 0.6em; + display: none; } .header-link:hover { color: #292929; } +h1:hover .header-link, +h2:hover .header-link, +h3:hover .header-link, +h4:hover .header-link { + display: inline; +} + p { margin: .5em 0 1.1em 0; } From 0188623cedc5a01e417ef0b29bb7e74e9cb924dc Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 14 Mar 2016 12:17:08 -0700 Subject: [PATCH 548/839] Heading cleanup --- Phakefile.php | 17 ++++++++++++----- _includes/doc-list.html | 30 ++++++++++++++++++------------ docs/bug-reports/index.md | 2 +- docs/commands-cookbook/index.md | 4 ++-- docs/hosting-companies/index.md | 4 ++-- docs/installing/index.md | 4 ++-- docs/plugin-unit-tests/index.md | 4 ++-- docs/quick-start/index.md | 2 +- docs/release-checklist/index.md | 2 +- docs/shell-tips/index.md | 2 +- docs/tools/index.md | 2 +- 11 files changed, 43 insertions(+), 30 deletions(-) diff --git a/Phakefile.php b/Phakefile.php index f26702f6..edfc2351 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -214,19 +214,25 @@ function gen_cmd_pages( $cmd, $parent = array() ) { $docs = array( 'Guides' => array( 'Installing' => array(), - 'Quick Start' => array(), + 'Quick start' => array(), ), 'References' => array( - 'Configuration options' => array( + 'Global parameters' => array( 'path' => '/config/', - 'title' => 'Configuration options', - 'description' => 'Variables defining how a command is executed, including which WordPress user the command is run as and which WordPress instance the commnd is run against.', + 'title' => 'Global parameters', + 'description' => 'Variables defining how a command is executed, including which WordPress user the command is run as and which WordPress instance the command is run against.', ), 'Built-in commands' => array( 'path' => '/commands/', 'title' => 'Built-in commands', 'description' => 'Commands included in every copy of WP-CLI.', ), + 'Package index' => array( + 'path' => '/package-index/', + 'title' => 'Package index', + 'description' => 'Commands maintained and supported by the community.', + ), + 'Internal API' => array(), ), 'Contributing' => array(), 'Misc' => array(), @@ -257,7 +263,8 @@ function gen_cmd_pages( $cmd, $parent = array() ) { if ( empty( $cat_docs ) ) { continue; } - $out .= '

              ' . $category . '

              ' . PHP_EOL . PHP_EOL; + $cat_slug = strtolower( $category ); + $out .= '

              ' . $category . '

              ' . PHP_EOL . PHP_EOL; $out .= '
                ' . PHP_EOL; foreach( $cat_docs as $cat_doc ) { $out .= '
              • ' . $cat_doc['title'] . ''; diff --git a/_includes/doc-list.html b/_includes/doc-list.html index b0afa283..ae1ccce0 100644 --- a/_includes/doc-list.html +++ b/_includes/doc-list.html @@ -1,33 +1,39 @@ -

                Guides

                +

                Guides

                -

                References

                +

                References

                  -
                • Configuration options - Variables defining how a command is executed, including which WordPress user the command is run as and which WordPress instance the commnd is run against.
                • +
                • Global parameters - Variables defining how a command is executed, including which WordPress user the command is run as and which WordPress instance the command is run against.
                • Built-in commands - Commands included in every copy of WP-CLI.
                • -
                • Hosting Companies - List of hosting companies with WP-CLI installed by default.
                • +
                • Package index - Commands maintained and supported by the community.
                • Internal API - Stable utilities considered safe to use in community commands.
                • -
                • Shell Tips - Helpful shortcuts for bash and zsh.
                • -
                • Integrated Tools - External projects that integrate with WP-CLI in some form.
                • +
                • Hosting companies - List of hosting companies where WP-CLI is installed by default.
                • +
                • Shell tips - Helpful shortcuts for bash and zsh.
                • +
                • Integrated tools - External projects that integrate with WP-CLI in some form.
                -

                Contributing

                +

                Contributing

                + +

                Misc

                + + diff --git a/docs/bug-reports/index.md b/docs/bug-reports/index.md index edc4bba9..76dcd3f1 100644 --- a/docs/bug-reports/index.md +++ b/docs/bug-reports/index.md @@ -1,6 +1,6 @@ --- layout: doc -title: Bug Reports +title: Bug reports category: Contributing description: Help ensure your issue is resolved in a timely manner. --- diff --git a/docs/commands-cookbook/index.md b/docs/commands-cookbook/index.md index faf2990c..c50c5bf7 100644 --- a/docs/commands-cookbook/index.md +++ b/docs/commands-cookbook/index.md @@ -1,7 +1,7 @@ --- layout: doc -title: Commands Cookbook -description: The full 101 on writing a command. +title: Commands cookbook +description: The full 101 how commands work, writing your own, and sharing them with the world. category: Guides quick_links: - Anatomy of a command diff --git a/docs/hosting-companies/index.md b/docs/hosting-companies/index.md index 35d83cdd..7f79ccf7 100644 --- a/docs/hosting-companies/index.md +++ b/docs/hosting-companies/index.md @@ -1,8 +1,8 @@ --- layout: doc -title: Hosting Companies +title: Hosting companies category: References -description: List of hosting companies with WP-CLI installed by default. +description: List of hosting companies where WP-CLI is installed by default. --- The following is a list of hosting companies that have WP-CLI installed by default for their customers, i.e. when they first SSH into their server, the `wp` command is already available. diff --git a/docs/installing/index.md b/docs/installing/index.md index 2fb4d9bd..246fc286 100644 --- a/docs/installing/index.md +++ b/docs/installing/index.md @@ -9,7 +9,7 @@ quick_links: - Installing via Composer --- -## Recommended Installation +## Recommended installation The recommended way to install WP-CLI is by downloading the Phar build, marking it executable, and placing it on your PATH. @@ -49,7 +49,7 @@ Voila! You're now an official WP-CLI user. Wondering what to do next? Check out the [quick start guide](/docs/quick-start/) for a short introduction and some example usage. -## Alternative Installation Methods +## Alternative installation methods ### Installing nightly via Phar diff --git a/docs/plugin-unit-tests/index.md b/docs/plugin-unit-tests/index.md index b94b8089..6f677f4e 100644 --- a/docs/plugin-unit-tests/index.md +++ b/docs/plugin-unit-tests/index.md @@ -1,8 +1,8 @@ --- layout: doc -title: Plugin Unit Tests +title: Plugin unit tests description: How to set up and run PHPUnit tests for a WordPress plugin. -category: Guides +category: Misc --- This guide will demonstrate how to: diff --git a/docs/quick-start/index.md b/docs/quick-start/index.md index 87ac683b..09bfa4e5 100644 --- a/docs/quick-start/index.md +++ b/docs/quick-start/index.md @@ -1,6 +1,6 @@ --- layout: doc -title: Quick Start +title: Quick start description: Where to begin after you've installed WP-CLI for the first time. category: Guides quick_links: diff --git a/docs/release-checklist/index.md b/docs/release-checklist/index.md index fb115d0d..158700fe 100644 --- a/docs/release-checklist/index.md +++ b/docs/release-checklist/index.md @@ -1,6 +1,6 @@ --- layout: doc -title: Release Checklist +title: Release checklist description: Tasks performed during the process of tagging a release. category: Contributing --- diff --git a/docs/shell-tips/index.md b/docs/shell-tips/index.md index 48e5cdf6..6004e7b4 100644 --- a/docs/shell-tips/index.md +++ b/docs/shell-tips/index.md @@ -1,6 +1,6 @@ --- layout: doc -title: Shell Tips +title: Shell tips description: Helpful shortcuts for bash and zsh. category: References --- diff --git a/docs/tools/index.md b/docs/tools/index.md index 0d079edf..90ec1536 100644 --- a/docs/tools/index.md +++ b/docs/tools/index.md @@ -1,6 +1,6 @@ --- layout: doc -title: Integrated Tools +title: Integrated tools description: External projects that integrate with WP-CLI in some form. category: References --- From 062156f59997181735f0d36dde84cb4567d7457c Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 14 Mar 2016 12:25:39 -0700 Subject: [PATCH 549/839] Port list of plugins with WP-CLI commands from wiki --- _includes/doc-list.html | 2 +- docs/tools/index.md | 68 +++++++++++++++++++++++++++++++++++++++-- 2 files changed, 67 insertions(+), 3 deletions(-) diff --git a/_includes/doc-list.html b/_includes/doc-list.html index ae1ccce0..83021731 100644 --- a/_includes/doc-list.html +++ b/_includes/doc-list.html @@ -17,7 +17,7 @@

                References

              • Internal API - Stable utilities considered safe to use in community commands.
              • Hosting companies - List of hosting companies where WP-CLI is installed by default.
              • Shell tips - Helpful shortcuts for bash and zsh.
              • -
              • Integrated tools - External projects that integrate with WP-CLI in some form.
              • +
              • Integrated tools - Plugins, wrappers, and other projects that integrate with WP-CLI in some form.

              Contributing

              diff --git a/docs/tools/index.md b/docs/tools/index.md index 90ec1536..feeb99b6 100644 --- a/docs/tools/index.md +++ b/docs/tools/index.md @@ -1,11 +1,75 @@ --- layout: doc title: Integrated tools -description: External projects that integrate with WP-CLI in some form. +description: Plugins, wrappers, and other projects that integrate with WP-CLI in some form. category: References +quick_links: + - Plugins + - Wrappers + - Editor plugins + - Vagrant boxes + - Misc --- -The following is a list of projects that integrate with WP-CLI. Also see [List of community commands](https://github.com/wp-cli/wp-cli/wiki/List-of-community-commands). +The following is a list of projects that integrate with WP-CLI in some form. For installable WP-CLI packages, please see the [package index](/package-index/). + +## Plugins + +The following table is an alphabetical list of known commands defined in WordPress plugins: + +| **Command** | **WordPress plugin** +|:----------------------|:--------------------------------------------------------------- +| acf | [Advanced Custom Fields wp-cli](https://github.com/hoppinger/advanced-custom-fields-wpcli) +| amt | [Add-Meta-Tags command line interface](http://www.codetrax.org/projects/wp-add-meta-tags/wiki/Command_Line_Interface) +| any-ipsum | [Any Ipsum](https://wordpress.org/plugins/any-ipsum/) +| backup | [BackUpWordPress](http://wordpress.org/extend/plugins/backupwordpress/) +| backupbuddy | [BackupBuddy](http://getbackupbuddy.com/) +| backwpup | [BackWPup](https://marketpress.de/product/backwpup-pro/) +| blog-dupe | [blog-duplicator](https://github.com/trepmal/blog-duplicator) +| camptix | [CampTix](https://github.com/Automattic/camptix) +| check-content | [CheckContent](https://github.com/mattclegg/wp-cli_check-content) +| co-authors-plus | [Co-Authors Plus](https://github.com/automattic/co-authors-plus) +| composer | [Composer](http://wordpress.org/plugins/composer) +| config | [WP-CFM](https://wordpress.org/plugins/wp-cfm/) +| crontrol | [WP-Crontrol](http://wordpress.org/plugins/wp-crontrol/) +| csv | [Advanced CSV Importer](https://wordpress.org/plugins/advanced-csv-importer/) +| deploy | [wp-deploy-flow](https://github.com/demental/wp-deploy-flow) +| developer | [Developer](http://wordpress.org/plugins/developer/) +| dreamobjects | [DreamObjects](http://wordpress.org/extend/plugins/dreamobjects/) +| edd | [Easy Digital Downloads](https://easydigitaldownloads.com/docs/wp-cli-commands/) +| elasticpress | [ElasticPress](https://github.com/10up/ElasticPress) +| google-sitemap | [Google Sitemap Generator CLI](https://github.com/wp-cli/google-sitemap-generator-cli) +| image-gen | [Image Gen](https://github.com/trepmal/image-gen/) +| import_sidebar | [Widget Import Export](https://github.com/cftp/widget-importer) +| itelic | [Licensing for Exchange](https://github.com/iron-bound-designs/exchange-addon-licensing) +| jekyll-export | [WordPress to Jekyll Exporter](https://github.com/benbalter/wordpress-to-jekyll-exporter/) +| jetpack | [Jetpack by WordPress.com](http://wordpress.org/plugins/jetpack/) +| liveblog | [Liveblog](http://wordpress.org/plugins/liveblog/) +| mainwp | [MainWP](http://docs.mainwp.com/wp-cli-commands/) +| migrate | [WP Migrate DB CLI Interface](https://github.com/duncanjbrown/WP-CLI-Migrate/) +| migratedb | [WP Migrate DB Pro](https://deliciousbrains.com/wp-migrate-db-pro/doc/cli-addon/) +| more-plugin-info | [More Plugin Info](http://wordpress.org/plugins/more-plugin-info/) +| multi-device | [Multi Device Switcher](https://wordpress.org/plugins/multi-device-switcher/) +| nginx | [Nginx Cache Controller](http://wordpress.org/plugins/nginx-champuru/) +| p2-by-email | [P2 By Email](https://github.com/humanmade/P2-By-Email) +| p2-resolved-posts | [P2 Resolved Posts](http://wordpress.org/plugins/p2-resolved-posts/) +| p2p | [Posts 2 Posts](http://wordpress.org/plugins/posts-to-posts/) +| pdf-light-viewer | [PDF Light Viewer](https://github.com/antongorodezkiy/pdf-light-viewer) +| post-gen | [Post Gen](https://github.com/trepmal/post-gen/) +| revisions | [wp-revisions-cli](https://github.com/trepmal/wp-revisions-cli/) +| revision-strike | [Revision Strike](https://wordpress.org/plugins/revision-strike/) +| safe-redirect-manager | [Safe Redirect Manager](https://github.com/tlovett1/Safe-Redirect-Manager) +| scheduled-unsticky | [Scheduled Unsticky](http://wordpress.org/plugins/scheduled-unsticky/) +| site duplicate | [MultiSite Clone Duplicator](http://wordpress.org/plugins/multisite-clone-duplicator/) +| stream | [WP Stream](http://wordpress.org/plugins/stream/) +| super-cache | [WP Super Cache CLI](https://github.com/wp-cli/wp-super-cache-cli) +| supportpress | [SupportFlow](https://github.com/SupportFlow/supportflow) +| thinkup | [Thinkup Import WP CLI Commands](https://github.com/taras/wp-cli-thinkup-import) +| total-cache | [W3 Total Cache](http://wordpress.org/extend/plugins/w3-total-cache/) +| usergen | [Generate random users](https://github.com/alessandrotesoro/wp-usergen-cli) +| Unsplash | [Import images from Unsplash into your Media Library](https://github.com/A5hleyRich/wp-cli-unsplash-command) + +If you implement a WP-CLI command in one of your plugins, please list it here. ## Wrappers From c0cb85aa1dd2dde8fff619e3c75dd58b83270038 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 14 Mar 2016 13:12:49 -0700 Subject: [PATCH 550/839] Update RESTful WP-CLI hours as of March 14th --- restful/index.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/restful/index.md b/restful/index.md index 652496e9..c09898ba 100644 --- a/restful/index.md +++ b/restful/index.md @@ -37,17 +37,17 @@ Presentations: ## Budget -Here's a breakdown of how the project's 283 total hours have been used to date: - -| Activity | WP-CLI | WP-API | -|---------------|--------------------------|-------------------------| -| Development | 26.45 | 52.25 | -| Support | 3.28 | 10.39 | -| Documentation | 0.42 | 0.67 | -| Blogging | 6.30 | 0 | -| Meetings | 0 | 3.72 | -| Admin | 0.77 | 0 | -| **Total** | 37.22 (of 150 budgeted) | 67.03 (of 83 budgeted) | +Here's a breakdown of how the project's 283 total hours have been used (between January 1st and March 14th, 2016): + +| Activity | WP-CLI | WP-API | +|---------------|----------------------------|---------------------------| +| Development | 57.58 | 67.95 | +| Support | 9.69 | 15.39 | +| Documentation | 20.53 | 1.17 | +| Blogging | 7.70 | 0 | +| Meetings | 0 | 7.91 | +| Admin | 0.77 | 0 | +| **Total** | 96.27 (of 150.58 budgeted) | 92.42 (of 92.42 budgeted) | Note: time spent fulfilling the Kickstarter rewards is tracked separately. From 7fb3b2a073ad787ef655d459849410c7f11b36ff Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 14 Mar 2016 13:44:26 -0700 Subject: [PATCH 551/839] Add a section on writing tests to Commands Cookbook --- docs/commands-cookbook/index.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/docs/commands-cookbook/index.md b/docs/commands-cookbook/index.md index c50c5bf7..cb79d652 100644 --- a/docs/commands-cookbook/index.md +++ b/docs/commands-cookbook/index.md @@ -7,6 +7,7 @@ quick_links: - Anatomy of a command - Annotating with PHPDoc - Command internals + - Writing tests --- Creating your own custom WP-CLI command can be easier than it looks. @@ -384,3 +385,33 @@ Your command's PHPDoc (or registered definition) is rendered using the `help` co 2. Synopsis 3. Long description (OPTIONS, EXAMPLES etc.) 4. Global parameters + +## Writing tests + +WP-CLI makes use of a Behat-based testing framework, which you should use too. Behat is a great choice for your WP-CLI commands because: + +* It's easy to write new tests, which means they'll actually get written. +* The tests interface with your command in the same manner as your users interface with your command. + +Behat tests live in the `features/` directory of your project. Here's an example from `features/cli-info.feature`: + +~~~ +Feature: Review CLI information + + Scenario: Get the path to the packages directory + Given an empty directory + + When I run `wp cli info --format=json` + Then STDOUT should be JSON containing: + """ + {"wp_cli_packages_dir_path":"/tmp/wp-cli-home/.wp-cli/packages/"} + """ + + When I run `WP_CLI_PACKAGES_DIR=/tmp/packages wp cli info --format=json` + Then STDOUT should be JSON containing: + """ + {"wp_cli_packages_dir_path":"/tmp/packages/"} + """ +~~~ + +Convinced? Head on over to [wp-cli/scaffold-package-command](https://github.com/wp-cli/scaffold-package-command) to get started. From 1f23440688bcd96b9d54f256be7bcdb950f95f91 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 14 Mar 2016 20:51:51 -0700 Subject: [PATCH 552/839] Mention command distribution in the package index --- docs/commands-cookbook/index.md | 39 +++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/docs/commands-cookbook/index.md b/docs/commands-cookbook/index.md index cb79d652..512c078e 100644 --- a/docs/commands-cookbook/index.md +++ b/docs/commands-cookbook/index.md @@ -8,6 +8,7 @@ quick_links: - Annotating with PHPDoc - Command internals - Writing tests + - Add to the package index --- Creating your own custom WP-CLI command can be easier than it looks. @@ -415,3 +416,41 @@ Feature: Review CLI information ~~~ Convinced? Head on over to [wp-cli/scaffold-package-command](https://github.com/wp-cli/scaffold-package-command) to get started. + +## Distribution + +Now that you've produce a command you're proud of, it's time to share it with the world. There are two common ways of doing so. + +### Include in a plugin or theme + +One way to share WP-CLI commands is by packaging them in your plugin or theme. Many people do so by conditionally loading (and registering) the command based on the presence of the `WP_CLI` constant. + +~~~ +if ( defined( 'WP_CLI' ) && WP_CLI ) { + require_once dirname( __FILE__ ) . '/inc/class-plugin-cli-command.php'; +} +~~~ + +### Add to the package index + +Standalone WP-CLI commands can be added to and installed from the [package index](/package-index/). The only technical requirement for being listed in the package index is to include a valid composer.json file with an autoload declaration. + +Here's a full composer.json example from the server command: + +~~~ + +{ + "name": "wp-cli/server-command", + "description": "Start a development server for WordPress", + "homepage": "https://github.com/wp-cli/server-command", + "license": "MIT", + "require": { + "php": ">=5.4" + }, + "autoload": { + "files": [ "command.php" ] + } +} +~~~ + +Note the `autoload` declaration, which loads `command.php`. From 0b5ba9ab87dabf9cc66cad8d58420ec08c84ef6f Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 14 Mar 2016 20:57:53 -0700 Subject: [PATCH 553/839] Fix incorrect link --- docs/commands-cookbook/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/commands-cookbook/index.md b/docs/commands-cookbook/index.md index 512c078e..c792057e 100644 --- a/docs/commands-cookbook/index.md +++ b/docs/commands-cookbook/index.md @@ -370,7 +370,7 @@ WP_CLI::add_command( 'find-unused-themes', $find_unused_themes_command, array( ) ); ~~~ -Let's run through the [internal APIs](/docs/internal-apis/) this command uses to achieve its goal: +Let's run through the [internal APIs](/docs/internal-api/) this command uses to achieve its goal: * `WP_CLI::add_command()` ([doc](/docs/internal-api/wp-cli-add-command/)) is used to register a `find-unused-themes` command to the `$find_unused_themes_command` closure. The `before_invoke` argument makes it possible to verify the command is running on a multisite install, and error if not. * `WP_CLI::error()` ([doc](/docs/internal-api/wp-cli-error/)) renders a nicely formatted error message and exits. From 21b5581f6c4f67e456d41f4f48bfb55eafcd6912 Mon Sep 17 00:00:00 2001 From: Flip Hess Date: Tue, 15 Mar 2016 12:02:53 +0100 Subject: [PATCH 554/839] Update index.md --- docs/hosting-companies/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/hosting-companies/index.md b/docs/hosting-companies/index.md index 7f79ccf7..1771dcf2 100644 --- a/docs/hosting-companies/index.md +++ b/docs/hosting-companies/index.md @@ -26,3 +26,4 @@ In alphabetical order: * [TVC.Net](http://TVC.Net/) * [WordPress.com VIP](http://vip.wordpress.com/) * [WPEngine.com](http://wpengine.com) +* [Byte](https://www.byte.nl) From ad9bd3b1f6f090dc79c80b425756a418e259ebc5 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 15 Mar 2016 04:53:30 -0700 Subject: [PATCH 555/839] Alphabetize; fix links --- docs/hosting-companies/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/hosting-companies/index.md b/docs/hosting-companies/index.md index 1771dcf2..bc6a80de 100644 --- a/docs/hosting-companies/index.md +++ b/docs/hosting-companies/index.md @@ -12,10 +12,11 @@ In alphabetical order: * [1&1](http://1and1.com/) * [Amimoto](http://megumi-cloud.com/) * [Bluehost](http://www.bluehost.com/) +* [Byte](https://www.byte.nl) * [Cloudways](http://cloudways.com) * [Dreamhost](http://dreamhost.com) -* [GoDaddy] (https://www.godaddy.com/help/accessing-wp-cli-on-your-managed-wordpress-account-12066) -* [LiquidWeb] (https://liquidweb.com/wordpress) +* [GoDaddy](https://www.godaddy.com/help/accessing-wp-cli-on-your-managed-wordpress-account-12066) +* [LiquidWeb](https://liquidweb.com/wordpress) * [Kinsta](https://kinsta.com) * [Media Temple](http://mediatemple.net) * [NearlyFreeSpeech.NET](https://www.nearlyfreespeech.net/) @@ -26,4 +27,3 @@ In alphabetical order: * [TVC.Net](http://TVC.Net/) * [WordPress.com VIP](http://vip.wordpress.com/) * [WPEngine.com](http://wpengine.com) -* [Byte](https://www.byte.nl) From 760e57bd41113e7613c269a47104290b0c028efd Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 16 Mar 2016 10:19:28 -0700 Subject: [PATCH 556/839] Add section about quick and dirty command exec --- docs/commands-cookbook/index.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/commands-cookbook/index.md b/docs/commands-cookbook/index.md index c792057e..7b39e153 100644 --- a/docs/commands-cookbook/index.md +++ b/docs/commands-cookbook/index.md @@ -81,6 +81,19 @@ Importantly, classes behave a bit differently than functions and closures in tha * Any public methods on a class are registered as subcommands of the command. For instance, given the examples above, a method `bar()` on the class `Foo` would be registered as `wp foo bar`. But... * `__invoke()` is treated as a magic method. If a class implements `__invoke()`, the command name will be registered to that method and no other methods of that class will be registered as commands. +### Quick and dirty execution + +Writing a short script for a one-off task, and don't need to register it formally with `WP_CLI::add_command()`? `wp eval-file` is your ticket ([doc](http://wp-cli.org/commands/eval-file/)). + +Given a `simple-command.php` file: + +~~~ + Date: Sun, 20 Mar 2016 15:27:17 -0700 Subject: [PATCH 557/839] First pass at release notes --- _posts/2016-03-22-version-0.23.0.md | 112 ++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 _posts/2016-03-22-version-0.23.0.md diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md new file mode 100644 index 00000000..23442370 --- /dev/null +++ b/_posts/2016-03-22-version-0.23.0.md @@ -0,0 +1,112 @@ +--- +layout: post +author: danielbachhuber +title: Version 0.23.0 released +--- + +### WordPress 4.5 compatibility + +https://github.com/wp-cli/wp-cli/pull/2486 + +### Register more commands + +Ever wonder why, when writing your own WP-CLI command, you had to extend `WP_CLI_Command`? Well, you didn't need to, actually. + +https://github.com/wp-cli/wp-cli/pull/2373 +https://github.com/wp-cli/wp-cli/pull/2389 +https://github.com/wp-cli/wp-cli/pull/2398 +https://github.com/wp-cli/wp-cli/pull/2409 +https://github.com/wp-cli/wp-cli/pull/2513 +https://github.com/wp-cli/wp-cli/pull/2515 +https://github.com/wp-cli/wp-cli/pull/2556 +https://github.com/wp-cli/wp-cli/pull/2559 + + +### Install WP-CLI packages + +https://github.com/wp-cli/wp-cli/pull/2442 +https://github.com/wp-cli/wp-cli/pull/2460 +https://github.com/wp-cli/wp-cli/pull/2491 +https://github.com/wp-cli/wp-cli/pull/2512 +https://github.com/wp-cli/wp-cli/pull/2514 +https://github.com/wp-cli/wp-cli/pull/2533 +https://github.com/wp-cli/wp-cli/pull/2534 +https://github.com/wp-cli/wp-cli/pull/2537 +https://github.com/wp-cli/wp-cli/pull/2540 +https://github.com/wp-cli/wp-cli/pull/2543 +https://github.com/wp-cli/wp-cli/pull/2546 +https://github.com/wp-cli/wp-cli/pull/2547 +https://github.com/wp-cli/wp-cli/pull/2555 +https://github.com/wp-cli/wp-cli/pull/2561 + + +### Internal API docs + +https://github.com/wp-cli/wp-cli/pull/2454 +https://github.com/wp-cli/wp-cli/pull/2487 +https://github.com/wp-cli/wp-cli/pull/2494 +https://github.com/wp-cli/wp-cli/pull/2499 +https://github.com/wp-cli/wp-cli/pull/2507 + + +### WP-CLI autoupdates + +https://github.com/wp-cli/wp-cli/pull/2538 +https://github.com/wp-cli/wp-cli/pull/2536 + + +### A more RESTful WP-CLI + + +### Everything else in 0.23.0 + +Command improvements: + +* Better performance for `wp (user|post) list --format=count` by only fetching the data we need [[#2370](https://github.com/wp-cli/wp-cli/pull/2370),[#2387](https://github.com/wp-cli/wp-cli/pull/2387)]. +* Prevents dupe builds with Travis default settings in `wp scaffold plugin-tests` [[#2377](https://github.com/wp-cli/wp-cli/pull/2377)]. +* Generate comments for a specific post with `wp comment generate --post_id=` [[#2388](https://github.com/wp-cli/wp-cli/pull/2388)]. +* Cleans up files from the prior version when using `wp core (update|download) --force` [[#2382](https://github.com/wp-cli/wp-cli/pull/2382),[#2406](https://github.com/wp-cli/wp-cli/pull/2406),[#2413](https://github.com/wp-cli/wp-cli/pull/2413),[#2432](https://github.com/wp-cli/wp-cli/pull/2432)]. +* Adds a timer to individual events in `wp cron event run` [[#2437](https://github.com/wp-cli/wp-cli/pull/2437)]. +* Introduces `wp term meta` for managing term meta [[#2444](https://github.com/wp-cli/wp-cli/pull/2444)]. +* Adds CSV and JSON output format to `wp (theme|plugin) update` [[#2452](https://github.com/wp-cli/wp-cli/pull/2452)]. +* Verifies MD5 hash of downloaded archive file with `wp core download` [[#2461](https://github.com/wp-cli/wp-cli/pull/2461)] +* Entirely avoids loading WordPress in `wp core verify-checksums` [[#2459](https://github.com/wp-cli/wp-cli/pull/2459)]. +* Supports emptying term meta with `wp site empty` [[#2506](https://github.com/wp-cli/wp-cli/pull/2506)]. +* Adds WP REST API registration args to `scaffold (post-type|taxonomy)` [[#2551](https://github.com/wp-cli/wp-cli/pull/2551)]. + +Framework enhancements: + +* Switches `WP_CLI::confirm()` to automatically lowercase the response, permitting use of `Y` or `y` [[2366](https://github.com/wp-cli/wp-cli/pull/2366)]. +* Adds `(before|after)_wp(_config)_load` hooks in WP load process, permitting code injected via `--require` to make modifications during the bootstrap process [[#2375](https://github.com/wp-cli/wp-cli/pull/2375)]. +* Adds `.editorconfig` to project root based on WordPress Coding Standards [[#2395](https://github.com/wp-cli/wp-cli/pull/2395)]. +* Encodes `WP_Error` data as JSON in `WP_CLI::error_to_string()` so that the data is actually human-readable [[#2397](https://github.com/wp-cli/wp-cli/pull/2397)]. +* Supports custom exit codes in `WP_CLI::error()` [[#2440](https://github.com/wp-cli/wp-cli/pull/2440)]. +* Introduces `--format=yaml` for easily displaying data as YAML [[#2453](https://github.com/wp-cli/wp-cli/pull/2453)]. +* Supports config deep merging and inheritance [[#2496](https://github.com/wp-cli/wp-cli/pull/2496)]. +* Updates Composer dependencies [[#2554](https://github.com/wp-cli/wp-cli/pull/2554)] + +Bug fixes across the board: + +* In `bin/install-wp-tests.sh`, don't cd in `WP_TESTS_DIR` before dowloading and setting up `wp-tests-config.php` [[#2371](https://github.com/wp-cli/wp-cli/pull/2371)]. +* When using `--prompt`, now only prompts for the first command in the execution thread. Previously, any use of `WP_CLI::run_command()` within a command would cause the prompting UX to appear again [[#2400](https://github.com/wp-cli/wp-cli/pull/2400)]. +* Removes unnecessary `exit` on premature success for `wp theme activate` [[#2412](https://github.com/wp-cli/wp-cli/pull/2412)]. +* Checks if a taxonomy exists before listing its terms [[#2414](https://github.com/wp-cli/wp-cli/pull/2414)]. +* When trying to update a version of core that doesn't exist, check the HTTP response code before trying to unzip an invalid archive [[#2368](https://github.com/wp-cli/wp-cli/pull/2368)]. +* Fixes use of `wp server` when the PHP binary contains spaces [[#2422](https://github.com/wp-cli/wp-cli/pull/2422)]. +* Respects `--skip_comments` flag for `wp export`, which has been broken for quite a while [[#2427](https://github.com/wp-cli/wp-cli/pull/2427)] +* Persists IPTC data in `wp media import` when missing a title or caption; removes extension from default title [[#2438](https://github.com/wp-cli/wp-cli/pull/2438),[#2466](https://github.com/wp-cli/wp-cli/pull/2466)]. +* Disables check translation updates when updating themes or plugins [[#2439](https://github.com/wp-cli/wp-cli/pull/2439)]. +* Corrects parameter sequence order when creating a new user on multisite [[#2443](https://github.com/wp-cli/wp-cli/pull/2443)]. +* Disables automatic colorization when `--format=table` [[#2458](https://github.com/wp-cli/wp-cli/pull/2458)]. +* Uses core's version check API for finding updates, which gives us exact URLs to download offers [[#2469](https://github.com/wp-cli/wp-cli/pull/2469)]. +* Uses more robust failed download checking in `wp cli update` [[#2488](https://github.com/wp-cli/wp-cli/pull/2488)]. +* Runs help early for `wp core` commands used when core isn't yet installed [[#2497](https://github.com/wp-cli/wp-cli/pull/2497)]. +* Fixes formatting of GLOBAL PARAMETERS when command has subcommands [[#2516](https://github.com/wp-cli/wp-cli/pull/2516)]. +* Properly handles multi-column keys in `wp search-replace` [[#2531](https://github.com/wp-cli/wp-cli/pull/2531)]. +* Uses correct path to autoloader when WP-CLI is installed to a parent Composer project [[#2550](https://github.com/wp-cli/wp-cli/pull/2550)]. +* Properly passes `wp plugin search` fields to `plugins_api()` request; adds `page` parameter [[#2570](https://github.com/wp-cli/wp-cli/pull/2570),[#2571](https://github.com/wp-cli/wp-cli/pull/2571)]. +* Add `parent` as a potential status in `wp theme status` [[#2573](https://github.com/wp-cli/wp-cli/pull/2573)] + +Contributors to this release: + +You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.23.0+is%3Aclosed) on Github. From 7cf942304aa9a1a2162d1b58f032601285af2f74 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 21 Mar 2016 08:14:59 -0700 Subject: [PATCH 558/839] Switch functional and unit tests We use functional tests more frequently --- docs/pull-requests/index.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/pull-requests/index.md b/docs/pull-requests/index.md index a7385c8e..c15e4df1 100644 --- a/docs/pull-requests/index.md +++ b/docs/pull-requests/index.md @@ -32,16 +32,8 @@ If you haven't submitted a pull request before, you'll want to install WP-CLI fo There are two types of automated tests: -* unit tests, implemented using [PHPUnit](http://phpunit.de/) * functional tests, implemented using [Behat](http://behat.org) - -### Unit tests - -The unit test files are in the `tests/` directory. - -To run the unit tests, just execute: - - ./vendor/bin/phpunit +* unit tests, implemented using [PHPUnit](http://phpunit.de/) ### Functional tests @@ -61,6 +53,14 @@ Or to test a single feature: More info can be found by using `./vendor/bin/behat --help`. +### Unit tests + +The unit test files are in the `tests/` directory. + +To run the unit tests, just execute: + + ./vendor/bin/phpunit + ## Finally... Thanks! Hacking on WP-CLI should be fun. If you find any of this hard to figure out, let us know so we can improve our process or documentation! From 103104f871c61022614c45fbb5f9666a3712a300 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 21 Mar 2016 08:22:06 -0700 Subject: [PATCH 559/839] Add a brief introduction to functional tests --- docs/pull-requests/index.md | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/docs/pull-requests/index.md b/docs/pull-requests/index.md index c15e4df1..3f80ff1e 100644 --- a/docs/pull-requests/index.md +++ b/docs/pull-requests/index.md @@ -37,7 +37,28 @@ There are two types of automated tests: ### Functional tests -The functional test files are in the `features/` directory. +The functional test files for WP-CLI are in the `features/` directory. Each `.feature` file comprises one or more functional tests for a given feature (roughly organized by command). + +A functional test can be as simple as: + +``` +Feature: Evaluating PHP code and files. + + Scenario: Basics + Given a WP install + + When I run `wp eval 'var_dump(defined("WP_CONTENT_DIR"));'` + Then STDOUT should contain: + """ + bool(true) + """ +``` + +Functional tests typically follow this pattern: + +* **Given** some background, +* **When** a user performs a specific action, +* **Then** the end result should be X (and Y and Z). Before running the functional tests, you'll need a MySQL (or MariaDB) user called `wp_cli_test` with the password `password1` that has full privileges on the MySQL database `wp_cli_test`. Running the following as root in MySQL should do the trick: From c36d172badce459ade40790193182083597605a3 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 21 Mar 2016 08:27:40 -0700 Subject: [PATCH 560/839] Use triple tick instead of tilde It's more common on Github --- docs/commands-cookbook/index.md | 86 ++++++++++++++++----------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/docs/commands-cookbook/index.md b/docs/commands-cookbook/index.md index 7b39e153..acf470dd 100644 --- a/docs/commands-cookbook/index.md +++ b/docs/commands-cookbook/index.md @@ -54,7 +54,7 @@ When registering a command, `WP_CLI::add_command()` requires two arguments:: In the following example, each instance of `wp foo` is functionally equivalent: -~~~ +``` // 1. Command is a function function foo_command( $args ) { WP_CLI::success( $args[0] ); @@ -74,7 +74,7 @@ class Foo_Command { } } WP_CLI::add_command( 'foo', 'Foo_Command' ); -~~~ +``` Importantly, classes behave a bit differently than functions and closures in that: @@ -87,10 +87,10 @@ Writing a short script for a one-off task, and don't need to register it formall Given a `simple-command.php` file: -~~~ +``` @@ -177,7 +177,7 @@ The longdesc is middle part of the PHPDoc: * ## EXAMPLES * * wp example hello Newman -~~~ +``` Options defined in the longdesc are interpreted as the command's **synopsis**: @@ -199,10 +199,10 @@ The longdesc is also displayed when calling the `help` command, for example, `wp This is the last section and it starts immediately after the longdesc: -~~~ +``` * @when before_wp_load */ -~~~ +``` Here's the list of defined tags: @@ -212,7 +212,7 @@ There are cases where you can't make the method name have the name of the subcom That's when the `@subcommand` tag comes to the rescue: -~~~ +``` /** * @subcommand list */ @@ -226,33 +226,33 @@ That's when the `@subcommand` tag comes to the rescue: function do_chores( $args, $assoc_args ) { ... } -~~~ +``` **@alias** With the `@alias` tag, you can add another way of calling a subcommand. Example: -~~~ +``` /** * @alias hi */ function hello( $args, $assoc_args ) { ... } -~~~ +``` -~~~ +``` $ wp example hi Joe Success: Hello, Joe! -~~~ +``` **@when** This is a special tag that tells WP-CLI when to execute the command. It supports [all registered hooks](/docs/internal-api/wp-cli-add-hook/). -~~~ +``` @when before_wp_load -~~~ +``` Do keep in mind most WP-CLI hooks fire before WordPress is loaded. If your command is loaded from a plugin or theme, `@when` will be essentially ignored. @@ -262,7 +262,7 @@ It has no effect if the command using it is loaded from a plugin or a theme, bec Each of the configuration options supported by PHPDoc can instead be passed as the third argument in command registration: -~~~ +``` $hello_command = function( $args, $assoc_args ) { list( $name ) = $args; $type = $assoc_args['type']; @@ -287,7 +287,7 @@ WP_CLI::add_command( 'example hello', $hello_command, array( ), 'when' => 'before_wp_load', ) ); -~~~ +``` ### Command internals @@ -297,47 +297,47 @@ Now that you know how to register a command, the world is your oyster. Inside yo In order to handle runtime arguments, you have to add two parameters to your callable: `$args` and `$assoc_args`. -~~~ +``` function hello( $args, $assoc_args ) { /* Code goes here*/ } -~~~ +``` `$args` variable will store all the positional arguments: -~~~ +``` $ wp example hello Joe Doe -~~~ +``` -~~~ +``` WP_CLI::line( $args[0] ); // Joe WP_CLI::line( $args[1] ); // Doe `$assoc_args` variable will store all the arguments defined like `--key=value` or `--flag` or `--no-flag` -~~~ +``` $ wp example hello --name='Joe Doe' --verbose --no-option -~~~ +``` -~~~ +``` WP_CLI::line( $assoc_args['name'] ); // Joe Doe WP_CLI::line( $assoc_args['verbose'] ); // true WP_CLI::line( $assoc_args['option'] ); // false -~~~ +``` Also, you can combine argument types: -~~~ +``` $ wp example hello --name=Joe foo --verbose bar -~~~ +``` -~~~ +``` WP_CLI::line( $assoc_args['name'] ); // Joe WP_CLI::line( $assoc_args['verbose'] ); // true WP_CLI::line( $args[0] ); // foo WP_CLI::line( $args[1] ); // bar -~~~ +``` #### Effectively reusing WP-CLI internal APIs @@ -345,7 +345,7 @@ As an example, say you were tasked with finding all unused themes on a multisite Here's what such a command looks like: -~~~ +``` /** * Find unused themes on a multisite network. * @@ -381,7 +381,7 @@ WP_CLI::add_command( 'find-unused-themes', $find_unused_themes_command, array( } }, ) ); -~~~ +``` Let's run through the [internal APIs](/docs/internal-api/) this command uses to achieve its goal: @@ -409,7 +409,7 @@ WP-CLI makes use of a Behat-based testing framework, which you should use too. B Behat tests live in the `features/` directory of your project. Here's an example from `features/cli-info.feature`: -~~~ +``` Feature: Review CLI information Scenario: Get the path to the packages directory @@ -426,7 +426,7 @@ Feature: Review CLI information """ {"wp_cli_packages_dir_path":"/tmp/packages/"} """ -~~~ +``` Convinced? Head on over to [wp-cli/scaffold-package-command](https://github.com/wp-cli/scaffold-package-command) to get started. @@ -438,11 +438,11 @@ Now that you've produce a command you're proud of, it's time to share it with th One way to share WP-CLI commands is by packaging them in your plugin or theme. Many people do so by conditionally loading (and registering) the command based on the presence of the `WP_CLI` constant. -~~~ +``` if ( defined( 'WP_CLI' ) && WP_CLI ) { require_once dirname( __FILE__ ) . '/inc/class-plugin-cli-command.php'; } -~~~ +``` ### Add to the package index @@ -450,7 +450,7 @@ Standalone WP-CLI commands can be added to and installed from the [package index Here's a full composer.json example from the server command: -~~~ +``` { "name": "wp-cli/server-command", @@ -464,6 +464,6 @@ Here's a full composer.json example from the server command: "files": [ "command.php" ] } } -~~~ +``` Note the `autoload` declaration, which loads `command.php`. From 2b906b80e4f86330c79a9070983068ab8d8f9b7d Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 21 Mar 2016 08:29:05 -0700 Subject: [PATCH 561/839] Update template config --- _config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_config.yml b/_config.yml index 70cd2282..33376653 100644 --- a/_config.yml +++ b/_config.yml @@ -1,6 +1,6 @@ safe: true lsi: false -pygments: true +highlighter: pygments markdown: kramdown url: http://wp-cli.org permalink: /blog/:title.html From 7940e2c067a519393bfa7a32c9fecde4ec73a6d6 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 21 Mar 2016 08:30:28 -0700 Subject: [PATCH 562/839] Use triple tick instead of tilde, part two --- docs/installing/index.md | 16 +++++++------- index.md | 48 ++++++++++++++++++++-------------------- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/docs/installing/index.md b/docs/installing/index.md index 246fc286..e9bf1af5 100644 --- a/docs/installing/index.md +++ b/docs/installing/index.md @@ -15,26 +15,26 @@ The recommended way to install WP-CLI is by downloading the Phar build, marking First, download [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar) using `wget` or `curl`. For example: -~~~ +``` curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -~~~ +``` Then, check if it works: -~~~ +``` php wp-cli.phar --info -~~~ +``` To be able to type just `wp`, instead of `php wp-cli.phar`, you need to make the file executable and move it to somewhere in your PATH. For example: -~~~ +``` chmod +x wp-cli.phar sudo mv wp-cli.phar /usr/local/bin/wp -~~~ +``` Now try running `wp --info`. If WP-CLI is installed successfully, you'll see output like this: -~~~ +``` PHP binary: /usr/bin/php5 PHP version: 5.5.9-1ubuntu4.14 php.ini used: /etc/php5/cli/php.ini @@ -43,7 +43,7 @@ WP-CLI packages dir: /home/wp-cli/.wp-cli/packages/ WP-CLI global config: /home/wp-cli/.wp-cli/config.yml WP-CLI project config: WP-CLI version: 0.23.0 -~~~ +``` Voila! You're now an official WP-CLI user. diff --git a/index.md b/index.md index 014686b6..d65b7465 100644 --- a/index.md +++ b/index.md @@ -25,23 +25,23 @@ title: Command line interface for WordPress First, download [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar) using `wget` or `curl`. For example: -~~~ +``` curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -~~~ +``` Then, check if it works: -~~~ +``` php wp-cli.phar --info -~~~ +``` To be able to type just `wp`, instead of `php wp-cli.phar`, you need to make the file executable and move it to somewhere in your PATH. For example: -~~~ +``` chmod +x wp-cli.phar sudo mv wp-cli.phar /usr/local/bin/wp -~~~ +``` Now try running `wp --info`. @@ -60,9 +60,9 @@ More resources: WP-CLI also comes with a tab completion script for Bash. Just download [wp-completion.bash](https://github.com/wp-cli/wp-cli/raw/master/utils/wp-completion.bash) and source it from `~/.bash_profile`: -~~~ +``` source /FULL/PATH/TO/wp-completion.bash -~~~ +``` (Don't forget to run `source ~/.bash_profile` afterwards) @@ -70,13 +70,13 @@ source /FULL/PATH/TO/wp-completion.bash Go into a WordPress root folder: -~~~ +``` cd /var/www/wp/ -~~~ +``` Typing `wp` should show you output similar to this: -~~~ +``` Available commands: wp blog create|delete wp cache add|decr|delete|flush|get|incr|replace|set|type @@ -87,50 +87,50 @@ Available commands: ... See 'wp help ' for more information on a specific command. -~~~ +``` Let's try to install the Hello Dolly plugin from wordpress.org: -~~~ +``` wp plugin install hello-dolly -~~~ +``` Output: -~~~ +``` Installing Hello Dolly (1.5) Downloading install package from http://downloads.WordPress.org/plugin/hello-dolly.1.5.zip ... Unpacking the package ... Installing the plugin ... Plugin installed successfully. -~~~ +```

              Multisite

              On a multisite installation, you need to pass a `--url` parameter, so that WP-CLI knows which site it's supposed to be operating on: -~~~ +``` wp theme status --url=localhost/wp/test -~~~ +``` If you have a subdomain installation, it would look like this: -~~~ +``` wp theme status --url=test.example.com -~~~ +``` If you're usually working on the same site most of the time, you can create a `wp-cli.yml` file in the root directory: -~~~ +``` url: test.example.com -~~~ +``` Then, you can call `wp` without the `--url` parameter again: -~~~ +``` wp theme status -~~~ +```

              Adding commands

              From 364e6f18afc398d50b8e1d9f0441efa42e4de180 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 21 Mar 2016 08:38:55 -0700 Subject: [PATCH 563/839] Mention rundown of how functional tests are formatted --- docs/commands-cookbook/index.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/commands-cookbook/index.md b/docs/commands-cookbook/index.md index acf470dd..2926fa21 100644 --- a/docs/commands-cookbook/index.md +++ b/docs/commands-cookbook/index.md @@ -428,6 +428,12 @@ Feature: Review CLI information """ ``` +Functional tests typically follow this pattern: + +* **Given** some background, +* **When** a user performs a specific action, +* **Then** the end result should be X (and Y and Z). + Convinced? Head on over to [wp-cli/scaffold-package-command](https://github.com/wp-cli/scaffold-package-command) to get started. ## Distribution From c8a5e6a7a2a571d6324a36b7e1c6a8057f295127 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 21 Mar 2016 08:40:31 -0700 Subject: [PATCH 564/839] Link to commands cookbook from pull request doc --- docs/pull-requests/index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/pull-requests/index.md b/docs/pull-requests/index.md index 3f80ff1e..2741e756 100644 --- a/docs/pull-requests/index.md +++ b/docs/pull-requests/index.md @@ -13,6 +13,8 @@ WP-CLI follows a pull request workflow for changes to its code (and documentatio 3. Push the code changes from your local clone to your fork. 4. Open a pull request. +New to WP-CLI commands? You may want to [start with the commands cookbook](/docs/commands-cookbook/) to learn more about how commands work. + It doesn't matter if the code isn't perfect. The idea is to get it reviewed early and iterate on it. If you're adding a new feature, please add one or more functional tests for it in the `features/` directory. See below. From 40131f078d22f24664c0ab095911cacf8b0cf162 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 12:32:24 -0700 Subject: [PATCH 565/839] Regenerate command docs --- Phakefile.php | 4 +- _includes/cmd-list.html | 4 ++ _includes/global-parameters.html | 4 +- _includes/param-list.html | 15 +++++++- commands/cache/index.md | 2 + commands/cap/index.md | 2 + commands/cli/api-dump/index.md | 14 +++++++ commands/cli/index.md | 6 +++ commands/comment/generate/index.md | 3 ++ commands/comment/get/index.md | 2 +- commands/comment/index.md | 2 + commands/comment/list/index.md | 2 +- commands/comment/meta/index.md | 2 + commands/core/check-update/index.md | 2 +- commands/core/index.md | 2 + commands/core/language/index.md | 2 + commands/core/update/index.md | 2 +- commands/cron/event/index.md | 2 + commands/cron/event/list/index.md | 2 +- commands/cron/event/run/index.md | 5 +++ commands/cron/index.md | 2 + commands/cron/schedule/index.md | 2 + commands/cron/schedule/list/index.md | 2 +- commands/db/index.md | 2 + commands/media/index.md | 2 + commands/menu/index.md | 2 + commands/menu/item/index.md | 2 + commands/menu/item/list/index.md | 2 +- commands/menu/list/index.md | 2 +- commands/menu/location/index.md | 2 + commands/menu/location/list/index.md | 2 +- commands/network/index.md | 2 + commands/network/meta/index.md | 2 + commands/option/index.md | 2 + commands/package/index.md | 4 ++ commands/package/path/index.md | 23 +++++++++++ commands/plugin/get/index.md | 2 +- commands/plugin/index.md | 2 + commands/plugin/is-installed/index.md | 3 ++ commands/plugin/list/index.md | 2 +- commands/plugin/search/index.md | 5 ++- commands/post-type/get/index.md | 2 +- commands/post-type/index.md | 2 + commands/post-type/list/index.md | 2 +- commands/post/get/index.md | 2 +- commands/post/index.md | 2 + commands/post/list/index.md | 2 +- commands/post/meta/index.md | 2 + commands/post/term/index.md | 2 + commands/rewrite/index.md | 2 + commands/rewrite/list/index.md | 2 +- commands/role/index.md | 2 + commands/role/list/index.md | 2 +- commands/scaffold/index.md | 6 +-- commands/search-replace/index.md | 2 +- commands/sidebar/index.md | 2 + commands/sidebar/list/index.md | 2 +- commands/site/index.md | 2 + commands/site/list/index.md | 2 +- commands/super-admin/index.md | 2 + commands/taxonomy/get/index.md | 2 +- commands/taxonomy/index.md | 2 + commands/taxonomy/list/index.md | 2 +- commands/term/get/index.md | 2 +- commands/term/index.md | 6 +++ commands/term/list/index.md | 2 +- commands/term/meta/add/index.md | 26 +++++++++++++ commands/term/meta/delete/index.md | 24 ++++++++++++ commands/term/meta/get/index.md | 21 ++++++++++ commands/term/meta/index.md | 55 +++++++++++++++++++++++++++ commands/term/meta/list/index.md | 24 ++++++++++++ commands/term/meta/update/index.md | 26 +++++++++++++ commands/theme/get/index.md | 2 +- commands/theme/index.md | 2 + commands/theme/is-installed/index.md | 3 ++ commands/theme/list/index.md | 2 +- commands/theme/mod/index.md | 2 + commands/theme/search/index.md | 2 +- commands/transient/index.md | 2 + commands/user/get/index.md | 2 +- commands/user/index.md | 2 + commands/user/list/index.md | 2 +- commands/user/meta/get/index.md | 2 +- commands/user/meta/index.md | 2 + commands/user/term/index.md | 2 + commands/widget/index.md | 2 + commands/widget/list/index.md | 2 +- 87 files changed, 373 insertions(+), 40 deletions(-) create mode 100644 commands/cli/api-dump/index.md create mode 100644 commands/package/path/index.md create mode 100644 commands/term/meta/add/index.md create mode 100644 commands/term/meta/delete/index.md create mode 100644 commands/term/meta/get/index.md create mode 100644 commands/term/meta/index.md create mode 100644 commands/term/meta/list/index.md create mode 100644 commands/term/meta/update/index.md diff --git a/Phakefile.php b/Phakefile.php index edfc2351..07e2d630 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -34,7 +34,7 @@ function generate_synopsis( $command, $path = '' ) { } } - generate_synopsis( invoke_wp_cli( 'wp cli cmd-dump', $app ) ); + generate_synopsis( invoke_wp_cli( 'wp --skip-packages cli cmd-dump', $app ) ); }); function gen_cmd_pages( $cmd, $parent = array() ) { @@ -84,7 +84,7 @@ function gen_cmd_pages( $cmd, $parent = array() ) { desc( 'Update the /commands/ page.' ); task( 'cmd-list', function( $app ) { - $wp = invoke_wp_cli( 'wp cli cmd-dump', $app ); + $wp = invoke_wp_cli( 'wp --skip-packages cli cmd-dump', $app ); // generate main page file_put_contents( '_includes/cmd-list.html', render( 'cmd-list.mustache', $wp ) ); diff --git a/_includes/cmd-list.html b/_includes/cmd-list.html index ec03f06a..0a314289 100644 --- a/_includes/cmd-list.html +++ b/_includes/cmd-list.html @@ -62,6 +62,10 @@
    option Manage options.
    packageManage WP-CLI packages.
    plugin Manage plugins.
    - Skip loading all or some plugins. + Skip loading all or some plugins. Note: mu-plugins are still loaded.
    Default value: ""
    + Skip loading all installed packages. +
    + Default value: false +
    + skip-packages: <bool> + + --skip-packages +
    Load PHP file before running the command (may be used more than once). diff --git a/commands/cache/index.md b/commands/cache/index.md index 8e659355..781dba5d 100644 --- a/commands/cache/index.md +++ b/commands/cache/index.md @@ -14,6 +14,8 @@ display_global_parameters: true wp cache get my_key my_group + + ### SUBCOMMANDS diff --git a/commands/cap/index.md b/commands/cap/index.md index 625be414..755cb09e 100644 --- a/commands/cap/index.md +++ b/commands/cap/index.md @@ -19,6 +19,8 @@ display_global_parameters: true # Remove all caps from 'editor' role that also appear in 'author' role wp cap list 'author' | xargs wp cap remove 'editor' + + ### SUBCOMMANDS
    diff --git a/commands/cli/api-dump/index.md b/commands/cli/api-dump/index.md new file mode 100644 index 00000000..e4a302f4 --- /dev/null +++ b/commands/cli/api-dump/index.md @@ -0,0 +1,14 @@ +--- +layout: default +title: 'wp cli api-dump' +display_global_parameters: true +--- + +`wp cli api-dump` - Dump the list of internal APIs, as JSON. + +
    + +Used to build user-facing docs of public APIs. + + + diff --git a/commands/cli/index.md b/commands/cli/index.md index 22b5893c..360b4f54 100644 --- a/commands/cli/index.md +++ b/commands/cli/index.md @@ -10,6 +10,8 @@ display_global_parameters: true + + ### SUBCOMMANDS
    @@ -20,6 +22,10 @@ display_global_parameters: true + + + + diff --git a/commands/comment/generate/index.md b/commands/comment/generate/index.md index a01f2ce3..2035b7c0 100644 --- a/commands/comment/generate/index.md +++ b/commands/comment/generate/index.md @@ -13,5 +13,8 @@ display_global_parameters: true [\--count=<number>] : How many comments to generate. Default: 100 +[\--post_id=<post-id>] +: Assign comments to a specific post. + diff --git a/commands/comment/get/index.md b/commands/comment/get/index.md index 0d418f7f..c29569cd 100644 --- a/commands/comment/get/index.md +++ b/commands/comment/get/index.md @@ -20,7 +20,7 @@ display_global_parameters: true : Limit the output to specific fields. Defaults to all fields. [\--format=<format>] -: Accepted values: table, json, csv. Default: table +: Accepted values: table, json, csv, yaml. Default: table ### EXAMPLES diff --git a/commands/comment/index.md b/commands/comment/index.md index a26c0b86..bcc43cd6 100644 --- a/commands/comment/index.md +++ b/commands/comment/index.md @@ -13,6 +13,8 @@ display_global_parameters: true # delete all spam comments. wp comment delete $(wp comment list --status=spam --format=ids) + + ### SUBCOMMANDS
    api-dumpDump the list of internal APIs, as JSON.
    check-update Check for update via Github API. Returns the available versions if there are updates, or empty if no update available.
    diff --git a/commands/comment/list/index.md b/commands/comment/list/index.md index 690afff3..4e0eecd1 100644 --- a/commands/comment/list/index.md +++ b/commands/comment/list/index.md @@ -20,7 +20,7 @@ display_global_parameters: true : Limit the output to specific object fields. [\--format=<format>] -: Accepted values: table, csv, json, count. Default: table +: Accepted values: table, csv, json, count, yaml. Default: table ### AVAILABLE FIELDS diff --git a/commands/comment/meta/index.md b/commands/comment/meta/index.md index 1cc8ec7a..54b7a15b 100644 --- a/commands/comment/meta/index.md +++ b/commands/comment/meta/index.md @@ -19,6 +19,8 @@ display_global_parameters: true + + ### SUBCOMMANDS
    diff --git a/commands/core/check-update/index.md b/commands/core/check-update/index.md index 3f803b43..48387e2a 100644 --- a/commands/core/check-update/index.md +++ b/commands/core/check-update/index.md @@ -25,7 +25,7 @@ Lists the most recent versions when there are updates available, or success mess : Limit the output to specific object fields. Defaults to version,update_type,package_url. [\--format=<format>] -: Accepted values: table, csv, json. Default: table +: Accepted values: table, csv, json, yaml. Default: table diff --git a/commands/core/index.md b/commands/core/index.md index fd6cbfd0..214d6eda 100644 --- a/commands/core/index.md +++ b/commands/core/index.md @@ -10,6 +10,8 @@ display_global_parameters: true + + ### SUBCOMMANDS
    diff --git a/commands/core/language/index.md b/commands/core/language/index.md index ec45ea9c..30d65b3f 100644 --- a/commands/core/language/index.md +++ b/commands/core/language/index.md @@ -12,6 +12,8 @@ display_global_parameters: true + + ### SUBCOMMANDS
    diff --git a/commands/core/update/index.md b/commands/core/update/index.md index 144935b8..bd8b90ca 100644 --- a/commands/core/update/index.md +++ b/commands/core/update/index.md @@ -14,7 +14,7 @@ display_global_parameters: true : Path to zip file to use, instead of downloading from wordpress.org. [\--minor] -: Only perform updates for minor releases. +: Only perform updates for minor releases (e.g. update from WP 4.3 to 4.3.3 instead of 4.4.2). [\--version=<version>] : Update to a specific version, instead of to the latest version. diff --git a/commands/cron/event/index.md b/commands/cron/event/index.md index 49534b93..e315063b 100644 --- a/commands/cron/event/index.md +++ b/commands/cron/event/index.md @@ -12,6 +12,8 @@ display_global_parameters: true + + ### SUBCOMMANDS
    diff --git a/commands/cron/event/list/index.md b/commands/cron/event/list/index.md index 4d8e5d18..64aa3f79 100644 --- a/commands/cron/event/list/index.md +++ b/commands/cron/event/list/index.md @@ -14,7 +14,7 @@ display_global_parameters: true : Limit the output to specific object fields. [\--format=<format>] -: Accepted values: table, json, csv, ids. Default: table. +: Accepted values: table, json, csv, ids, yaml. Default: table. ### AVAILABLE FIELDS diff --git a/commands/cron/event/run/index.md b/commands/cron/event/run/index.md index c3ef6538..45734472 100644 --- a/commands/cron/event/run/index.md +++ b/commands/cron/event/run/index.md @@ -16,5 +16,10 @@ display_global_parameters: true [\--all] : Run all hooks. +### EXAMPLES + + # Run all cron events due right now + wp cron event run $( wp cron event list --fields=hook,next_run_relative --format=csv | awk -F, '$2=="now" {print $1}' ) + diff --git a/commands/cron/index.md b/commands/cron/index.md index 476fce99..48395aab 100644 --- a/commands/cron/index.md +++ b/commands/cron/index.md @@ -10,6 +10,8 @@ display_global_parameters: true + + ### SUBCOMMANDS
    diff --git a/commands/cron/schedule/index.md b/commands/cron/schedule/index.md index a5805d8f..05f70c3c 100644 --- a/commands/cron/schedule/index.md +++ b/commands/cron/schedule/index.md @@ -12,6 +12,8 @@ display_global_parameters: true + + ### SUBCOMMANDS
    diff --git a/commands/cron/schedule/list/index.md b/commands/cron/schedule/list/index.md index f317de9d..4bcd2c5f 100644 --- a/commands/cron/schedule/list/index.md +++ b/commands/cron/schedule/list/index.md @@ -14,7 +14,7 @@ display_global_parameters: true : Limit the output to specific object fields. [\--format=<format>] -: Accepted values: table, json, csv, ids. Default: table. +: Accepted values: table, json, csv, ids, yaml. Default: table. ### AVAILABLE FIELDS diff --git a/commands/db/index.md b/commands/db/index.md index 7cfe2cfe..00e1b6e9 100644 --- a/commands/db/index.md +++ b/commands/db/index.md @@ -10,6 +10,8 @@ display_global_parameters: true + + ### SUBCOMMANDS
    diff --git a/commands/media/index.md b/commands/media/index.md index 709e3b8c..522cf354 100644 --- a/commands/media/index.md +++ b/commands/media/index.md @@ -10,6 +10,8 @@ display_global_parameters: true + + ### SUBCOMMANDS
    diff --git a/commands/menu/index.md b/commands/menu/index.md index 502ab952..6d899195 100644 --- a/commands/menu/index.md +++ b/commands/menu/index.md @@ -22,6 +22,8 @@ display_global_parameters: true # Assign the 'primary-menu' menu to the 'primary' location wp menu location assign primary-menu primary + + ### SUBCOMMANDS
    diff --git a/commands/menu/item/index.md b/commands/menu/item/index.md index 8842f923..9162493b 100644 --- a/commands/menu/item/index.md +++ b/commands/menu/item/index.md @@ -18,6 +18,8 @@ display_global_parameters: true + + ### SUBCOMMANDS
    diff --git a/commands/menu/item/list/index.md b/commands/menu/item/list/index.md index f856394a..3441a52d 100644 --- a/commands/menu/item/list/index.md +++ b/commands/menu/item/list/index.md @@ -17,7 +17,7 @@ display_global_parameters: true : Limit the output to specific object fields. [\--format=<format>] -: Accepted values: table, csv, json, count, ids. Default: table +: Accepted values: table, csv, json, count, ids, yaml. Default: table ### AVAILABLE FIELDS diff --git a/commands/menu/list/index.md b/commands/menu/list/index.md index 025a39c1..717448f7 100644 --- a/commands/menu/list/index.md +++ b/commands/menu/list/index.md @@ -14,7 +14,7 @@ display_global_parameters: true : Limit the output to specific object fields. [\--format=<format>] -: Accepted values: table, csv, json, count, ids. Default: table +: Accepted values: table, csv, json, count, ids, yaml. Default: table ### AVAILABLE FIELDS diff --git a/commands/menu/location/index.md b/commands/menu/location/index.md index e26c2f57..9d2ba83d 100644 --- a/commands/menu/location/index.md +++ b/commands/menu/location/index.md @@ -21,6 +21,8 @@ display_global_parameters: true + + ### SUBCOMMANDS
    diff --git a/commands/menu/location/list/index.md b/commands/menu/location/list/index.md index e3f212ce..0f953d81 100644 --- a/commands/menu/location/list/index.md +++ b/commands/menu/location/list/index.md @@ -9,7 +9,7 @@ display_global_parameters: true
    [\--format=<format>] -: Accepted values: table, csv, json, count, ids. Default: table +: Accepted values: table, csv, json, count, ids, yaml. Default: table ### AVAILABLE FIELDS diff --git a/commands/network/index.md b/commands/network/index.md index 00aebccd..cf8ed76d 100644 --- a/commands/network/index.md +++ b/commands/network/index.md @@ -10,6 +10,8 @@ display_global_parameters: true + + ### SUBCOMMANDS
    diff --git a/commands/network/meta/index.md b/commands/network/meta/index.md index d4e1a15d..98618050 100644 --- a/commands/network/meta/index.md +++ b/commands/network/meta/index.md @@ -23,6 +23,8 @@ display_global_parameters: true + + ### SUBCOMMANDS
    diff --git a/commands/option/index.md b/commands/option/index.md index aa0d2cc1..3b6b91fd 100644 --- a/commands/option/index.md +++ b/commands/option/index.md @@ -23,6 +23,8 @@ display_global_parameters: true wp option delete my_option + + ### SUBCOMMANDS
    diff --git a/commands/package/index.md b/commands/package/index.md index 1a991bcf..8a89865c 100644 --- a/commands/package/index.md +++ b/commands/package/index.md @@ -34,6 +34,10 @@ display_global_parameters: true + + + + diff --git a/commands/package/path/index.md b/commands/package/path/index.md new file mode 100644 index 00000000..a2c9365d --- /dev/null +++ b/commands/package/path/index.md @@ -0,0 +1,23 @@ +--- +layout: default +title: 'wp package path' +display_global_parameters: true +--- + +`wp package path` - Get the path to an installed WP-CLI package, or the package directory. + +
    + +If you want to contribute to a package, this is a great way to jump to it. + +### OPTIONS + +[<name>] +: Name of the package to get the directory for. + +### EXAMPLES + + cd $(wp package path) + + + diff --git a/commands/plugin/get/index.md b/commands/plugin/get/index.md index c9ad5b14..4f469e54 100644 --- a/commands/plugin/get/index.md +++ b/commands/plugin/get/index.md @@ -20,7 +20,7 @@ display_global_parameters: true : Limit the output to specific fields. Defaults to all fields. [\--format=<format>] -: Output list as table, json, CSV. Defaults to table. +: Output list as table, json, CSV, yaml. Defaults to table. ### EXAMPLES diff --git a/commands/plugin/index.md b/commands/plugin/index.md index 8b7cd927..6dfb4a1c 100644 --- a/commands/plugin/index.md +++ b/commands/plugin/index.md @@ -10,6 +10,8 @@ display_global_parameters: true + + ### SUBCOMMANDS
    list List installed WP-CLI packages.
    pathGet the path to an installed WP-CLI package, or the package directory.
    uninstall Uninstall a WP-CLI package.
    diff --git a/commands/plugin/is-installed/index.md b/commands/plugin/is-installed/index.md index 9b9b4965..5ba54a38 100644 --- a/commands/plugin/is-installed/index.md +++ b/commands/plugin/is-installed/index.md @@ -8,6 +8,8 @@ display_global_parameters: true
    +Returns exit code 0 when installed, 1 when uninstalled. + ### OPTIONS <plugin> @@ -16,6 +18,7 @@ display_global_parameters: true ### EXAMPLES wp plugin is-installed hello + echo $? # displays 0 or 1 diff --git a/commands/plugin/list/index.md b/commands/plugin/list/index.md index f54dcea8..f744bd10 100644 --- a/commands/plugin/list/index.md +++ b/commands/plugin/list/index.md @@ -20,7 +20,7 @@ display_global_parameters: true : Limit the output to specific object fields. [\--format=<format>] -: Accepted values: table, csv, json, count. Default: table +: Accepted values: table, csv, json, count, yaml. Default: table ### AVAILABLE FIELDS diff --git a/commands/plugin/search/index.md b/commands/plugin/search/index.md index a98e6396..dd431272 100644 --- a/commands/plugin/search/index.md +++ b/commands/plugin/search/index.md @@ -13,6 +13,9 @@ display_global_parameters: true <search> : The string to search for. +[\--page=<page>] +: Optional page to display. Defaults to 1. + [\--per-page=<per-page>] : Optional number of results to display. Defaults to 10. @@ -38,7 +41,7 @@ display_global_parameters: true **short_description**: Plugin's Short Description [\--format=<format>] -: Accepted values: table, csv, json, count. Default: table +: Accepted values: table, csv, json, count, yaml. Default: table ### EXAMPLES diff --git a/commands/post-type/get/index.md b/commands/post-type/get/index.md index b8fd84d7..3714f5f8 100644 --- a/commands/post-type/get/index.md +++ b/commands/post-type/get/index.md @@ -20,7 +20,7 @@ display_global_parameters: true : Limit the output to specific fields. Defaults to all fields. [\--format=<format>] -: Accepted values: table, json, csv. Default: table +: Accepted values: table, json, csv, yaml. Default: table ### EXAMPLES diff --git a/commands/post-type/index.md b/commands/post-type/index.md index e1761c53..0040d5e1 100644 --- a/commands/post-type/index.md +++ b/commands/post-type/index.md @@ -10,6 +10,8 @@ display_global_parameters: true + + ### SUBCOMMANDS
    diff --git a/commands/post-type/list/index.md b/commands/post-type/list/index.md index fc8646a7..c64917f8 100644 --- a/commands/post-type/list/index.md +++ b/commands/post-type/list/index.md @@ -20,7 +20,7 @@ display_global_parameters: true : Limit the output to specific post type fields. [\--format=<format>] -: Accepted values: table, csv, json, count. Default: table +: Accepted values: table, csv, json, count, yaml. Default: table ### AVAILABLE FIELDS diff --git a/commands/post/get/index.md b/commands/post/get/index.md index 0f4c890d..bcf6860f 100644 --- a/commands/post/get/index.md +++ b/commands/post/get/index.md @@ -20,7 +20,7 @@ display_global_parameters: true : Limit the output to specific fields. Defaults to all fields. [\--format=<format>] -: Accepted values: table, json, csv. Default: table +: Accepted values: table, json, csv, yaml. Default: table ### EXAMPLES diff --git a/commands/post/index.md b/commands/post/index.md index c5541ed5..08efa638 100644 --- a/commands/post/index.md +++ b/commands/post/index.md @@ -10,6 +10,8 @@ display_global_parameters: true + + ### SUBCOMMANDS
    diff --git a/commands/post/list/index.md b/commands/post/list/index.md index 90e9f69a..54713709 100644 --- a/commands/post/list/index.md +++ b/commands/post/list/index.md @@ -20,7 +20,7 @@ display_global_parameters: true : Limit the output to specific object fields. [\--format=<format>] -: Accepted values: table, csv, json, count, ids. Default: table +: Accepted values: table, csv, json, count, ids, yaml. Default: table ### AVAILABLE FIELDS diff --git a/commands/post/meta/index.md b/commands/post/meta/index.md index 0a328e14..03a3795b 100644 --- a/commands/post/meta/index.md +++ b/commands/post/meta/index.md @@ -19,6 +19,8 @@ display_global_parameters: true + + ### SUBCOMMANDS
    diff --git a/commands/post/term/index.md b/commands/post/term/index.md index f98824e5..4de9c874 100644 --- a/commands/post/term/index.md +++ b/commands/post/term/index.md @@ -14,6 +14,8 @@ display_global_parameters: true + + ### SUBCOMMANDS
    diff --git a/commands/rewrite/index.md b/commands/rewrite/index.md index a783e051..1d09bce2 100644 --- a/commands/rewrite/index.md +++ b/commands/rewrite/index.md @@ -10,6 +10,8 @@ display_global_parameters: true + + ### SUBCOMMANDS
    diff --git a/commands/rewrite/list/index.md b/commands/rewrite/list/index.md index 71de4b20..17d1b7ad 100644 --- a/commands/rewrite/list/index.md +++ b/commands/rewrite/list/index.md @@ -20,7 +20,7 @@ display_global_parameters: true : Limit the output to specific fields. Defaults to match,query,source. [\--format=<format>] -: Accepted values: table, csv, json, count. Default: table +: Accepted values: table, csv, json, count, yaml. Default: table ### EXAMPLES diff --git a/commands/role/index.md b/commands/role/index.md index d31f6360..1f627caa 100644 --- a/commands/role/index.md +++ b/commands/role/index.md @@ -10,6 +10,8 @@ display_global_parameters: true + + ### SUBCOMMANDS
    diff --git a/commands/role/list/index.md b/commands/role/list/index.md index 74dfaf76..3fdfac82 100644 --- a/commands/role/list/index.md +++ b/commands/role/list/index.md @@ -14,7 +14,7 @@ display_global_parameters: true : Limit the output to specific object fields. [\--format=<format>] -: Accepted values: table, csv, json, count. Default: table +: Accepted values: table, csv, json, count, yaml. Default: table ### AVAILABLE FIELDS diff --git a/commands/scaffold/index.md b/commands/scaffold/index.md index 2f2bf8e7..2a2224c8 100644 --- a/commands/scaffold/index.md +++ b/commands/scaffold/index.md @@ -10,6 +10,8 @@ display_global_parameters: true + + ### SUBCOMMANDS
    @@ -28,10 +30,6 @@ display_global_parameters: true - - - - diff --git a/commands/search-replace/index.md b/commands/search-replace/index.md index 3e428bf6..149c1025 100644 --- a/commands/search-replace/index.md +++ b/commands/search-replace/index.md @@ -79,7 +79,7 @@ will take about 15-20x longer when using --regex. wp search-replace 'foo' 'bar' wp_posts wp_postmeta wp_terms --dry-run # Turn your production database into a local database - wp search-replace --url=example.com example.com example.dev wp_\*_options + wp search-replace --url=example.com example.com example.dev 'wp_*_options' # Search/replace to a SQL file without transforming the database wp search-replace foo bar --export=database.sql diff --git a/commands/sidebar/index.md b/commands/sidebar/index.md index a7521918..1954bb48 100644 --- a/commands/sidebar/index.md +++ b/commands/sidebar/index.md @@ -10,6 +10,8 @@ display_global_parameters: true + + ### SUBCOMMANDS
    child-theme Generate empty child theme.
    package-testsGenerate files needed for writing Behat tests for your command.
    plugin Generate starter code for a plugin.
    diff --git a/commands/sidebar/list/index.md b/commands/sidebar/list/index.md index 1e301354..63cf9709 100644 --- a/commands/sidebar/list/index.md +++ b/commands/sidebar/list/index.md @@ -14,7 +14,7 @@ display_global_parameters: true : Limit the output to specific object fields. [\--format=<format>] -: Accepted values: table, csv, json, count. Default: table +: Accepted values: table, csv, json, count, yaml. Default: table ### AVAILABLE FIELDS diff --git a/commands/site/index.md b/commands/site/index.md index 2469febc..802c0f04 100644 --- a/commands/site/index.md +++ b/commands/site/index.md @@ -10,6 +10,8 @@ display_global_parameters: true + + ### SUBCOMMANDS
    diff --git a/commands/site/list/index.md b/commands/site/list/index.md index 31746037..e4add688 100644 --- a/commands/site/list/index.md +++ b/commands/site/list/index.md @@ -23,7 +23,7 @@ display_global_parameters: true : Comma-separated list of fields to show. [\--format=<format>] -: Accepted values: table, csv, json, count. Default: table +: Accepted values: table, csv, json, count, yaml. Default: table ### AVAILABLE FIELDS diff --git a/commands/super-admin/index.md b/commands/super-admin/index.md index 577538e0..6bb18147 100644 --- a/commands/super-admin/index.md +++ b/commands/super-admin/index.md @@ -10,6 +10,8 @@ display_global_parameters: true + + ### SUBCOMMANDS
    diff --git a/commands/taxonomy/get/index.md b/commands/taxonomy/get/index.md index 042b8f30..4c5ef070 100644 --- a/commands/taxonomy/get/index.md +++ b/commands/taxonomy/get/index.md @@ -20,7 +20,7 @@ display_global_parameters: true : Limit the output to specific fields. Defaults to all fields. [\--format=<format>] -: Accepted values: table, json, csv. Default: table +: Accepted values: table, json, csv, yaml. Default: table ### EXAMPLES diff --git a/commands/taxonomy/index.md b/commands/taxonomy/index.md index 1fe28961..64aa8ac7 100644 --- a/commands/taxonomy/index.md +++ b/commands/taxonomy/index.md @@ -10,6 +10,8 @@ display_global_parameters: true + + ### SUBCOMMANDS
    diff --git a/commands/taxonomy/list/index.md b/commands/taxonomy/list/index.md index 8191f5d0..5f5e90be 100644 --- a/commands/taxonomy/list/index.md +++ b/commands/taxonomy/list/index.md @@ -20,7 +20,7 @@ display_global_parameters: true : Limit the output to specific taxonomy fields. [\--format=<format>] -: Accepted values: table, csv, json, count. Default: table +: Accepted values: table, csv, json, count, yaml. Default: table ### AVAILABLE FIELDS diff --git a/commands/term/get/index.md b/commands/term/get/index.md index 7738210b..b83d2c63 100644 --- a/commands/term/get/index.md +++ b/commands/term/get/index.md @@ -23,7 +23,7 @@ display_global_parameters: true : Limit the output to specific fields. Defaults to all fields. [\--format=<format>] -: Accepted values: table, json, csv. Default: table +: Accepted values: table, json, csv, yaml. Default: table ### EXAMPLES diff --git a/commands/term/index.md b/commands/term/index.md index 9ccaf8cb..d163ca22 100644 --- a/commands/term/index.md +++ b/commands/term/index.md @@ -10,6 +10,8 @@ display_global_parameters: true + + ### SUBCOMMANDS
    @@ -40,6 +42,10 @@ display_global_parameters: true + + + + diff --git a/commands/term/list/index.md b/commands/term/list/index.md index 253e9463..2bfab642 100644 --- a/commands/term/list/index.md +++ b/commands/term/list/index.md @@ -23,7 +23,7 @@ display_global_parameters: true : Limit the output to specific object fields. [\--format=<format>] -: Accepted values: table, csv, json, count. Default: table +: Accepted values: table, csv, json, count, yaml. Default: table ### AVAILABLE FIELDS diff --git a/commands/term/meta/add/index.md b/commands/term/meta/add/index.md new file mode 100644 index 00000000..b29ec730 --- /dev/null +++ b/commands/term/meta/add/index.md @@ -0,0 +1,26 @@ +--- +layout: default +title: 'wp term meta add' +display_global_parameters: true +--- + +`wp term meta add` - Add a meta field. + +
    + +### OPTIONS + +<id> +: The ID of the object. + +<key> +: The name of the meta field to create. + +[<value>] +: The value of the meta field. If ommited, the value is read from STDIN. + +[\--format=<format>] +: The serialization format for the value. Default is plaintext. + + + diff --git a/commands/term/meta/delete/index.md b/commands/term/meta/delete/index.md new file mode 100644 index 00000000..919f34ae --- /dev/null +++ b/commands/term/meta/delete/index.md @@ -0,0 +1,24 @@ +--- +layout: default +title: 'wp term meta delete' +display_global_parameters: true +--- + +`wp term meta delete` - Delete a meta field. + +
    + +<id> +: The ID of the object. + +[<key>] +: The name of the meta field to delete. + +[<value>] +: The value to delete. If omitted, all rows with key will deleted. + +[\--all] +: Delete all meta for the object. + + + diff --git a/commands/term/meta/get/index.md b/commands/term/meta/get/index.md new file mode 100644 index 00000000..6ad5b33f --- /dev/null +++ b/commands/term/meta/get/index.md @@ -0,0 +1,21 @@ +--- +layout: default +title: 'wp term meta get' +display_global_parameters: true +--- + +`wp term meta get` - Get meta field value. + +
    + +<id> +: The ID of the object. + +<key> +: The name of the meta field to get. + +[\--format=<format>] +: Accepted values: table, json. Default: table + + + diff --git a/commands/term/meta/index.md b/commands/term/meta/index.md new file mode 100644 index 00000000..4a6e0daf --- /dev/null +++ b/commands/term/meta/index.md @@ -0,0 +1,55 @@ +--- +layout: default +title: 'wp term meta' +display_global_parameters: true +--- + +`wp term meta` - Manage term custom fields. + +
    + +### OPTIONS + +\--format=json +: Encode/decode values as JSON. + +### EXAMPLES + + wp term meta set category 123 description "Mary is a WordPress developer." + + + + + +### SUBCOMMANDS + +
    list List terms in a taxonomy.
    metaManage term custom fields.
    update Update a term.
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescription
    addAdd a meta field.
    deleteDelete a meta field.
    getGet meta field value.
    listList all metadata associated with an object.
    updateUpdate a meta field.
    diff --git a/commands/term/meta/list/index.md b/commands/term/meta/list/index.md new file mode 100644 index 00000000..23fb9f7c --- /dev/null +++ b/commands/term/meta/list/index.md @@ -0,0 +1,24 @@ +--- +layout: default +title: 'wp term meta list' +display_global_parameters: true +--- + +`wp term meta list` - List all metadata associated with an object. + +
    + +<id> +: ID for the object. + +[\--keys=<keys>] +: Limit output to metadata of specific keys. + +[\--fields=<fields>] +: Limit the output to specific row fields. Defaults to id,meta_key,meta_value. + +[\--format=<format>] +: Accepted values: table, csv, json, count. Default: table + + + diff --git a/commands/term/meta/update/index.md b/commands/term/meta/update/index.md new file mode 100644 index 00000000..e201c8fc --- /dev/null +++ b/commands/term/meta/update/index.md @@ -0,0 +1,26 @@ +--- +layout: default +title: 'wp term meta update' +display_global_parameters: true +--- + +`wp term meta update` - Update a meta field. + +
    + +### OPTIONS + +<id> +: The ID of the object. + +<key> +: The name of the meta field to update. + +[<value>] +: The new value. If ommited, the value is read from STDIN. + +[\--format=<format>] +: The serialization format for the value. Default is plaintext. + + + diff --git a/commands/theme/get/index.md b/commands/theme/get/index.md index 75b3010a..0588d3b3 100644 --- a/commands/theme/get/index.md +++ b/commands/theme/get/index.md @@ -20,7 +20,7 @@ display_global_parameters: true : Limit the output to specific fields. Defaults to all fields. [\--format=<format>] -: Accepted values: table, json, csv. Default: table +: Accepted values: table, json, csv, yaml. Default: table ### EXAMPLES diff --git a/commands/theme/index.md b/commands/theme/index.md index 58b1991e..59a47b47 100644 --- a/commands/theme/index.md +++ b/commands/theme/index.md @@ -10,6 +10,8 @@ display_global_parameters: true + + ### SUBCOMMANDS diff --git a/commands/theme/is-installed/index.md b/commands/theme/is-installed/index.md index 1c096d5b..9f310d4e 100644 --- a/commands/theme/is-installed/index.md +++ b/commands/theme/is-installed/index.md @@ -8,6 +8,8 @@ display_global_parameters: true
    +Returns exit code 0 when installed, 1 when uninstalled. + ### OPTIONS <theme> @@ -16,6 +18,7 @@ display_global_parameters: true ### EXAMPLES wp theme is-installed twentytwelve + echo $? # displays 0 or 1 diff --git a/commands/theme/list/index.md b/commands/theme/list/index.md index c960bc29..c53273f3 100644 --- a/commands/theme/list/index.md +++ b/commands/theme/list/index.md @@ -20,7 +20,7 @@ display_global_parameters: true : Limit the output to specific object fields. [\--format=<format>] -: Accepted values: table, json. Default: table +: Accepted values: table, json, csv, yaml. Default: table ### AVAILABLE FIELDS diff --git a/commands/theme/mod/index.md b/commands/theme/mod/index.md index 0b594690..d58a6b8d 100644 --- a/commands/theme/mod/index.md +++ b/commands/theme/mod/index.md @@ -12,6 +12,8 @@ display_global_parameters: true + + ### SUBCOMMANDS
    diff --git a/commands/theme/search/index.md b/commands/theme/search/index.md index 78416884..f98c316a 100644 --- a/commands/theme/search/index.md +++ b/commands/theme/search/index.md @@ -34,7 +34,7 @@ display_global_parameters: true **description**: Theme Description [\--format=<format>] -: Accepted values: table, csv, json, count. Default: table +: Accepted values: table, csv, json, count, yaml. Default: table ### EXAMPLES diff --git a/commands/transient/index.md b/commands/transient/index.md index 6d584d5c..1bebc090 100644 --- a/commands/transient/index.md +++ b/commands/transient/index.md @@ -12,6 +12,8 @@ display_global_parameters: true wp transient set my_key my_value 300 + + ### SUBCOMMANDS
    diff --git a/commands/user/get/index.md b/commands/user/get/index.md index 1fdb4e6f..04d66991 100644 --- a/commands/user/get/index.md +++ b/commands/user/get/index.md @@ -20,7 +20,7 @@ display_global_parameters: true : Get a specific subset of the user's fields. [\--format=<format>] -: Accepted values: table, json, csv. Default: table +: Accepted values: table, json, csv, yaml. Default: table ### EXAMPLES diff --git a/commands/user/index.md b/commands/user/index.md index 3f885806..1975d69b 100644 --- a/commands/user/index.md +++ b/commands/user/index.md @@ -10,6 +10,8 @@ display_global_parameters: true + + ### SUBCOMMANDS
    diff --git a/commands/user/list/index.md b/commands/user/list/index.md index ad124f46..d1f8d432 100644 --- a/commands/user/list/index.md +++ b/commands/user/list/index.md @@ -26,7 +26,7 @@ display_global_parameters: true : Limit the output to specific object fields. [\--format=<format>] -: Accepted values: table, csv, json, count. Default: table +: Accepted values: table, csv, json, count, yaml. Default: table ### AVAILABLE FIELDS diff --git a/commands/user/meta/get/index.md b/commands/user/meta/get/index.md index 509daaa5..d33f7f9f 100644 --- a/commands/user/meta/get/index.md +++ b/commands/user/meta/get/index.md @@ -17,7 +17,7 @@ display_global_parameters: true : The metadata key. [\--format=<format>] -: Accepted values: table, json. Default: table +: Accepted values: table, json, yaml. Default: table diff --git a/commands/user/meta/index.md b/commands/user/meta/index.md index ad75602a..e853cb22 100644 --- a/commands/user/meta/index.md +++ b/commands/user/meta/index.md @@ -21,6 +21,8 @@ display_global_parameters: true + + ### SUBCOMMANDS
    diff --git a/commands/user/term/index.md b/commands/user/term/index.md index 4a579bcf..fb882d94 100644 --- a/commands/user/term/index.md +++ b/commands/user/term/index.md @@ -14,6 +14,8 @@ display_global_parameters: true + + ### SUBCOMMANDS
    diff --git a/commands/widget/index.md b/commands/widget/index.md index 1f27b34a..17454c71 100644 --- a/commands/widget/index.md +++ b/commands/widget/index.md @@ -22,6 +22,8 @@ display_global_parameters: true # Delete one or more widgets entirely wp widget delete calendar-2 archive-1 + + ### SUBCOMMANDS
    diff --git a/commands/widget/list/index.md b/commands/widget/list/index.md index 8e6b5cad..8832ce38 100644 --- a/commands/widget/list/index.md +++ b/commands/widget/list/index.md @@ -15,7 +15,7 @@ display_global_parameters: true : Limit the output to specific object fields. [\--format=<format>] -: Accepted values: table, csv, json, count, ids. Default: table +: Accepted values: table, csv, json, count, ids, yaml. Default: table ### AVAILABLE FIELDS From 3e1b04c2f6781acf0ff5c1165590f04e0338ca0e Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 12:48:53 -0700 Subject: [PATCH 566/839] Generate links to command Github issues --- Phakefile.php | 1 + _templates/subcmd-list.mustache | 2 ++ commands/cache/add/index.md | 2 ++ commands/cache/decr/index.md | 2 ++ commands/cache/delete/index.md | 2 ++ commands/cache/flush/index.md | 2 ++ commands/cache/get/index.md | 2 ++ commands/cache/incr/index.md | 2 ++ commands/cache/index.md | 2 ++ commands/cache/replace/index.md | 2 ++ commands/cache/set/index.md | 2 ++ commands/cache/type/index.md | 2 ++ commands/cap/add/index.md | 2 ++ commands/cap/index.md | 2 ++ commands/cap/list/index.md | 2 ++ commands/cap/remove/index.md | 2 ++ commands/cli/api-dump/index.md | 2 ++ commands/cli/check-update/index.md | 2 ++ commands/cli/cmd-dump/index.md | 2 ++ commands/cli/completions/index.md | 2 ++ commands/cli/index.md | 2 ++ commands/cli/info/index.md | 2 ++ commands/cli/param-dump/index.md | 2 ++ commands/cli/update/index.md | 2 ++ commands/cli/version/index.md | 2 ++ commands/comment/approve/index.md | 2 ++ commands/comment/count/index.md | 2 ++ commands/comment/create/index.md | 2 ++ commands/comment/delete/index.md | 2 ++ commands/comment/exists/index.md | 2 ++ commands/comment/generate/index.md | 2 ++ commands/comment/get/index.md | 2 ++ commands/comment/index.md | 2 ++ commands/comment/list/index.md | 2 ++ commands/comment/meta/add/index.md | 2 ++ commands/comment/meta/delete/index.md | 2 ++ commands/comment/meta/get/index.md | 2 ++ commands/comment/meta/index.md | 2 ++ commands/comment/meta/list/index.md | 2 ++ commands/comment/meta/update/index.md | 2 ++ commands/comment/recount/index.md | 2 ++ commands/comment/spam/index.md | 2 ++ commands/comment/status/index.md | 2 ++ commands/comment/trash/index.md | 2 ++ commands/comment/unapprove/index.md | 2 ++ commands/comment/unspam/index.md | 2 ++ commands/comment/untrash/index.md | 2 ++ commands/comment/update/index.md | 2 ++ commands/comment/url/index.md | 2 ++ commands/core/check-update/index.md | 2 ++ commands/core/config/index.md | 2 ++ commands/core/download/index.md | 2 ++ commands/core/index.md | 2 ++ commands/core/install/index.md | 2 ++ commands/core/is-installed/index.md | 2 ++ commands/core/language/activate/index.md | 2 ++ commands/core/language/index.md | 2 ++ commands/core/language/install/index.md | 2 ++ commands/core/language/list/index.md | 2 ++ commands/core/language/uninstall/index.md | 2 ++ commands/core/language/update/index.md | 2 ++ commands/core/multisite-convert/index.md | 2 ++ commands/core/multisite-install/index.md | 2 ++ commands/core/update-db/index.md | 2 ++ commands/core/update/index.md | 2 ++ commands/core/verify-checksums/index.md | 2 ++ commands/core/version/index.md | 2 ++ commands/cron/event/delete/index.md | 2 ++ commands/cron/event/index.md | 2 ++ commands/cron/event/list/index.md | 2 ++ commands/cron/event/run/index.md | 2 ++ commands/cron/event/schedule/index.md | 2 ++ commands/cron/index.md | 2 ++ commands/cron/schedule/index.md | 2 ++ commands/cron/schedule/list/index.md | 2 ++ commands/cron/test/index.md | 2 ++ commands/db/cli/index.md | 2 ++ commands/db/create/index.md | 2 ++ commands/db/drop/index.md | 2 ++ commands/db/export/index.md | 2 ++ commands/db/import/index.md | 2 ++ commands/db/index.md | 2 ++ commands/db/optimize/index.md | 2 ++ commands/db/query/index.md | 2 ++ commands/db/repair/index.md | 2 ++ commands/db/reset/index.md | 2 ++ commands/db/tables/index.md | 2 ++ commands/eval-file/index.md | 2 ++ commands/eval/index.md | 2 ++ commands/export/index.md | 2 ++ commands/help/index.md | 2 ++ commands/import/index.md | 2 ++ commands/media/import/index.md | 2 ++ commands/media/index.md | 2 ++ commands/media/regenerate/index.md | 2 ++ commands/menu/create/index.md | 2 ++ commands/menu/delete/index.md | 2 ++ commands/menu/index.md | 2 ++ commands/menu/item/add-custom/index.md | 2 ++ commands/menu/item/add-post/index.md | 2 ++ commands/menu/item/add-term/index.md | 2 ++ commands/menu/item/delete/index.md | 2 ++ commands/menu/item/index.md | 2 ++ commands/menu/item/list/index.md | 2 ++ commands/menu/item/update/index.md | 2 ++ commands/menu/list/index.md | 2 ++ commands/menu/location/assign/index.md | 2 ++ commands/menu/location/index.md | 2 ++ commands/menu/location/list/index.md | 2 ++ commands/menu/location/remove/index.md | 2 ++ commands/network/index.md | 2 ++ commands/network/meta/add/index.md | 2 ++ commands/network/meta/delete/index.md | 2 ++ commands/network/meta/get/index.md | 2 ++ commands/network/meta/index.md | 2 ++ commands/network/meta/list/index.md | 2 ++ commands/network/meta/update/index.md | 2 ++ commands/option/add/index.md | 2 ++ commands/option/delete/index.md | 2 ++ commands/option/get/index.md | 2 ++ commands/option/index.md | 2 ++ commands/option/list/index.md | 2 ++ commands/option/update/index.md | 2 ++ commands/package/browse/index.md | 2 ++ commands/package/index.md | 2 ++ commands/package/install/index.md | 2 ++ commands/package/list/index.md | 2 ++ commands/package/path/index.md | 2 ++ commands/package/uninstall/index.md | 2 ++ commands/plugin/activate/index.md | 2 ++ commands/plugin/deactivate/index.md | 2 ++ commands/plugin/delete/index.md | 2 ++ commands/plugin/get/index.md | 2 ++ commands/plugin/index.md | 2 ++ commands/plugin/install/index.md | 2 ++ commands/plugin/is-installed/index.md | 2 ++ commands/plugin/list/index.md | 2 ++ commands/plugin/path/index.md | 2 ++ commands/plugin/search/index.md | 2 ++ commands/plugin/status/index.md | 2 ++ commands/plugin/toggle/index.md | 2 ++ commands/plugin/uninstall/index.md | 2 ++ commands/plugin/update/index.md | 2 ++ commands/post-type/get/index.md | 2 ++ commands/post-type/index.md | 2 ++ commands/post-type/list/index.md | 2 ++ commands/post/create/index.md | 2 ++ commands/post/delete/index.md | 2 ++ commands/post/edit/index.md | 2 ++ commands/post/generate/index.md | 2 ++ commands/post/get/index.md | 2 ++ commands/post/index.md | 2 ++ commands/post/list/index.md | 2 ++ commands/post/meta/add/index.md | 2 ++ commands/post/meta/delete/index.md | 2 ++ commands/post/meta/get/index.md | 2 ++ commands/post/meta/index.md | 2 ++ commands/post/meta/list/index.md | 2 ++ commands/post/meta/update/index.md | 2 ++ commands/post/term/add/index.md | 2 ++ commands/post/term/index.md | 2 ++ commands/post/term/list/index.md | 2 ++ commands/post/term/remove/index.md | 2 ++ commands/post/term/set/index.md | 2 ++ commands/post/update/index.md | 2 ++ commands/rewrite/flush/index.md | 2 ++ commands/rewrite/index.md | 2 ++ commands/rewrite/list/index.md | 2 ++ commands/rewrite/structure/index.md | 2 ++ commands/role/create/index.md | 2 ++ commands/role/delete/index.md | 2 ++ commands/role/exists/index.md | 2 ++ commands/role/index.md | 2 ++ commands/role/list/index.md | 2 ++ commands/role/reset/index.md | 2 ++ commands/scaffold/_s/index.md | 2 ++ commands/scaffold/child-theme/index.md | 2 ++ commands/scaffold/index.md | 2 ++ commands/scaffold/plugin-tests/index.md | 2 ++ commands/scaffold/plugin/index.md | 2 ++ commands/scaffold/post-type/index.md | 2 ++ commands/scaffold/taxonomy/index.md | 2 ++ commands/search-replace/index.md | 2 ++ commands/server/index.md | 2 ++ commands/shell/index.md | 2 ++ commands/sidebar/index.md | 2 ++ commands/sidebar/list/index.md | 2 ++ commands/site/activate/index.md | 2 ++ commands/site/archive/index.md | 2 ++ commands/site/create/index.md | 2 ++ commands/site/deactivate/index.md | 2 ++ commands/site/delete/index.md | 2 ++ commands/site/empty/index.md | 2 ++ commands/site/index.md | 2 ++ commands/site/list/index.md | 2 ++ commands/site/spam/index.md | 2 ++ commands/site/unarchive/index.md | 2 ++ commands/site/unspam/index.md | 2 ++ commands/super-admin/add/index.md | 2 ++ commands/super-admin/index.md | 2 ++ commands/super-admin/list/index.md | 2 ++ commands/super-admin/remove/index.md | 2 ++ commands/taxonomy/get/index.md | 2 ++ commands/taxonomy/index.md | 2 ++ commands/taxonomy/list/index.md | 2 ++ commands/term/create/index.md | 2 ++ commands/term/delete/index.md | 2 ++ commands/term/generate/index.md | 2 ++ commands/term/get/index.md | 2 ++ commands/term/index.md | 2 ++ commands/term/list/index.md | 2 ++ commands/term/meta/add/index.md | 2 ++ commands/term/meta/delete/index.md | 2 ++ commands/term/meta/get/index.md | 2 ++ commands/term/meta/index.md | 2 ++ commands/term/meta/list/index.md | 2 ++ commands/term/meta/update/index.md | 2 ++ commands/term/update/index.md | 2 ++ commands/term/url/index.md | 2 ++ commands/theme/activate/index.md | 2 ++ commands/theme/delete/index.md | 2 ++ commands/theme/disable/index.md | 2 ++ commands/theme/enable/index.md | 2 ++ commands/theme/get/index.md | 2 ++ commands/theme/index.md | 2 ++ commands/theme/install/index.md | 2 ++ commands/theme/is-installed/index.md | 2 ++ commands/theme/list/index.md | 2 ++ commands/theme/mod/get/index.md | 2 ++ commands/theme/mod/index.md | 2 ++ commands/theme/mod/remove/index.md | 2 ++ commands/theme/mod/set/index.md | 2 ++ commands/theme/path/index.md | 2 ++ commands/theme/search/index.md | 2 ++ commands/theme/status/index.md | 2 ++ commands/theme/update/index.md | 2 ++ commands/transient/delete-all/index.md | 2 ++ commands/transient/delete-expired/index.md | 2 ++ commands/transient/delete/index.md | 2 ++ commands/transient/get/index.md | 2 ++ commands/transient/index.md | 2 ++ commands/transient/set/index.md | 2 ++ commands/transient/type/index.md | 2 ++ commands/user/add-cap/index.md | 2 ++ commands/user/add-role/index.md | 2 ++ commands/user/create/index.md | 2 ++ commands/user/delete/index.md | 2 ++ commands/user/generate/index.md | 2 ++ commands/user/get/index.md | 2 ++ commands/user/import-csv/index.md | 2 ++ commands/user/index.md | 2 ++ commands/user/list-caps/index.md | 2 ++ commands/user/list/index.md | 2 ++ commands/user/meta/add/index.md | 2 ++ commands/user/meta/delete/index.md | 2 ++ commands/user/meta/get/index.md | 2 ++ commands/user/meta/index.md | 2 ++ commands/user/meta/list/index.md | 2 ++ commands/user/meta/update/index.md | 2 ++ commands/user/remove-cap/index.md | 2 ++ commands/user/remove-role/index.md | 2 ++ commands/user/set-role/index.md | 2 ++ commands/user/term/add/index.md | 2 ++ commands/user/term/index.md | 2 ++ commands/user/term/list/index.md | 2 ++ commands/user/term/remove/index.md | 2 ++ commands/user/term/set/index.md | 2 ++ commands/user/update/index.md | 2 ++ commands/widget/add/index.md | 2 ++ commands/widget/deactivate/index.md | 2 ++ commands/widget/delete/index.md | 2 ++ commands/widget/index.md | 2 ++ commands/widget/list/index.md | 2 ++ commands/widget/move/index.md | 2 ++ commands/widget/update/index.md | 2 ++ 275 files changed, 549 insertions(+) diff --git a/Phakefile.php b/Phakefile.php index 07e2d630..277b50fe 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -66,6 +66,7 @@ function gen_cmd_pages( $cmd, $parent = array() ) { $docs = preg_replace( '/#?## GLOBAL PARAMETERS.+/s', '', $docs ); $binding['docs'] = $docs; + $binding['github_issues_link'] = 'https://github.com/wp-cli/wp-cli/issues?q=is%3Aopen+label%3A' . urlencode( 'command:' . $cmd['name'] ) . '+sort%3Aupdated-desc'; } $path = __DIR__ . "/commands/" . $binding['path']; diff --git a/_templates/subcmd-list.mustache b/_templates/subcmd-list.mustache index 8fd815c6..c7795a52 100644 --- a/_templates/subcmd-list.mustache +++ b/_templates/subcmd-list.mustache @@ -6,6 +6,8 @@ display_global_parameters: true `wp {{synopsis}}` - {{description}} +Quick links: Github issues +
    {{{docs}}} diff --git a/commands/cache/add/index.md b/commands/cache/add/index.md index 472e7b62..6d730b91 100644 --- a/commands/cache/add/index.md +++ b/commands/cache/add/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cache add` - Add a value to the object cache. +Quick links: Github issues +
    If a value already exists for the key, the value isn't added. diff --git a/commands/cache/decr/index.md b/commands/cache/decr/index.md index 1e62db8b..c831dd04 100644 --- a/commands/cache/decr/index.md +++ b/commands/cache/decr/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cache decr` - Decrement a value in the object cache. +Quick links: Github issues +
    <key> diff --git a/commands/cache/delete/index.md b/commands/cache/delete/index.md index adf28704..194b4e05 100644 --- a/commands/cache/delete/index.md +++ b/commands/cache/delete/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cache delete` - Remove a value from the object cache. +Quick links: Github issues +
    <key> diff --git a/commands/cache/flush/index.md b/commands/cache/flush/index.md index e34ef0b7..8381d2a8 100644 --- a/commands/cache/flush/index.md +++ b/commands/cache/flush/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cache flush` - Flush the object cache. +Quick links: Github issues +
    For sites using a persistent object cache, because WordPress Multisite simply adds a blog id diff --git a/commands/cache/get/index.md b/commands/cache/get/index.md index 686637e2..0d07e94f 100644 --- a/commands/cache/get/index.md +++ b/commands/cache/get/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cache get` - Get a value from the object cache. +Quick links: Github issues +
    <key> diff --git a/commands/cache/incr/index.md b/commands/cache/incr/index.md index b60eec01..dd788443 100644 --- a/commands/cache/incr/index.md +++ b/commands/cache/incr/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cache incr` - Increment a value in the object cache. +Quick links: Github issues +
    <key> diff --git a/commands/cache/index.md b/commands/cache/index.md index 781dba5d..c7caaa45 100644 --- a/commands/cache/index.md +++ b/commands/cache/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cache` - Manage the object cache. +Quick links: Github issues +
    ### EXAMPLES diff --git a/commands/cache/replace/index.md b/commands/cache/replace/index.md index a0661b77..f72c0eac 100644 --- a/commands/cache/replace/index.md +++ b/commands/cache/replace/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cache replace` - Replace a value in the object cache, if the value already exists. +Quick links: Github issues +
    <key> diff --git a/commands/cache/set/index.md b/commands/cache/set/index.md index 3d85b269..046403e5 100644 --- a/commands/cache/set/index.md +++ b/commands/cache/set/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cache set` - Set a value to the object cache, regardless of whether it already exists. +Quick links: Github issues +
    <key> diff --git a/commands/cache/type/index.md b/commands/cache/type/index.md index 37ddb97d..3c916fcc 100644 --- a/commands/cache/type/index.md +++ b/commands/cache/type/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cache type` - Attempts to determine which object cache is being used. +Quick links: Github issues +
    Note that the guesses made by this function are based on the WP_Object_Cache classes diff --git a/commands/cap/add/index.md b/commands/cap/add/index.md index 5d35fce6..a12f54ca 100644 --- a/commands/cap/add/index.md +++ b/commands/cap/add/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cap add` - Add capabilities to a given role. +Quick links: Github issues +
    <role> diff --git a/commands/cap/index.md b/commands/cap/index.md index 755cb09e..42c5a1ec 100644 --- a/commands/cap/index.md +++ b/commands/cap/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cap` - Manage user capabilities. +Quick links: Github issues +
    ### EXAMPLES diff --git a/commands/cap/list/index.md b/commands/cap/list/index.md index b6985498..ccc74e3a 100644 --- a/commands/cap/list/index.md +++ b/commands/cap/list/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cap list` - List capabilities for a given role. +Quick links: Github issues +
    <role> diff --git a/commands/cap/remove/index.md b/commands/cap/remove/index.md index 219cc301..a92277cd 100644 --- a/commands/cap/remove/index.md +++ b/commands/cap/remove/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cap remove` - Remove capabilities from a given role. +Quick links: Github issues +
    <role> diff --git a/commands/cli/api-dump/index.md b/commands/cli/api-dump/index.md index e4a302f4..6c8aecc9 100644 --- a/commands/cli/api-dump/index.md +++ b/commands/cli/api-dump/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cli api-dump` - Dump the list of internal APIs, as JSON. +Quick links: Github issues +
    Used to build user-facing docs of public APIs. diff --git a/commands/cli/check-update/index.md b/commands/cli/check-update/index.md index 5181eff2..e4f58fe8 100644 --- a/commands/cli/check-update/index.md +++ b/commands/cli/check-update/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cli check-update` - Check for update via Github API. Returns the available versions if there are updates, or empty if no update available. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/cli/cmd-dump/index.md b/commands/cli/cmd-dump/index.md index 85127a29..3bf91815 100644 --- a/commands/cli/cmd-dump/index.md +++ b/commands/cli/cmd-dump/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cli cmd-dump` - Dump the list of installed commands, as JSON. +Quick links: Github issues +
    diff --git a/commands/cli/completions/index.md b/commands/cli/completions/index.md index 64c97d5b..cf7943d3 100644 --- a/commands/cli/completions/index.md +++ b/commands/cli/completions/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cli completions` - Generate tab completion strings. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/cli/index.md b/commands/cli/index.md index 360b4f54..166e18c9 100644 --- a/commands/cli/index.md +++ b/commands/cli/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cli` - Get information about WP-CLI itself. +Quick links: Github issues +
    diff --git a/commands/cli/info/index.md b/commands/cli/info/index.md index 65e28f7d..8ed71daa 100644 --- a/commands/cli/info/index.md +++ b/commands/cli/info/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cli info` - Print various data about the CLI environment. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/cli/param-dump/index.md b/commands/cli/param-dump/index.md index d319e4c9..35886262 100644 --- a/commands/cli/param-dump/index.md +++ b/commands/cli/param-dump/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cli param-dump` - Dump the list of global parameters, as JSON or in var_export format. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/cli/update/index.md b/commands/cli/update/index.md index d9689851..5e074336 100644 --- a/commands/cli/update/index.md +++ b/commands/cli/update/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cli update` - Fetch most recent update matching the requirements. Returns the available versions if there are updates, or empty if no update available. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/cli/version/index.md b/commands/cli/version/index.md index 73a9b231..13a74664 100644 --- a/commands/cli/version/index.md +++ b/commands/cli/version/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cli version` - Print WP-CLI version. +Quick links: Github issues +
    diff --git a/commands/comment/approve/index.md b/commands/comment/approve/index.md index e5bac73c..df2ae438 100644 --- a/commands/comment/approve/index.md +++ b/commands/comment/approve/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp comment approve` - Approve a comment. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/comment/count/index.md b/commands/comment/count/index.md index 7a8aa888..df786265 100644 --- a/commands/comment/count/index.md +++ b/commands/comment/count/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp comment count` - Count comments, on whole blog or on a given post. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/comment/create/index.md b/commands/comment/create/index.md index a0ed055f..3d61fdbe 100644 --- a/commands/comment/create/index.md +++ b/commands/comment/create/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp comment create` - Insert a comment. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/comment/delete/index.md b/commands/comment/delete/index.md index 144d8377..88c9e04f 100644 --- a/commands/comment/delete/index.md +++ b/commands/comment/delete/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp comment delete` - Delete a comment. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/comment/exists/index.md b/commands/comment/exists/index.md index f48f27e8..8ac81d95 100644 --- a/commands/comment/exists/index.md +++ b/commands/comment/exists/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp comment exists` - Verify whether a comment exists. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/comment/generate/index.md b/commands/comment/generate/index.md index 2035b7c0..c7c0ef4e 100644 --- a/commands/comment/generate/index.md +++ b/commands/comment/generate/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp comment generate` - Generate comments. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/comment/get/index.md b/commands/comment/get/index.md index c29569cd..97034390 100644 --- a/commands/comment/get/index.md +++ b/commands/comment/get/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp comment get` - Get a single comment. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/comment/index.md b/commands/comment/index.md index bcc43cd6..eeab9659 100644 --- a/commands/comment/index.md +++ b/commands/comment/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp comment` - Manage comments. +Quick links: Github issues +
    ### EXAMPLES diff --git a/commands/comment/list/index.md b/commands/comment/list/index.md index 4e0eecd1..4f93888d 100644 --- a/commands/comment/list/index.md +++ b/commands/comment/list/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp comment list` - Get a list of comments. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/comment/meta/add/index.md b/commands/comment/meta/add/index.md index ed00541f..f48b8cb2 100644 --- a/commands/comment/meta/add/index.md +++ b/commands/comment/meta/add/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp comment meta add` - Add a meta field. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/comment/meta/delete/index.md b/commands/comment/meta/delete/index.md index e31d9d60..3ad59f6e 100644 --- a/commands/comment/meta/delete/index.md +++ b/commands/comment/meta/delete/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp comment meta delete` - Delete a meta field. +Quick links: Github issues +
    <id> diff --git a/commands/comment/meta/get/index.md b/commands/comment/meta/get/index.md index 270be134..6bfc011c 100644 --- a/commands/comment/meta/get/index.md +++ b/commands/comment/meta/get/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp comment meta get` - Get meta field value. +Quick links: Github issues +
    <id> diff --git a/commands/comment/meta/index.md b/commands/comment/meta/index.md index 54b7a15b..f3fbf600 100644 --- a/commands/comment/meta/index.md +++ b/commands/comment/meta/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp comment meta` - Manage comment custom fields. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/comment/meta/list/index.md b/commands/comment/meta/list/index.md index e1471003..e476e5c3 100644 --- a/commands/comment/meta/list/index.md +++ b/commands/comment/meta/list/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp comment meta list` - List all metadata associated with an object. +Quick links: Github issues +
    <id> diff --git a/commands/comment/meta/update/index.md b/commands/comment/meta/update/index.md index 296f549e..ab4de67a 100644 --- a/commands/comment/meta/update/index.md +++ b/commands/comment/meta/update/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp comment meta update` - Update a meta field. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/comment/recount/index.md b/commands/comment/recount/index.md index 088c96c8..8663ef1e 100644 --- a/commands/comment/recount/index.md +++ b/commands/comment/recount/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp comment recount` - Recount the comment_count value for one or more posts. +Quick links: Github issues +
    <id>... diff --git a/commands/comment/spam/index.md b/commands/comment/spam/index.md index 6820b759..285f8b83 100644 --- a/commands/comment/spam/index.md +++ b/commands/comment/spam/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp comment spam` - Spam a comment. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/comment/status/index.md b/commands/comment/status/index.md index 7540fff4..f21e88f6 100644 --- a/commands/comment/status/index.md +++ b/commands/comment/status/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp comment status` - Get status of a comment. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/comment/trash/index.md b/commands/comment/trash/index.md index 4253d4f2..3a80f641 100644 --- a/commands/comment/trash/index.md +++ b/commands/comment/trash/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp comment trash` - Trash a comment. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/comment/unapprove/index.md b/commands/comment/unapprove/index.md index 4e3b5820..bab4bae3 100644 --- a/commands/comment/unapprove/index.md +++ b/commands/comment/unapprove/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp comment unapprove` - Unapprove a comment. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/comment/unspam/index.md b/commands/comment/unspam/index.md index a50a5602..10d90ec7 100644 --- a/commands/comment/unspam/index.md +++ b/commands/comment/unspam/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp comment unspam` - Unspam a comment. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/comment/untrash/index.md b/commands/comment/untrash/index.md index 917a92ec..86e970d0 100644 --- a/commands/comment/untrash/index.md +++ b/commands/comment/untrash/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp comment untrash` - Untrash a comment. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/comment/update/index.md b/commands/comment/update/index.md index 923a01ff..5aab4496 100644 --- a/commands/comment/update/index.md +++ b/commands/comment/update/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp comment update` - Update one or more comments. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/comment/url/index.md b/commands/comment/url/index.md index 78b8f5d5..b892e9f1 100644 --- a/commands/comment/url/index.md +++ b/commands/comment/url/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp comment url` - Get comment url +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/core/check-update/index.md b/commands/core/check-update/index.md index 48387e2a..e0d9e64d 100644 --- a/commands/core/check-update/index.md +++ b/commands/core/check-update/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp core check-update` - Check for update via Version Check API. +Quick links: Github issues +
    Lists the most recent versions when there are updates available, or success message when up to date. diff --git a/commands/core/config/index.md b/commands/core/config/index.md index a4b38473..8815ab82 100644 --- a/commands/core/config/index.md +++ b/commands/core/config/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp core config` - Generate a wp-config.php file. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/core/download/index.md b/commands/core/download/index.md index 91a679c7..c674a228 100644 --- a/commands/core/download/index.md +++ b/commands/core/download/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp core download` - Download core WordPress files. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/core/index.md b/commands/core/index.md index 214d6eda..13d93969 100644 --- a/commands/core/index.md +++ b/commands/core/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp core` - Download, install, update and otherwise manage WordPress proper. +Quick links: Github issues +
    diff --git a/commands/core/install/index.md b/commands/core/install/index.md index 64bdad2e..bc609439 100644 --- a/commands/core/install/index.md +++ b/commands/core/install/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp core install` - Create the WordPress tables in the database. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/core/is-installed/index.md b/commands/core/is-installed/index.md index 21b37a4b..c50ccae8 100644 --- a/commands/core/is-installed/index.md +++ b/commands/core/is-installed/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp core is-installed` - Determine if the WordPress tables are installed. +Quick links: Github issues +
    [\--network] diff --git a/commands/core/language/activate/index.md b/commands/core/language/activate/index.md index 06d1a773..42dbcde9 100644 --- a/commands/core/language/activate/index.md +++ b/commands/core/language/activate/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp core language activate` - Activate a given language. +Quick links: Github issues +
    <language> diff --git a/commands/core/language/index.md b/commands/core/language/index.md index 30d65b3f..96f86c12 100644 --- a/commands/core/language/index.md +++ b/commands/core/language/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp core language` - +Quick links: Github issues +
    diff --git a/commands/core/language/install/index.md b/commands/core/language/install/index.md index 5b074230..8a7e1c38 100644 --- a/commands/core/language/install/index.md +++ b/commands/core/language/install/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp core language install` - Install a given language. +Quick links: Github issues +
    <language> diff --git a/commands/core/language/list/index.md b/commands/core/language/list/index.md index 0f4c5e2b..3c088374 100644 --- a/commands/core/language/list/index.md +++ b/commands/core/language/list/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp core language list` - List all languages available. +Quick links: Github issues +
    [\--field=<field>] diff --git a/commands/core/language/uninstall/index.md b/commands/core/language/uninstall/index.md index 82673963..c6fa1647 100644 --- a/commands/core/language/uninstall/index.md +++ b/commands/core/language/uninstall/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp core language uninstall` - Uninstall a given language. +Quick links: Github issues +
    <language> diff --git a/commands/core/language/update/index.md b/commands/core/language/update/index.md index 3963f414..62acbc33 100644 --- a/commands/core/language/update/index.md +++ b/commands/core/language/update/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp core language update` - Updates the active translation of core, plugins, and themes. +Quick links: Github issues +
    [\--dry-run] diff --git a/commands/core/multisite-convert/index.md b/commands/core/multisite-convert/index.md index 3ec76f2a..1f2fbc05 100644 --- a/commands/core/multisite-convert/index.md +++ b/commands/core/multisite-convert/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp core multisite-convert` - Transform a single-site install into a multi-site install. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/core/multisite-install/index.md b/commands/core/multisite-install/index.md index 621e9fc5..f1572467 100644 --- a/commands/core/multisite-install/index.md +++ b/commands/core/multisite-install/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp core multisite-install` - Install multisite from scratch. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/core/update-db/index.md b/commands/core/update-db/index.md index 761155e3..39ebfd17 100644 --- a/commands/core/update-db/index.md +++ b/commands/core/update-db/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp core update-db` - Update the WordPress database. +Quick links: Github issues +
    [\--network] diff --git a/commands/core/update/index.md b/commands/core/update/index.md index bd8b90ca..fec55874 100644 --- a/commands/core/update/index.md +++ b/commands/core/update/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp core update` - Update WordPress. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/core/verify-checksums/index.md b/commands/core/verify-checksums/index.md index 651cd92c..552cea6a 100644 --- a/commands/core/verify-checksums/index.md +++ b/commands/core/verify-checksums/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp core verify-checksums` - Verify WordPress files against WordPress.org's checksums. +Quick links: Github issues +
    Specify version to verify checksums without loading WordPress. diff --git a/commands/core/version/index.md b/commands/core/version/index.md index 3cd1d601..bee6dc8b 100644 --- a/commands/core/version/index.md +++ b/commands/core/version/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp core version` - Display the WordPress version. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/cron/event/delete/index.md b/commands/cron/event/delete/index.md index 6766cc2e..39c9121c 100644 --- a/commands/cron/event/delete/index.md +++ b/commands/cron/event/delete/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cron event delete` - Delete the next scheduled cron event for the given hook. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/cron/event/index.md b/commands/cron/event/index.md index e315063b..44276057 100644 --- a/commands/cron/event/index.md +++ b/commands/cron/event/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cron event` - Manage WP-Cron events. +Quick links: Github issues +
    diff --git a/commands/cron/event/list/index.md b/commands/cron/event/list/index.md index 64aa3f79..6852fe61 100644 --- a/commands/cron/event/list/index.md +++ b/commands/cron/event/list/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cron event list` - List scheduled cron events. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/cron/event/run/index.md b/commands/cron/event/run/index.md index 45734472..3e413d58 100644 --- a/commands/cron/event/run/index.md +++ b/commands/cron/event/run/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cron event run` - Run the next scheduled cron event for the given hook. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/cron/event/schedule/index.md b/commands/cron/event/schedule/index.md index 6924385b..796225f0 100644 --- a/commands/cron/event/schedule/index.md +++ b/commands/cron/event/schedule/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cron event schedule` - Schedule a new cron event. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/cron/index.md b/commands/cron/index.md index 48395aab..be6db776 100644 --- a/commands/cron/index.md +++ b/commands/cron/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cron` - Manage WP-Cron events and schedules. +Quick links: Github issues +
    diff --git a/commands/cron/schedule/index.md b/commands/cron/schedule/index.md index 05f70c3c..f92c7def 100644 --- a/commands/cron/schedule/index.md +++ b/commands/cron/schedule/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cron schedule` - Manage WP-Cron schedules. +Quick links: Github issues +
    diff --git a/commands/cron/schedule/list/index.md b/commands/cron/schedule/list/index.md index 4bcd2c5f..401025cf 100644 --- a/commands/cron/schedule/list/index.md +++ b/commands/cron/schedule/list/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cron schedule list` - List available cron schedules. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/cron/test/index.md b/commands/cron/test/index.md index 29385305..f613d3a3 100644 --- a/commands/cron/test/index.md +++ b/commands/cron/test/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp cron test` - Test the WP Cron spawning system and report back its status. +Quick links: Github issues +
    diff --git a/commands/db/cli/index.md b/commands/db/cli/index.md index 5eb01d96..c52563a7 100644 --- a/commands/db/cli/index.md +++ b/commands/db/cli/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp db cli` - Open a mysql console using the WordPress credentials. +Quick links: Github issues +
    diff --git a/commands/db/create/index.md b/commands/db/create/index.md index 096bb294..dd50689c 100644 --- a/commands/db/create/index.md +++ b/commands/db/create/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp db create` - Create the database, as specified in wp-config.php +Quick links: Github issues +
    diff --git a/commands/db/drop/index.md b/commands/db/drop/index.md index 25cdc8c2..921a55da 100644 --- a/commands/db/drop/index.md +++ b/commands/db/drop/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp db drop` - Delete the database. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/db/export/index.md b/commands/db/export/index.md index 9680ace0..e7d8340b 100644 --- a/commands/db/export/index.md +++ b/commands/db/export/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp db export` - Exports the database to a file or to STDOUT. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/db/import/index.md b/commands/db/import/index.md index f3c6aea4..9f6cf829 100644 --- a/commands/db/import/index.md +++ b/commands/db/import/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp db import` - Import database from a file or from STDIN. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/db/index.md b/commands/db/index.md index 00e1b6e9..5ea2ec6c 100644 --- a/commands/db/index.md +++ b/commands/db/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp db` - Perform basic database operations. +Quick links: Github issues +
    diff --git a/commands/db/optimize/index.md b/commands/db/optimize/index.md index 10d8d5ee..9bd23ed1 100644 --- a/commands/db/optimize/index.md +++ b/commands/db/optimize/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp db optimize` - Optimize the database. +Quick links: Github issues +
    diff --git a/commands/db/query/index.md b/commands/db/query/index.md index edfe7e42..9d609ebc 100644 --- a/commands/db/query/index.md +++ b/commands/db/query/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp db query` - Execute a query against the database. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/db/repair/index.md b/commands/db/repair/index.md index 9bd72700..2e08d5d8 100644 --- a/commands/db/repair/index.md +++ b/commands/db/repair/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp db repair` - Repair the database. +Quick links: Github issues +
    diff --git a/commands/db/reset/index.md b/commands/db/reset/index.md index fd0cf324..fa370ded 100644 --- a/commands/db/reset/index.md +++ b/commands/db/reset/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp db reset` - Remove all tables from the database. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/db/tables/index.md b/commands/db/tables/index.md index 12f4156d..a9f55b2d 100644 --- a/commands/db/tables/index.md +++ b/commands/db/tables/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp db tables` - List the database tables. +Quick links: Github issues +
    Defaults to all tables registered to $wpdb. diff --git a/commands/eval-file/index.md b/commands/eval-file/index.md index 75a68a5a..14b22176 100644 --- a/commands/eval-file/index.md +++ b/commands/eval-file/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp eval-file` - Load and execute a PHP file. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/eval/index.md b/commands/eval/index.md index d294b5a4..7ee5ea48 100644 --- a/commands/eval/index.md +++ b/commands/eval/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp eval` - Execute arbitrary PHP code. +Quick links: Github issues +
    <php-code> diff --git a/commands/export/index.md b/commands/export/index.md index 8c2483ea..4841a928 100644 --- a/commands/export/index.md +++ b/commands/export/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp export` - Export content to a WXR file. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/help/index.md b/commands/help/index.md index 3db7cca7..e125e0cf 100644 --- a/commands/help/index.md +++ b/commands/help/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp help` - Get help on WP-CLI, or on a specific. command. +Quick links: Github issues +
    [<command>...] diff --git a/commands/import/index.md b/commands/import/index.md index ce4f7aef..f018fcba 100644 --- a/commands/import/index.md +++ b/commands/import/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp import` - Import content from a WXR file. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/media/import/index.md b/commands/media/import/index.md index bd6cfd7a..6b46ad30 100644 --- a/commands/media/import/index.md +++ b/commands/media/import/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp media import` - Create attachments from local files or from URLs. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/media/index.md b/commands/media/index.md index 522cf354..34ad470c 100644 --- a/commands/media/index.md +++ b/commands/media/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp media` - Manage attachments. +Quick links: Github issues +
    diff --git a/commands/media/regenerate/index.md b/commands/media/regenerate/index.md index 24667940..03a51080 100644 --- a/commands/media/regenerate/index.md +++ b/commands/media/regenerate/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp media regenerate` - Regenerate thumbnail(s). +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/menu/create/index.md b/commands/menu/create/index.md index 3f8c4adb..f3044773 100644 --- a/commands/menu/create/index.md +++ b/commands/menu/create/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp menu create` - Create a new menu +Quick links: Github issues +
    <menu-name> diff --git a/commands/menu/delete/index.md b/commands/menu/delete/index.md index c4b30fe2..62b9dcec 100644 --- a/commands/menu/delete/index.md +++ b/commands/menu/delete/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp menu delete` - Delete one or more menus +Quick links: Github issues +
    <menu>... diff --git a/commands/menu/index.md b/commands/menu/index.md index 6d899195..cbc8fb21 100644 --- a/commands/menu/index.md +++ b/commands/menu/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp menu` - List, create, assign, and delete menus +Quick links: Github issues +
    ### EXAMPLES diff --git a/commands/menu/item/add-custom/index.md b/commands/menu/item/add-custom/index.md index fc80ba32..0b9230ab 100644 --- a/commands/menu/item/add-custom/index.md +++ b/commands/menu/item/add-custom/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp menu item add-custom` - Add a custom menu item +Quick links: Github issues +
    <menu> diff --git a/commands/menu/item/add-post/index.md b/commands/menu/item/add-post/index.md index 4c4b87f5..fbc23c26 100644 --- a/commands/menu/item/add-post/index.md +++ b/commands/menu/item/add-post/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp menu item add-post` - Add a post as a menu item +Quick links: Github issues +
    <menu> diff --git a/commands/menu/item/add-term/index.md b/commands/menu/item/add-term/index.md index 92afd23a..331826b1 100644 --- a/commands/menu/item/add-term/index.md +++ b/commands/menu/item/add-term/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp menu item add-term` - Add a taxonomy term as a menu item +Quick links: Github issues +
    <menu> diff --git a/commands/menu/item/delete/index.md b/commands/menu/item/delete/index.md index 4b0f3a36..331738d7 100644 --- a/commands/menu/item/delete/index.md +++ b/commands/menu/item/delete/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp menu item delete` - Delete one or more items from a menu +Quick links: Github issues +
    <db-id>... diff --git a/commands/menu/item/index.md b/commands/menu/item/index.md index 9162493b..e8ba50c8 100644 --- a/commands/menu/item/index.md +++ b/commands/menu/item/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp menu item` - List, add, and delete items associated with a menu +Quick links: Github issues +
    ### EXAMPLES diff --git a/commands/menu/item/list/index.md b/commands/menu/item/list/index.md index 3441a52d..fc1ba86e 100644 --- a/commands/menu/item/list/index.md +++ b/commands/menu/item/list/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp menu item list` - Get a list of items associated with a menu +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/menu/item/update/index.md b/commands/menu/item/update/index.md index ca45a6df..36b7b6d3 100644 --- a/commands/menu/item/update/index.md +++ b/commands/menu/item/update/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp menu item update` - Update a menu item +Quick links: Github issues +
    <db-id> diff --git a/commands/menu/list/index.md b/commands/menu/list/index.md index 717448f7..e598656a 100644 --- a/commands/menu/list/index.md +++ b/commands/menu/list/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp menu list` - Get a list of menus. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/menu/location/assign/index.md b/commands/menu/location/assign/index.md index fffd14cd..1a4ee7a7 100644 --- a/commands/menu/location/assign/index.md +++ b/commands/menu/location/assign/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp menu location assign` - Assign a location to a menu +Quick links: Github issues +
    <menu> diff --git a/commands/menu/location/index.md b/commands/menu/location/index.md index 9d2ba83d..7f078b1a 100644 --- a/commands/menu/location/index.md +++ b/commands/menu/location/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp menu location` - Manage a menu's assignment to locations. +Quick links: Github issues +
    ### EXAMPLES diff --git a/commands/menu/location/list/index.md b/commands/menu/location/list/index.md index 0f953d81..12aa0f1f 100644 --- a/commands/menu/location/list/index.md +++ b/commands/menu/location/list/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp menu location list` - List locations for the current theme. +Quick links: Github issues +
    [\--format=<format>] diff --git a/commands/menu/location/remove/index.md b/commands/menu/location/remove/index.md index 4a3aee6f..331771c6 100644 --- a/commands/menu/location/remove/index.md +++ b/commands/menu/location/remove/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp menu location remove` - Remove a location from a menu +Quick links: Github issues +
    <menu> diff --git a/commands/network/index.md b/commands/network/index.md index cf8ed76d..9e56e209 100644 --- a/commands/network/index.md +++ b/commands/network/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp network` - +Quick links: Github issues +
    diff --git a/commands/network/meta/add/index.md b/commands/network/meta/add/index.md index 07149886..977ff513 100644 --- a/commands/network/meta/add/index.md +++ b/commands/network/meta/add/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp network meta add` - Add a meta field. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/network/meta/delete/index.md b/commands/network/meta/delete/index.md index 06b190b7..215ca1b5 100644 --- a/commands/network/meta/delete/index.md +++ b/commands/network/meta/delete/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp network meta delete` - Delete a meta field. +Quick links: Github issues +
    <id> diff --git a/commands/network/meta/get/index.md b/commands/network/meta/get/index.md index 91e5ca72..457d0614 100644 --- a/commands/network/meta/get/index.md +++ b/commands/network/meta/get/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp network meta get` - Get meta field value. +Quick links: Github issues +
    <id> diff --git a/commands/network/meta/index.md b/commands/network/meta/index.md index 98618050..9f9534ab 100644 --- a/commands/network/meta/index.md +++ b/commands/network/meta/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp network meta` - Manage network custom fields. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/network/meta/list/index.md b/commands/network/meta/list/index.md index e6adc209..031a92ab 100644 --- a/commands/network/meta/list/index.md +++ b/commands/network/meta/list/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp network meta list` - List all metadata associated with an object. +Quick links: Github issues +
    <id> diff --git a/commands/network/meta/update/index.md b/commands/network/meta/update/index.md index 113fb989..36b16698 100644 --- a/commands/network/meta/update/index.md +++ b/commands/network/meta/update/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp network meta update` - Update a meta field. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/option/add/index.md b/commands/option/add/index.md index 9ab206bb..e7d595ce 100644 --- a/commands/option/add/index.md +++ b/commands/option/add/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp option add` - Add an option. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/option/delete/index.md b/commands/option/delete/index.md index a4cc0ada..0b687528 100644 --- a/commands/option/delete/index.md +++ b/commands/option/delete/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp option delete` - Delete an option. +Quick links: Github issues +
    <key> diff --git a/commands/option/get/index.md b/commands/option/get/index.md index f8bad754..55f68a49 100644 --- a/commands/option/get/index.md +++ b/commands/option/get/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp option get` - Get an option. +Quick links: Github issues +
    <key> diff --git a/commands/option/index.md b/commands/option/index.md index 3b6b91fd..c3e452f7 100644 --- a/commands/option/index.md +++ b/commands/option/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp option` - Manage options. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/option/list/index.md b/commands/option/list/index.md index 89c92d19..72328ee6 100644 --- a/commands/option/list/index.md +++ b/commands/option/list/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp option list` - List options. +Quick links: Github issues +
    [\--search=<pattern>] diff --git a/commands/option/update/index.md b/commands/option/update/index.md index ffff9793..5ba49035 100644 --- a/commands/option/update/index.md +++ b/commands/option/update/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp option update` - Update an option. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/package/browse/index.md b/commands/package/browse/index.md index a1190779..c8f3c133 100644 --- a/commands/package/browse/index.md +++ b/commands/package/browse/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp package browse` - Browse WP-CLI packages available for installation. +Quick links: Github issues +
    Lists packages available for installation from the [Package Index](http://wp-cli.org/package-index/). diff --git a/commands/package/index.md b/commands/package/index.md index 8a89865c..c8201940 100644 --- a/commands/package/index.md +++ b/commands/package/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp package` - Manage WP-CLI packages. +Quick links: Github issues +
    diff --git a/commands/package/install/index.md b/commands/package/install/index.md index cbced1ce..3a51e813 100644 --- a/commands/package/install/index.md +++ b/commands/package/install/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp package install` - Install a WP-CLI package. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/package/list/index.md b/commands/package/list/index.md index 849f8630..1729f223 100644 --- a/commands/package/list/index.md +++ b/commands/package/list/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp package list` - List installed WP-CLI packages. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/package/path/index.md b/commands/package/path/index.md index a2c9365d..6f11eeb7 100644 --- a/commands/package/path/index.md +++ b/commands/package/path/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp package path` - Get the path to an installed WP-CLI package, or the package directory. +Quick links: Github issues +
    If you want to contribute to a package, this is a great way to jump to it. diff --git a/commands/package/uninstall/index.md b/commands/package/uninstall/index.md index dc48e566..c920bc78 100644 --- a/commands/package/uninstall/index.md +++ b/commands/package/uninstall/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp package uninstall` - Uninstall a WP-CLI package. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/plugin/activate/index.md b/commands/plugin/activate/index.md index 76feb161..3d3b6c20 100644 --- a/commands/plugin/activate/index.md +++ b/commands/plugin/activate/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp plugin activate` - Activate a plugin. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/plugin/deactivate/index.md b/commands/plugin/deactivate/index.md index e5ac7044..2ef328bc 100644 --- a/commands/plugin/deactivate/index.md +++ b/commands/plugin/deactivate/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp plugin deactivate` - Deactivate a plugin. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/plugin/delete/index.md b/commands/plugin/delete/index.md index 467b4e04..cec58e50 100644 --- a/commands/plugin/delete/index.md +++ b/commands/plugin/delete/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp plugin delete` - Delete plugin files without deactivating or uninstalling. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/plugin/get/index.md b/commands/plugin/get/index.md index 4f469e54..023654ce 100644 --- a/commands/plugin/get/index.md +++ b/commands/plugin/get/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp plugin get` - Get a plugin. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/plugin/index.md b/commands/plugin/index.md index 6dfb4a1c..3843d233 100644 --- a/commands/plugin/index.md +++ b/commands/plugin/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp plugin` - Manage plugins. +Quick links: Github issues +
    diff --git a/commands/plugin/install/index.md b/commands/plugin/install/index.md index f568e9eb..82e6fd8c 100644 --- a/commands/plugin/install/index.md +++ b/commands/plugin/install/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp plugin install` - Install a plugin. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/plugin/is-installed/index.md b/commands/plugin/is-installed/index.md index 5ba54a38..c9b5f33a 100644 --- a/commands/plugin/is-installed/index.md +++ b/commands/plugin/is-installed/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp plugin is-installed` - Check if the plugin is installed. +Quick links: Github issues +
    Returns exit code 0 when installed, 1 when uninstalled. diff --git a/commands/plugin/list/index.md b/commands/plugin/list/index.md index f744bd10..adba408e 100644 --- a/commands/plugin/list/index.md +++ b/commands/plugin/list/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp plugin list` - Get a list of plugins. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/plugin/path/index.md b/commands/plugin/path/index.md index 1457d637..298f04b5 100644 --- a/commands/plugin/path/index.md +++ b/commands/plugin/path/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp plugin path` - Get the path to a plugin or to the plugin directory. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/plugin/search/index.md b/commands/plugin/search/index.md index dd431272..5ec2a538 100644 --- a/commands/plugin/search/index.md +++ b/commands/plugin/search/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp plugin search` - Search the wordpress.org plugin repository. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/plugin/status/index.md b/commands/plugin/status/index.md index decaa0d5..cdb51a18 100644 --- a/commands/plugin/status/index.md +++ b/commands/plugin/status/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp plugin status` - See the status of one or all plugins. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/plugin/toggle/index.md b/commands/plugin/toggle/index.md index b9f46bbe..8fb5c1ff 100644 --- a/commands/plugin/toggle/index.md +++ b/commands/plugin/toggle/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp plugin toggle` - Toggle a plugin's activation state. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/plugin/uninstall/index.md b/commands/plugin/uninstall/index.md index 45b0a891..7a03498c 100644 --- a/commands/plugin/uninstall/index.md +++ b/commands/plugin/uninstall/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp plugin uninstall` - Uninstall a plugin. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/plugin/update/index.md b/commands/plugin/update/index.md index 191894d5..40409b2f 100644 --- a/commands/plugin/update/index.md +++ b/commands/plugin/update/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp plugin update` - Update one or more plugins. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/post-type/get/index.md b/commands/post-type/get/index.md index 3714f5f8..69d4d232 100644 --- a/commands/post-type/get/index.md +++ b/commands/post-type/get/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp post-type get` - Get a post type +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/post-type/index.md b/commands/post-type/index.md index 0040d5e1..291dcd98 100644 --- a/commands/post-type/index.md +++ b/commands/post-type/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp post-type` - Manage post types. +Quick links: Github issues +
    diff --git a/commands/post-type/list/index.md b/commands/post-type/list/index.md index c64917f8..aad8409e 100644 --- a/commands/post-type/list/index.md +++ b/commands/post-type/list/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp post-type list` - List post types. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/post/create/index.md b/commands/post/create/index.md index 2cb1ff8f..f322e21f 100644 --- a/commands/post/create/index.md +++ b/commands/post/create/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp post create` - Create a post. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/post/delete/index.md b/commands/post/delete/index.md index f69588d3..76937424 100644 --- a/commands/post/delete/index.md +++ b/commands/post/delete/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp post delete` - Delete a post by ID. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/post/edit/index.md b/commands/post/edit/index.md index d565b466..28a4e2f3 100644 --- a/commands/post/edit/index.md +++ b/commands/post/edit/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp post edit` - Launch system editor to edit post content. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/post/generate/index.md b/commands/post/generate/index.md index 2169f4f9..e4110fac 100644 --- a/commands/post/generate/index.md +++ b/commands/post/generate/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp post generate` - Generate some posts. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/post/get/index.md b/commands/post/get/index.md index bcf6860f..e1ef32a0 100644 --- a/commands/post/get/index.md +++ b/commands/post/get/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp post get` - Get a post's content by ID. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/post/index.md b/commands/post/index.md index 08efa638..62443899 100644 --- a/commands/post/index.md +++ b/commands/post/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp post` - Manage posts. +Quick links: Github issues +
    diff --git a/commands/post/list/index.md b/commands/post/list/index.md index 54713709..65f78095 100644 --- a/commands/post/list/index.md +++ b/commands/post/list/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp post list` - Get a list of posts. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/post/meta/add/index.md b/commands/post/meta/add/index.md index 5d90203a..70aef8b8 100644 --- a/commands/post/meta/add/index.md +++ b/commands/post/meta/add/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp post meta add` - Add a meta field. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/post/meta/delete/index.md b/commands/post/meta/delete/index.md index c02c8159..4534ead3 100644 --- a/commands/post/meta/delete/index.md +++ b/commands/post/meta/delete/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp post meta delete` - Delete a meta field. +Quick links: Github issues +
    <id> diff --git a/commands/post/meta/get/index.md b/commands/post/meta/get/index.md index 952ac7a7..d05c0205 100644 --- a/commands/post/meta/get/index.md +++ b/commands/post/meta/get/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp post meta get` - Get meta field value. +Quick links: Github issues +
    <id> diff --git a/commands/post/meta/index.md b/commands/post/meta/index.md index 03a3795b..44a2ab02 100644 --- a/commands/post/meta/index.md +++ b/commands/post/meta/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp post meta` - Manage post custom fields. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/post/meta/list/index.md b/commands/post/meta/list/index.md index 03e16290..263ae137 100644 --- a/commands/post/meta/list/index.md +++ b/commands/post/meta/list/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp post meta list` - List all metadata associated with an object. +Quick links: Github issues +
    <id> diff --git a/commands/post/meta/update/index.md b/commands/post/meta/update/index.md index 78d4344d..ba2cf9d3 100644 --- a/commands/post/meta/update/index.md +++ b/commands/post/meta/update/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp post meta update` - Update a meta field. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/post/term/add/index.md b/commands/post/term/add/index.md index 8d55253b..36711b9d 100644 --- a/commands/post/term/add/index.md +++ b/commands/post/term/add/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp post term add` - Add a term. Appends to existing set of terms on the object. +Quick links: Github issues +
    <id> diff --git a/commands/post/term/index.md b/commands/post/term/index.md index 4de9c874..8aed196a 100644 --- a/commands/post/term/index.md +++ b/commands/post/term/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp post term` - Manage post terms. +Quick links: Github issues +
    ### EXAMPLES diff --git a/commands/post/term/list/index.md b/commands/post/term/list/index.md index 3b7b67d9..a34cfa21 100644 --- a/commands/post/term/list/index.md +++ b/commands/post/term/list/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp post term list` - List all terms associated with an object. +Quick links: Github issues +
    <id> diff --git a/commands/post/term/remove/index.md b/commands/post/term/remove/index.md index 466a86dd..5faf9854 100644 --- a/commands/post/term/remove/index.md +++ b/commands/post/term/remove/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp post term remove` - Remove a term. +Quick links: Github issues +
    <id> diff --git a/commands/post/term/set/index.md b/commands/post/term/set/index.md index c80bdd49..1e44a991 100644 --- a/commands/post/term/set/index.md +++ b/commands/post/term/set/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp post term set` - Set terms. Replaces existing terms on the object. +Quick links: Github issues +
    <id> diff --git a/commands/post/update/index.md b/commands/post/update/index.md index 1ebf9283..b1526c85 100644 --- a/commands/post/update/index.md +++ b/commands/post/update/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp post update` - Update one or more posts. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/rewrite/flush/index.md b/commands/rewrite/flush/index.md index ec651167..855887d8 100644 --- a/commands/rewrite/flush/index.md +++ b/commands/rewrite/flush/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp rewrite flush` - Flush rewrite rules. +Quick links: Github issues +
    ### DESCRIPTION diff --git a/commands/rewrite/index.md b/commands/rewrite/index.md index 1d09bce2..10296161 100644 --- a/commands/rewrite/index.md +++ b/commands/rewrite/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp rewrite` - Manage rewrite rules. +Quick links: Github issues +
    diff --git a/commands/rewrite/list/index.md b/commands/rewrite/list/index.md index 17d1b7ad..0d5886e3 100644 --- a/commands/rewrite/list/index.md +++ b/commands/rewrite/list/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp rewrite list` - Print current rewrite rules. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/rewrite/structure/index.md b/commands/rewrite/structure/index.md index f894b41c..c147e509 100644 --- a/commands/rewrite/structure/index.md +++ b/commands/rewrite/structure/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp rewrite structure` - Update the permalink structure. +Quick links: Github issues +
    ### DESCRIPTION diff --git a/commands/role/create/index.md b/commands/role/create/index.md index 4bf1cd65..d393f160 100644 --- a/commands/role/create/index.md +++ b/commands/role/create/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp role create` - Create a new role. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/role/delete/index.md b/commands/role/delete/index.md index 493b21b2..4b851408 100644 --- a/commands/role/delete/index.md +++ b/commands/role/delete/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp role delete` - Delete an existing role. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/role/exists/index.md b/commands/role/exists/index.md index d3ecc7da..49fa5d7c 100644 --- a/commands/role/exists/index.md +++ b/commands/role/exists/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp role exists` - Check if a role exists. +Quick links: Github issues +
    ##DESCRIPTION diff --git a/commands/role/index.md b/commands/role/index.md index 1f627caa..c55fc0bb 100644 --- a/commands/role/index.md +++ b/commands/role/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp role` - Manage user roles. +Quick links: Github issues +
    diff --git a/commands/role/list/index.md b/commands/role/list/index.md index 3fdfac82..4364a9cc 100644 --- a/commands/role/list/index.md +++ b/commands/role/list/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp role list` - List all roles. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/role/reset/index.md b/commands/role/reset/index.md index bb017710..edeeb4fb 100644 --- a/commands/role/reset/index.md +++ b/commands/role/reset/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp role reset` - Reset any default role to default capabilities. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/scaffold/_s/index.md b/commands/scaffold/_s/index.md index 52c2833e..556305fa 100644 --- a/commands/scaffold/_s/index.md +++ b/commands/scaffold/_s/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp scaffold _s` - Generate starter code for a theme. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/scaffold/child-theme/index.md b/commands/scaffold/child-theme/index.md index e464bb2c..b5534dee 100644 --- a/commands/scaffold/child-theme/index.md +++ b/commands/scaffold/child-theme/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp scaffold child-theme` - Generate empty child theme. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/scaffold/index.md b/commands/scaffold/index.md index 2a2224c8..ec279f8d 100644 --- a/commands/scaffold/index.md +++ b/commands/scaffold/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp scaffold` - Generate code for post types, taxonomies, etc. +Quick links: Github issues +
    diff --git a/commands/scaffold/plugin-tests/index.md b/commands/scaffold/plugin-tests/index.md index aa0158fc..5667dd0b 100644 --- a/commands/scaffold/plugin-tests/index.md +++ b/commands/scaffold/plugin-tests/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp scaffold plugin-tests` - Generate files needed for running PHPUnit tests. +Quick links: Github issues +
    ### OVERVIEW diff --git a/commands/scaffold/plugin/index.md b/commands/scaffold/plugin/index.md index 7316b728..cdfc9287 100644 --- a/commands/scaffold/plugin/index.md +++ b/commands/scaffold/plugin/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp scaffold plugin` - Generate starter code for a plugin. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/scaffold/post-type/index.md b/commands/scaffold/post-type/index.md index bce18853..da53ee9c 100644 --- a/commands/scaffold/post-type/index.md +++ b/commands/scaffold/post-type/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp scaffold post-type` - Generate PHP code for registering a custom post type. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/scaffold/taxonomy/index.md b/commands/scaffold/taxonomy/index.md index 7748bfb2..9c82ebdb 100644 --- a/commands/scaffold/taxonomy/index.md +++ b/commands/scaffold/taxonomy/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp scaffold taxonomy` - Generate PHP code for registering a custom taxonomy. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/search-replace/index.md b/commands/search-replace/index.md index 149c1025..c153ffbe 100644 --- a/commands/search-replace/index.md +++ b/commands/search-replace/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp search-replace` - Search/replace strings in the database. +Quick links: Github issues +
    ### DESCRIPTION diff --git a/commands/server/index.md b/commands/server/index.md index 59e190c0..c3d119fd 100644 --- a/commands/server/index.md +++ b/commands/server/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp server` - Launch PHP's built-in web server for this specific WordPress installation. +Quick links: Github issues +
    <http://php.net/manual/en/features.commandline.webserver.php> diff --git a/commands/shell/index.md b/commands/shell/index.md index f2ccad96..4ffacfae 100644 --- a/commands/shell/index.md +++ b/commands/shell/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp shell` - Interactive PHP console. +Quick links: Github issues +
    ### DESCRIPTION diff --git a/commands/sidebar/index.md b/commands/sidebar/index.md index 1954bb48..5a241f33 100644 --- a/commands/sidebar/index.md +++ b/commands/sidebar/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp sidebar` - Manage sidebars. +Quick links: Github issues +
    diff --git a/commands/sidebar/list/index.md b/commands/sidebar/list/index.md index 63cf9709..c71a97d2 100644 --- a/commands/sidebar/list/index.md +++ b/commands/sidebar/list/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp sidebar list` - List registered sidebars. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/site/activate/index.md b/commands/site/activate/index.md index d9872162..2a7dc707 100644 --- a/commands/site/activate/index.md +++ b/commands/site/activate/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp site activate` - Activate one or more sites +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/site/archive/index.md b/commands/site/archive/index.md index 66bba967..27d69303 100644 --- a/commands/site/archive/index.md +++ b/commands/site/archive/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp site archive` - Archive one or more sites +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/site/create/index.md b/commands/site/create/index.md index 05160b61..f283d860 100644 --- a/commands/site/create/index.md +++ b/commands/site/create/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp site create` - Create a site in a multisite install. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/site/deactivate/index.md b/commands/site/deactivate/index.md index 0ceb957f..0b9a52d8 100644 --- a/commands/site/deactivate/index.md +++ b/commands/site/deactivate/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp site deactivate` - Deactivate one or more sites +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/site/delete/index.md b/commands/site/delete/index.md index 35cc038c..ea0ef6fd 100644 --- a/commands/site/delete/index.md +++ b/commands/site/delete/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp site delete` - Delete a site in a multisite install. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/site/empty/index.md b/commands/site/empty/index.md index ec6ed889..d454e061 100644 --- a/commands/site/empty/index.md +++ b/commands/site/empty/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp site empty` - Empty a site of its content (posts, comments, and terms). +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/site/index.md b/commands/site/index.md index 802c0f04..2d6e0ee1 100644 --- a/commands/site/index.md +++ b/commands/site/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp site` - Perform site-wide operations. +Quick links: Github issues +
    diff --git a/commands/site/list/index.md b/commands/site/list/index.md index e4add688..a1b44264 100644 --- a/commands/site/list/index.md +++ b/commands/site/list/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp site list` - List all sites in a multisite install. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/site/spam/index.md b/commands/site/spam/index.md index ade28cf2..abd969f6 100644 --- a/commands/site/spam/index.md +++ b/commands/site/spam/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp site spam` - Mark one or more sites as spam +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/site/unarchive/index.md b/commands/site/unarchive/index.md index 2c1cf7cc..ea70df58 100644 --- a/commands/site/unarchive/index.md +++ b/commands/site/unarchive/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp site unarchive` - Unarchive one or more sites +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/site/unspam/index.md b/commands/site/unspam/index.md index 81914379..efb4d57b 100644 --- a/commands/site/unspam/index.md +++ b/commands/site/unspam/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp site unspam` - Remove one or more sites from spam +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/super-admin/add/index.md b/commands/super-admin/add/index.md index b06559fe..1c3b1e1d 100644 --- a/commands/super-admin/add/index.md +++ b/commands/super-admin/add/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp super-admin add` - Grant super-admin privileges to one or more users. +Quick links: Github issues +
    <user>... diff --git a/commands/super-admin/index.md b/commands/super-admin/index.md index 6bb18147..8387046c 100644 --- a/commands/super-admin/index.md +++ b/commands/super-admin/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp super-admin` - List, add, and remove super admins from a network. +Quick links: Github issues +
    diff --git a/commands/super-admin/list/index.md b/commands/super-admin/list/index.md index 85884639..9def70cf 100644 --- a/commands/super-admin/list/index.md +++ b/commands/super-admin/list/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp super-admin list` - Show a list of users with super-admin capabilities. +Quick links: Github issues +
    diff --git a/commands/super-admin/remove/index.md b/commands/super-admin/remove/index.md index 1dd03859..308dd995 100644 --- a/commands/super-admin/remove/index.md +++ b/commands/super-admin/remove/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp super-admin remove` - Revoke super-admin privileges to one or more users. +Quick links: Github issues +
    <user>... diff --git a/commands/taxonomy/get/index.md b/commands/taxonomy/get/index.md index 4c5ef070..ab349a91 100644 --- a/commands/taxonomy/get/index.md +++ b/commands/taxonomy/get/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp taxonomy get` - Get a taxonomy +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/taxonomy/index.md b/commands/taxonomy/index.md index 64aa8ac7..2979ef27 100644 --- a/commands/taxonomy/index.md +++ b/commands/taxonomy/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp taxonomy` - Manage taxonomies. +Quick links: Github issues +
    diff --git a/commands/taxonomy/list/index.md b/commands/taxonomy/list/index.md index 5f5e90be..715acbd7 100644 --- a/commands/taxonomy/list/index.md +++ b/commands/taxonomy/list/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp taxonomy list` - List taxonomies. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/term/create/index.md b/commands/term/create/index.md index 3323f8f2..779a2413 100644 --- a/commands/term/create/index.md +++ b/commands/term/create/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp term create` - Create a term. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/term/delete/index.md b/commands/term/delete/index.md index 74dc5866..46ba3585 100644 --- a/commands/term/delete/index.md +++ b/commands/term/delete/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp term delete` - Delete a term. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/term/generate/index.md b/commands/term/generate/index.md index 4086065b..39a8c060 100644 --- a/commands/term/generate/index.md +++ b/commands/term/generate/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp term generate` - Generate some terms. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/term/get/index.md b/commands/term/get/index.md index b83d2c63..989683a8 100644 --- a/commands/term/get/index.md +++ b/commands/term/get/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp term get` - Get a taxonomy term +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/term/index.md b/commands/term/index.md index d163ca22..7adeb24a 100644 --- a/commands/term/index.md +++ b/commands/term/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp term` - Manage terms. +Quick links: Github issues +
    diff --git a/commands/term/list/index.md b/commands/term/list/index.md index 2bfab642..7078b4ad 100644 --- a/commands/term/list/index.md +++ b/commands/term/list/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp term list` - List terms in a taxonomy. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/term/meta/add/index.md b/commands/term/meta/add/index.md index b29ec730..6a026943 100644 --- a/commands/term/meta/add/index.md +++ b/commands/term/meta/add/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp term meta add` - Add a meta field. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/term/meta/delete/index.md b/commands/term/meta/delete/index.md index 919f34ae..e5c54a5f 100644 --- a/commands/term/meta/delete/index.md +++ b/commands/term/meta/delete/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp term meta delete` - Delete a meta field. +Quick links: Github issues +
    <id> diff --git a/commands/term/meta/get/index.md b/commands/term/meta/get/index.md index 6ad5b33f..0ff85b13 100644 --- a/commands/term/meta/get/index.md +++ b/commands/term/meta/get/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp term meta get` - Get meta field value. +Quick links: Github issues +
    <id> diff --git a/commands/term/meta/index.md b/commands/term/meta/index.md index 4a6e0daf..cf085619 100644 --- a/commands/term/meta/index.md +++ b/commands/term/meta/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp term meta` - Manage term custom fields. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/term/meta/list/index.md b/commands/term/meta/list/index.md index 23fb9f7c..2a33b9f1 100644 --- a/commands/term/meta/list/index.md +++ b/commands/term/meta/list/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp term meta list` - List all metadata associated with an object. +Quick links: Github issues +
    <id> diff --git a/commands/term/meta/update/index.md b/commands/term/meta/update/index.md index e201c8fc..3a683df7 100644 --- a/commands/term/meta/update/index.md +++ b/commands/term/meta/update/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp term meta update` - Update a meta field. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/term/update/index.md b/commands/term/update/index.md index ad58110e..84b8c117 100644 --- a/commands/term/update/index.md +++ b/commands/term/update/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp term update` - Update a term. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/term/url/index.md b/commands/term/url/index.md index cfd6836d..97263d14 100644 --- a/commands/term/url/index.md +++ b/commands/term/url/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp term url` - Get term url +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/theme/activate/index.md b/commands/theme/activate/index.md index 7ff842e5..ef04b14e 100644 --- a/commands/theme/activate/index.md +++ b/commands/theme/activate/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp theme activate` - Activate a theme. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/theme/delete/index.md b/commands/theme/delete/index.md index 96a3140a..07e08bcc 100644 --- a/commands/theme/delete/index.md +++ b/commands/theme/delete/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp theme delete` - Delete a theme. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/theme/disable/index.md b/commands/theme/disable/index.md index 3a0484ee..98042747 100644 --- a/commands/theme/disable/index.md +++ b/commands/theme/disable/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp theme disable` - Disable a theme in a multisite install. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/theme/enable/index.md b/commands/theme/enable/index.md index 9523e478..9998ab54 100644 --- a/commands/theme/enable/index.md +++ b/commands/theme/enable/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp theme enable` - Enable a theme in a multisite install. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/theme/get/index.md b/commands/theme/get/index.md index 0588d3b3..3d0d5d42 100644 --- a/commands/theme/get/index.md +++ b/commands/theme/get/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp theme get` - Get a theme +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/theme/index.md b/commands/theme/index.md index 59a47b47..27d239b1 100644 --- a/commands/theme/index.md +++ b/commands/theme/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp theme` - Manage themes. +Quick links: Github issues +
    diff --git a/commands/theme/install/index.md b/commands/theme/install/index.md index 5305f9ba..b9c9c777 100644 --- a/commands/theme/install/index.md +++ b/commands/theme/install/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp theme install` - Install a theme. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/theme/is-installed/index.md b/commands/theme/is-installed/index.md index 9f310d4e..f294cbfb 100644 --- a/commands/theme/is-installed/index.md +++ b/commands/theme/is-installed/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp theme is-installed` - Check if the theme is installed. +Quick links: Github issues +
    Returns exit code 0 when installed, 1 when uninstalled. diff --git a/commands/theme/list/index.md b/commands/theme/list/index.md index c53273f3..f36822ce 100644 --- a/commands/theme/list/index.md +++ b/commands/theme/list/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp theme list` - Get a list of themes. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/theme/mod/get/index.md b/commands/theme/mod/get/index.md index 69b62b5e..87827a7b 100644 --- a/commands/theme/mod/get/index.md +++ b/commands/theme/mod/get/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp theme mod get` - Get theme mod(s). +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/theme/mod/index.md b/commands/theme/mod/index.md index d58a6b8d..95a2883d 100644 --- a/commands/theme/mod/index.md +++ b/commands/theme/mod/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp theme mod` - Manage theme mods. +Quick links: Github issues +
    diff --git a/commands/theme/mod/remove/index.md b/commands/theme/mod/remove/index.md index 9d0b2b38..df401672 100644 --- a/commands/theme/mod/remove/index.md +++ b/commands/theme/mod/remove/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp theme mod remove` - Remove theme mod(s). +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/theme/mod/set/index.md b/commands/theme/mod/set/index.md index b15d3525..59fe4c00 100644 --- a/commands/theme/mod/set/index.md +++ b/commands/theme/mod/set/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp theme mod set` - Set a theme mod. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/theme/path/index.md b/commands/theme/path/index.md index e076db5e..0af5d500 100644 --- a/commands/theme/path/index.md +++ b/commands/theme/path/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp theme path` - Get the path to a theme or to the theme directory. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/theme/search/index.md b/commands/theme/search/index.md index f98c316a..bb5c0858 100644 --- a/commands/theme/search/index.md +++ b/commands/theme/search/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp theme search` - Search the wordpress.org theme repository. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/theme/status/index.md b/commands/theme/status/index.md index 8b325cf9..4728d342 100644 --- a/commands/theme/status/index.md +++ b/commands/theme/status/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp theme status` - See the status of one or all themes. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/theme/update/index.md b/commands/theme/update/index.md index dff27062..708dac2b 100644 --- a/commands/theme/update/index.md +++ b/commands/theme/update/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp theme update` - Update one or more themes. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/transient/delete-all/index.md b/commands/transient/delete-all/index.md index 9acc84b4..e2c5bf16 100644 --- a/commands/transient/delete-all/index.md +++ b/commands/transient/delete-all/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp transient delete-all` - Delete all transients. +Quick links: Github issues +
    diff --git a/commands/transient/delete-expired/index.md b/commands/transient/delete-expired/index.md index 7f5a356d..75939418 100644 --- a/commands/transient/delete-expired/index.md +++ b/commands/transient/delete-expired/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp transient delete-expired` - Delete all expired transients. +Quick links: Github issues +
    diff --git a/commands/transient/delete/index.md b/commands/transient/delete/index.md index 2893571e..6316222d 100644 --- a/commands/transient/delete/index.md +++ b/commands/transient/delete/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp transient delete` - Delete a transient value. +Quick links: Github issues +
    <key> diff --git a/commands/transient/get/index.md b/commands/transient/get/index.md index ed12239d..c98789b4 100644 --- a/commands/transient/get/index.md +++ b/commands/transient/get/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp transient get` - Get a transient value. +Quick links: Github issues +
    <key> diff --git a/commands/transient/index.md b/commands/transient/index.md index 1bebc090..f86bcd94 100644 --- a/commands/transient/index.md +++ b/commands/transient/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp transient` - Manage transients. +Quick links: Github issues +
    ### EXAMPLES diff --git a/commands/transient/set/index.md b/commands/transient/set/index.md index 9ac1a3e3..62b77c13 100644 --- a/commands/transient/set/index.md +++ b/commands/transient/set/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp transient set` - Set a transient value. <expiration> is the time until expiration, in seconds. +Quick links: Github issues +
    <key> diff --git a/commands/transient/type/index.md b/commands/transient/type/index.md index 6bfc32b8..4fd6fafd 100644 --- a/commands/transient/type/index.md +++ b/commands/transient/type/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp transient type` - See whether the transients API is using an object cache or the options table. +Quick links: Github issues +
    diff --git a/commands/user/add-cap/index.md b/commands/user/add-cap/index.md index 27df4467..629066d8 100644 --- a/commands/user/add-cap/index.md +++ b/commands/user/add-cap/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp user add-cap` - Add a capability for a user. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/user/add-role/index.md b/commands/user/add-role/index.md index 374a52b3..2939e309 100644 --- a/commands/user/add-role/index.md +++ b/commands/user/add-role/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp user add-role` - Add a role for a user. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/user/create/index.md b/commands/user/create/index.md index c770be9f..fe2108c3 100644 --- a/commands/user/create/index.md +++ b/commands/user/create/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp user create` - Create a user. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/user/delete/index.md b/commands/user/delete/index.md index 7cf69c5a..3d95c4a4 100644 --- a/commands/user/delete/index.md +++ b/commands/user/delete/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp user delete` - Delete one or more users from the current site. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/user/generate/index.md b/commands/user/generate/index.md index a4e4de06..23c9be9d 100644 --- a/commands/user/generate/index.md +++ b/commands/user/generate/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp user generate` - Generate users. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/user/get/index.md b/commands/user/get/index.md index 04d66991..fe33814d 100644 --- a/commands/user/get/index.md +++ b/commands/user/get/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp user get` - Get a single user. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/user/import-csv/index.md b/commands/user/import-csv/index.md index 50a1a37b..e8d74960 100644 --- a/commands/user/import-csv/index.md +++ b/commands/user/import-csv/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp user import-csv` - Import users from a CSV file. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/user/index.md b/commands/user/index.md index 1975d69b..9d12bd73 100644 --- a/commands/user/index.md +++ b/commands/user/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp user` - Manage users. +Quick links: Github issues +
    diff --git a/commands/user/list-caps/index.md b/commands/user/list-caps/index.md index 0f653ceb..14ec9de3 100644 --- a/commands/user/list-caps/index.md +++ b/commands/user/list-caps/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp user list-caps` - List all user's capabilities. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/user/list/index.md b/commands/user/list/index.md index d1f8d432..878e091f 100644 --- a/commands/user/list/index.md +++ b/commands/user/list/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp user list` - List users. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/user/meta/add/index.md b/commands/user/meta/add/index.md index 284695af..bc2d32fb 100644 --- a/commands/user/meta/add/index.md +++ b/commands/user/meta/add/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp user meta add` - Add a meta field. +Quick links: Github issues +
    <user> diff --git a/commands/user/meta/delete/index.md b/commands/user/meta/delete/index.md index 20c9d5dd..510cab74 100644 --- a/commands/user/meta/delete/index.md +++ b/commands/user/meta/delete/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp user meta delete` - Delete a meta field. +Quick links: Github issues +
    <user> diff --git a/commands/user/meta/get/index.md b/commands/user/meta/get/index.md index d33f7f9f..3685c9d5 100644 --- a/commands/user/meta/get/index.md +++ b/commands/user/meta/get/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp user meta get` - Get meta field value. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/user/meta/index.md b/commands/user/meta/index.md index e853cb22..8e10359f 100644 --- a/commands/user/meta/index.md +++ b/commands/user/meta/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp user meta` - Manage user custom fields. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/user/meta/list/index.md b/commands/user/meta/list/index.md index f2fae18a..7e6e2a27 100644 --- a/commands/user/meta/list/index.md +++ b/commands/user/meta/list/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp user meta list` - List all metadata associated with an object. +Quick links: Github issues +
    <id> diff --git a/commands/user/meta/update/index.md b/commands/user/meta/update/index.md index 148eccf8..6c45250b 100644 --- a/commands/user/meta/update/index.md +++ b/commands/user/meta/update/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp user meta update` - Update a meta field. +Quick links: Github issues +
    <user> diff --git a/commands/user/remove-cap/index.md b/commands/user/remove-cap/index.md index 0851d61f..7d069d38 100644 --- a/commands/user/remove-cap/index.md +++ b/commands/user/remove-cap/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp user remove-cap` - Remove a user's capability. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/user/remove-role/index.md b/commands/user/remove-role/index.md index 71be34f3..4cbd3c51 100644 --- a/commands/user/remove-role/index.md +++ b/commands/user/remove-role/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp user remove-role` - Remove a user's role. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/user/set-role/index.md b/commands/user/set-role/index.md index 83a81755..f5d9b76f 100644 --- a/commands/user/set-role/index.md +++ b/commands/user/set-role/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp user set-role` - Set the user role (for a particular blog). +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/user/term/add/index.md b/commands/user/term/add/index.md index dd78c3dd..5eec8763 100644 --- a/commands/user/term/add/index.md +++ b/commands/user/term/add/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp user term add` - Add a term. Appends to existing set of terms on the object. +Quick links: Github issues +
    <id> diff --git a/commands/user/term/index.md b/commands/user/term/index.md index fb882d94..11999adf 100644 --- a/commands/user/term/index.md +++ b/commands/user/term/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp user term` - Manage user terms. +Quick links: Github issues +
    ### EXAMPLES diff --git a/commands/user/term/list/index.md b/commands/user/term/list/index.md index bd166c40..48a507b5 100644 --- a/commands/user/term/list/index.md +++ b/commands/user/term/list/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp user term list` - List all terms associated with an object. +Quick links: Github issues +
    <id> diff --git a/commands/user/term/remove/index.md b/commands/user/term/remove/index.md index 07aa9121..fde3e08e 100644 --- a/commands/user/term/remove/index.md +++ b/commands/user/term/remove/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp user term remove` - Remove a term. +Quick links: Github issues +
    <id> diff --git a/commands/user/term/set/index.md b/commands/user/term/set/index.md index b62be261..dbce94d9 100644 --- a/commands/user/term/set/index.md +++ b/commands/user/term/set/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp user term set` - Set terms. Replaces existing terms on the object. +Quick links: Github issues +
    <id> diff --git a/commands/user/update/index.md b/commands/user/update/index.md index 2d8d0201..451ba664 100644 --- a/commands/user/update/index.md +++ b/commands/user/update/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp user update` - Update a user. +Quick links: Github issues +
    ### OPTIONS diff --git a/commands/widget/add/index.md b/commands/widget/add/index.md index 81a974c3..0ab362e0 100644 --- a/commands/widget/add/index.md +++ b/commands/widget/add/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp widget add` - Add a widget to a sidebar. +Quick links: Github issues +
    <name> diff --git a/commands/widget/deactivate/index.md b/commands/widget/deactivate/index.md index 7743ae6d..af9b234c 100644 --- a/commands/widget/deactivate/index.md +++ b/commands/widget/deactivate/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp widget deactivate` - Deactivate one or more widgets from an active sidebar. +Quick links: Github issues +
    <widget-id>... diff --git a/commands/widget/delete/index.md b/commands/widget/delete/index.md index 7ba4e143..322f11c9 100644 --- a/commands/widget/delete/index.md +++ b/commands/widget/delete/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp widget delete` - Delete one or more widgets from a sidebar. +Quick links: Github issues +
    <widget-id>... diff --git a/commands/widget/index.md b/commands/widget/index.md index 17454c71..9dd39d99 100644 --- a/commands/widget/index.md +++ b/commands/widget/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp widget` - Manage sidebar widgets. +Quick links: Github issues +
    ### EXAMPLES diff --git a/commands/widget/list/index.md b/commands/widget/list/index.md index 8832ce38..bcac15f6 100644 --- a/commands/widget/list/index.md +++ b/commands/widget/list/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp widget list` - List widgets associated with a sidebar. +Quick links: Github issues +
    <sidebar-id> diff --git a/commands/widget/move/index.md b/commands/widget/move/index.md index da02117d..c2639f5a 100644 --- a/commands/widget/move/index.md +++ b/commands/widget/move/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp widget move` - Move a widget from one position on a sidebar to another. +Quick links: Github issues +
    <widget-id> diff --git a/commands/widget/update/index.md b/commands/widget/update/index.md index 37be9cb2..4c684a58 100644 --- a/commands/widget/update/index.md +++ b/commands/widget/update/index.md @@ -6,6 +6,8 @@ display_global_parameters: true `wp widget update` - Update a given widget's options. +Quick links: Github issues +
    <widget-id> From 0ca6c9d0038287201a4870a87e714b4a369c31ed Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 12:52:26 -0700 Subject: [PATCH 567/839] Fix command links --- commands/cache/add/index.md | 2 +- commands/cache/decr/index.md | 2 +- commands/cache/delete/index.md | 2 +- commands/cache/flush/index.md | 2 +- commands/cache/get/index.md | 2 +- commands/cache/incr/index.md | 2 +- commands/cache/replace/index.md | 2 +- commands/cache/set/index.md | 2 +- commands/cache/type/index.md | 2 +- commands/cap/add/index.md | 2 +- commands/cap/list/index.md | 2 +- commands/cap/remove/index.md | 2 +- commands/cli/api-dump/index.md | 2 +- commands/cli/check-update/index.md | 2 +- commands/cli/cmd-dump/index.md | 2 +- commands/cli/completions/index.md | 2 +- commands/cli/info/index.md | 2 +- commands/cli/param-dump/index.md | 2 +- commands/cli/update/index.md | 2 +- commands/cli/version/index.md | 2 +- commands/comment/approve/index.md | 2 +- commands/comment/count/index.md | 2 +- commands/comment/create/index.md | 2 +- commands/comment/delete/index.md | 2 +- commands/comment/exists/index.md | 2 +- commands/comment/generate/index.md | 2 +- commands/comment/get/index.md | 2 +- commands/comment/list/index.md | 2 +- commands/comment/meta/add/index.md | 2 +- commands/comment/meta/delete/index.md | 2 +- commands/comment/meta/get/index.md | 2 +- commands/comment/meta/index.md | 2 +- commands/comment/meta/list/index.md | 2 +- commands/comment/meta/update/index.md | 2 +- commands/comment/recount/index.md | 2 +- commands/comment/spam/index.md | 2 +- commands/comment/status/index.md | 2 +- commands/comment/trash/index.md | 2 +- commands/comment/unapprove/index.md | 2 +- commands/comment/unspam/index.md | 2 +- commands/comment/untrash/index.md | 2 +- commands/comment/update/index.md | 2 +- commands/comment/url/index.md | 2 +- commands/core/check-update/index.md | 2 +- commands/core/config/index.md | 2 +- commands/core/download/index.md | 2 +- commands/core/install/index.md | 2 +- commands/core/is-installed/index.md | 2 +- commands/core/language/activate/index.md | 2 +- commands/core/language/index.md | 2 +- commands/core/language/install/index.md | 2 +- commands/core/language/list/index.md | 2 +- commands/core/language/uninstall/index.md | 2 +- commands/core/language/update/index.md | 2 +- commands/core/multisite-convert/index.md | 2 +- commands/core/multisite-install/index.md | 2 +- commands/core/update-db/index.md | 2 +- commands/core/update/index.md | 2 +- commands/core/verify-checksums/index.md | 2 +- commands/core/version/index.md | 2 +- commands/cron/event/delete/index.md | 2 +- commands/cron/event/index.md | 2 +- commands/cron/event/list/index.md | 2 +- commands/cron/event/run/index.md | 2 +- commands/cron/event/schedule/index.md | 2 +- commands/cron/schedule/index.md | 2 +- commands/cron/schedule/list/index.md | 2 +- commands/cron/test/index.md | 2 +- commands/db/cli/index.md | 2 +- commands/db/create/index.md | 2 +- commands/db/drop/index.md | 2 +- commands/db/export/index.md | 2 +- commands/db/import/index.md | 2 +- commands/db/optimize/index.md | 2 +- commands/db/query/index.md | 2 +- commands/db/repair/index.md | 2 +- commands/db/reset/index.md | 2 +- commands/db/tables/index.md | 2 +- commands/media/import/index.md | 2 +- commands/media/regenerate/index.md | 2 +- commands/menu/create/index.md | 2 +- commands/menu/delete/index.md | 2 +- commands/menu/item/add-custom/index.md | 2 +- commands/menu/item/add-post/index.md | 2 +- commands/menu/item/add-term/index.md | 2 +- commands/menu/item/delete/index.md | 2 +- commands/menu/item/index.md | 2 +- commands/menu/item/list/index.md | 2 +- commands/menu/item/update/index.md | 2 +- commands/menu/list/index.md | 2 +- commands/menu/location/assign/index.md | 2 +- commands/menu/location/index.md | 2 +- commands/menu/location/list/index.md | 2 +- commands/menu/location/remove/index.md | 2 +- commands/network/meta/add/index.md | 2 +- commands/network/meta/delete/index.md | 2 +- commands/network/meta/get/index.md | 2 +- commands/network/meta/index.md | 2 +- commands/network/meta/list/index.md | 2 +- commands/network/meta/update/index.md | 2 +- commands/option/add/index.md | 2 +- commands/option/delete/index.md | 2 +- commands/option/get/index.md | 2 +- commands/option/list/index.md | 2 +- commands/option/update/index.md | 2 +- commands/package/browse/index.md | 2 +- commands/package/install/index.md | 2 +- commands/package/list/index.md | 2 +- commands/package/path/index.md | 2 +- commands/package/uninstall/index.md | 2 +- commands/plugin/activate/index.md | 2 +- commands/plugin/deactivate/index.md | 2 +- commands/plugin/delete/index.md | 2 +- commands/plugin/get/index.md | 2 +- commands/plugin/install/index.md | 2 +- commands/plugin/is-installed/index.md | 2 +- commands/plugin/list/index.md | 2 +- commands/plugin/path/index.md | 2 +- commands/plugin/search/index.md | 2 +- commands/plugin/status/index.md | 2 +- commands/plugin/toggle/index.md | 2 +- commands/plugin/uninstall/index.md | 2 +- commands/plugin/update/index.md | 2 +- commands/post-type/get/index.md | 2 +- commands/post-type/list/index.md | 2 +- commands/post/create/index.md | 2 +- commands/post/delete/index.md | 2 +- commands/post/edit/index.md | 2 +- commands/post/generate/index.md | 2 +- commands/post/get/index.md | 2 +- commands/post/list/index.md | 2 +- commands/post/meta/add/index.md | 2 +- commands/post/meta/delete/index.md | 2 +- commands/post/meta/get/index.md | 2 +- commands/post/meta/index.md | 2 +- commands/post/meta/list/index.md | 2 +- commands/post/meta/update/index.md | 2 +- commands/post/term/add/index.md | 2 +- commands/post/term/index.md | 2 +- commands/post/term/list/index.md | 2 +- commands/post/term/remove/index.md | 2 +- commands/post/term/set/index.md | 2 +- commands/post/update/index.md | 2 +- commands/rewrite/flush/index.md | 2 +- commands/rewrite/list/index.md | 2 +- commands/rewrite/structure/index.md | 2 +- commands/role/create/index.md | 2 +- commands/role/delete/index.md | 2 +- commands/role/exists/index.md | 2 +- commands/role/list/index.md | 2 +- commands/role/reset/index.md | 2 +- commands/scaffold/_s/index.md | 2 +- commands/scaffold/child-theme/index.md | 2 +- commands/scaffold/plugin-tests/index.md | 2 +- commands/scaffold/plugin/index.md | 2 +- commands/scaffold/post-type/index.md | 2 +- commands/scaffold/taxonomy/index.md | 2 +- commands/sidebar/list/index.md | 2 +- commands/site/activate/index.md | 2 +- commands/site/archive/index.md | 2 +- commands/site/create/index.md | 2 +- commands/site/deactivate/index.md | 2 +- commands/site/delete/index.md | 2 +- commands/site/empty/index.md | 2 +- commands/site/list/index.md | 2 +- commands/site/spam/index.md | 2 +- commands/site/unarchive/index.md | 2 +- commands/site/unspam/index.md | 2 +- commands/super-admin/add/index.md | 2 +- commands/super-admin/list/index.md | 2 +- commands/super-admin/remove/index.md | 2 +- commands/taxonomy/get/index.md | 2 +- commands/taxonomy/list/index.md | 2 +- commands/term/create/index.md | 2 +- commands/term/delete/index.md | 2 +- commands/term/generate/index.md | 2 +- commands/term/get/index.md | 2 +- commands/term/list/index.md | 2 +- commands/term/meta/add/index.md | 2 +- commands/term/meta/delete/index.md | 2 +- commands/term/meta/get/index.md | 2 +- commands/term/meta/index.md | 2 +- commands/term/meta/list/index.md | 2 +- commands/term/meta/update/index.md | 2 +- commands/term/update/index.md | 2 +- commands/term/url/index.md | 2 +- commands/theme/activate/index.md | 2 +- commands/theme/delete/index.md | 2 +- commands/theme/disable/index.md | 2 +- commands/theme/enable/index.md | 2 +- commands/theme/get/index.md | 2 +- commands/theme/install/index.md | 2 +- commands/theme/is-installed/index.md | 2 +- commands/theme/list/index.md | 2 +- commands/theme/mod/get/index.md | 2 +- commands/theme/mod/index.md | 2 +- commands/theme/mod/remove/index.md | 2 +- commands/theme/mod/set/index.md | 2 +- commands/theme/path/index.md | 2 +- commands/theme/search/index.md | 2 +- commands/theme/status/index.md | 2 +- commands/theme/update/index.md | 2 +- commands/transient/delete-all/index.md | 2 +- commands/transient/delete-expired/index.md | 2 +- commands/transient/delete/index.md | 2 +- commands/transient/get/index.md | 2 +- commands/transient/set/index.md | 2 +- commands/transient/type/index.md | 2 +- commands/user/add-cap/index.md | 2 +- commands/user/add-role/index.md | 2 +- commands/user/create/index.md | 2 +- commands/user/delete/index.md | 2 +- commands/user/generate/index.md | 2 +- commands/user/get/index.md | 2 +- commands/user/import-csv/index.md | 2 +- commands/user/list-caps/index.md | 2 +- commands/user/list/index.md | 2 +- commands/user/meta/add/index.md | 2 +- commands/user/meta/delete/index.md | 2 +- commands/user/meta/get/index.md | 2 +- commands/user/meta/index.md | 2 +- commands/user/meta/list/index.md | 2 +- commands/user/meta/update/index.md | 2 +- commands/user/remove-cap/index.md | 2 +- commands/user/remove-role/index.md | 2 +- commands/user/set-role/index.md | 2 +- commands/user/term/add/index.md | 2 +- commands/user/term/index.md | 2 +- commands/user/term/list/index.md | 2 +- commands/user/term/remove/index.md | 2 +- commands/user/term/set/index.md | 2 +- commands/user/update/index.md | 2 +- commands/widget/add/index.md | 2 +- commands/widget/deactivate/index.md | 2 +- commands/widget/delete/index.md | 2 +- commands/widget/list/index.md | 2 +- commands/widget/move/index.md | 2 +- commands/widget/update/index.md | 2 +- 238 files changed, 238 insertions(+), 238 deletions(-) diff --git a/commands/cache/add/index.md b/commands/cache/add/index.md index 6d730b91..c79c7733 100644 --- a/commands/cache/add/index.md +++ b/commands/cache/add/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp cache add` - Add a value to the object cache. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/cache/decr/index.md b/commands/cache/decr/index.md index c831dd04..1a6fca98 100644 --- a/commands/cache/decr/index.md +++ b/commands/cache/decr/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp cache decr` - Decrement a value in the object cache. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/cache/delete/index.md b/commands/cache/delete/index.md index 194b4e05..a4bab6f5 100644 --- a/commands/cache/delete/index.md +++ b/commands/cache/delete/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp cache delete` - Remove a value from the object cache. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/cache/flush/index.md b/commands/cache/flush/index.md index 8381d2a8..639ed489 100644 --- a/commands/cache/flush/index.md +++ b/commands/cache/flush/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp cache flush` - Flush the object cache. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/cache/get/index.md b/commands/cache/get/index.md index 0d07e94f..2afa8f1b 100644 --- a/commands/cache/get/index.md +++ b/commands/cache/get/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp cache get` - Get a value from the object cache. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/cache/incr/index.md b/commands/cache/incr/index.md index dd788443..9bd01761 100644 --- a/commands/cache/incr/index.md +++ b/commands/cache/incr/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp cache incr` - Increment a value in the object cache. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/cache/replace/index.md b/commands/cache/replace/index.md index f72c0eac..e8ec5414 100644 --- a/commands/cache/replace/index.md +++ b/commands/cache/replace/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp cache replace` - Replace a value in the object cache, if the value already exists. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/cache/set/index.md b/commands/cache/set/index.md index 046403e5..e3bb8ee1 100644 --- a/commands/cache/set/index.md +++ b/commands/cache/set/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp cache set` - Set a value to the object cache, regardless of whether it already exists. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/cache/type/index.md b/commands/cache/type/index.md index 3c916fcc..329690be 100644 --- a/commands/cache/type/index.md +++ b/commands/cache/type/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp cache type` - Attempts to determine which object cache is being used. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/cap/add/index.md b/commands/cap/add/index.md index a12f54ca..820ef818 100644 --- a/commands/cap/add/index.md +++ b/commands/cap/add/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp cap add` - Add capabilities to a given role. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/cap/list/index.md b/commands/cap/list/index.md index ccc74e3a..98589c81 100644 --- a/commands/cap/list/index.md +++ b/commands/cap/list/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp cap list` - List capabilities for a given role. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/cap/remove/index.md b/commands/cap/remove/index.md index a92277cd..89383fb7 100644 --- a/commands/cap/remove/index.md +++ b/commands/cap/remove/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp cap remove` - Remove capabilities from a given role. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/cli/api-dump/index.md b/commands/cli/api-dump/index.md index 6c8aecc9..4056f8a7 100644 --- a/commands/cli/api-dump/index.md +++ b/commands/cli/api-dump/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp cli api-dump` - Dump the list of internal APIs, as JSON. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/cli/check-update/index.md b/commands/cli/check-update/index.md index e4f58fe8..849c6439 100644 --- a/commands/cli/check-update/index.md +++ b/commands/cli/check-update/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp cli check-update` - Check for update via Github API. Returns the available versions if there are updates, or empty if no update available. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/cli/cmd-dump/index.md b/commands/cli/cmd-dump/index.md index 3bf91815..2387a66e 100644 --- a/commands/cli/cmd-dump/index.md +++ b/commands/cli/cmd-dump/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp cli cmd-dump` - Dump the list of installed commands, as JSON. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/cli/completions/index.md b/commands/cli/completions/index.md index cf7943d3..582238b3 100644 --- a/commands/cli/completions/index.md +++ b/commands/cli/completions/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp cli completions` - Generate tab completion strings. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/cli/info/index.md b/commands/cli/info/index.md index 8ed71daa..f02c740a 100644 --- a/commands/cli/info/index.md +++ b/commands/cli/info/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp cli info` - Print various data about the CLI environment. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/cli/param-dump/index.md b/commands/cli/param-dump/index.md index 35886262..f0169530 100644 --- a/commands/cli/param-dump/index.md +++ b/commands/cli/param-dump/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp cli param-dump` - Dump the list of global parameters, as JSON or in var_export format. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/cli/update/index.md b/commands/cli/update/index.md index 5e074336..88f09f7f 100644 --- a/commands/cli/update/index.md +++ b/commands/cli/update/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp cli update` - Fetch most recent update matching the requirements. Returns the available versions if there are updates, or empty if no update available. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/cli/version/index.md b/commands/cli/version/index.md index 13a74664..ba95ad7f 100644 --- a/commands/cli/version/index.md +++ b/commands/cli/version/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp cli version` - Print WP-CLI version. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/comment/approve/index.md b/commands/comment/approve/index.md index df2ae438..988b0365 100644 --- a/commands/comment/approve/index.md +++ b/commands/comment/approve/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp comment approve` - Approve a comment. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/comment/count/index.md b/commands/comment/count/index.md index df786265..5e734c07 100644 --- a/commands/comment/count/index.md +++ b/commands/comment/count/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp comment count` - Count comments, on whole blog or on a given post. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/comment/create/index.md b/commands/comment/create/index.md index 3d61fdbe..b37a1b04 100644 --- a/commands/comment/create/index.md +++ b/commands/comment/create/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp comment create` - Insert a comment. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/comment/delete/index.md b/commands/comment/delete/index.md index 88c9e04f..2efad025 100644 --- a/commands/comment/delete/index.md +++ b/commands/comment/delete/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp comment delete` - Delete a comment. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/comment/exists/index.md b/commands/comment/exists/index.md index 8ac81d95..c2590cfc 100644 --- a/commands/comment/exists/index.md +++ b/commands/comment/exists/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp comment exists` - Verify whether a comment exists. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/comment/generate/index.md b/commands/comment/generate/index.md index c7c0ef4e..f7bc2f36 100644 --- a/commands/comment/generate/index.md +++ b/commands/comment/generate/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp comment generate` - Generate comments. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/comment/get/index.md b/commands/comment/get/index.md index 97034390..733a0ca5 100644 --- a/commands/comment/get/index.md +++ b/commands/comment/get/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp comment get` - Get a single comment. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/comment/list/index.md b/commands/comment/list/index.md index 4f93888d..398c9374 100644 --- a/commands/comment/list/index.md +++ b/commands/comment/list/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp comment list` - Get a list of comments. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/comment/meta/add/index.md b/commands/comment/meta/add/index.md index f48b8cb2..f7163451 100644 --- a/commands/comment/meta/add/index.md +++ b/commands/comment/meta/add/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp comment meta add` - Add a meta field. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/comment/meta/delete/index.md b/commands/comment/meta/delete/index.md index 3ad59f6e..aae8700d 100644 --- a/commands/comment/meta/delete/index.md +++ b/commands/comment/meta/delete/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp comment meta delete` - Delete a meta field. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/comment/meta/get/index.md b/commands/comment/meta/get/index.md index 6bfc011c..517b864a 100644 --- a/commands/comment/meta/get/index.md +++ b/commands/comment/meta/get/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp comment meta get` - Get meta field value. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/comment/meta/index.md b/commands/comment/meta/index.md index f3fbf600..33f4813c 100644 --- a/commands/comment/meta/index.md +++ b/commands/comment/meta/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp comment meta` - Manage comment custom fields. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/comment/meta/list/index.md b/commands/comment/meta/list/index.md index e476e5c3..bd4ddee2 100644 --- a/commands/comment/meta/list/index.md +++ b/commands/comment/meta/list/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp comment meta list` - List all metadata associated with an object. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/comment/meta/update/index.md b/commands/comment/meta/update/index.md index ab4de67a..aac00234 100644 --- a/commands/comment/meta/update/index.md +++ b/commands/comment/meta/update/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp comment meta update` - Update a meta field. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/comment/recount/index.md b/commands/comment/recount/index.md index 8663ef1e..a5237521 100644 --- a/commands/comment/recount/index.md +++ b/commands/comment/recount/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp comment recount` - Recount the comment_count value for one or more posts. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/comment/spam/index.md b/commands/comment/spam/index.md index 285f8b83..48a37b7c 100644 --- a/commands/comment/spam/index.md +++ b/commands/comment/spam/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp comment spam` - Spam a comment. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/comment/status/index.md b/commands/comment/status/index.md index f21e88f6..e857436d 100644 --- a/commands/comment/status/index.md +++ b/commands/comment/status/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp comment status` - Get status of a comment. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/comment/trash/index.md b/commands/comment/trash/index.md index 3a80f641..6b7d0cd4 100644 --- a/commands/comment/trash/index.md +++ b/commands/comment/trash/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp comment trash` - Trash a comment. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/comment/unapprove/index.md b/commands/comment/unapprove/index.md index bab4bae3..00f09da3 100644 --- a/commands/comment/unapprove/index.md +++ b/commands/comment/unapprove/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp comment unapprove` - Unapprove a comment. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/comment/unspam/index.md b/commands/comment/unspam/index.md index 10d90ec7..9cae7644 100644 --- a/commands/comment/unspam/index.md +++ b/commands/comment/unspam/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp comment unspam` - Unspam a comment. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/comment/untrash/index.md b/commands/comment/untrash/index.md index 86e970d0..672bb111 100644 --- a/commands/comment/untrash/index.md +++ b/commands/comment/untrash/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp comment untrash` - Untrash a comment. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/comment/update/index.md b/commands/comment/update/index.md index 5aab4496..8ac1eefb 100644 --- a/commands/comment/update/index.md +++ b/commands/comment/update/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp comment update` - Update one or more comments. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/comment/url/index.md b/commands/comment/url/index.md index b892e9f1..29ecef2f 100644 --- a/commands/comment/url/index.md +++ b/commands/comment/url/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp comment url` - Get comment url -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/core/check-update/index.md b/commands/core/check-update/index.md index e0d9e64d..ad0e4494 100644 --- a/commands/core/check-update/index.md +++ b/commands/core/check-update/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp core check-update` - Check for update via Version Check API. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/core/config/index.md b/commands/core/config/index.md index 8815ab82..15f7e459 100644 --- a/commands/core/config/index.md +++ b/commands/core/config/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp core config` - Generate a wp-config.php file. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/core/download/index.md b/commands/core/download/index.md index c674a228..72926fb6 100644 --- a/commands/core/download/index.md +++ b/commands/core/download/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp core download` - Download core WordPress files. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/core/install/index.md b/commands/core/install/index.md index bc609439..16f16b84 100644 --- a/commands/core/install/index.md +++ b/commands/core/install/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp core install` - Create the WordPress tables in the database. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/core/is-installed/index.md b/commands/core/is-installed/index.md index c50ccae8..da636c2f 100644 --- a/commands/core/is-installed/index.md +++ b/commands/core/is-installed/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp core is-installed` - Determine if the WordPress tables are installed. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/core/language/activate/index.md b/commands/core/language/activate/index.md index 42dbcde9..34ca5004 100644 --- a/commands/core/language/activate/index.md +++ b/commands/core/language/activate/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp core language activate` - Activate a given language. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/core/language/index.md b/commands/core/language/index.md index 96f86c12..a92e0643 100644 --- a/commands/core/language/index.md +++ b/commands/core/language/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp core language` - -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/core/language/install/index.md b/commands/core/language/install/index.md index 8a7e1c38..4697e4cf 100644 --- a/commands/core/language/install/index.md +++ b/commands/core/language/install/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp core language install` - Install a given language. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/core/language/list/index.md b/commands/core/language/list/index.md index 3c088374..442755a4 100644 --- a/commands/core/language/list/index.md +++ b/commands/core/language/list/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp core language list` - List all languages available. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/core/language/uninstall/index.md b/commands/core/language/uninstall/index.md index c6fa1647..8b4bc0d9 100644 --- a/commands/core/language/uninstall/index.md +++ b/commands/core/language/uninstall/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp core language uninstall` - Uninstall a given language. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/core/language/update/index.md b/commands/core/language/update/index.md index 62acbc33..4376ae3e 100644 --- a/commands/core/language/update/index.md +++ b/commands/core/language/update/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp core language update` - Updates the active translation of core, plugins, and themes. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/core/multisite-convert/index.md b/commands/core/multisite-convert/index.md index 1f2fbc05..5c9f3bd5 100644 --- a/commands/core/multisite-convert/index.md +++ b/commands/core/multisite-convert/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp core multisite-convert` - Transform a single-site install into a multi-site install. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/core/multisite-install/index.md b/commands/core/multisite-install/index.md index f1572467..4984da34 100644 --- a/commands/core/multisite-install/index.md +++ b/commands/core/multisite-install/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp core multisite-install` - Install multisite from scratch. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/core/update-db/index.md b/commands/core/update-db/index.md index 39ebfd17..d5dea3fa 100644 --- a/commands/core/update-db/index.md +++ b/commands/core/update-db/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp core update-db` - Update the WordPress database. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/core/update/index.md b/commands/core/update/index.md index fec55874..44946352 100644 --- a/commands/core/update/index.md +++ b/commands/core/update/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp core update` - Update WordPress. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/core/verify-checksums/index.md b/commands/core/verify-checksums/index.md index 552cea6a..48854268 100644 --- a/commands/core/verify-checksums/index.md +++ b/commands/core/verify-checksums/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp core verify-checksums` - Verify WordPress files against WordPress.org's checksums. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/core/version/index.md b/commands/core/version/index.md index bee6dc8b..24c07599 100644 --- a/commands/core/version/index.md +++ b/commands/core/version/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp core version` - Display the WordPress version. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/cron/event/delete/index.md b/commands/cron/event/delete/index.md index 39c9121c..09d2413d 100644 --- a/commands/cron/event/delete/index.md +++ b/commands/cron/event/delete/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp cron event delete` - Delete the next scheduled cron event for the given hook. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/cron/event/index.md b/commands/cron/event/index.md index 44276057..f18be2ed 100644 --- a/commands/cron/event/index.md +++ b/commands/cron/event/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp cron event` - Manage WP-Cron events. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/cron/event/list/index.md b/commands/cron/event/list/index.md index 6852fe61..ed7aeed0 100644 --- a/commands/cron/event/list/index.md +++ b/commands/cron/event/list/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp cron event list` - List scheduled cron events. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/cron/event/run/index.md b/commands/cron/event/run/index.md index 3e413d58..044afaf1 100644 --- a/commands/cron/event/run/index.md +++ b/commands/cron/event/run/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp cron event run` - Run the next scheduled cron event for the given hook. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/cron/event/schedule/index.md b/commands/cron/event/schedule/index.md index 796225f0..b22bab0c 100644 --- a/commands/cron/event/schedule/index.md +++ b/commands/cron/event/schedule/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp cron event schedule` - Schedule a new cron event. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/cron/schedule/index.md b/commands/cron/schedule/index.md index f92c7def..f58992d8 100644 --- a/commands/cron/schedule/index.md +++ b/commands/cron/schedule/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp cron schedule` - Manage WP-Cron schedules. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/cron/schedule/list/index.md b/commands/cron/schedule/list/index.md index 401025cf..39827926 100644 --- a/commands/cron/schedule/list/index.md +++ b/commands/cron/schedule/list/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp cron schedule list` - List available cron schedules. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/cron/test/index.md b/commands/cron/test/index.md index f613d3a3..a74d22fc 100644 --- a/commands/cron/test/index.md +++ b/commands/cron/test/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp cron test` - Test the WP Cron spawning system and report back its status. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/db/cli/index.md b/commands/db/cli/index.md index c52563a7..c13460fc 100644 --- a/commands/db/cli/index.md +++ b/commands/db/cli/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp db cli` - Open a mysql console using the WordPress credentials. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/db/create/index.md b/commands/db/create/index.md index dd50689c..f9a98fbf 100644 --- a/commands/db/create/index.md +++ b/commands/db/create/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp db create` - Create the database, as specified in wp-config.php -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/db/drop/index.md b/commands/db/drop/index.md index 921a55da..c508d01b 100644 --- a/commands/db/drop/index.md +++ b/commands/db/drop/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp db drop` - Delete the database. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/db/export/index.md b/commands/db/export/index.md index e7d8340b..ba041d2e 100644 --- a/commands/db/export/index.md +++ b/commands/db/export/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp db export` - Exports the database to a file or to STDOUT. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/db/import/index.md b/commands/db/import/index.md index 9f6cf829..8d16709e 100644 --- a/commands/db/import/index.md +++ b/commands/db/import/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp db import` - Import database from a file or from STDIN. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/db/optimize/index.md b/commands/db/optimize/index.md index 9bd23ed1..c5605908 100644 --- a/commands/db/optimize/index.md +++ b/commands/db/optimize/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp db optimize` - Optimize the database. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/db/query/index.md b/commands/db/query/index.md index 9d609ebc..9d4bbdad 100644 --- a/commands/db/query/index.md +++ b/commands/db/query/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp db query` - Execute a query against the database. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/db/repair/index.md b/commands/db/repair/index.md index 2e08d5d8..ccd1d05b 100644 --- a/commands/db/repair/index.md +++ b/commands/db/repair/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp db repair` - Repair the database. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/db/reset/index.md b/commands/db/reset/index.md index fa370ded..6054dfe0 100644 --- a/commands/db/reset/index.md +++ b/commands/db/reset/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp db reset` - Remove all tables from the database. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/db/tables/index.md b/commands/db/tables/index.md index a9f55b2d..e3667ff7 100644 --- a/commands/db/tables/index.md +++ b/commands/db/tables/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp db tables` - List the database tables. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/media/import/index.md b/commands/media/import/index.md index 6b46ad30..a23d3dab 100644 --- a/commands/media/import/index.md +++ b/commands/media/import/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp media import` - Create attachments from local files or from URLs. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/media/regenerate/index.md b/commands/media/regenerate/index.md index 03a51080..efacf0ec 100644 --- a/commands/media/regenerate/index.md +++ b/commands/media/regenerate/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp media regenerate` - Regenerate thumbnail(s). -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/menu/create/index.md b/commands/menu/create/index.md index f3044773..692ea5cf 100644 --- a/commands/menu/create/index.md +++ b/commands/menu/create/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp menu create` - Create a new menu -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/menu/delete/index.md b/commands/menu/delete/index.md index 62b9dcec..d49699d8 100644 --- a/commands/menu/delete/index.md +++ b/commands/menu/delete/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp menu delete` - Delete one or more menus -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/menu/item/add-custom/index.md b/commands/menu/item/add-custom/index.md index 0b9230ab..91e0d2a2 100644 --- a/commands/menu/item/add-custom/index.md +++ b/commands/menu/item/add-custom/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp menu item add-custom` - Add a custom menu item -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/menu/item/add-post/index.md b/commands/menu/item/add-post/index.md index fbc23c26..dc509b98 100644 --- a/commands/menu/item/add-post/index.md +++ b/commands/menu/item/add-post/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp menu item add-post` - Add a post as a menu item -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/menu/item/add-term/index.md b/commands/menu/item/add-term/index.md index 331826b1..69f14774 100644 --- a/commands/menu/item/add-term/index.md +++ b/commands/menu/item/add-term/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp menu item add-term` - Add a taxonomy term as a menu item -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/menu/item/delete/index.md b/commands/menu/item/delete/index.md index 331738d7..f7d430c7 100644 --- a/commands/menu/item/delete/index.md +++ b/commands/menu/item/delete/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp menu item delete` - Delete one or more items from a menu -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/menu/item/index.md b/commands/menu/item/index.md index e8ba50c8..710dc41e 100644 --- a/commands/menu/item/index.md +++ b/commands/menu/item/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp menu item` - List, add, and delete items associated with a menu -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/menu/item/list/index.md b/commands/menu/item/list/index.md index fc1ba86e..24bff6e7 100644 --- a/commands/menu/item/list/index.md +++ b/commands/menu/item/list/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp menu item list` - Get a list of items associated with a menu -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/menu/item/update/index.md b/commands/menu/item/update/index.md index 36b7b6d3..b28f41e4 100644 --- a/commands/menu/item/update/index.md +++ b/commands/menu/item/update/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp menu item update` - Update a menu item -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/menu/list/index.md b/commands/menu/list/index.md index e598656a..5550a1d1 100644 --- a/commands/menu/list/index.md +++ b/commands/menu/list/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp menu list` - Get a list of menus. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/menu/location/assign/index.md b/commands/menu/location/assign/index.md index 1a4ee7a7..6dc30508 100644 --- a/commands/menu/location/assign/index.md +++ b/commands/menu/location/assign/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp menu location assign` - Assign a location to a menu -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/menu/location/index.md b/commands/menu/location/index.md index 7f078b1a..478803a2 100644 --- a/commands/menu/location/index.md +++ b/commands/menu/location/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp menu location` - Manage a menu's assignment to locations. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/menu/location/list/index.md b/commands/menu/location/list/index.md index 12aa0f1f..49636f90 100644 --- a/commands/menu/location/list/index.md +++ b/commands/menu/location/list/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp menu location list` - List locations for the current theme. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/menu/location/remove/index.md b/commands/menu/location/remove/index.md index 331771c6..a080d30c 100644 --- a/commands/menu/location/remove/index.md +++ b/commands/menu/location/remove/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp menu location remove` - Remove a location from a menu -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/network/meta/add/index.md b/commands/network/meta/add/index.md index 977ff513..f7e563a9 100644 --- a/commands/network/meta/add/index.md +++ b/commands/network/meta/add/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp network meta add` - Add a meta field. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/network/meta/delete/index.md b/commands/network/meta/delete/index.md index 215ca1b5..19148438 100644 --- a/commands/network/meta/delete/index.md +++ b/commands/network/meta/delete/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp network meta delete` - Delete a meta field. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/network/meta/get/index.md b/commands/network/meta/get/index.md index 457d0614..a5bd10ae 100644 --- a/commands/network/meta/get/index.md +++ b/commands/network/meta/get/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp network meta get` - Get meta field value. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/network/meta/index.md b/commands/network/meta/index.md index 9f9534ab..c2ab2188 100644 --- a/commands/network/meta/index.md +++ b/commands/network/meta/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp network meta` - Manage network custom fields. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/network/meta/list/index.md b/commands/network/meta/list/index.md index 031a92ab..fb6f69ef 100644 --- a/commands/network/meta/list/index.md +++ b/commands/network/meta/list/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp network meta list` - List all metadata associated with an object. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/network/meta/update/index.md b/commands/network/meta/update/index.md index 36b16698..66f379d8 100644 --- a/commands/network/meta/update/index.md +++ b/commands/network/meta/update/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp network meta update` - Update a meta field. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/option/add/index.md b/commands/option/add/index.md index e7d595ce..7f18ed60 100644 --- a/commands/option/add/index.md +++ b/commands/option/add/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp option add` - Add an option. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/option/delete/index.md b/commands/option/delete/index.md index 0b687528..9bda0231 100644 --- a/commands/option/delete/index.md +++ b/commands/option/delete/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp option delete` - Delete an option. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/option/get/index.md b/commands/option/get/index.md index 55f68a49..9cd018bb 100644 --- a/commands/option/get/index.md +++ b/commands/option/get/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp option get` - Get an option. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/option/list/index.md b/commands/option/list/index.md index 72328ee6..2e6d1080 100644 --- a/commands/option/list/index.md +++ b/commands/option/list/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp option list` - List options. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/option/update/index.md b/commands/option/update/index.md index 5ba49035..15f0787b 100644 --- a/commands/option/update/index.md +++ b/commands/option/update/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp option update` - Update an option. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/package/browse/index.md b/commands/package/browse/index.md index c8f3c133..6c9f241c 100644 --- a/commands/package/browse/index.md +++ b/commands/package/browse/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp package browse` - Browse WP-CLI packages available for installation. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/package/install/index.md b/commands/package/install/index.md index 3a51e813..f1652e75 100644 --- a/commands/package/install/index.md +++ b/commands/package/install/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp package install` - Install a WP-CLI package. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/package/list/index.md b/commands/package/list/index.md index 1729f223..5d8c9630 100644 --- a/commands/package/list/index.md +++ b/commands/package/list/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp package list` - List installed WP-CLI packages. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/package/path/index.md b/commands/package/path/index.md index 6f11eeb7..54f9a133 100644 --- a/commands/package/path/index.md +++ b/commands/package/path/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp package path` - Get the path to an installed WP-CLI package, or the package directory. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/package/uninstall/index.md b/commands/package/uninstall/index.md index c920bc78..eda22b30 100644 --- a/commands/package/uninstall/index.md +++ b/commands/package/uninstall/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp package uninstall` - Uninstall a WP-CLI package. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/plugin/activate/index.md b/commands/plugin/activate/index.md index 3d3b6c20..562a5b33 100644 --- a/commands/plugin/activate/index.md +++ b/commands/plugin/activate/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp plugin activate` - Activate a plugin. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/plugin/deactivate/index.md b/commands/plugin/deactivate/index.md index 2ef328bc..627b24b7 100644 --- a/commands/plugin/deactivate/index.md +++ b/commands/plugin/deactivate/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp plugin deactivate` - Deactivate a plugin. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/plugin/delete/index.md b/commands/plugin/delete/index.md index cec58e50..5a375fb8 100644 --- a/commands/plugin/delete/index.md +++ b/commands/plugin/delete/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp plugin delete` - Delete plugin files without deactivating or uninstalling. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/plugin/get/index.md b/commands/plugin/get/index.md index 023654ce..6adbe9e1 100644 --- a/commands/plugin/get/index.md +++ b/commands/plugin/get/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp plugin get` - Get a plugin. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/plugin/install/index.md b/commands/plugin/install/index.md index 82e6fd8c..7f72c43e 100644 --- a/commands/plugin/install/index.md +++ b/commands/plugin/install/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp plugin install` - Install a plugin. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/plugin/is-installed/index.md b/commands/plugin/is-installed/index.md index c9b5f33a..33fd2254 100644 --- a/commands/plugin/is-installed/index.md +++ b/commands/plugin/is-installed/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp plugin is-installed` - Check if the plugin is installed. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/plugin/list/index.md b/commands/plugin/list/index.md index adba408e..07fc530a 100644 --- a/commands/plugin/list/index.md +++ b/commands/plugin/list/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp plugin list` - Get a list of plugins. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/plugin/path/index.md b/commands/plugin/path/index.md index 298f04b5..9ee2a864 100644 --- a/commands/plugin/path/index.md +++ b/commands/plugin/path/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp plugin path` - Get the path to a plugin or to the plugin directory. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/plugin/search/index.md b/commands/plugin/search/index.md index 5ec2a538..cab0a638 100644 --- a/commands/plugin/search/index.md +++ b/commands/plugin/search/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp plugin search` - Search the wordpress.org plugin repository. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/plugin/status/index.md b/commands/plugin/status/index.md index cdb51a18..28ff0667 100644 --- a/commands/plugin/status/index.md +++ b/commands/plugin/status/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp plugin status` - See the status of one or all plugins. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/plugin/toggle/index.md b/commands/plugin/toggle/index.md index 8fb5c1ff..bcf9e0a2 100644 --- a/commands/plugin/toggle/index.md +++ b/commands/plugin/toggle/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp plugin toggle` - Toggle a plugin's activation state. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/plugin/uninstall/index.md b/commands/plugin/uninstall/index.md index 7a03498c..5e0498ba 100644 --- a/commands/plugin/uninstall/index.md +++ b/commands/plugin/uninstall/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp plugin uninstall` - Uninstall a plugin. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/plugin/update/index.md b/commands/plugin/update/index.md index 40409b2f..38c3a85f 100644 --- a/commands/plugin/update/index.md +++ b/commands/plugin/update/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp plugin update` - Update one or more plugins. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/post-type/get/index.md b/commands/post-type/get/index.md index 69d4d232..8249e769 100644 --- a/commands/post-type/get/index.md +++ b/commands/post-type/get/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp post-type get` - Get a post type -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/post-type/list/index.md b/commands/post-type/list/index.md index aad8409e..00f93e21 100644 --- a/commands/post-type/list/index.md +++ b/commands/post-type/list/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp post-type list` - List post types. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/post/create/index.md b/commands/post/create/index.md index f322e21f..ac9a9cd8 100644 --- a/commands/post/create/index.md +++ b/commands/post/create/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp post create` - Create a post. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/post/delete/index.md b/commands/post/delete/index.md index 76937424..57875193 100644 --- a/commands/post/delete/index.md +++ b/commands/post/delete/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp post delete` - Delete a post by ID. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/post/edit/index.md b/commands/post/edit/index.md index 28a4e2f3..765f854c 100644 --- a/commands/post/edit/index.md +++ b/commands/post/edit/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp post edit` - Launch system editor to edit post content. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/post/generate/index.md b/commands/post/generate/index.md index e4110fac..16fbf7ba 100644 --- a/commands/post/generate/index.md +++ b/commands/post/generate/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp post generate` - Generate some posts. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/post/get/index.md b/commands/post/get/index.md index e1ef32a0..9cfda15e 100644 --- a/commands/post/get/index.md +++ b/commands/post/get/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp post get` - Get a post's content by ID. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/post/list/index.md b/commands/post/list/index.md index 65f78095..d7654816 100644 --- a/commands/post/list/index.md +++ b/commands/post/list/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp post list` - Get a list of posts. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/post/meta/add/index.md b/commands/post/meta/add/index.md index 70aef8b8..de8e67db 100644 --- a/commands/post/meta/add/index.md +++ b/commands/post/meta/add/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp post meta add` - Add a meta field. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/post/meta/delete/index.md b/commands/post/meta/delete/index.md index 4534ead3..17dd4566 100644 --- a/commands/post/meta/delete/index.md +++ b/commands/post/meta/delete/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp post meta delete` - Delete a meta field. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/post/meta/get/index.md b/commands/post/meta/get/index.md index d05c0205..e2043e33 100644 --- a/commands/post/meta/get/index.md +++ b/commands/post/meta/get/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp post meta get` - Get meta field value. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/post/meta/index.md b/commands/post/meta/index.md index 44a2ab02..3995a9c5 100644 --- a/commands/post/meta/index.md +++ b/commands/post/meta/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp post meta` - Manage post custom fields. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/post/meta/list/index.md b/commands/post/meta/list/index.md index 263ae137..32522fb5 100644 --- a/commands/post/meta/list/index.md +++ b/commands/post/meta/list/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp post meta list` - List all metadata associated with an object. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/post/meta/update/index.md b/commands/post/meta/update/index.md index ba2cf9d3..6beb719f 100644 --- a/commands/post/meta/update/index.md +++ b/commands/post/meta/update/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp post meta update` - Update a meta field. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/post/term/add/index.md b/commands/post/term/add/index.md index 36711b9d..dfb2337f 100644 --- a/commands/post/term/add/index.md +++ b/commands/post/term/add/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp post term add` - Add a term. Appends to existing set of terms on the object. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/post/term/index.md b/commands/post/term/index.md index 8aed196a..2e460462 100644 --- a/commands/post/term/index.md +++ b/commands/post/term/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp post term` - Manage post terms. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/post/term/list/index.md b/commands/post/term/list/index.md index a34cfa21..8c380134 100644 --- a/commands/post/term/list/index.md +++ b/commands/post/term/list/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp post term list` - List all terms associated with an object. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/post/term/remove/index.md b/commands/post/term/remove/index.md index 5faf9854..6cd4aa1d 100644 --- a/commands/post/term/remove/index.md +++ b/commands/post/term/remove/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp post term remove` - Remove a term. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/post/term/set/index.md b/commands/post/term/set/index.md index 1e44a991..bbe043cc 100644 --- a/commands/post/term/set/index.md +++ b/commands/post/term/set/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp post term set` - Set terms. Replaces existing terms on the object. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/post/update/index.md b/commands/post/update/index.md index b1526c85..2fb60325 100644 --- a/commands/post/update/index.md +++ b/commands/post/update/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp post update` - Update one or more posts. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/rewrite/flush/index.md b/commands/rewrite/flush/index.md index 855887d8..10297be4 100644 --- a/commands/rewrite/flush/index.md +++ b/commands/rewrite/flush/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp rewrite flush` - Flush rewrite rules. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/rewrite/list/index.md b/commands/rewrite/list/index.md index 0d5886e3..bf7da52d 100644 --- a/commands/rewrite/list/index.md +++ b/commands/rewrite/list/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp rewrite list` - Print current rewrite rules. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/rewrite/structure/index.md b/commands/rewrite/structure/index.md index c147e509..693f966b 100644 --- a/commands/rewrite/structure/index.md +++ b/commands/rewrite/structure/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp rewrite structure` - Update the permalink structure. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/role/create/index.md b/commands/role/create/index.md index d393f160..f141397c 100644 --- a/commands/role/create/index.md +++ b/commands/role/create/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp role create` - Create a new role. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/role/delete/index.md b/commands/role/delete/index.md index 4b851408..5bdb3412 100644 --- a/commands/role/delete/index.md +++ b/commands/role/delete/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp role delete` - Delete an existing role. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/role/exists/index.md b/commands/role/exists/index.md index 49fa5d7c..b897e429 100644 --- a/commands/role/exists/index.md +++ b/commands/role/exists/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp role exists` - Check if a role exists. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/role/list/index.md b/commands/role/list/index.md index 4364a9cc..21c32244 100644 --- a/commands/role/list/index.md +++ b/commands/role/list/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp role list` - List all roles. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/role/reset/index.md b/commands/role/reset/index.md index edeeb4fb..77b26bd3 100644 --- a/commands/role/reset/index.md +++ b/commands/role/reset/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp role reset` - Reset any default role to default capabilities. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/scaffold/_s/index.md b/commands/scaffold/_s/index.md index 556305fa..1fa62f24 100644 --- a/commands/scaffold/_s/index.md +++ b/commands/scaffold/_s/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp scaffold _s` - Generate starter code for a theme. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/scaffold/child-theme/index.md b/commands/scaffold/child-theme/index.md index b5534dee..0efba1e9 100644 --- a/commands/scaffold/child-theme/index.md +++ b/commands/scaffold/child-theme/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp scaffold child-theme` - Generate empty child theme. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/scaffold/plugin-tests/index.md b/commands/scaffold/plugin-tests/index.md index 5667dd0b..4f26caeb 100644 --- a/commands/scaffold/plugin-tests/index.md +++ b/commands/scaffold/plugin-tests/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp scaffold plugin-tests` - Generate files needed for running PHPUnit tests. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/scaffold/plugin/index.md b/commands/scaffold/plugin/index.md index cdfc9287..045d7425 100644 --- a/commands/scaffold/plugin/index.md +++ b/commands/scaffold/plugin/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp scaffold plugin` - Generate starter code for a plugin. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/scaffold/post-type/index.md b/commands/scaffold/post-type/index.md index da53ee9c..0c8f615e 100644 --- a/commands/scaffold/post-type/index.md +++ b/commands/scaffold/post-type/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp scaffold post-type` - Generate PHP code for registering a custom post type. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/scaffold/taxonomy/index.md b/commands/scaffold/taxonomy/index.md index 9c82ebdb..f3392beb 100644 --- a/commands/scaffold/taxonomy/index.md +++ b/commands/scaffold/taxonomy/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp scaffold taxonomy` - Generate PHP code for registering a custom taxonomy. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/sidebar/list/index.md b/commands/sidebar/list/index.md index c71a97d2..cf2e3567 100644 --- a/commands/sidebar/list/index.md +++ b/commands/sidebar/list/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp sidebar list` - List registered sidebars. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/site/activate/index.md b/commands/site/activate/index.md index 2a7dc707..edba8283 100644 --- a/commands/site/activate/index.md +++ b/commands/site/activate/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp site activate` - Activate one or more sites -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/site/archive/index.md b/commands/site/archive/index.md index 27d69303..8d593974 100644 --- a/commands/site/archive/index.md +++ b/commands/site/archive/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp site archive` - Archive one or more sites -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/site/create/index.md b/commands/site/create/index.md index f283d860..fb2f6a4e 100644 --- a/commands/site/create/index.md +++ b/commands/site/create/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp site create` - Create a site in a multisite install. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/site/deactivate/index.md b/commands/site/deactivate/index.md index 0b9a52d8..817959fa 100644 --- a/commands/site/deactivate/index.md +++ b/commands/site/deactivate/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp site deactivate` - Deactivate one or more sites -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/site/delete/index.md b/commands/site/delete/index.md index ea0ef6fd..da884737 100644 --- a/commands/site/delete/index.md +++ b/commands/site/delete/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp site delete` - Delete a site in a multisite install. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/site/empty/index.md b/commands/site/empty/index.md index d454e061..d6394c22 100644 --- a/commands/site/empty/index.md +++ b/commands/site/empty/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp site empty` - Empty a site of its content (posts, comments, and terms). -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/site/list/index.md b/commands/site/list/index.md index a1b44264..b60b034b 100644 --- a/commands/site/list/index.md +++ b/commands/site/list/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp site list` - List all sites in a multisite install. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/site/spam/index.md b/commands/site/spam/index.md index abd969f6..b408db5d 100644 --- a/commands/site/spam/index.md +++ b/commands/site/spam/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp site spam` - Mark one or more sites as spam -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/site/unarchive/index.md b/commands/site/unarchive/index.md index ea70df58..8c49298d 100644 --- a/commands/site/unarchive/index.md +++ b/commands/site/unarchive/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp site unarchive` - Unarchive one or more sites -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/site/unspam/index.md b/commands/site/unspam/index.md index efb4d57b..ed7e775b 100644 --- a/commands/site/unspam/index.md +++ b/commands/site/unspam/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp site unspam` - Remove one or more sites from spam -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/super-admin/add/index.md b/commands/super-admin/add/index.md index 1c3b1e1d..1963cb4a 100644 --- a/commands/super-admin/add/index.md +++ b/commands/super-admin/add/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp super-admin add` - Grant super-admin privileges to one or more users. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/super-admin/list/index.md b/commands/super-admin/list/index.md index 9def70cf..f3384661 100644 --- a/commands/super-admin/list/index.md +++ b/commands/super-admin/list/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp super-admin list` - Show a list of users with super-admin capabilities. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/super-admin/remove/index.md b/commands/super-admin/remove/index.md index 308dd995..27e792a3 100644 --- a/commands/super-admin/remove/index.md +++ b/commands/super-admin/remove/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp super-admin remove` - Revoke super-admin privileges to one or more users. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/taxonomy/get/index.md b/commands/taxonomy/get/index.md index ab349a91..30b1ed17 100644 --- a/commands/taxonomy/get/index.md +++ b/commands/taxonomy/get/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp taxonomy get` - Get a taxonomy -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/taxonomy/list/index.md b/commands/taxonomy/list/index.md index 715acbd7..d55e8439 100644 --- a/commands/taxonomy/list/index.md +++ b/commands/taxonomy/list/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp taxonomy list` - List taxonomies. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/term/create/index.md b/commands/term/create/index.md index 779a2413..1ef6fa3d 100644 --- a/commands/term/create/index.md +++ b/commands/term/create/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp term create` - Create a term. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/term/delete/index.md b/commands/term/delete/index.md index 46ba3585..eb3bfc96 100644 --- a/commands/term/delete/index.md +++ b/commands/term/delete/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp term delete` - Delete a term. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/term/generate/index.md b/commands/term/generate/index.md index 39a8c060..105ebd6b 100644 --- a/commands/term/generate/index.md +++ b/commands/term/generate/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp term generate` - Generate some terms. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/term/get/index.md b/commands/term/get/index.md index 989683a8..1678dabb 100644 --- a/commands/term/get/index.md +++ b/commands/term/get/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp term get` - Get a taxonomy term -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/term/list/index.md b/commands/term/list/index.md index 7078b4ad..745d5e7f 100644 --- a/commands/term/list/index.md +++ b/commands/term/list/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp term list` - List terms in a taxonomy. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/term/meta/add/index.md b/commands/term/meta/add/index.md index 6a026943..981e19ae 100644 --- a/commands/term/meta/add/index.md +++ b/commands/term/meta/add/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp term meta add` - Add a meta field. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/term/meta/delete/index.md b/commands/term/meta/delete/index.md index e5c54a5f..3bd75e6d 100644 --- a/commands/term/meta/delete/index.md +++ b/commands/term/meta/delete/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp term meta delete` - Delete a meta field. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/term/meta/get/index.md b/commands/term/meta/get/index.md index 0ff85b13..f438378f 100644 --- a/commands/term/meta/get/index.md +++ b/commands/term/meta/get/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp term meta get` - Get meta field value. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/term/meta/index.md b/commands/term/meta/index.md index cf085619..f9db9d8d 100644 --- a/commands/term/meta/index.md +++ b/commands/term/meta/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp term meta` - Manage term custom fields. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/term/meta/list/index.md b/commands/term/meta/list/index.md index 2a33b9f1..a34c8a8f 100644 --- a/commands/term/meta/list/index.md +++ b/commands/term/meta/list/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp term meta list` - List all metadata associated with an object. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/term/meta/update/index.md b/commands/term/meta/update/index.md index 3a683df7..6d43f09d 100644 --- a/commands/term/meta/update/index.md +++ b/commands/term/meta/update/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp term meta update` - Update a meta field. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/term/update/index.md b/commands/term/update/index.md index 84b8c117..35babe6e 100644 --- a/commands/term/update/index.md +++ b/commands/term/update/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp term update` - Update a term. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/term/url/index.md b/commands/term/url/index.md index 97263d14..0a98e76a 100644 --- a/commands/term/url/index.md +++ b/commands/term/url/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp term url` - Get term url -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/theme/activate/index.md b/commands/theme/activate/index.md index ef04b14e..c15d2e9d 100644 --- a/commands/theme/activate/index.md +++ b/commands/theme/activate/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp theme activate` - Activate a theme. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/theme/delete/index.md b/commands/theme/delete/index.md index 07e08bcc..17c9f43a 100644 --- a/commands/theme/delete/index.md +++ b/commands/theme/delete/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp theme delete` - Delete a theme. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/theme/disable/index.md b/commands/theme/disable/index.md index 98042747..b85a8414 100644 --- a/commands/theme/disable/index.md +++ b/commands/theme/disable/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp theme disable` - Disable a theme in a multisite install. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/theme/enable/index.md b/commands/theme/enable/index.md index 9998ab54..bbe89a7d 100644 --- a/commands/theme/enable/index.md +++ b/commands/theme/enable/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp theme enable` - Enable a theme in a multisite install. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/theme/get/index.md b/commands/theme/get/index.md index 3d0d5d42..c2b3307c 100644 --- a/commands/theme/get/index.md +++ b/commands/theme/get/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp theme get` - Get a theme -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/theme/install/index.md b/commands/theme/install/index.md index b9c9c777..88260e27 100644 --- a/commands/theme/install/index.md +++ b/commands/theme/install/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp theme install` - Install a theme. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/theme/is-installed/index.md b/commands/theme/is-installed/index.md index f294cbfb..e43ce2c1 100644 --- a/commands/theme/is-installed/index.md +++ b/commands/theme/is-installed/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp theme is-installed` - Check if the theme is installed. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/theme/list/index.md b/commands/theme/list/index.md index f36822ce..7f624fec 100644 --- a/commands/theme/list/index.md +++ b/commands/theme/list/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp theme list` - Get a list of themes. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/theme/mod/get/index.md b/commands/theme/mod/get/index.md index 87827a7b..634aa915 100644 --- a/commands/theme/mod/get/index.md +++ b/commands/theme/mod/get/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp theme mod get` - Get theme mod(s). -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/theme/mod/index.md b/commands/theme/mod/index.md index 95a2883d..167a4836 100644 --- a/commands/theme/mod/index.md +++ b/commands/theme/mod/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp theme mod` - Manage theme mods. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/theme/mod/remove/index.md b/commands/theme/mod/remove/index.md index df401672..221235b1 100644 --- a/commands/theme/mod/remove/index.md +++ b/commands/theme/mod/remove/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp theme mod remove` - Remove theme mod(s). -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/theme/mod/set/index.md b/commands/theme/mod/set/index.md index 59fe4c00..e2b50c6f 100644 --- a/commands/theme/mod/set/index.md +++ b/commands/theme/mod/set/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp theme mod set` - Set a theme mod. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/theme/path/index.md b/commands/theme/path/index.md index 0af5d500..05919b1b 100644 --- a/commands/theme/path/index.md +++ b/commands/theme/path/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp theme path` - Get the path to a theme or to the theme directory. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/theme/search/index.md b/commands/theme/search/index.md index bb5c0858..7f637c2a 100644 --- a/commands/theme/search/index.md +++ b/commands/theme/search/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp theme search` - Search the wordpress.org theme repository. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/theme/status/index.md b/commands/theme/status/index.md index 4728d342..cdfb5ec2 100644 --- a/commands/theme/status/index.md +++ b/commands/theme/status/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp theme status` - See the status of one or all themes. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/theme/update/index.md b/commands/theme/update/index.md index 708dac2b..320bbec4 100644 --- a/commands/theme/update/index.md +++ b/commands/theme/update/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp theme update` - Update one or more themes. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/transient/delete-all/index.md b/commands/transient/delete-all/index.md index e2c5bf16..bfa74b13 100644 --- a/commands/transient/delete-all/index.md +++ b/commands/transient/delete-all/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp transient delete-all` - Delete all transients. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/transient/delete-expired/index.md b/commands/transient/delete-expired/index.md index 75939418..79978ea5 100644 --- a/commands/transient/delete-expired/index.md +++ b/commands/transient/delete-expired/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp transient delete-expired` - Delete all expired transients. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/transient/delete/index.md b/commands/transient/delete/index.md index 6316222d..a999c13b 100644 --- a/commands/transient/delete/index.md +++ b/commands/transient/delete/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp transient delete` - Delete a transient value. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/transient/get/index.md b/commands/transient/get/index.md index c98789b4..1c79f314 100644 --- a/commands/transient/get/index.md +++ b/commands/transient/get/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp transient get` - Get a transient value. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/transient/set/index.md b/commands/transient/set/index.md index 62b77c13..b6032820 100644 --- a/commands/transient/set/index.md +++ b/commands/transient/set/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp transient set` - Set a transient value. <expiration> is the time until expiration, in seconds. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/transient/type/index.md b/commands/transient/type/index.md index 4fd6fafd..dd9b5469 100644 --- a/commands/transient/type/index.md +++ b/commands/transient/type/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp transient type` - See whether the transients API is using an object cache or the options table. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/user/add-cap/index.md b/commands/user/add-cap/index.md index 629066d8..3f5fe94f 100644 --- a/commands/user/add-cap/index.md +++ b/commands/user/add-cap/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp user add-cap` - Add a capability for a user. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/user/add-role/index.md b/commands/user/add-role/index.md index 2939e309..1f235a44 100644 --- a/commands/user/add-role/index.md +++ b/commands/user/add-role/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp user add-role` - Add a role for a user. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/user/create/index.md b/commands/user/create/index.md index fe2108c3..88a941dd 100644 --- a/commands/user/create/index.md +++ b/commands/user/create/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp user create` - Create a user. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/user/delete/index.md b/commands/user/delete/index.md index 3d95c4a4..06a4c590 100644 --- a/commands/user/delete/index.md +++ b/commands/user/delete/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp user delete` - Delete one or more users from the current site. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/user/generate/index.md b/commands/user/generate/index.md index 23c9be9d..c0d9a206 100644 --- a/commands/user/generate/index.md +++ b/commands/user/generate/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp user generate` - Generate users. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/user/get/index.md b/commands/user/get/index.md index fe33814d..3929f52c 100644 --- a/commands/user/get/index.md +++ b/commands/user/get/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp user get` - Get a single user. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/user/import-csv/index.md b/commands/user/import-csv/index.md index e8d74960..0852626a 100644 --- a/commands/user/import-csv/index.md +++ b/commands/user/import-csv/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp user import-csv` - Import users from a CSV file. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/user/list-caps/index.md b/commands/user/list-caps/index.md index 14ec9de3..10fd383d 100644 --- a/commands/user/list-caps/index.md +++ b/commands/user/list-caps/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp user list-caps` - List all user's capabilities. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/user/list/index.md b/commands/user/list/index.md index 878e091f..3bc98bf8 100644 --- a/commands/user/list/index.md +++ b/commands/user/list/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp user list` - List users. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/user/meta/add/index.md b/commands/user/meta/add/index.md index bc2d32fb..17afff6b 100644 --- a/commands/user/meta/add/index.md +++ b/commands/user/meta/add/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp user meta add` - Add a meta field. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/user/meta/delete/index.md b/commands/user/meta/delete/index.md index 510cab74..d65b0dcb 100644 --- a/commands/user/meta/delete/index.md +++ b/commands/user/meta/delete/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp user meta delete` - Delete a meta field. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/user/meta/get/index.md b/commands/user/meta/get/index.md index 3685c9d5..666ea03e 100644 --- a/commands/user/meta/get/index.md +++ b/commands/user/meta/get/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp user meta get` - Get meta field value. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/user/meta/index.md b/commands/user/meta/index.md index 8e10359f..7e585247 100644 --- a/commands/user/meta/index.md +++ b/commands/user/meta/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp user meta` - Manage user custom fields. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/user/meta/list/index.md b/commands/user/meta/list/index.md index 7e6e2a27..28bfc7fa 100644 --- a/commands/user/meta/list/index.md +++ b/commands/user/meta/list/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp user meta list` - List all metadata associated with an object. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/user/meta/update/index.md b/commands/user/meta/update/index.md index 6c45250b..460ce11d 100644 --- a/commands/user/meta/update/index.md +++ b/commands/user/meta/update/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp user meta update` - Update a meta field. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/user/remove-cap/index.md b/commands/user/remove-cap/index.md index 7d069d38..0bf0fe5f 100644 --- a/commands/user/remove-cap/index.md +++ b/commands/user/remove-cap/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp user remove-cap` - Remove a user's capability. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/user/remove-role/index.md b/commands/user/remove-role/index.md index 4cbd3c51..5b991165 100644 --- a/commands/user/remove-role/index.md +++ b/commands/user/remove-role/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp user remove-role` - Remove a user's role. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/user/set-role/index.md b/commands/user/set-role/index.md index f5d9b76f..0daeae73 100644 --- a/commands/user/set-role/index.md +++ b/commands/user/set-role/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp user set-role` - Set the user role (for a particular blog). -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/user/term/add/index.md b/commands/user/term/add/index.md index 5eec8763..7a3e9f57 100644 --- a/commands/user/term/add/index.md +++ b/commands/user/term/add/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp user term add` - Add a term. Appends to existing set of terms on the object. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/user/term/index.md b/commands/user/term/index.md index 11999adf..e0d72343 100644 --- a/commands/user/term/index.md +++ b/commands/user/term/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp user term` - Manage user terms. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/user/term/list/index.md b/commands/user/term/list/index.md index 48a507b5..18787ded 100644 --- a/commands/user/term/list/index.md +++ b/commands/user/term/list/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp user term list` - List all terms associated with an object. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/user/term/remove/index.md b/commands/user/term/remove/index.md index fde3e08e..ae6e756c 100644 --- a/commands/user/term/remove/index.md +++ b/commands/user/term/remove/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp user term remove` - Remove a term. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/user/term/set/index.md b/commands/user/term/set/index.md index dbce94d9..6491014d 100644 --- a/commands/user/term/set/index.md +++ b/commands/user/term/set/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp user term set` - Set terms. Replaces existing terms on the object. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/user/update/index.md b/commands/user/update/index.md index 451ba664..db63a83d 100644 --- a/commands/user/update/index.md +++ b/commands/user/update/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp user update` - Update a user. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/widget/add/index.md b/commands/widget/add/index.md index 0ab362e0..21bcc946 100644 --- a/commands/widget/add/index.md +++ b/commands/widget/add/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp widget add` - Add a widget to a sidebar. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/widget/deactivate/index.md b/commands/widget/deactivate/index.md index af9b234c..26a303d9 100644 --- a/commands/widget/deactivate/index.md +++ b/commands/widget/deactivate/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp widget deactivate` - Deactivate one or more widgets from an active sidebar. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/widget/delete/index.md b/commands/widget/delete/index.md index 322f11c9..d6f73dac 100644 --- a/commands/widget/delete/index.md +++ b/commands/widget/delete/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp widget delete` - Delete one or more widgets from a sidebar. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/widget/list/index.md b/commands/widget/list/index.md index bcac15f6..0105a91f 100644 --- a/commands/widget/list/index.md +++ b/commands/widget/list/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp widget list` - List widgets associated with a sidebar. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/widget/move/index.md b/commands/widget/move/index.md index c2639f5a..c8f3922b 100644 --- a/commands/widget/move/index.md +++ b/commands/widget/move/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp widget move` - Move a widget from one position on a sidebar to another. -Quick links: Github issues +Quick links: Github issues
    diff --git a/commands/widget/update/index.md b/commands/widget/update/index.md index 4c684a58..12bf9cf4 100644 --- a/commands/widget/update/index.md +++ b/commands/widget/update/index.md @@ -6,7 +6,7 @@ display_global_parameters: true `wp widget update` - Update a given widget's options. -Quick links: Github issues +Quick links: Github issues
    From 0364a40ac6d2591f95c59076ff1329daee8e2e23 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 12:52:35 -0700 Subject: [PATCH 568/839] Commit the generator fix too --- Phakefile.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Phakefile.php b/Phakefile.php index 277b50fe..bd370dc2 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -66,7 +66,7 @@ function gen_cmd_pages( $cmd, $parent = array() ) { $docs = preg_replace( '/#?## GLOBAL PARAMETERS.+/s', '', $docs ); $binding['docs'] = $docs; - $binding['github_issues_link'] = 'https://github.com/wp-cli/wp-cli/issues?q=is%3Aopen+label%3A' . urlencode( 'command:' . $cmd['name'] ) . '+sort%3Aupdated-desc'; + $binding['github_issues_link'] = 'https://github.com/wp-cli/wp-cli/issues?q=is%3Aopen+label%3A' . urlencode( 'command:' . str_replace( ' ', '-', $binding['synopsis'] ) ) . '+sort%3Aupdated-desc'; } $path = __DIR__ . "/commands/" . $binding['path']; From e4b9a785a01595e79f92e57dd68511d373ee0878 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 13:16:36 -0700 Subject: [PATCH 569/839] The longest tldr known to man --- _posts/2016-03-22-version-0.23.0.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md index 23442370..4189398a 100644 --- a/_posts/2016-03-22-version-0.23.0.md +++ b/_posts/2016-03-22-version-0.23.0.md @@ -4,6 +4,24 @@ author: danielbachhuber title: Version 0.23.0 released --- +It's hard to believe the last WP-CLI release was only two months ago, because there's alot coming to you in version 0.23.0. + +If you don't make it through the entire post, here's the bare minimum of what you should know: + +* This release includes WordPress 4.5 compatibility. Older WP-CLI versions are incompatible with WordPress 4.5. If you're planning to use WordPress 4.5, you'll want to upgrade. +* For those using the Phar file, which should be most of you, WP-CLI now automatically checks for updates, and will prompt you to update as applicable. This behavior is configurable, see below. +* There are many new tools for registering commands. Ain't no more extending `WP_CLI_Command`. See the [commands cookbook](http://wp-cli.org/docs/commands-cookbook/) to learn more. +* All of the wiki pages moved to a [documentation portal on the website](http://wp-cli.org/docs/), including new documentation on [internal APIs](http://wp-cli.org/docs/internal-api/) you can use in your own commands. + +Now that I've given away all of the surpises, let's get on with the release post. + +Oh darn, I forgot two more things: + +* You can now browse [available packages](http://wp-cli.org/package-index/) with `wp package browse`, and install them with `wp package install`. Try `wp package install runcommand/db-ack`. +* I've finally settled on [runcommand](http://runcommand.io/) as the name for my new WP-CLI venture. [Visit the website](http://runcommand.io/) to sign up for the announcement email, or follow [@runcommandio](https://twitter.com/runcommandio) on Twitter. + +And now, the release post. + ### WordPress 4.5 compatibility https://github.com/wp-cli/wp-cli/pull/2486 From 47a7221ba4c5d50811a9b87d5b9b45e69acaa989 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 14:19:57 -0700 Subject: [PATCH 570/839] Release note updates --- _posts/2016-03-22-version-0.23.0.md | 87 ++++++++++++++++++++++++----- 1 file changed, 72 insertions(+), 15 deletions(-) diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md index 4189398a..cd99f0f2 100644 --- a/_posts/2016-03-22-version-0.23.0.md +++ b/_posts/2016-03-22-version-0.23.0.md @@ -24,21 +24,79 @@ And now, the release post. ### WordPress 4.5 compatibility -https://github.com/wp-cli/wp-cli/pull/2486 +WordPress 4.5 loads yet another file in `wp-settings.php`. Because WP-CLI has a custom wp-settings-cli.php ([background](http://wp-cli.org/blog/how-wp-cli-loads-wordpress.html)), WP-CLI v0.23.0 is the only release compatible with WordPress 4.5. -### Register more commands +**Importantly, due to the nature of these changes, WP-CLI versions prior to 0.23.0 will be incompatible with WordPress 4.5.** + +Inspect the nature of the change in [this pull request](https://github.com/wp-cli/wp-cli/pull/2486). -Ever wonder why, when writing your own WP-CLI command, you had to extend `WP_CLI_Command`? Well, you didn't need to, actually. +Want to help fix this? Dig into [#34936](https://core.trac.wordpress.org/ticket/34936) on WordPress Trac. -https://github.com/wp-cli/wp-cli/pull/2373 -https://github.com/wp-cli/wp-cli/pull/2389 -https://github.com/wp-cli/wp-cli/pull/2398 -https://github.com/wp-cli/wp-cli/pull/2409 -https://github.com/wp-cli/wp-cli/pull/2513 -https://github.com/wp-cli/wp-cli/pull/2515 -https://github.com/wp-cli/wp-cli/pull/2556 -https://github.com/wp-cli/wp-cli/pull/2559 +### Register more commands +Ever wonder why, when writing your own command, you had to extend `WP_CLI_Command`? Well, you didn't need to, actually. + +In fact, `WP_CLI::add_command()` ([doc](http://wp-cli.org/docs/internal-api/wp-cli-add-command/)) now supports registering any arbitrary callable as a WP-CLI command. For instance, here's a closure command to reset the passwords of one or more users ([runcommand/reset-passwords](https://github.com/runcommand/reset-passwords)): + + /** + * Reset passwords for one or more WordPress users. + * + * ... + * : Specify one or more user logins or IDs. + */ + $reset_password_command = function( $args ) { + $fetcher = new \WP_CLI\Fetchers\User; + $users = $fetcher->get_many( $args ); + foreach( $users as $user ) { + wp_update_user( array( 'ID' => $user->ID, 'user_pass' => wp_generate_password() ) ); + WP_CLI::log( "Reset password for {$user->user_login}." ); + } + WP_CLI::success( 'Passwords reset.' ); + }; + WP_CLI::add_command( 'user reset-passwords', $reset_password_command ); + +Want to reuse argument definition between commands? You can now register command synopsis as the third argument to `WP_CLI::add_command()` ([runcommand/hook](https://github.com/runcommand/hook)): + + WP_CLI::add_command( 'hook', $hook_command, array( + 'shortdesc' => 'List callbacks registered to a given action or filter.', + 'synopsis' => array( + array( + 'name' => 'hook', + 'type' => 'positional', + 'description' => 'The key for the action or filter.', + ), + array( + 'name' => 'format', + 'type' => 'assoc', + 'description' => 'List callbacks as a table, JSON, or CSV.', + 'optional' => true, + 'options' => array( 'table', 'json', 'csv' ), + 'default' => 'table', + ), + ), + ) ); + +Note also the `default` argument attribute for `format`. WP-CLI accepts `default` and `options` as a part of argument registration to make it easier to process user input within your command. These attributes can be also defined in the callable's PHPDoc: + + /** + * List callbacks registered to a given action or filter. + * + * + * : The key for the action or filter. + * + * [--format= Date: Tue, 22 Mar 2016 14:27:42 -0700 Subject: [PATCH 571/839] Mention automatic update checks --- _posts/2016-03-22-version-0.23.0.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md index cd99f0f2..44495630 100644 --- a/_posts/2016-03-22-version-0.23.0.md +++ b/_posts/2016-03-22-version-0.23.0.md @@ -126,12 +126,15 @@ https://github.com/wp-cli/wp-cli/pull/2499 https://github.com/wp-cli/wp-cli/pull/2507 -### WP-CLI autoupdates +### Automatic update checks For those using WP-CLI as a Phar file, which should be most of you, v0.23.0 and later will automatically check for updates. If an update is found, you'll be prompted to install it. -Relevant pull requests for this feature includes [#2536](https://github.com/wp-cli/wp-cli/pull/2536) and [#2538](https://github.com/wp-cli/wp-cli/pull/2538). +Automatic update checks even work for those using the nightly build! Use `wp cli update --nightly` to get on the nightly track. + +By default, the automatic update check will run once a day for users with a writable WP-CLI Phar file. They're triggered when a user, not a script, runs `wp help `. This frequency can be configured with the `WP_CLI_AUTO_CHECK_UPDATE_DAYS` environment variable, or disabled entirely with the `WP_CLI_DISABLE_AUTO_CHECK_UPDATE` environment variable. +Relevant pull requests for this feature includes [#2536](https://github.com/wp-cli/wp-cli/pull/2536) and [#2538](https://github.com/wp-cli/wp-cli/pull/2538). ### Everything else in 0.23.0 From 7c464836158167e16ceb6a7a15d2ad6ec198f703 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 14:30:10 -0700 Subject: [PATCH 572/839] Mention last new enhancement that's landed --- _posts/2016-03-22-version-0.23.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md index 44495630..addebf7f 100644 --- a/_posts/2016-03-22-version-0.23.0.md +++ b/_posts/2016-03-22-version-0.23.0.md @@ -151,6 +151,7 @@ Command improvements: * Entirely avoids loading WordPress in `wp core verify-checksums` [[#2459](https://github.com/wp-cli/wp-cli/pull/2459)]. * Supports emptying term meta with `wp site empty` [[#2506](https://github.com/wp-cli/wp-cli/pull/2506)]. * Adds WP REST API registration args to `scaffold (post-type|taxonomy)` [[#2551](https://github.com/wp-cli/wp-cli/pull/2551)]. +* Adds documentation to `test-sample.php` and `bootstrap.php` when running `wp scaffold plugin-tests` [[#2577](https://github.com/wp-cli/wp-cli/pull/2577),[#2578](https://github.com/wp-cli/wp-cli/pull/2578)]. Framework enhancements: From b6824c5e0b283236f69b39c45d36b9f29de487a2 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 14:34:30 -0700 Subject: [PATCH 573/839] Retool navigation --- _config.yml | 4 ++++ _includes/navigation.html | 4 ---- assets/css/stylesheet.css | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/_config.yml b/_config.yml index 33376653..1b7f8547 100644 --- a/_config.yml +++ b/_config.yml @@ -17,8 +17,12 @@ navigation: url: /commands/ - text: Configuration url: /config/ +- text: Docs + url: /docs/ - text: Blog url: /blog/ layout: post +- text: Packages + url: /package-index/ - text: RESTful WP-CLI url: /restful/ diff --git a/_includes/navigation.html b/_includes/navigation.html index fca69687..369436e8 100644 --- a/_includes/navigation.html +++ b/_includes/navigation.html @@ -12,10 +12,6 @@
  • {{ link.text }}
  • - - {% if '/blog/' == link.url %} -
  • Wiki
  • - {% endif %} {% endfor %}
  • diff --git a/assets/css/stylesheet.css b/assets/css/stylesheet.css index 4d9f3f8c..5352a1b4 100644 --- a/assets/css/stylesheet.css +++ b/assets/css/stylesheet.css @@ -347,13 +347,13 @@ footer { color: #b5e853; } -.main-nav ul li:nth-child(5) a { +.main-nav ul li:nth-child(6) a { background-color: rgba(122, 208, 58, 0.5); color: white; border-radius: 5px; } -.main-nav ul li:nth-child(5) a:hover { +.main-nav ul li:nth-child(6) a:hover { background-color: rgba(122, 208, 58, 0.75); color: white; border-radius: 5px; From 6c12d1925907d636c5d96b391c6f100ac1a9de37 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 14:46:14 -0700 Subject: [PATCH 574/839] Flesh out documentation section --- _posts/2016-03-22-version-0.23.0.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md index addebf7f..c582b5f6 100644 --- a/_posts/2016-03-22-version-0.23.0.md +++ b/_posts/2016-03-22-version-0.23.0.md @@ -98,7 +98,7 @@ Note also the `default` argument attribute for `format`. WP-CLI accepts `default Check out the [commands cookbook](http://wp-cli.org/docs/commands-cookbook/) for a deep dive into command registration. Relevant pull requests for these improvements to `WP_CLI::add_command()` include [#2373](https://github.com/wp-cli/wp-cli/pull/2373), [#2389](https://github.com/wp-cli/wp-cli/pull/2389), [#2398](https://github.com/wp-cli/wp-cli/pull/2398), [#2409](https://github.com/wp-cli/wp-cli/pull/2409), [#2556](https://github.com/wp-cli/wp-cli/pull/2556), [#2559](https://github.com/wp-cli/wp-cli/pull/2559). -### Install WP-CLI packages +### Install community commands from the Package Index https://github.com/wp-cli/wp-cli/pull/2442 https://github.com/wp-cli/wp-cli/pull/2460 @@ -116,14 +116,15 @@ https://github.com/wp-cli/wp-cli/pull/2555 https://github.com/wp-cli/wp-cli/pull/2561 -### Internal API docs +### More, better, easier to find documentation -[#2513](https://github.com/wp-cli/wp-cli/pull/2513), [#2515](https://github.com/wp-cli/wp-cli/pull/2515) -https://github.com/wp-cli/wp-cli/pull/2454 -https://github.com/wp-cli/wp-cli/pull/2487 -https://github.com/wp-cli/wp-cli/pull/2494 -https://github.com/wp-cli/wp-cli/pull/2499 -https://github.com/wp-cli/wp-cli/pull/2507 +It's actually hard to imagine how people got around with the previous documentation implementation. Here's what's changed: + +* The wiki has been reincarnated as the [documentation portal](http://wp-cli.org/docs/) on the website. I spent time cleaning up the pages as I moved them over; hopefully you find the new [commands cookbook](http://wp-cli.org/docs/commands-cookbook/) quite helpful. +* Internal APIs you can use in your own commands are now [publicly documented](http://wp-cli.org/docs/internal-api/). The internal API pages are generated from the codebase, which should greatly help maintenance efforts. +* On each command page, there's a "Github issues" link to make it easier to find both open and closed issues for a given command. Keep in mind this isn't necessarily exact, because I didn't go back through and label all issues of all time. This feature will become more useful as time goes forward. + +Relevant pull requests include [#2454](https://github.com/wp-cli/wp-cli/pull/2454), [#2487](https://github.com/wp-cli/wp-cli/pull/2487), [#2494](https://github.com/wp-cli/wp-cli/pull/2494), [#2499](https://github.com/wp-cli/wp-cli/pull/2499), [#2507](https://github.com/wp-cli/wp-cli/pull/2507), [#2513](https://github.com/wp-cli/wp-cli/pull/2513), [#2515](https://github.com/wp-cli/wp-cli/pull/2515). ### Automatic update checks From 207dca8327292bae431092555b51f5338acd17e9 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 14:58:55 -0700 Subject: [PATCH 575/839] Update contributor list --- _posts/2016-03-22-version-0.23.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md index c582b5f6..9558d29c 100644 --- a/_posts/2016-03-22-version-0.23.0.md +++ b/_posts/2016-03-22-version-0.23.0.md @@ -187,6 +187,6 @@ Bug fixes across the board: * Properly passes `wp plugin search` fields to `plugins_api()` request; adds `page` parameter [[#2570](https://github.com/wp-cli/wp-cli/pull/2570),[#2571](https://github.com/wp-cli/wp-cli/pull/2571)]. * Add `parent` as a potential status in `wp theme status` [[#2573](https://github.com/wp-cli/wp-cli/pull/2573)] -Contributors to this release: +Contributors to this release: [anantshri](https://github.com/anantshri), [danielbachhuber](https://github.com/danielbachhuber), [edueo](https://github.com/edueo), [GaryJones](https://github.com/GaryJones), [gilbitron](https://github.com/gilbitron), [hina](https://github.com/hina), [hinoue-work](https://github.com/hinoue-work), [jacobischwartz](https://github.com/jacobischwartz), [marco-c](https://github.com/marco-c), [markjaquith](https://github.com/markjaquith), [markkimsal](https://github.com/markkimsal), [mbovel](https://github.com/mbovel), [ottok](https://github.com/ottok), [rodrigoprimo](https://github.com/rodrigoprimo), [sourcerer-mike](https://github.com/sourcerer-mike), [staude](https://github.com/staude), [szepeviktor](https://github.com/szepeviktor), [za-creature](https://github.com/za-creature) You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.23.0+is%3Aclosed) on Github. From a57f4d14f9d39064f91b9a1ff5a5b13c1258dcab Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 14:59:03 -0700 Subject: [PATCH 576/839] Link to an example --- _posts/2016-03-22-version-0.23.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md index 9558d29c..d66ed0cb 100644 --- a/_posts/2016-03-22-version-0.23.0.md +++ b/_posts/2016-03-22-version-0.23.0.md @@ -122,7 +122,7 @@ It's actually hard to imagine how people got around with the previous documentat * The wiki has been reincarnated as the [documentation portal](http://wp-cli.org/docs/) on the website. I spent time cleaning up the pages as I moved them over; hopefully you find the new [commands cookbook](http://wp-cli.org/docs/commands-cookbook/) quite helpful. * Internal APIs you can use in your own commands are now [publicly documented](http://wp-cli.org/docs/internal-api/). The internal API pages are generated from the codebase, which should greatly help maintenance efforts. -* On each command page, there's a "Github issues" link to make it easier to find both open and closed issues for a given command. Keep in mind this isn't necessarily exact, because I didn't go back through and label all issues of all time. This feature will become more useful as time goes forward. +* On each command page, there's a "Github issues" link to make it easier to find both open and closed issues for a given command. For instance, here are [all of the outstanding issues](https://github.com/wp-cli/wp-cli/issues?q=is%3Aopen+label%3Acommand%3Apackage+sort%3Aupdated-desc) for `wp package` and its subcommands. Keep in mind this isn't necessarily exact, because I didn't go back through and label all issues of all time. This feature will become more useful as time goes forward. Relevant pull requests include [#2454](https://github.com/wp-cli/wp-cli/pull/2454), [#2487](https://github.com/wp-cli/wp-cli/pull/2487), [#2494](https://github.com/wp-cli/wp-cli/pull/2494), [#2499](https://github.com/wp-cli/wp-cli/pull/2499), [#2507](https://github.com/wp-cli/wp-cli/pull/2507), [#2513](https://github.com/wp-cli/wp-cli/pull/2513), [#2515](https://github.com/wp-cli/wp-cli/pull/2515). From cd8d064dad26b20158e71fea864f348199843a44 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 15:21:04 -0700 Subject: [PATCH 577/839] Props @krogsgard --- _posts/2016-03-22-version-0.23.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md index d66ed0cb..d17fe8d4 100644 --- a/_posts/2016-03-22-version-0.23.0.md +++ b/_posts/2016-03-22-version-0.23.0.md @@ -18,7 +18,7 @@ Now that I've given away all of the surpises, let's get on with the release post Oh darn, I forgot two more things: * You can now browse [available packages](http://wp-cli.org/package-index/) with `wp package browse`, and install them with `wp package install`. Try `wp package install runcommand/db-ack`. -* I've finally settled on [runcommand](http://runcommand.io/) as the name for my new WP-CLI venture. [Visit the website](http://runcommand.io/) to sign up for the announcement email, or follow [@runcommandio](https://twitter.com/runcommandio) on Twitter. +* I've settled on [runcommand](http://runcommand.io/) as the name for my new WP-CLI venture. [Visit the website](http://runcommand.io/) to sign up for the announcement email, or follow [@runcommandio](https://twitter.com/runcommandio) on Twitter. And now, the release post. From b27d2a659ea91cb7efbb6f55de568074c02a70e3 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 15:22:10 -0700 Subject: [PATCH 578/839] Document `wp package` --- _posts/2016-03-22-version-0.23.0.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md index d17fe8d4..c704c09b 100644 --- a/_posts/2016-03-22-version-0.23.0.md +++ b/_posts/2016-03-22-version-0.23.0.md @@ -100,7 +100,20 @@ Check out the [commands cookbook](http://wp-cli.org/docs/commands-cookbook/) for ### Install community commands from the Package Index -https://github.com/wp-cli/wp-cli/pull/2442 +Consider the following ([#2523](https://github.com/wp-cli/wp-cli/issues/2523)): + +> Using the `theme list` command without `--url` parameter shows if a theme is enabled for the network and active in the default site. + +> If you pass the `--url` of a site of the network, this command shows if a theme is active in that site. + +> But I can't find a way to list which themes are inactive in every site of the network so I can safely disable and delete them, and i'd love to have this feature + +If you had to complete this task using the WordPress network admin, it would take you hours, if not days, to complete. Simply _writing_ the WP-CLI command for this issue took me only three minutes. + +WP-CLI generally follows the 80/20 rule when deciding whether to introduce a new feature. If it could be useful to most people, then maybe; otherwise, probably not. But those 20% shouldn't be left with the short stick, particularly when it comes to the really helpful commands. + +Relevant pull requests for `wp package` include [#2442](https://github.com/wp-cli/wp-cli/pull/2442), + https://github.com/wp-cli/wp-cli/pull/2460 https://github.com/wp-cli/wp-cli/pull/2491 https://github.com/wp-cli/wp-cli/pull/2512 From dcb2fdd2c41278d43d7c1a4927feb886d7ef638a Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 15:30:00 -0700 Subject: [PATCH 579/839] Update PR list --- _posts/2016-03-22-version-0.23.0.md | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md index c704c09b..1eed6ed6 100644 --- a/_posts/2016-03-22-version-0.23.0.md +++ b/_posts/2016-03-22-version-0.23.0.md @@ -30,7 +30,7 @@ WordPress 4.5 loads yet another file in `wp-settings.php`. Because WP-CLI has a Inspect the nature of the change in [this pull request](https://github.com/wp-cli/wp-cli/pull/2486). -Want to help fix this? Dig into [#34936](https://core.trac.wordpress.org/ticket/34936) on WordPress Trac. +Want to help fix this? Refill your cup of coffee and dive into [#34936](https://core.trac.wordpress.org/ticket/34936) on WordPress Trac. ### Register more commands @@ -112,23 +112,11 @@ If you had to complete this task using the WordPress network admin, it would tak WP-CLI generally follows the 80/20 rule when deciding whether to introduce a new feature. If it could be useful to most people, then maybe; otherwise, probably not. But those 20% shouldn't be left with the short stick, particularly when it comes to the really helpful commands. -Relevant pull requests for `wp package` include [#2442](https://github.com/wp-cli/wp-cli/pull/2442), - -https://github.com/wp-cli/wp-cli/pull/2460 -https://github.com/wp-cli/wp-cli/pull/2491 -https://github.com/wp-cli/wp-cli/pull/2512 -https://github.com/wp-cli/wp-cli/pull/2514 -https://github.com/wp-cli/wp-cli/pull/2533 -https://github.com/wp-cli/wp-cli/pull/2534 -https://github.com/wp-cli/wp-cli/pull/2537 -https://github.com/wp-cli/wp-cli/pull/2540 -https://github.com/wp-cli/wp-cli/pull/2543 -https://github.com/wp-cli/wp-cli/pull/2546 -https://github.com/wp-cli/wp-cli/pull/2547 -https://github.com/wp-cli/wp-cli/pull/2555 -https://github.com/wp-cli/wp-cli/pull/2561 +Today, I'm proud to reintroduce the [Package Index](http://wp-cli.org/package-index/), a directory of community-maintained WP-CLI packages. +Relevant pull requests for `wp package` include [#2442](https://github.com/wp-cli/wp-cli/pull/2442), [#2460](https://github.com/wp-cli/wp-cli/pull/2460), [#2491](https://github.com/wp-cli/wp-cli/pull/2491), [#2512](https://github.com/wp-cli/wp-cli/pull/2512), [#2514](https://github.com/wp-cli/wp-cli/pull/2514), [#2533](https://github.com/wp-cli/wp-cli/pull/2533), [#2534](https://github.com/wp-cli/wp-cli/pull/2534), [#2537](https://github.com/wp-cli/wp-cli/pull/2537), [#2540](https://github.com/wp-cli/wp-cli/pull/2540), [#2543](https://github.com/wp-cli/wp-cli/pull/2543), [#2546](https://github.com/wp-cli/wp-cli/pull/2546), [#2547](https://github.com/wp-cli/wp-cli/pull/2547), [#2555](https://github.com/wp-cli/wp-cli/pull/2555), [#2561](https://github.com/wp-cli/wp-cli/pull/2561) + ### More, better, easier to find documentation It's actually hard to imagine how people got around with the previous documentation implementation. Here's what's changed: From c57923342d734e1582a5ae404786493c9bb97d31 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 15:39:00 -0700 Subject: [PATCH 580/839] Example of package installation --- _posts/2016-03-22-version-0.23.0.md | 34 ++++++++++++++++++++++++++--- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md index 1eed6ed6..73f6671e 100644 --- a/_posts/2016-03-22-version-0.23.0.md +++ b/_posts/2016-03-22-version-0.23.0.md @@ -112,8 +112,37 @@ If you had to complete this task using the WordPress network admin, it would tak WP-CLI generally follows the 80/20 rule when deciding whether to introduce a new feature. If it could be useful to most people, then maybe; otherwise, probably not. But those 20% shouldn't be left with the short stick, particularly when it comes to the really helpful commands. -Today, I'm proud to reintroduce the [Package Index](http://wp-cli.org/package-index/), a directory of community-maintained WP-CLI packages. - +Today, I'm proud to reintroduce the [Package Index](http://wp-cli.org/package-index/), a directory of community-maintained WP-CLI packages. Browse available packages to install with `wp package browse` ([doc](http://wp-cli.org/commands/package/browse/)). Once you've found the solution you're looking for, install it with `wp package install` ([doc](http://wp-cli.org/commands/package/install/)): + + $ wp package install runcommand/find-unused-themes + Installing runcommand/find-unused-themes (dev-master) + Updating /home/vagrant/.wp-cli/packages/composer.json to require the package... + Using Composer to install the package... + --- + Loading composer repositories with package information + Updating dependencies + Analyzed 2223 packages to resolve dependencies + Analyzed 29243 rules to resolve dependencies + - Installing package + Writing lock file + Generating autoload files + --- + Success: Package installed successfully. + $ wp find-unused-themes + Checking http://wordpress-develop.dev/ for unused themes... + Checking http://wordpress-develop.dev/foo/ for unused themes... + +----------------+---------+ + | name | version | + +----------------+---------+ + | default | 1.7.2 | + | mystore | 1.0.6 | + | p2 | 1.5.5 | + | twentyeleven | 2.3 | + | twentyfourteen | 1.6 | + | twentyten | 2.1 | + | twentythirteen | 1.8 | + | twentytwelve | 1.9 | + +----------------+---------+ Relevant pull requests for `wp package` include [#2442](https://github.com/wp-cli/wp-cli/pull/2442), [#2460](https://github.com/wp-cli/wp-cli/pull/2460), [#2491](https://github.com/wp-cli/wp-cli/pull/2491), [#2512](https://github.com/wp-cli/wp-cli/pull/2512), [#2514](https://github.com/wp-cli/wp-cli/pull/2514), [#2533](https://github.com/wp-cli/wp-cli/pull/2533), [#2534](https://github.com/wp-cli/wp-cli/pull/2534), [#2537](https://github.com/wp-cli/wp-cli/pull/2537), [#2540](https://github.com/wp-cli/wp-cli/pull/2540), [#2543](https://github.com/wp-cli/wp-cli/pull/2543), [#2546](https://github.com/wp-cli/wp-cli/pull/2546), [#2547](https://github.com/wp-cli/wp-cli/pull/2547), [#2555](https://github.com/wp-cli/wp-cli/pull/2555), [#2561](https://github.com/wp-cli/wp-cli/pull/2561) @@ -127,7 +156,6 @@ It's actually hard to imagine how people got around with the previous documentat Relevant pull requests include [#2454](https://github.com/wp-cli/wp-cli/pull/2454), [#2487](https://github.com/wp-cli/wp-cli/pull/2487), [#2494](https://github.com/wp-cli/wp-cli/pull/2494), [#2499](https://github.com/wp-cli/wp-cli/pull/2499), [#2507](https://github.com/wp-cli/wp-cli/pull/2507), [#2513](https://github.com/wp-cli/wp-cli/pull/2513), [#2515](https://github.com/wp-cli/wp-cli/pull/2515). - ### Automatic update checks For those using WP-CLI as a Phar file, which should be most of you, v0.23.0 and later will automatically check for updates. If an update is found, you'll be prompted to install it. From 509e878a178a9be983b3c24f7054bdc2eade445a Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 15:42:34 -0700 Subject: [PATCH 581/839] Package management is a highlight feature --- _posts/2016-03-22-version-0.23.0.md | 100 ++++++++++++++-------------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md index 73f6671e..28f9589c 100644 --- a/_posts/2016-03-22-version-0.23.0.md +++ b/_posts/2016-03-22-version-0.23.0.md @@ -9,7 +9,7 @@ It's hard to believe the last WP-CLI release was only two months ago, because th If you don't make it through the entire post, here's the bare minimum of what you should know: * This release includes WordPress 4.5 compatibility. Older WP-CLI versions are incompatible with WordPress 4.5. If you're planning to use WordPress 4.5, you'll want to upgrade. -* For those using the Phar file, which should be most of you, WP-CLI now automatically checks for updates, and will prompt you to update as applicable. This behavior is configurable, see below. +* You can now browse [available packages](http://wp-cli.org/package-index/) with `wp package browse`, and install them with `wp package install`. Try `wp package install runcommand/db-ack`. * There are many new tools for registering commands. Ain't no more extending `WP_CLI_Command`. See the [commands cookbook](http://wp-cli.org/docs/commands-cookbook/) to learn more. * All of the wiki pages moved to a [documentation portal on the website](http://wp-cli.org/docs/), including new documentation on [internal APIs](http://wp-cli.org/docs/internal-api/) you can use in your own commands. @@ -17,7 +17,7 @@ Now that I've given away all of the surpises, let's get on with the release post Oh darn, I forgot two more things: -* You can now browse [available packages](http://wp-cli.org/package-index/) with `wp package browse`, and install them with `wp package install`. Try `wp package install runcommand/db-ack`. +* For those using the Phar file, which should be most of you, WP-CLI now automatically checks for updates, and will prompt you to update as applicable. This behavior is configurable, see below. * I've settled on [runcommand](http://runcommand.io/) as the name for my new WP-CLI venture. [Visit the website](http://runcommand.io/) to sign up for the announcement email, or follow [@runcommandio](https://twitter.com/runcommandio) on Twitter. And now, the release post. @@ -32,6 +32,54 @@ Inspect the nature of the change in [this pull request](https://github.com/wp-cl Want to help fix this? Refill your cup of coffee and dive into [#34936](https://core.trac.wordpress.org/ticket/34936) on WordPress Trac. +### Install community commands from the Package Index + +Consider the following ([#2523](https://github.com/wp-cli/wp-cli/issues/2523)): + +> Using the `theme list` command without `--url` parameter shows if a theme is enabled for the network and active in the default site. + +> If you pass the `--url` of a site of the network, this command shows if a theme is active in that site. + +> But I can't find a way to list which themes are inactive in every site of the network so I can safely disable and delete them, and i'd love to have this feature + +If you had to complete this task using the WordPress network admin, it would take you hours, if not days, to complete. Simply _writing_ the WP-CLI command for this issue took me only three minutes. + +WP-CLI generally follows the 80/20 rule when deciding whether to introduce a new feature. If it could be useful to most people, then maybe; otherwise, probably not. But those 20% shouldn't be left with the short stick, particularly when it comes to the really helpful commands. + +Today, I'm proud to reintroduce the [Package Index](http://wp-cli.org/package-index/), a directory of community-maintained WP-CLI packages. Browse available packages to install with `wp package browse` ([doc](http://wp-cli.org/commands/package/browse/)). Once you've found the solution you're looking for, install it with `wp package install` ([doc](http://wp-cli.org/commands/package/install/)): + + $ wp package install runcommand/find-unused-themes + Installing runcommand/find-unused-themes (dev-master) + Updating /home/vagrant/.wp-cli/packages/composer.json to require the package... + Using Composer to install the package... + --- + Loading composer repositories with package information + Updating dependencies + Analyzed 2223 packages to resolve dependencies + Analyzed 29243 rules to resolve dependencies + - Installing package + Writing lock file + Generating autoload files + --- + Success: Package installed successfully. + $ wp find-unused-themes + Checking http://wordpress-develop.dev/ for unused themes... + Checking http://wordpress-develop.dev/foo/ for unused themes... + +----------------+---------+ + | name | version | + +----------------+---------+ + | default | 1.7.2 | + | mystore | 1.0.6 | + | p2 | 1.5.5 | + | twentyeleven | 2.3 | + | twentyfourteen | 1.6 | + | twentyten | 2.1 | + | twentythirteen | 1.8 | + | twentytwelve | 1.9 | + +----------------+---------+ + +Relevant pull requests for `wp package` include [#2442](https://github.com/wp-cli/wp-cli/pull/2442), [#2460](https://github.com/wp-cli/wp-cli/pull/2460), [#2491](https://github.com/wp-cli/wp-cli/pull/2491), [#2512](https://github.com/wp-cli/wp-cli/pull/2512), [#2514](https://github.com/wp-cli/wp-cli/pull/2514), [#2533](https://github.com/wp-cli/wp-cli/pull/2533), [#2534](https://github.com/wp-cli/wp-cli/pull/2534), [#2537](https://github.com/wp-cli/wp-cli/pull/2537), [#2540](https://github.com/wp-cli/wp-cli/pull/2540), [#2543](https://github.com/wp-cli/wp-cli/pull/2543), [#2546](https://github.com/wp-cli/wp-cli/pull/2546), [#2547](https://github.com/wp-cli/wp-cli/pull/2547), [#2555](https://github.com/wp-cli/wp-cli/pull/2555), [#2561](https://github.com/wp-cli/wp-cli/pull/2561) + ### Register more commands Ever wonder why, when writing your own command, you had to extend `WP_CLI_Command`? Well, you didn't need to, actually. @@ -98,54 +146,6 @@ Note also the `default` argument attribute for `format`. WP-CLI accepts `default Check out the [commands cookbook](http://wp-cli.org/docs/commands-cookbook/) for a deep dive into command registration. Relevant pull requests for these improvements to `WP_CLI::add_command()` include [#2373](https://github.com/wp-cli/wp-cli/pull/2373), [#2389](https://github.com/wp-cli/wp-cli/pull/2389), [#2398](https://github.com/wp-cli/wp-cli/pull/2398), [#2409](https://github.com/wp-cli/wp-cli/pull/2409), [#2556](https://github.com/wp-cli/wp-cli/pull/2556), [#2559](https://github.com/wp-cli/wp-cli/pull/2559). -### Install community commands from the Package Index - -Consider the following ([#2523](https://github.com/wp-cli/wp-cli/issues/2523)): - -> Using the `theme list` command without `--url` parameter shows if a theme is enabled for the network and active in the default site. - -> If you pass the `--url` of a site of the network, this command shows if a theme is active in that site. - -> But I can't find a way to list which themes are inactive in every site of the network so I can safely disable and delete them, and i'd love to have this feature - -If you had to complete this task using the WordPress network admin, it would take you hours, if not days, to complete. Simply _writing_ the WP-CLI command for this issue took me only three minutes. - -WP-CLI generally follows the 80/20 rule when deciding whether to introduce a new feature. If it could be useful to most people, then maybe; otherwise, probably not. But those 20% shouldn't be left with the short stick, particularly when it comes to the really helpful commands. - -Today, I'm proud to reintroduce the [Package Index](http://wp-cli.org/package-index/), a directory of community-maintained WP-CLI packages. Browse available packages to install with `wp package browse` ([doc](http://wp-cli.org/commands/package/browse/)). Once you've found the solution you're looking for, install it with `wp package install` ([doc](http://wp-cli.org/commands/package/install/)): - - $ wp package install runcommand/find-unused-themes - Installing runcommand/find-unused-themes (dev-master) - Updating /home/vagrant/.wp-cli/packages/composer.json to require the package... - Using Composer to install the package... - --- - Loading composer repositories with package information - Updating dependencies - Analyzed 2223 packages to resolve dependencies - Analyzed 29243 rules to resolve dependencies - - Installing package - Writing lock file - Generating autoload files - --- - Success: Package installed successfully. - $ wp find-unused-themes - Checking http://wordpress-develop.dev/ for unused themes... - Checking http://wordpress-develop.dev/foo/ for unused themes... - +----------------+---------+ - | name | version | - +----------------+---------+ - | default | 1.7.2 | - | mystore | 1.0.6 | - | p2 | 1.5.5 | - | twentyeleven | 2.3 | - | twentyfourteen | 1.6 | - | twentyten | 2.1 | - | twentythirteen | 1.8 | - | twentytwelve | 1.9 | - +----------------+---------+ - -Relevant pull requests for `wp package` include [#2442](https://github.com/wp-cli/wp-cli/pull/2442), [#2460](https://github.com/wp-cli/wp-cli/pull/2460), [#2491](https://github.com/wp-cli/wp-cli/pull/2491), [#2512](https://github.com/wp-cli/wp-cli/pull/2512), [#2514](https://github.com/wp-cli/wp-cli/pull/2514), [#2533](https://github.com/wp-cli/wp-cli/pull/2533), [#2534](https://github.com/wp-cli/wp-cli/pull/2534), [#2537](https://github.com/wp-cli/wp-cli/pull/2537), [#2540](https://github.com/wp-cli/wp-cli/pull/2540), [#2543](https://github.com/wp-cli/wp-cli/pull/2543), [#2546](https://github.com/wp-cli/wp-cli/pull/2546), [#2547](https://github.com/wp-cli/wp-cli/pull/2547), [#2555](https://github.com/wp-cli/wp-cli/pull/2555), [#2561](https://github.com/wp-cli/wp-cli/pull/2561) - ### More, better, easier to find documentation It's actually hard to imagine how people got around with the previous documentation implementation. Here's what's changed: From cd4c6fef43783930d20c44376a880b402ea6e275 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 15:43:36 -0700 Subject: [PATCH 582/839] Edit --- _posts/2016-03-22-version-0.23.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md index 28f9589c..4b29622a 100644 --- a/_posts/2016-03-22-version-0.23.0.md +++ b/_posts/2016-03-22-version-0.23.0.md @@ -8,7 +8,7 @@ It's hard to believe the last WP-CLI release was only two months ago, because th If you don't make it through the entire post, here's the bare minimum of what you should know: -* This release includes WordPress 4.5 compatibility. Older WP-CLI versions are incompatible with WordPress 4.5. If you're planning to use WordPress 4.5, you'll want to upgrade. +* This release includes WordPress 4.5 compatibility. Older WP-CLI versions are incompatible with WordPress 4.5. If you're planning to use WordPress 4.5 in the future, you'll need to upgrade before you do. * You can now browse [available packages](http://wp-cli.org/package-index/) with `wp package browse`, and install them with `wp package install`. Try `wp package install runcommand/db-ack`. * There are many new tools for registering commands. Ain't no more extending `WP_CLI_Command`. See the [commands cookbook](http://wp-cli.org/docs/commands-cookbook/) to learn more. * All of the wiki pages moved to a [documentation portal on the website](http://wp-cli.org/docs/), including new documentation on [internal APIs](http://wp-cli.org/docs/internal-api/) you can use in your own commands. From 03875d4302a887fa511b0cf0c9b18a99265ae3e8 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 15:45:58 -0700 Subject: [PATCH 583/839] More intro edits --- _posts/2016-03-22-version-0.23.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md index 4b29622a..ed81cd08 100644 --- a/_posts/2016-03-22-version-0.23.0.md +++ b/_posts/2016-03-22-version-0.23.0.md @@ -4,9 +4,9 @@ author: danielbachhuber title: Version 0.23.0 released --- -It's hard to believe the last WP-CLI release was only two months ago, because there's alot coming to you in version 0.23.0. +It's hard to believe the last WP-CLI release was only two months ago. This is the longest release post I've ever written — my apologies in advance. -If you don't make it through the entire post, here's the bare minimum of what you should know: +If you don't make it all of the way through, here's what you absolutely need to know about WP-CLI v0.23.0: * This release includes WordPress 4.5 compatibility. Older WP-CLI versions are incompatible with WordPress 4.5. If you're planning to use WordPress 4.5 in the future, you'll need to upgrade before you do. * You can now browse [available packages](http://wp-cli.org/package-index/) with `wp package browse`, and install them with `wp package install`. Try `wp package install runcommand/db-ack`. From fd217fdd91eb59ffcb763d0647d84c4af54e8735 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 15:48:08 -0700 Subject: [PATCH 584/839] Pull requests encouraged --- _posts/2016-03-22-version-0.23.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md index ed81cd08..2ee1e0d5 100644 --- a/_posts/2016-03-22-version-0.23.0.md +++ b/_posts/2016-03-22-version-0.23.0.md @@ -10,8 +10,8 @@ If you don't make it all of the way through, here's what you absolutely need to * This release includes WordPress 4.5 compatibility. Older WP-CLI versions are incompatible with WordPress 4.5. If you're planning to use WordPress 4.5 in the future, you'll need to upgrade before you do. * You can now browse [available packages](http://wp-cli.org/package-index/) with `wp package browse`, and install them with `wp package install`. Try `wp package install runcommand/db-ack`. -* There are many new tools for registering commands. Ain't no more extending `WP_CLI_Command`. See the [commands cookbook](http://wp-cli.org/docs/commands-cookbook/) to learn more. -* All of the wiki pages moved to a [documentation portal on the website](http://wp-cli.org/docs/), including new documentation on [internal APIs](http://wp-cli.org/docs/internal-api/) you can use in your own commands. +* There are many new tools for registering commands. Ain't no more need to extend `WP_CLI_Command`. See the [commands cookbook](http://wp-cli.org/docs/commands-cookbook/) to learn more. +* All of the wiki pages moved to a [documentation portal on the website](http://wp-cli.org/docs/), including new pages documenting [internal APIs](http://wp-cli.org/docs/internal-api/) you can use in your own commands. Pull requests encouraged. Now that I've given away all of the surpises, let's get on with the release post. From 759ec9ed2127a7251f2c29b7c2ae88ad78833dff Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 15:49:01 -0700 Subject: [PATCH 585/839] More tldr --- _posts/2016-03-22-version-0.23.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md index 2ee1e0d5..bbe871e9 100644 --- a/_posts/2016-03-22-version-0.23.0.md +++ b/_posts/2016-03-22-version-0.23.0.md @@ -17,7 +17,7 @@ Now that I've given away all of the surpises, let's get on with the release post Oh darn, I forgot two more things: -* For those using the Phar file, which should be most of you, WP-CLI now automatically checks for updates, and will prompt you to update as applicable. This behavior is configurable, see below. +* For those using the Phar file, which should be most of you, WP-CLI now automatically checks for updates, and will prompt you to update as applicable. It even works for those using the nightly build. This behavior is configurable, see below. * I've settled on [runcommand](http://runcommand.io/) as the name for my new WP-CLI venture. [Visit the website](http://runcommand.io/) to sign up for the announcement email, or follow [@runcommandio](https://twitter.com/runcommandio) on Twitter. And now, the release post. From d405f2f8cae7e4641666bbe48f673cc8797f94ce Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 15:53:13 -0700 Subject: [PATCH 586/839] More edits --- _posts/2016-03-22-version-0.23.0.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md index bbe871e9..577a3e85 100644 --- a/_posts/2016-03-22-version-0.23.0.md +++ b/_posts/2016-03-22-version-0.23.0.md @@ -18,7 +18,7 @@ Now that I've given away all of the surpises, let's get on with the release post Oh darn, I forgot two more things: * For those using the Phar file, which should be most of you, WP-CLI now automatically checks for updates, and will prompt you to update as applicable. It even works for those using the nightly build. This behavior is configurable, see below. -* I've settled on [runcommand](http://runcommand.io/) as the name for my new WP-CLI venture. [Visit the website](http://runcommand.io/) to sign up for the announcement email, or follow [@runcommandio](https://twitter.com/runcommandio) on Twitter. +* I've settled on [runcommand](http://runcommand.io/) as the name for my new WP-CLI venture. [Visit the website](http://runcommand.io/) for email updates, or follow [@runcommandio](https://twitter.com/runcommandio) on Twitter. And now, the release post. @@ -34,7 +34,7 @@ Want to help fix this? Refill your cup of coffee and dive into [#34936](https:// ### Install community commands from the Package Index -Consider the following ([#2523](https://github.com/wp-cli/wp-cli/issues/2523)): +Consider the following situations ([#2523](https://github.com/wp-cli/wp-cli/issues/2523)): > Using the `theme list` command without `--url` parameter shows if a theme is enabled for the network and active in the default site. @@ -42,9 +42,9 @@ Consider the following ([#2523](https://github.com/wp-cli/wp-cli/issues/2523)): > But I can't find a way to list which themes are inactive in every site of the network so I can safely disable and delete them, and i'd love to have this feature -If you had to complete this task using the WordPress network admin, it would take you hours, if not days, to complete. Simply _writing_ the WP-CLI command for this issue took me only three minutes. +If you had to complete this task using the WordPress network admin, it would take you hours, if not days, to complete. Simply _writing_ the WP-CLI command for this issue took me only 3 minutes. WP-CLI is genuinely the fastest interface to manage WordPress. -WP-CLI generally follows the 80/20 rule when deciding whether to introduce a new feature. If it could be useful to most people, then maybe; otherwise, probably not. But those 20% shouldn't be left with the short stick, particularly when it comes to the really helpful commands. +But, WP-CLI generally follows the 80/20 rule when deciding whether to introduce a new feature. If the feature could be useful to most people, then maybe; otherwise, probably not. Those 20% shouldn't be left with the short stick, however, particularly when it comes to the really helpful commands. Today, I'm proud to reintroduce the [Package Index](http://wp-cli.org/package-index/), a directory of community-maintained WP-CLI packages. Browse available packages to install with `wp package browse` ([doc](http://wp-cli.org/commands/package/browse/)). Once you've found the solution you're looking for, install it with `wp package install` ([doc](http://wp-cli.org/commands/package/install/)): From a8771fab2666ea0161d71fce2fdca6e9e5e6ab97 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 15:53:39 -0700 Subject: [PATCH 587/839] No but --- _posts/2016-03-22-version-0.23.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md index 577a3e85..89072287 100644 --- a/_posts/2016-03-22-version-0.23.0.md +++ b/_posts/2016-03-22-version-0.23.0.md @@ -44,7 +44,7 @@ Consider the following situations ([#2523](https://github.com/wp-cli/wp-cli/issu If you had to complete this task using the WordPress network admin, it would take you hours, if not days, to complete. Simply _writing_ the WP-CLI command for this issue took me only 3 minutes. WP-CLI is genuinely the fastest interface to manage WordPress. -But, WP-CLI generally follows the 80/20 rule when deciding whether to introduce a new feature. If the feature could be useful to most people, then maybe; otherwise, probably not. Those 20% shouldn't be left with the short stick, however, particularly when it comes to the really helpful commands. +WP-CLI generally follows the 80/20 rule when deciding whether to introduce a new feature. If the feature could be useful to most people, then maybe; otherwise, probably not. Those 20% shouldn't be left with the short stick, however, particularly when it comes to the really helpful commands. Today, I'm proud to reintroduce the [Package Index](http://wp-cli.org/package-index/), a directory of community-maintained WP-CLI packages. Browse available packages to install with `wp package browse` ([doc](http://wp-cli.org/commands/package/browse/)). Once you've found the solution you're looking for, install it with `wp package install` ([doc](http://wp-cli.org/commands/package/install/)): From 536148aa003746858ad5ec0433c55158f3e5bbbd Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 15:56:16 -0700 Subject: [PATCH 588/839] More edits --- _posts/2016-03-22-version-0.23.0.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md index 89072287..d82a3714 100644 --- a/_posts/2016-03-22-version-0.23.0.md +++ b/_posts/2016-03-22-version-0.23.0.md @@ -44,7 +44,7 @@ Consider the following situations ([#2523](https://github.com/wp-cli/wp-cli/issu If you had to complete this task using the WordPress network admin, it would take you hours, if not days, to complete. Simply _writing_ the WP-CLI command for this issue took me only 3 minutes. WP-CLI is genuinely the fastest interface to manage WordPress. -WP-CLI generally follows the 80/20 rule when deciding whether to introduce a new feature. If the feature could be useful to most people, then maybe; otherwise, probably not. Those 20% shouldn't be left with the short stick, however, particularly when it comes to the really helpful commands. +WP-CLI generally follows the 80/20 rule when deciding whether to introduce a new feature. If the feature could be useful to most people, then maybe; otherwise, probably not. Those 20% shouldn't be left with the short stick though, particularly when it comes to the really helpful commands. Today, I'm proud to reintroduce the [Package Index](http://wp-cli.org/package-index/), a directory of community-maintained WP-CLI packages. Browse available packages to install with `wp package browse` ([doc](http://wp-cli.org/commands/package/browse/)). Once you've found the solution you're looking for, install it with `wp package install` ([doc](http://wp-cli.org/commands/package/install/)): @@ -78,6 +78,8 @@ Today, I'm proud to reintroduce the [Package Index](http://wp-cli.org/package-in | twentytwelve | 1.9 | +----------------+---------+ +Consider WP-CLI's package management to be a beta feature at this time. You may run into [one of the open issues](https://github.com/wp-cli/wp-cli/issues?q=is%3Aopen+sort%3Aupdated-desc+label%3Acommand%3Apackage), or find a bug that hasn't been reported yet. If you're keen to take a deep dive into Composer's internals, helping to improve `wp package` would be a great way to start. + Relevant pull requests for `wp package` include [#2442](https://github.com/wp-cli/wp-cli/pull/2442), [#2460](https://github.com/wp-cli/wp-cli/pull/2460), [#2491](https://github.com/wp-cli/wp-cli/pull/2491), [#2512](https://github.com/wp-cli/wp-cli/pull/2512), [#2514](https://github.com/wp-cli/wp-cli/pull/2514), [#2533](https://github.com/wp-cli/wp-cli/pull/2533), [#2534](https://github.com/wp-cli/wp-cli/pull/2534), [#2537](https://github.com/wp-cli/wp-cli/pull/2537), [#2540](https://github.com/wp-cli/wp-cli/pull/2540), [#2543](https://github.com/wp-cli/wp-cli/pull/2543), [#2546](https://github.com/wp-cli/wp-cli/pull/2546), [#2547](https://github.com/wp-cli/wp-cli/pull/2547), [#2555](https://github.com/wp-cli/wp-cli/pull/2555), [#2561](https://github.com/wp-cli/wp-cli/pull/2561) ### Register more commands From ecd758541ec4197d8e42dc182b2ac6b28f9f6355 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 15:57:31 -0700 Subject: [PATCH 589/839] Command promo --- _posts/2016-03-22-version-0.23.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md index d82a3714..a67f8e12 100644 --- a/_posts/2016-03-22-version-0.23.0.md +++ b/_posts/2016-03-22-version-0.23.0.md @@ -42,7 +42,7 @@ Consider the following situations ([#2523](https://github.com/wp-cli/wp-cli/issu > But I can't find a way to list which themes are inactive in every site of the network so I can safely disable and delete them, and i'd love to have this feature -If you had to complete this task using the WordPress network admin, it would take you hours, if not days, to complete. Simply _writing_ the WP-CLI command for this issue took me only 3 minutes. WP-CLI is genuinely the fastest interface to manage WordPress. +If you had to complete this task using the WordPress network admin, it would take you hours, if not days, to complete. Simply _writing_ the WP-CLI command for this issue took me only 3 minutes ([runcommand/find-unused-themes](https://github.com/runcommand/find-unused-themes)). WP-CLI is genuinely the fastest interface to manage WordPress. WP-CLI generally follows the 80/20 rule when deciding whether to introduce a new feature. If the feature could be useful to most people, then maybe; otherwise, probably not. Those 20% shouldn't be left with the short stick though, particularly when it comes to the really helpful commands. From b5098cbd0b02020bc97f21a1836cd6e5d511859d Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 15:59:20 -0700 Subject: [PATCH 590/839] Edits --- _posts/2016-03-22-version-0.23.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md index a67f8e12..07f77da2 100644 --- a/_posts/2016-03-22-version-0.23.0.md +++ b/_posts/2016-03-22-version-0.23.0.md @@ -126,7 +126,7 @@ Want to reuse argument definition between commands? You can now register command ), ) ); -Note also the `default` argument attribute for `format`. WP-CLI accepts `default` and `options` as a part of argument registration to make it easier to process user input within your command. These attributes can be also defined in the callable's PHPDoc: +Note the `default` argument attribute for `format`. WP-CLI accepts `default` and `options` as a part of argument registration to make it easier to process user input within your command. These attributes can be also defined in the callable's PHPDoc: /** * List callbacks registered to a given action or filter. @@ -150,7 +150,7 @@ Check out the [commands cookbook](http://wp-cli.org/docs/commands-cookbook/) for ### More, better, easier to find documentation -It's actually hard to imagine how people got around with the previous documentation implementation. Here's what's changed: +It's actually hard to imagine how people got around previously. Here's what's changed in documentationland: * The wiki has been reincarnated as the [documentation portal](http://wp-cli.org/docs/) on the website. I spent time cleaning up the pages as I moved them over; hopefully you find the new [commands cookbook](http://wp-cli.org/docs/commands-cookbook/) quite helpful. * Internal APIs you can use in your own commands are now [publicly documented](http://wp-cli.org/docs/internal-api/). The internal API pages are generated from the codebase, which should greatly help maintenance efforts. From 81068910781fe907905f0ecfb1162fe5a137ee78 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 16:00:53 -0700 Subject: [PATCH 591/839] Moar edits --- _posts/2016-03-22-version-0.23.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md index 07f77da2..214dd578 100644 --- a/_posts/2016-03-22-version-0.23.0.md +++ b/_posts/2016-03-22-version-0.23.0.md @@ -160,9 +160,9 @@ Relevant pull requests include [#2454](https://github.com/wp-cli/wp-cli/pull/245 ### Automatic update checks -For those using WP-CLI as a Phar file, which should be most of you, v0.23.0 and later will automatically check for updates. If an update is found, you'll be prompted to install it. +For those using WP-CLI as a Phar file, which should be most of you, version 0.23.0 and later will automatically check for updates. If an update is found, you'll be prompted to install it. -Automatic update checks even work for those using the nightly build! Use `wp cli update --nightly` to get on the nightly track. +Automatic update checks even work for those using the nightly build! Use `wp cli update --nightly` to get back on the nightly track after each major release. By default, the automatic update check will run once a day for users with a writable WP-CLI Phar file. They're triggered when a user, not a script, runs `wp help `. This frequency can be configured with the `WP_CLI_AUTO_CHECK_UPDATE_DAYS` environment variable, or disabled entirely with the `WP_CLI_DISABLE_AUTO_CHECK_UPDATE` environment variable. From 368b13f4fd4bc6ef744653347fb475db36e0ad78 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 16:02:16 -0700 Subject: [PATCH 592/839] Moar edits --- _posts/2016-03-22-version-0.23.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md index 214dd578..a00980d3 100644 --- a/_posts/2016-03-22-version-0.23.0.md +++ b/_posts/2016-03-22-version-0.23.0.md @@ -164,7 +164,7 @@ For those using WP-CLI as a Phar file, which should be most of you, version 0.23 Automatic update checks even work for those using the nightly build! Use `wp cli update --nightly` to get back on the nightly track after each major release. -By default, the automatic update check will run once a day for users with a writable WP-CLI Phar file. They're triggered when a user, not a script, runs `wp help `. This frequency can be configured with the `WP_CLI_AUTO_CHECK_UPDATE_DAYS` environment variable, or disabled entirely with the `WP_CLI_DISABLE_AUTO_CHECK_UPDATE` environment variable. +By default, the automatic update check will run once a day for users with a _writable_ WP-CLI Phar file. Distribution file or directory not writable? Then the check won't run. Automatic update checks are triggered when a user, not a script, runs `wp help `. This frequency can be configured with the `WP_CLI_AUTO_CHECK_UPDATE_DAYS` environment variable, or disabled entirely with the `WP_CLI_DISABLE_AUTO_CHECK_UPDATE` environment variable. Relevant pull requests for this feature includes [#2536](https://github.com/wp-cli/wp-cli/pull/2536) and [#2538](https://github.com/wp-cli/wp-cli/pull/2538). From cfa54f70f88abce2c4cccb3fe680947af71145f4 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 16:03:34 -0700 Subject: [PATCH 593/839] Moar edits --- _posts/2016-03-22-version-0.23.0.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md index a00980d3..d712597b 100644 --- a/_posts/2016-03-22-version-0.23.0.md +++ b/_posts/2016-03-22-version-0.23.0.md @@ -172,10 +172,10 @@ Relevant pull requests for this feature includes [#2536](https://github.com/wp-c Command improvements: -* Better performance for `wp (user|post) list --format=count` by only fetching the data we need [[#2370](https://github.com/wp-cli/wp-cli/pull/2370),[#2387](https://github.com/wp-cli/wp-cli/pull/2387)]. +* Better performance for `wp (user|post) list --format=count` by only fetching the data we need [[#2370](https://github.com/wp-cli/wp-cli/pull/2370), [#2387](https://github.com/wp-cli/wp-cli/pull/2387)]. * Prevents dupe builds with Travis default settings in `wp scaffold plugin-tests` [[#2377](https://github.com/wp-cli/wp-cli/pull/2377)]. * Generate comments for a specific post with `wp comment generate --post_id=` [[#2388](https://github.com/wp-cli/wp-cli/pull/2388)]. -* Cleans up files from the prior version when using `wp core (update|download) --force` [[#2382](https://github.com/wp-cli/wp-cli/pull/2382),[#2406](https://github.com/wp-cli/wp-cli/pull/2406),[#2413](https://github.com/wp-cli/wp-cli/pull/2413),[#2432](https://github.com/wp-cli/wp-cli/pull/2432)]. +* Cleans up files from the prior version when using `wp core (update|download) --force` [[#2382](https://github.com/wp-cli/wp-cli/pull/2382), [#2406](https://github.com/wp-cli/wp-cli/pull/2406), [#2413](https://github.com/wp-cli/wp-cli/pull/2413), [#2432](https://github.com/wp-cli/wp-cli/pull/2432)]. * Adds a timer to individual events in `wp cron event run` [[#2437](https://github.com/wp-cli/wp-cli/pull/2437)]. * Introduces `wp term meta` for managing term meta [[#2444](https://github.com/wp-cli/wp-cli/pull/2444)]. * Adds CSV and JSON output format to `wp (theme|plugin) update` [[#2452](https://github.com/wp-cli/wp-cli/pull/2452)]. @@ -183,11 +183,11 @@ Command improvements: * Entirely avoids loading WordPress in `wp core verify-checksums` [[#2459](https://github.com/wp-cli/wp-cli/pull/2459)]. * Supports emptying term meta with `wp site empty` [[#2506](https://github.com/wp-cli/wp-cli/pull/2506)]. * Adds WP REST API registration args to `scaffold (post-type|taxonomy)` [[#2551](https://github.com/wp-cli/wp-cli/pull/2551)]. -* Adds documentation to `test-sample.php` and `bootstrap.php` when running `wp scaffold plugin-tests` [[#2577](https://github.com/wp-cli/wp-cli/pull/2577),[#2578](https://github.com/wp-cli/wp-cli/pull/2578)]. +* Adds documentation to `test-sample.php` and `bootstrap.php` when running `wp scaffold plugin-tests` [[#2577](https://github.com/wp-cli/wp-cli/pull/2577), [#2578](https://github.com/wp-cli/wp-cli/pull/2578)]. Framework enhancements: -* Switches `WP_CLI::confirm()` to automatically lowercase the response, permitting use of `Y` or `y` [[2366](https://github.com/wp-cli/wp-cli/pull/2366)]. +* Switches `WP_CLI::confirm()` to automatically lowercase the response, permitting use of `Y` or `y` [[#2366](https://github.com/wp-cli/wp-cli/pull/2366)]. * Adds `(before|after)_wp(_config)_load` hooks in WP load process, permitting code injected via `--require` to make modifications during the bootstrap process [[#2375](https://github.com/wp-cli/wp-cli/pull/2375)]. * Adds `.editorconfig` to project root based on WordPress Coding Standards [[#2395](https://github.com/wp-cli/wp-cli/pull/2395)]. * Encodes `WP_Error` data as JSON in `WP_CLI::error_to_string()` so that the data is actually human-readable [[#2397](https://github.com/wp-cli/wp-cli/pull/2397)]. @@ -205,7 +205,7 @@ Bug fixes across the board: * When trying to update a version of core that doesn't exist, check the HTTP response code before trying to unzip an invalid archive [[#2368](https://github.com/wp-cli/wp-cli/pull/2368)]. * Fixes use of `wp server` when the PHP binary contains spaces [[#2422](https://github.com/wp-cli/wp-cli/pull/2422)]. * Respects `--skip_comments` flag for `wp export`, which has been broken for quite a while [[#2427](https://github.com/wp-cli/wp-cli/pull/2427)] -* Persists IPTC data in `wp media import` when missing a title or caption; removes extension from default title [[#2438](https://github.com/wp-cli/wp-cli/pull/2438),[#2466](https://github.com/wp-cli/wp-cli/pull/2466)]. +* Persists IPTC data in `wp media import` when missing a title or caption; removes extension from default title [[#2438](https://github.com/wp-cli/wp-cli/pull/2438), [#2466](https://github.com/wp-cli/wp-cli/pull/2466)]. * Disables check translation updates when updating themes or plugins [[#2439](https://github.com/wp-cli/wp-cli/pull/2439)]. * Corrects parameter sequence order when creating a new user on multisite [[#2443](https://github.com/wp-cli/wp-cli/pull/2443)]. * Disables automatic colorization when `--format=table` [[#2458](https://github.com/wp-cli/wp-cli/pull/2458)]. @@ -215,7 +215,7 @@ Bug fixes across the board: * Fixes formatting of GLOBAL PARAMETERS when command has subcommands [[#2516](https://github.com/wp-cli/wp-cli/pull/2516)]. * Properly handles multi-column keys in `wp search-replace` [[#2531](https://github.com/wp-cli/wp-cli/pull/2531)]. * Uses correct path to autoloader when WP-CLI is installed to a parent Composer project [[#2550](https://github.com/wp-cli/wp-cli/pull/2550)]. -* Properly passes `wp plugin search` fields to `plugins_api()` request; adds `page` parameter [[#2570](https://github.com/wp-cli/wp-cli/pull/2570),[#2571](https://github.com/wp-cli/wp-cli/pull/2571)]. +* Properly passes `wp plugin search` fields to `plugins_api()` request; adds `page` parameter [[#2570](https://github.com/wp-cli/wp-cli/pull/2570), [#2571](https://github.com/wp-cli/wp-cli/pull/2571)]. * Add `parent` as a potential status in `wp theme status` [[#2573](https://github.com/wp-cli/wp-cli/pull/2573)] Contributors to this release: [anantshri](https://github.com/anantshri), [danielbachhuber](https://github.com/danielbachhuber), [edueo](https://github.com/edueo), [GaryJones](https://github.com/GaryJones), [gilbitron](https://github.com/gilbitron), [hina](https://github.com/hina), [hinoue-work](https://github.com/hinoue-work), [jacobischwartz](https://github.com/jacobischwartz), [marco-c](https://github.com/marco-c), [markjaquith](https://github.com/markjaquith), [markkimsal](https://github.com/markkimsal), [mbovel](https://github.com/mbovel), [ottok](https://github.com/ottok), [rodrigoprimo](https://github.com/rodrigoprimo), [sourcerer-mike](https://github.com/sourcerer-mike), [staude](https://github.com/staude), [szepeviktor](https://github.com/szepeviktor), [za-creature](https://github.com/za-creature) From c914a163346db38d4e702aae7230302237c17e5d Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 16:04:21 -0700 Subject: [PATCH 594/839] Another edit --- _posts/2016-03-22-version-0.23.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md index d712597b..f6ae45e2 100644 --- a/_posts/2016-03-22-version-0.23.0.md +++ b/_posts/2016-03-22-version-0.23.0.md @@ -4,7 +4,7 @@ author: danielbachhuber title: Version 0.23.0 released --- -It's hard to believe the last WP-CLI release was only two months ago. This is the longest release post I've ever written — my apologies in advance. +It's hard to believe the last WP-CLI release was only two months ago because this is the longest release post I've ever written. My apologies in advance. If you don't make it all of the way through, here's what you absolutely need to know about WP-CLI v0.23.0: From 6fea21ba4bf9ef0e73565512de94d73248218628 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 16:05:29 -0700 Subject: [PATCH 595/839] Last edit --- _posts/2016-03-22-version-0.23.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md index f6ae45e2..4057692b 100644 --- a/_posts/2016-03-22-version-0.23.0.md +++ b/_posts/2016-03-22-version-0.23.0.md @@ -18,7 +18,7 @@ Now that I've given away all of the surpises, let's get on with the release post Oh darn, I forgot two more things: * For those using the Phar file, which should be most of you, WP-CLI now automatically checks for updates, and will prompt you to update as applicable. It even works for those using the nightly build. This behavior is configurable, see below. -* I've settled on [runcommand](http://runcommand.io/) as the name for my new WP-CLI venture. [Visit the website](http://runcommand.io/) for email updates, or follow [@runcommandio](https://twitter.com/runcommandio) on Twitter. +* I've settled on [runcommand](http://runcommand.io/) as the name for my new WP-CLI venture. [Sign up for email updates](http://runcommand.io/) on the website, or follow [@runcommandio](https://twitter.com/runcommandio) on Twitter. And now, the release post. From 8dd3f2199db2728d458ecc7a2671ec47f39dc885 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 16:06:10 -0700 Subject: [PATCH 596/839] Last edit --- _posts/2016-03-22-version-0.23.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md index 4057692b..b1c0387c 100644 --- a/_posts/2016-03-22-version-0.23.0.md +++ b/_posts/2016-03-22-version-0.23.0.md @@ -42,7 +42,7 @@ Consider the following situations ([#2523](https://github.com/wp-cli/wp-cli/issu > But I can't find a way to list which themes are inactive in every site of the network so I can safely disable and delete them, and i'd love to have this feature -If you had to complete this task using the WordPress network admin, it would take you hours, if not days, to complete. Simply _writing_ the WP-CLI command for this issue took me only 3 minutes ([runcommand/find-unused-themes](https://github.com/runcommand/find-unused-themes)). WP-CLI is genuinely the fastest interface to manage WordPress. +If you had to complete this task using the WordPress network admin, it would take you hours, if not days. Simply _writing_ the WP-CLI command for this issue took me only 3 minutes ([runcommand/find-unused-themes](https://github.com/runcommand/find-unused-themes)). WP-CLI is genuinely the fastest interface to manage WordPress. WP-CLI generally follows the 80/20 rule when deciding whether to introduce a new feature. If the feature could be useful to most people, then maybe; otherwise, probably not. Those 20% shouldn't be left with the short stick though, particularly when it comes to the really helpful commands. From 6fade2732e68ac8cf231690870a34e9e03bbcd45 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 16:06:44 -0700 Subject: [PATCH 597/839] Edt --- _posts/2016-03-22-version-0.23.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md index b1c0387c..ea47450b 100644 --- a/_posts/2016-03-22-version-0.23.0.md +++ b/_posts/2016-03-22-version-0.23.0.md @@ -34,7 +34,7 @@ Want to help fix this? Refill your cup of coffee and dive into [#34936](https:// ### Install community commands from the Package Index -Consider the following situations ([#2523](https://github.com/wp-cli/wp-cli/issues/2523)): +Consider the following situation ([#2523](https://github.com/wp-cli/wp-cli/issues/2523)): > Using the `theme list` command without `--url` parameter shows if a theme is enabled for the network and active in the default site. From 84a363a2a8be3bf0308c5fe19d0af5d972901572 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 22 Mar 2016 16:07:51 -0700 Subject: [PATCH 598/839] Editify --- _posts/2016-03-22-version-0.23.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md index ea47450b..7b139450 100644 --- a/_posts/2016-03-22-version-0.23.0.md +++ b/_posts/2016-03-22-version-0.23.0.md @@ -44,7 +44,7 @@ Consider the following situation ([#2523](https://github.com/wp-cli/wp-cli/issue If you had to complete this task using the WordPress network admin, it would take you hours, if not days. Simply _writing_ the WP-CLI command for this issue took me only 3 minutes ([runcommand/find-unused-themes](https://github.com/runcommand/find-unused-themes)). WP-CLI is genuinely the fastest interface to manage WordPress. -WP-CLI generally follows the 80/20 rule when deciding whether to introduce a new feature. If the feature could be useful to most people, then maybe; otherwise, probably not. Those 20% shouldn't be left with the short stick though, particularly when it comes to the really helpful commands. +WP-CLI also generally follows the 80/20 rule when deciding whether to introduce a new feature. If the feature could be useful to most people, then maybe; otherwise, probably not. Those 20% shouldn't be left with the short stick though, particularly when it comes to the really helpful commands. Today, I'm proud to reintroduce the [Package Index](http://wp-cli.org/package-index/), a directory of community-maintained WP-CLI packages. Browse available packages to install with `wp package browse` ([doc](http://wp-cli.org/commands/package/browse/)). Once you've found the solution you're looking for, install it with `wp package install` ([doc](http://wp-cli.org/commands/package/install/)): @@ -78,7 +78,7 @@ Today, I'm proud to reintroduce the [Package Index](http://wp-cli.org/package-in | twentytwelve | 1.9 | +----------------+---------+ -Consider WP-CLI's package management to be a beta feature at this time. You may run into [one of the open issues](https://github.com/wp-cli/wp-cli/issues?q=is%3Aopen+sort%3Aupdated-desc+label%3Acommand%3Apackage), or find a bug that hasn't been reported yet. If you're keen to take a deep dive into Composer's internals, helping to improve `wp package` would be a great way to start. +Pretty cool, huh? Consider WP-CLI's package management to be a beta feature at this time. You may run into [one of the open issues](https://github.com/wp-cli/wp-cli/issues?q=is%3Aopen+sort%3Aupdated-desc+label%3Acommand%3Apackage), or find a bug that hasn't been reported yet. If you're keen to take a deep dive into Composer's internals, helping to improve `wp package` would be a great way to start. Relevant pull requests for `wp package` include [#2442](https://github.com/wp-cli/wp-cli/pull/2442), [#2460](https://github.com/wp-cli/wp-cli/pull/2460), [#2491](https://github.com/wp-cli/wp-cli/pull/2491), [#2512](https://github.com/wp-cli/wp-cli/pull/2512), [#2514](https://github.com/wp-cli/wp-cli/pull/2514), [#2533](https://github.com/wp-cli/wp-cli/pull/2533), [#2534](https://github.com/wp-cli/wp-cli/pull/2534), [#2537](https://github.com/wp-cli/wp-cli/pull/2537), [#2540](https://github.com/wp-cli/wp-cli/pull/2540), [#2543](https://github.com/wp-cli/wp-cli/pull/2543), [#2546](https://github.com/wp-cli/wp-cli/pull/2546), [#2547](https://github.com/wp-cli/wp-cli/pull/2547), [#2555](https://github.com/wp-cli/wp-cli/pull/2555), [#2561](https://github.com/wp-cli/wp-cli/pull/2561) From 71a83f86af8d2ec414159ff313e3f99f6edc4ab8 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 23 Mar 2016 06:20:45 -0700 Subject: [PATCH 599/839] Got the Twitter account! --- _posts/2016-03-22-version-0.23.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md index 7b139450..76be18ad 100644 --- a/_posts/2016-03-22-version-0.23.0.md +++ b/_posts/2016-03-22-version-0.23.0.md @@ -18,7 +18,7 @@ Now that I've given away all of the surpises, let's get on with the release post Oh darn, I forgot two more things: * For those using the Phar file, which should be most of you, WP-CLI now automatically checks for updates, and will prompt you to update as applicable. It even works for those using the nightly build. This behavior is configurable, see below. -* I've settled on [runcommand](http://runcommand.io/) as the name for my new WP-CLI venture. [Sign up for email updates](http://runcommand.io/) on the website, or follow [@runcommandio](https://twitter.com/runcommandio) on Twitter. +* I've settled on [runcommand](http://runcommand.io/) as the name for my new WP-CLI venture. [Sign up for email updates](http://runcommand.io/) on the website, or follow [@runcommand](https://twitter.com/runcommand) on Twitter. And now, the release post. From a3cf85ee6298245998ccbb015011dcaae421b05f Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 23 Mar 2016 14:42:33 -0700 Subject: [PATCH 600/839] Documentation cleanup --- _includes/cmd-list.html | 2 +- commands/help/index.md | 2 +- commands/search-replace/index.md | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/_includes/cmd-list.html b/_includes/cmd-list.html index 0a314289..500bfbee 100644 --- a/_includes/cmd-list.html +++ b/_includes/cmd-list.html @@ -40,7 +40,7 @@
  • - + diff --git a/commands/help/index.md b/commands/help/index.md index e125e0cf..dd8cc803 100644 --- a/commands/help/index.md +++ b/commands/help/index.md @@ -4,7 +4,7 @@ title: 'wp help' display_global_parameters: true --- -`wp help` - Get help on WP-CLI, or on a specific. command. +`wp help` - Get help on WP-CLI, or on a specific command. Quick links: Github issues diff --git a/commands/search-replace/index.md b/commands/search-replace/index.md index c153ffbe..ee3a3440 100644 --- a/commands/search-replace/index.md +++ b/commands/search-replace/index.md @@ -80,8 +80,8 @@ will take about 15-20x longer when using --regex. wp search-replace 'foo' 'bar' wp_posts wp_postmeta wp_terms --dry-run - # Turn your production database into a local database - wp search-replace --url=example.com example.com example.dev 'wp_*_options' + # Turn your production multisite database into a local dev database + wp search-replace --url=example.com example.com example.dev 'wp_*_options' wp_blogs # Search/replace to a SQL file without transforming the database wp search-replace foo bar --export=database.sql From b35fd09841580646222fcb9fe0c6d2708a01c29a Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 24 Mar 2016 05:28:25 -0700 Subject: [PATCH 601/839] Fix link to alt install methods --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index d65b7465..7d467903 100644 --- a/index.md +++ b/index.md @@ -54,7 +54,7 @@ If you're using MAMP, you will probably get a MySQL error, because the `php` fou More resources: * [Getting Started with WP-CLI](https://trepmal.com/2014/02/22/getting-started-with-wp-cli/) (includes video) -* [Alternative Install Methods](/wiki/alternative-install-methods) +* [Alternative Install Methods](/docs/alternative-install-methods)

    Tab completions

    From ae71377afbd84b5e9e1042744e415f16a3365b5b Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 24 Mar 2016 12:35:22 -0700 Subject: [PATCH 602/839] Mark `WP_CLI::run_command()` as a public API --- _includes/internal-api-list.html | 3 + docs/internal-api/wp-cli-launch-self/index.md | 13 ++++ docs/internal-api/wp-cli-launch/index.md | 3 + docs/internal-api/wp-cli-run-command/index.md | 62 +++++++++++++++++++ 4 files changed, 81 insertions(+) create mode 100644 docs/internal-api/wp-cli-run-command/index.md diff --git a/_includes/internal-api-list.html b/_includes/internal-api-list.html index 3eaa99ad..02450a61 100644 --- a/_includes/internal-api-list.html +++ b/_includes/internal-api-list.html @@ -80,6 +80,9 @@
  • WP_CLI::launch_self() - Run a WP-CLI command in a new process reusing the current runtime arguments.
  • +
  • WP_CLI::run_command() - Run a given command within the current process using the same global
  • + + diff --git a/docs/internal-api/wp-cli-launch-self/index.md b/docs/internal-api/wp-cli-launch-self/index.md index e67ebae7..f00415a6 100644 --- a/docs/internal-api/wp-cli-launch-self/index.md +++ b/docs/internal-api/wp-cli-launch-self/index.md @@ -27,6 +27,16 @@ Run a WP-CLI command in a new process reusing the current runtime arguments. +*** + +### Notes + +Note: While this command does persist a limited set of runtime arguments, +it *does not* persist environment variables. Practically speaking, WP-CLI +packages won't be loaded when using WP_CLI::launch_self() because the +launched process doesn't have access to the current process $HOME. + + *Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* @@ -41,6 +51,9 @@ Run a WP-CLI command in a new process reusing the current runtime arguments.
  • WP_CLI::launch() - Launch an arbitrary external process that takes over I/O.
  • +
  • WP_CLI::run_command() - Run a given command within the current process using the same global
  • + + diff --git a/docs/internal-api/wp-cli-launch/index.md b/docs/internal-api/wp-cli-launch/index.md index 9bdab3ae..cef0eb9c 100644 --- a/docs/internal-api/wp-cli-launch/index.md +++ b/docs/internal-api/wp-cli-launch/index.md @@ -52,6 +52,9 @@ Launch an arbitrary external process that takes over I/O.
  • WP_CLI::launch_self() - Run a WP-CLI command in a new process reusing the current runtime arguments.
  • +
  • WP_CLI::run_command() - Run a given command within the current process using the same global
  • + + diff --git a/docs/internal-api/wp-cli-run-command/index.md b/docs/internal-api/wp-cli-run-command/index.md new file mode 100644 index 00000000..75388908 --- /dev/null +++ b/docs/internal-api/wp-cli-run-command/index.md @@ -0,0 +1,62 @@ +--- +layout: default +title: WP_CLI::run_command() +description: Run a given command within the current process using the same global +--- + +Docs » Internal API » Execution + +## WP_CLI::run_command() + +Run a given command within the current process using the same global + +*** + +### Usage + + WP_CLI::run_command( $args, $assoc_args = array() ) + +
    +$args (array) Positional arguments including command name.
    +$assoc_args (array)
    +
    + + +*** + +### Notes + +parameters. + +To run a command using a new process with the same global parameters, +use WP_CLI::launch_self(). To run a command using a new process with +different global parameters, use WP_CLI::launch(). + + + ob_start(); + WP_CLI::run_command( array( 'cli', 'cmd-dump' ) ); + $ret = ob_get_clean(); + + + +*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* + + +*** + +### Related + +
      + + + +
    • WP_CLI::launch() - Launch an arbitrary external process that takes over I/O.
    • + + +
    • WP_CLI::launch_self() - Run a WP-CLI command in a new process reusing the current runtime arguments.
    • + + + +
    + + From ab28d9d293eb27e4b5563b95fc35b41cb3706f50 Mon Sep 17 00:00:00 2001 From: Rachel Date: Wed, 30 Mar 2016 10:11:17 -0500 Subject: [PATCH 603/839] Fix 404 for Alternative Installation Methods --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index 7d467903..3365f171 100644 --- a/index.md +++ b/index.md @@ -54,7 +54,7 @@ If you're using MAMP, you will probably get a MySQL error, because the `php` fou More resources: * [Getting Started with WP-CLI](https://trepmal.com/2014/02/22/getting-started-with-wp-cli/) (includes video) -* [Alternative Install Methods](/docs/alternative-install-methods) +* [Alternative Installation Methods](/docs/installing/#alternative-installation-methods)

    Tab completions

    From dd8260fbc26a3cfc872ab3e976c44bc3363f37b6 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 31 Mar 2016 08:49:50 -0700 Subject: [PATCH 604/839] Explain what `wp cron test` actually does --- commands/cron/test/index.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/commands/cron/test/index.md b/commands/cron/test/index.md index a74d22fc..7a02c1df 100644 --- a/commands/cron/test/index.md +++ b/commands/cron/test/index.md @@ -10,7 +10,12 @@ display_global_parameters: true
    - +This command tests the spawning system by performing the following steps: +* Checks to see if the `DISABLE_WP_CRON` constant is set; errors if true +because WP-Cron is disabled. +* Checks to see if the `ALTERNATE_WP_CRON` constant is set; warns if true +* Attempts to spawn WP-Cron over HTTP; warns if non 200 response code is +returned. From 62dd89f50d6859fe9701334fe7d7690fe04f90dc Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 1 Apr 2016 10:48:55 -0700 Subject: [PATCH 605/839] Expand upon `wp db *` docs --- commands/db/cli/index.md | 2 +- commands/db/create/index.md | 6 ++++-- commands/db/drop/index.md | 6 +++++- commands/db/export/index.md | 5 ++++- commands/db/import/index.md | 2 +- commands/db/index.md | 20 ++++++++++---------- commands/db/optimize/index.md | 7 ++++++- commands/db/query/index.md | 5 ++++- commands/db/repair/index.md | 7 ++++++- commands/db/reset/index.md | 6 +++++- commands/db/tables/index.md | 2 +- 11 files changed, 47 insertions(+), 21 deletions(-) diff --git a/commands/db/cli/index.md b/commands/db/cli/index.md index c13460fc..852815a0 100644 --- a/commands/db/cli/index.md +++ b/commands/db/cli/index.md @@ -4,7 +4,7 @@ title: 'wp db cli' display_global_parameters: true --- -`wp db cli` - Open a mysql console using the WordPress credentials. +`wp db cli` - Open a MySQL console using credentials from wp-config.php Quick links: Github issues diff --git a/commands/db/create/index.md b/commands/db/create/index.md index f9a98fbf..bed55b97 100644 --- a/commands/db/create/index.md +++ b/commands/db/create/index.md @@ -4,13 +4,15 @@ title: 'wp db create' display_global_parameters: true --- -`wp db create` - Create the database, as specified in wp-config.php +`wp db create` - Create the database in MySQL. Quick links: Github issues
    - +Runs `CREATE_DATABASE` MySQL statement using `DB_HOST`, `DB_NAME`, +`DB_USER` and `DB_PASSWORD` database credentials specified in +wp-config.php. diff --git a/commands/db/drop/index.md b/commands/db/drop/index.md index c508d01b..cc8a250c 100644 --- a/commands/db/drop/index.md +++ b/commands/db/drop/index.md @@ -4,12 +4,16 @@ title: 'wp db drop' display_global_parameters: true --- -`wp db drop` - Delete the database. +`wp db drop` - Delete the database in MySQL. Quick links: Github issues
    +Runs `DROP_DATABASE` MySQL statement using `DB_HOST`, `DB_NAME`, +`DB_USER` and `DB_PASSWORD` database credentials specified in +wp-config.php. + ### OPTIONS [\--yes] diff --git a/commands/db/export/index.md b/commands/db/export/index.md index ba041d2e..f4da3f59 100644 --- a/commands/db/export/index.md +++ b/commands/db/export/index.md @@ -4,12 +4,15 @@ title: 'wp db export' display_global_parameters: true --- -`wp db export` - Exports the database to a file or to STDOUT. +`wp db export` - Exports the MySQL database to a file or to STDOUT. Quick links: Github issues
    +Runs `mysqldump` utility using `DB_HOST`, `DB_NAME`, `DB_USER` and +`DB_PASSWORD` database credentials specified in wp-config.php. + ### OPTIONS [<file>] diff --git a/commands/db/import/index.md b/commands/db/import/index.md index 8d16709e..4fb2a066 100644 --- a/commands/db/import/index.md +++ b/commands/db/import/index.md @@ -4,7 +4,7 @@ title: 'wp db import' display_global_parameters: true --- -`wp db import` - Import database from a file or from STDIN. +`wp db import` - Import a MySQL database from a file or from STDIN. Quick links: Github issues diff --git a/commands/db/index.md b/commands/db/index.md index 5ea2ec6c..bd8f795f 100644 --- a/commands/db/index.md +++ b/commands/db/index.md @@ -26,43 +26,43 @@ display_global_parameters: true
    - + - + - + - + - + - + - + - + - + - +
    helpGet help on WP-CLI, or on a specific. command.Get help on WP-CLI, or on a specific command.
    import
    cliOpen a mysql console using the WordPress credentials.Open a MySQL console using credentials from wp-config.php
    createCreate the database, as specified in wp-config.phpCreate the database in MySQL.
    dropDelete the database.Delete the database in MySQL.
    exportExports the database to a file or to STDOUT.Exports the MySQL database to a file or to STDOUT.
    importImport database from a file or from STDIN.Import a MySQL database from a file or from STDIN.
    optimizeOptimize the database.Optimize the database in MySQL.
    queryExecute a query against the database.Execute a MySQL query against the database.
    repairRepair the database.Repair the database in MySQL.
    resetRemove all tables from the database.Remove all tables from the database in MySQL.
    tablesList the database tables.List the MySQL database tables.
    diff --git a/commands/db/optimize/index.md b/commands/db/optimize/index.md index c5605908..1f4a63fd 100644 --- a/commands/db/optimize/index.md +++ b/commands/db/optimize/index.md @@ -4,13 +4,18 @@ title: 'wp db optimize' display_global_parameters: true --- -`wp db optimize` - Optimize the database. +`wp db optimize` - Optimize the database in MySQL. Quick links: Github issues
    +Runs `mysqlcheck` utility with `--optimize=true` using `DB_HOST`, +`DB_NAME`, `DB_USER` and `DB_PASSWORD` database credentials +specified in wp-config.php. +[See docs](http://dev.mysql.com/doc/refman/5.7/en/optimize-table.html) +for more details on the `OPTIMIZE_TABLE` statement. diff --git a/commands/db/query/index.md b/commands/db/query/index.md index 9d4bbdad..4dabf6c8 100644 --- a/commands/db/query/index.md +++ b/commands/db/query/index.md @@ -4,12 +4,15 @@ title: 'wp db query' display_global_parameters: true --- -`wp db query` - Execute a query against the database. +`wp db query` - Execute a MySQL query against the database. Quick links: Github issues
    +Executes an arbitrary MySQL query using `DB_HOST`, `DB_NAME`, `DB_USER` + and `DB_PASSWORD` database credentials specified in wp-config.php. + ### OPTIONS [<sql>] diff --git a/commands/db/repair/index.md b/commands/db/repair/index.md index ccd1d05b..78c4e754 100644 --- a/commands/db/repair/index.md +++ b/commands/db/repair/index.md @@ -4,13 +4,18 @@ title: 'wp db repair' display_global_parameters: true --- -`wp db repair` - Repair the database. +`wp db repair` - Repair the database in MySQL. Quick links: Github issues
    +Runs `mysqlcheck` utility with `--repair=true` using `DB_HOST`, +`DB_NAME`, `DB_USER` and `DB_PASSWORD` database credentials +specified in wp-config.php. +[See docs](http://dev.mysql.com/doc/refman/5.7/en/repair-table.html) for +more details on the `REPAIR_TABLE` statement. diff --git a/commands/db/reset/index.md b/commands/db/reset/index.md index 6054dfe0..6aa82dbe 100644 --- a/commands/db/reset/index.md +++ b/commands/db/reset/index.md @@ -4,12 +4,16 @@ title: 'wp db reset' display_global_parameters: true --- -`wp db reset` - Remove all tables from the database. +`wp db reset` - Remove all tables from the database in MySQL. Quick links: Github issues
    +Runs `DROP_DATABASE` and `CREATE_DATABASE` MySQL statements using +`DB_HOST`, `DB_NAME`, `DB_USER` and `DB_PASSWORD` database credentials +specified in wp-config.php. + ### OPTIONS [\--yes] diff --git a/commands/db/tables/index.md b/commands/db/tables/index.md index e3667ff7..22b06384 100644 --- a/commands/db/tables/index.md +++ b/commands/db/tables/index.md @@ -4,7 +4,7 @@ title: 'wp db tables' display_global_parameters: true --- -`wp db tables` - List the database tables. +`wp db tables` - List the MySQL database tables. Quick links: Github issues From a95d0dfcef0578bb2a886b7ec597d793c464514b Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 5 Apr 2016 09:27:17 -0700 Subject: [PATCH 606/839] Add missing trailing bracket --- _posts/2016-03-22-version-0.23.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-03-22-version-0.23.0.md b/_posts/2016-03-22-version-0.23.0.md index 76be18ad..3519507e 100644 --- a/_posts/2016-03-22-version-0.23.0.md +++ b/_posts/2016-03-22-version-0.23.0.md @@ -134,7 +134,7 @@ Note the `default` argument attribute for `format`. WP-CLI accepts `default` and * * : The key for the action or filter. * - * [--format=] * : List callbacks as a table, JSON or CSV. * --- * options: From c15be5d4758158683d199a356e0bafb14689b2d8 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 5 Apr 2016 13:26:40 -0700 Subject: [PATCH 607/839] Mention suhosin whitelist and packages --- docs/bug-reports/index.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/bug-reports/index.md b/docs/bug-reports/index.md index 76dcd3f1..1d7c498a 100644 --- a/docs/bug-reports/index.md +++ b/docs/bug-reports/index.md @@ -29,11 +29,13 @@ Also, because WP-CLI is a tool whose behavior is different from system to system # Which version of PHP are you using? which -a php php -v - # Are you running suhosin? + # Are you running suhosin? If so, make sure you've added `suhosin.executor.include.whitelist = phar` to your php.ini php -m | grep -i suhosin # Which version of WordPress are you using? grep '^\$wp_version\s' wp-includes/version.php # Can you share the results of which wp ? which -a wp stat $(which wp) + # Are you running any packages? If one is causing a problem, you can use `--skip-packages` to skip loading them + wp package list From 827e6e10ad30b8037f20fb972bcd1f79a3fc8123 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 6 Apr 2016 06:09:21 -0700 Subject: [PATCH 608/839] Mark `WP_CLI::colorize()` as a public API --- _includes/internal-api-list.html | 3 + docs/internal-api/wp-cli-colorize/index.md | 115 ++++++++++++++++++ docs/internal-api/wp-cli-debug/index.md | 3 + .../wp-cli-error-multi-line/index.md | 3 + docs/internal-api/wp-cli-error/index.md | 3 + docs/internal-api/wp-cli-line/index.md | 3 + docs/internal-api/wp-cli-log/index.md | 3 + docs/internal-api/wp-cli-success/index.md | 3 + .../wp-cli-utils-format-items/index.md | 3 + .../wp-cli-utils-make-progress-bar/index.md | 3 + docs/internal-api/wp-cli-warning/index.md | 3 + 11 files changed, 145 insertions(+) create mode 100644 docs/internal-api/wp-cli-colorize/index.md diff --git a/_includes/internal-api-list.html b/_includes/internal-api-list.html index 02450a61..3177fb99 100644 --- a/_includes/internal-api-list.html +++ b/_includes/internal-api-list.html @@ -28,6 +28,9 @@
  • WP_CLI\Utils\make_progress_bar() - Create a progress bar to display percent completion of a given operation.
  • +
  • WP_CLI::colorize() - Colorize a string for output.
  • + +
  • WP_CLI::line() - Display informational message without prefix, and ignore `--quiet`.
  • diff --git a/docs/internal-api/wp-cli-colorize/index.md b/docs/internal-api/wp-cli-colorize/index.md new file mode 100644 index 00000000..773e9aa7 --- /dev/null +++ b/docs/internal-api/wp-cli-colorize/index.md @@ -0,0 +1,115 @@ +--- +layout: default +title: WP_CLI::colorize() +description: Colorize a string for output. +--- + +Docs » Internal API » Output + +## WP_CLI::colorize() + +Colorize a string for output. + +*** + +### Usage + + WP_CLI::colorize( $string ) + +
    +$string (string) String to colorize for output, with color tokens.
    +@return (string) string.

    +
    + + +*** + +### Notes + +Yes, you too can change the color of command line text. For instance, +here's how `WP_CLI::success()` colorizes "Success: " + + + WP_CLI::colorize( "%GSuccess:%n " ) + + +Uses `\cli\Colors::colorize()` to transform color tokens to display +settings. Choose from the following tokens (and note 'reset'): + +* %y => ['color' => 'yellow'], +* %g => ['color' => 'green'], +* %b => ['color' => 'blue'], +* %r => ['color' => 'red'], +* %p => ['color' => 'magenta'], +* %m => ['color' => 'magenta'], +* %c => ['color' => 'cyan'], +* %w => ['color' => 'grey'], +* %k => ['color' => 'black'], +* %n => ['color' => 'reset'], +* %Y => ['color' => 'yellow', 'style' => 'bright'], +* %G => ['color' => 'green', 'style' => 'bright'], +* %B => ['color' => 'blue', 'style' => 'bright'], +* %R => ['color' => 'red', 'style' => 'bright'], +* %P => ['color' => 'magenta', 'style' => 'bright'], +* %M => ['color' => 'magenta', 'style' => 'bright'], +* %C => ['color' => 'cyan', 'style' => 'bright'], +* %W => ['color' => 'grey', 'style' => 'bright'], +* %K => ['color' => 'black', 'style' => 'bright'], +* %N => ['color' => 'reset', 'style' => 'bright'], +* %3 => ['background' => 'yellow'], +* %2 => ['background' => 'green'], +* %4 => ['background' => 'blue'], +* %1 => ['background' => 'red'], +* %5 => ['background' => 'magenta'], +* %6 => ['background' => 'cyan'], +* %7 => ['background' => 'grey'], +* %0 => ['background' => 'black'], +* %F => ['style' => 'blink'], +* %U => ['style' => 'underline'], +* %8 => ['style' => 'inverse'], +* %9 => ['style' => 'bright'], +* %_ => ['style' => 'bright') + + +*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* + + +*** + +### Related + + + + diff --git a/docs/internal-api/wp-cli-debug/index.md b/docs/internal-api/wp-cli-debug/index.md index d3a81eef..378a2cf5 100644 --- a/docs/internal-api/wp-cli-debug/index.md +++ b/docs/internal-api/wp-cli-debug/index.md @@ -63,6 +63,9 @@ WP-CLI bootstrap process for easier debugging and profiling.
  • WP_CLI\Utils\make_progress_bar() - Create a progress bar to display percent completion of a given operation.
  • +
  • WP_CLI::colorize() - Colorize a string for output.
  • + +
  • WP_CLI::line() - Display informational message without prefix, and ignore `--quiet`.
  • diff --git a/docs/internal-api/wp-cli-error-multi-line/index.md b/docs/internal-api/wp-cli-error-multi-line/index.md index 02e1ec5a..86a8cb7a 100644 --- a/docs/internal-api/wp-cli-error-multi-line/index.md +++ b/docs/internal-api/wp-cli-error-multi-line/index.md @@ -45,6 +45,9 @@ Error message is written to STDERR.
  • WP_CLI\Utils\make_progress_bar() - Create a progress bar to display percent completion of a given operation.
  • +
  • WP_CLI::colorize() - Colorize a string for output.
  • + +
  • WP_CLI::line() - Display informational message without prefix, and ignore `--quiet`.
  • diff --git a/docs/internal-api/wp-cli-error/index.md b/docs/internal-api/wp-cli-error/index.md index 1e5b1c88..877977c3 100644 --- a/docs/internal-api/wp-cli-error/index.md +++ b/docs/internal-api/wp-cli-error/index.md @@ -58,6 +58,9 @@ to continue.
  • WP_CLI\Utils\make_progress_bar() - Create a progress bar to display percent completion of a given operation.
  • +
  • WP_CLI::colorize() - Colorize a string for output.
  • + +
  • WP_CLI::line() - Display informational message without prefix, and ignore `--quiet`.
  • diff --git a/docs/internal-api/wp-cli-line/index.md b/docs/internal-api/wp-cli-line/index.md index 0f448521..f13ec5bc 100644 --- a/docs/internal-api/wp-cli-line/index.md +++ b/docs/internal-api/wp-cli-line/index.md @@ -47,6 +47,9 @@ Message is written to STDOUT. `WP_CLI::log()` is typically recommended;
  • WP_CLI\Utils\make_progress_bar() - Create a progress bar to display percent completion of a given operation.
  • +
  • WP_CLI::colorize() - Colorize a string for output.
  • + +
  • WP_CLI::log() - Display informational message without prefix.
  • diff --git a/docs/internal-api/wp-cli-log/index.md b/docs/internal-api/wp-cli-log/index.md index 2c56604a..7ada2f5e 100644 --- a/docs/internal-api/wp-cli-log/index.md +++ b/docs/internal-api/wp-cli-log/index.md @@ -50,6 +50,9 @@ Message is written to STDOUT, or discarded when `--quiet` flag is supplied.
  • WP_CLI\Utils\make_progress_bar() - Create a progress bar to display percent completion of a given operation.
  • +
  • WP_CLI::colorize() - Colorize a string for output.
  • + +
  • WP_CLI::line() - Display informational message without prefix, and ignore `--quiet`.
  • diff --git a/docs/internal-api/wp-cli-success/index.md b/docs/internal-api/wp-cli-success/index.md index 3a888159..743de4d7 100644 --- a/docs/internal-api/wp-cli-success/index.md +++ b/docs/internal-api/wp-cli-success/index.md @@ -58,6 +58,9 @@ Typically recommended to inform user of successful script conclusion.
  • WP_CLI\Utils\make_progress_bar() - Create a progress bar to display percent completion of a given operation.
  • +
  • WP_CLI::colorize() - Colorize a string for output.
  • + +
  • WP_CLI::line() - Display informational message without prefix, and ignore `--quiet`.
  • diff --git a/docs/internal-api/wp-cli-utils-format-items/index.md b/docs/internal-api/wp-cli-utils-format-items/index.md index 0c856423..b4b4da70 100644 --- a/docs/internal-api/wp-cli-utils-format-items/index.md +++ b/docs/internal-api/wp-cli-utils-format-items/index.md @@ -77,6 +77,9 @@ Or render `$items` as YAML:
  • WP_CLI\Utils\make_progress_bar() - Create a progress bar to display percent completion of a given operation.
  • +
  • WP_CLI::colorize() - Colorize a string for output.
  • + +
  • WP_CLI::line() - Display informational message without prefix, and ignore `--quiet`.
  • diff --git a/docs/internal-api/wp-cli-utils-make-progress-bar/index.md b/docs/internal-api/wp-cli-utils-make-progress-bar/index.md index d642cfd7..dd69887b 100644 --- a/docs/internal-api/wp-cli-utils-make-progress-bar/index.md +++ b/docs/internal-api/wp-cli-utils-make-progress-bar/index.md @@ -60,6 +60,9 @@ Process bar also indicates elapsed time and expected total time.
  • WP_CLI\Utils\format_items() - Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or count.
  • +
  • WP_CLI::colorize() - Colorize a string for output.
  • + +
  • WP_CLI::line() - Display informational message without prefix, and ignore `--quiet`.
  • diff --git a/docs/internal-api/wp-cli-warning/index.md b/docs/internal-api/wp-cli-warning/index.md index 7a1d2de6..0dcb6a7a 100644 --- a/docs/internal-api/wp-cli-warning/index.md +++ b/docs/internal-api/wp-cli-warning/index.md @@ -59,6 +59,9 @@ to continue.
  • WP_CLI\Utils\make_progress_bar() - Create a progress bar to display percent completion of a given operation.
  • +
  • WP_CLI::colorize() - Colorize a string for output.
  • + +
  • WP_CLI::line() - Display informational message without prefix, and ignore `--quiet`.
  • From c6f23a5246c502f19f062fdfe3a1444ef3041032 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 6 Apr 2016 07:58:37 -0700 Subject: [PATCH 609/839] Better introduction to creating a bug report --- docs/bug-reports/index.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/bug-reports/index.md b/docs/bug-reports/index.md index 1d7c498a..0f8ec2cd 100644 --- a/docs/bug-reports/index.md +++ b/docs/bug-reports/index.md @@ -7,21 +7,21 @@ description: Help ensure your issue is resolved in a timely manner. Think you've found a bug? We'd love for you to help us get it fixed. -At a minimum, please start your [Github issue](https://github.com/wp-cli/wp-cli/issues) with: +Before you create a new issue, you should [search existing issues](https://github.com/wp-cli/wp-cli/issues?utf8=%E2%9C%93&q=is%3Aissue+bug) to see if there's an existing resolution to it. Once you've searched and discovered there isn't an open issue for your bug, please [create a new Github issue](https://github.com/wp-cli/wp-cli/issues/new) with: * What you were doing. * What you expected to see. * What you actually saw. -Instead of: +For instance, instead of: > I think WP-CLI is broken. Can you help me? -It would be better to start with something like: +It's more helpful to give as much detail as you can: > When I run `wp post list`, I see a fatal error about a class being undefined. I expected to see the list of posts. -Also, because WP-CLI is a tool whose behavior is different from system to system, it never hurts to include some environmental details in your issue if you think they're relevant. +Your bug may also be environment-specific. Because WP-CLI is a tool whose behavior is different from system to system, it never hurts to include some environmental details in your issue if you think they're relevant. # What is your system? lsb_release -a From 660b35ab88d6ae841a662323744d5e77909541d0 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 6 Apr 2016 13:23:11 -0700 Subject: [PATCH 610/839] Fix return signature generation As it turns out, `switch()` doesn't do strict type comparison --- command.php | 31 +++++++------------ docs/internal-api/wp-cli-launch-self/index.md | 2 +- docs/internal-api/wp-cli-launch/index.md | 2 +- .../wp-cli-utils-get-flag-value/index.md | 2 +- .../wp-cli-utils-http-request/index.md | 2 +- 5 files changed, 16 insertions(+), 23 deletions(-) diff --git a/command.php b/command.php index 71ed1e12..e1d68975 100644 --- a/command.php +++ b/command.php @@ -54,25 +54,18 @@ function get_simple_representation( $reflection ) { $parameter_signature = '$' . $parameter->getName(); if ( $parameter->isOptional() ) { $default_value = $parameter->getDefaultValue(); - switch ( $default_value ) { - case array(): - $parameter_signature .= ' = array()'; - break; - case '': - $parameter_signature .= " = ''"; - break; - case null: - $parameter_signature .= ' = null'; - break; - case true: - $parameter_signature .= ' = true'; - break; - case false: - $parameter_signature .= ' = false'; - break; - default: - $parameter_signature .= ' = ' . $default_value; - break; + if ( false === $default_value ) { + $parameter_signature .= ' = false'; + } else if ( array() === $default_value ) { + $parameter_signature .= ' = array()'; + } else if ( '' === $default_value ) { + $parameter_signature .= " = ''"; + } else if ( null === $default_value ) { + $parameter_signature .= ' = null'; + } else if ( true === $default_value ) { + $parameter_signature .= ' = true'; + } else { + $parameter_signature .= ' = ' . $default_value; } } $parameters[] = $parameter_signature; diff --git a/docs/internal-api/wp-cli-launch-self/index.md b/docs/internal-api/wp-cli-launch-self/index.md index f00415a6..5b403dc3 100644 --- a/docs/internal-api/wp-cli-launch-self/index.md +++ b/docs/internal-api/wp-cli-launch-self/index.md @@ -14,7 +14,7 @@ Run a WP-CLI command in a new process reusing the current runtime arguments. ### Usage - WP_CLI::launch_self( $command, $args = array(), $assoc_args = array(), $exit_on_error = true, $return_detailed = array(), $runtime_args = array() ) + WP_CLI::launch_self( $command, $args = array(), $assoc_args = array(), $exit_on_error = true, $return_detailed = false, $runtime_args = array() )
    $command (string) WP-CLI command to call.
    diff --git a/docs/internal-api/wp-cli-launch/index.md b/docs/internal-api/wp-cli-launch/index.md index cef0eb9c..086c7ee2 100644 --- a/docs/internal-api/wp-cli-launch/index.md +++ b/docs/internal-api/wp-cli-launch/index.md @@ -14,7 +14,7 @@ Launch an arbitrary external process that takes over I/O. ### Usage - WP_CLI::launch( $command, $exit_on_error = true, $return_detailed = array() ) + WP_CLI::launch( $command, $exit_on_error = true, $return_detailed = false )
    $command (string) External process to launch.
    diff --git a/docs/internal-api/wp-cli-utils-get-flag-value/index.md b/docs/internal-api/wp-cli-utils-get-flag-value/index.md index 1bc49464..fe01c32a 100644 --- a/docs/internal-api/wp-cli-utils-get-flag-value/index.md +++ b/docs/internal-api/wp-cli-utils-get-flag-value/index.md @@ -14,7 +14,7 @@ Return the flag value or, if it's not set, the $default value. ### Usage - WP_CLI\Utils\get_flag_value( $assoc_args, $flag, $default = array() ) + WP_CLI\Utils\get_flag_value( $assoc_args, $flag, $default = null )
    $assoc_args (array) Arguments array.
    diff --git a/docs/internal-api/wp-cli-utils-http-request/index.md b/docs/internal-api/wp-cli-utils-http-request/index.md index ded4a1c6..986ee57b 100644 --- a/docs/internal-api/wp-cli-utils-http-request/index.md +++ b/docs/internal-api/wp-cli-utils-http-request/index.md @@ -14,7 +14,7 @@ Make a HTTP request to a remote URL. ### Usage - WP_CLI\Utils\http_request( $method, $url, $data = array(), $headers = array(), $options = array() ) + WP_CLI\Utils\http_request( $method, $url, $data = null, $headers = array(), $options = array() )
    $method (string) HTTP method (GET, POST, DELETE, etc.)
    From f7fe2ea266805e1b3583be5212c42ea465a4f81f Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 8 Apr 2016 14:41:11 -0700 Subject: [PATCH 611/839] Remove `scaffold package-tests`, as it now lives elsewhere --- commands/scaffold/package-tests/index.md | 40 ------------------------ 1 file changed, 40 deletions(-) delete mode 100644 commands/scaffold/package-tests/index.md diff --git a/commands/scaffold/package-tests/index.md b/commands/scaffold/package-tests/index.md deleted file mode 100644 index 5b54f9d0..00000000 --- a/commands/scaffold/package-tests/index.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -layout: default -title: 'wp scaffold package-tests' -display_global_parameters: true ---- - -`wp scaffold package-tests` - Generate files needed for writing Behat tests for your command. - -
    - -### DESCRIPTION - -These are the files that are generated: - -* `.travis.yml` is the configuration file for Travis CI -* `bin/install-package-tests.sh` will configure environment to run tests. Script expects WP_CLI_BIN_DIR and WP_CLI_CONFIG_PATH environment variables. -* `features/load-wp-cli.feature` is a basic test to confirm WP-CLI can load. -* `features/bootstrap`, `features/steps`, `features/extra` are Behat configuration files. -* `utils/generate-package-require-from-composer.php` generates a test config.yml file from your package's composer.json - -### ENVIRONMENT - -The `features/bootstrap/FeatureContext.php` file expects the WP_CLI_BIN_DIR and WP_CLI_CONFIG_PATH environment variables. - -WP-CLI Behat framework uses Behat ~2.5. - -### OPTIONS - -<dir> -: The package directory to generate tests for. - -[\--force] -: Overwrite files that already exist. - -### EXAMPLE - - wp scaffold package-tests /path/to/command/dir/ - - - From 61b727078c2fe597c60dce488f9bc91f68cc78a1 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 13 Apr 2016 03:48:03 -0700 Subject: [PATCH 612/839] Mention that bugs may be fixed in a newer version --- docs/bug-reports/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/bug-reports/index.md b/docs/bug-reports/index.md index 0f8ec2cd..c9b358a5 100644 --- a/docs/bug-reports/index.md +++ b/docs/bug-reports/index.md @@ -7,7 +7,7 @@ description: Help ensure your issue is resolved in a timely manner. Think you've found a bug? We'd love for you to help us get it fixed. -Before you create a new issue, you should [search existing issues](https://github.com/wp-cli/wp-cli/issues?utf8=%E2%9C%93&q=is%3Aissue+bug) to see if there's an existing resolution to it. Once you've searched and discovered there isn't an open issue for your bug, please [create a new Github issue](https://github.com/wp-cli/wp-cli/issues/new) with: +Before you create a new issue, you should [search existing issues](https://github.com/wp-cli/wp-cli/issues?utf8=%E2%9C%93&q=is%3Aissue+bug) to see if there's an existing resolution to it — or if it's already been fixed in a newer version of WP-CLI. Once you've searched and discovered there isn't an open or fixed issue for your bug, please [create a new Github issue](https://github.com/wp-cli/wp-cli/issues/new) with: * What you were doing. * What you expected to see. From 84cf850d2d0f0ab79865adf961abe16d4c9d11f4 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 13 Apr 2016 04:08:10 -0700 Subject: [PATCH 613/839] Use backticks so `` doesn't get interpreted as HTML --- docs/internal-api/wp-cli-add-hook/index.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/internal-api/wp-cli-add-hook/index.md b/docs/internal-api/wp-cli-add-hook/index.md index a68a008b..ad59eebf 100644 --- a/docs/internal-api/wp-cli-add-hook/index.md +++ b/docs/internal-api/wp-cli-add-hook/index.md @@ -32,12 +32,12 @@ are typically called before WordPress is loaded. WP-CLI hooks include: -* 'before_invoke:' - Just before a command is invoked. -* 'after_invoke:' - Just after a command is involved. -* 'before_wp_load' - Just before the WP load process begins. -* 'before_wp_config_load' - After wp-config.php has been located. -* 'after_wp_config_load' - After wp-config.php has been loaded into scope. -* 'after_wp_load' - Just after the WP load process has completed. +* `before_invoke:` - Just before a command is invoked. +* `after_invoke:` - Just after a command is involved. +* `before_wp_load` - Just before the WP load process begins. +* `before_wp_config_load` - After wp-config.php has been located. +* `after_wp_config_load` - After wp-config.php has been loaded into scope. +* `after_wp_load` - Just after the WP load process has completed. WP-CLI commands can create their own hooks with `WP_CLI::do_hook()`. From 94d88b0cfedd1fdcf91613260a28ed21bfe894c2 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 13 Apr 2016 07:45:32 -0700 Subject: [PATCH 614/839] Mark `launch_editor_for_input()` a public internal API --- _includes/internal-api-list.html | 3 ++ docs/internal-api/wp-cli-confirm/index.md | 3 ++ docs/internal-api/wp-cli-read-value/index.md | 3 ++ .../wp-cli-utils-get-flag-value/index.md | 3 ++ .../index.md | 48 +++++++++++++++++++ 5 files changed, 60 insertions(+) create mode 100644 docs/internal-api/wp-cli-utils-launch-editor-for-input/index.md diff --git a/_includes/internal-api-list.html b/_includes/internal-api-list.html index 3177fb99..2e29edab 100644 --- a/_includes/internal-api-list.html +++ b/_includes/internal-api-list.html @@ -60,6 +60,9 @@
      +
    • WP_CLI\Utils\launch_editor_for_input() - Launch system's $EDITOR for the user to edit some text.
    • + +
    • WP_CLI\Utils\get_flag_value() - Return the flag value or, if it's not set, the $default value.
    • diff --git a/docs/internal-api/wp-cli-confirm/index.md b/docs/internal-api/wp-cli-confirm/index.md index dc3d5504..e7452c35 100644 --- a/docs/internal-api/wp-cli-confirm/index.md +++ b/docs/internal-api/wp-cli-confirm/index.md @@ -47,6 +47,9 @@ If 'y' is provided to the question, the script execution continues. If +
    • WP_CLI\Utils\launch_editor_for_input() - Launch system's $EDITOR for the user to edit some text.
    • + +
    • WP_CLI\Utils\get_flag_value() - Return the flag value or, if it's not set, the $default value.
    • diff --git a/docs/internal-api/wp-cli-read-value/index.md b/docs/internal-api/wp-cli-read-value/index.md index 34d79c40..8771b067 100644 --- a/docs/internal-api/wp-cli-read-value/index.md +++ b/docs/internal-api/wp-cli-read-value/index.md @@ -33,6 +33,9 @@ Read a value, from various formats. +
    • WP_CLI\Utils\launch_editor_for_input() - Launch system's $EDITOR for the user to edit some text.
    • + +
    • WP_CLI\Utils\get_flag_value() - Return the flag value or, if it's not set, the $default value.
    • diff --git a/docs/internal-api/wp-cli-utils-get-flag-value/index.md b/docs/internal-api/wp-cli-utils-get-flag-value/index.md index fe01c32a..d843134c 100644 --- a/docs/internal-api/wp-cli-utils-get-flag-value/index.md +++ b/docs/internal-api/wp-cli-utils-get-flag-value/index.md @@ -44,6 +44,9 @@ function provides a safer alternative to using +
    • WP_CLI\Utils\launch_editor_for_input() - Launch system's $EDITOR for the user to edit some text.
    • + +
    • WP_CLI::confirm() - Ask for confirmation before running a destructive operation.
    • diff --git a/docs/internal-api/wp-cli-utils-launch-editor-for-input/index.md b/docs/internal-api/wp-cli-utils-launch-editor-for-input/index.md new file mode 100644 index 00000000..a50e40b2 --- /dev/null +++ b/docs/internal-api/wp-cli-utils-launch-editor-for-input/index.md @@ -0,0 +1,48 @@ +--- +layout: default +title: WP_CLI\Utils\launch_editor_for_input() +description: Launch system's $EDITOR for the user to edit some text. +--- + +Docs » Internal API » Input + +## WP_CLI\Utils\launch_editor_for_input() + +Launch system's $EDITOR for the user to edit some text. + +*** + +### Usage + + WP_CLI\Utils\launch_editor_for_input( $input, $filename = WP-CLI ) + +
      +string () $content Some form of text to edit (e.g. post content)
      +@return (string|bool) text, if file is saved from editor; false, if no change to file.

      +
      + + +*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* + + +*** + +### Related + + + + From 69831ea137ebfc46d86b76ed490151452e0a08f3 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 14 Apr 2016 06:23:44 -0700 Subject: [PATCH 615/839] Update dates and hours --- restful/index.md | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/restful/index.md b/restful/index.md index c09898ba..7ef59748 100644 --- a/restful/index.md +++ b/restful/index.md @@ -5,7 +5,7 @@ title: A more RESTful WP-CLI ## A more RESTful WP-CLI -*Landing page last updated: 4 February, 2016* +*Landing page last updated: April 14, 2016* WP-CLI's mission is to be, quantitatively, the *fastest* interface for developers to manage WordPress. "A more RESTful WP-CLI" is a [Kickstarter-backed](https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli/description) project to unlock the potential of the [WordPress REST API](http://v2.wp-api.org/) at the command line. This funding supports 283 hours of [Daniel Bachhuber](http://danielbachhuber.com/)'s time towards making improvements to WP-CLI and the WP REST API. @@ -21,33 +21,36 @@ Quick links: [Achievements](#achievements) - [Budget](#budget) - [Supporters](#s Blog posts: -* [RESTful WP-CLI - No rest for the weary](/blog/restful-wp-cli-update-2.html) - 4 February, 2016 -* [RESTful WP-CLI - The journey begins](/blog/restful-wp-cli-update-1.html) - 12 January, 2016 +* [RESTful WP-CLI - No rest for the weary](/blog/restful-wp-cli-update-2.html) - February 4, 2016 +* [RESTful WP-CLI - The journey begins](/blog/restful-wp-cli-update-1.html) - January 12, 2016 Releases: -* [WP REST API Version 2.0 Beta 10 "Chief Wiggum"](https://make.wordpress.org/core/2016/01/11/wp-rest-api-version-2-0-beta-10-with-security-releases/) - 11 January, 2016 -* [WP-CLI Version 0.22.0 released](/blog/version-0.22.0.html) - 7 January, 2016 +* [WP REST API Version 2.0 Beta 13 "yoink.adios\losers"](https://make.wordpress.org/core/2016/04/04/wp-rest-api-2-0-beta-13-roadmap/) - April 3, 2016 +* [WP-CLI Version 0.23.0 released](/blog/version-0.23.0.html) - March 22, 2016 +* [WP REST API Version 2.0 Beta 12 "Canyonero"](https://make.wordpress.org/core/2016/02/09/wp-rest-api-version-2-0-beta-12/) - February 9, 2016 +* [WP REST API Version 2.0 Beta 10 "Chief Wiggum"](https://make.wordpress.org/core/2016/01/11/wp-rest-api-version-2-0-beta-10-with-security-releases/) - January 11, 2016 +* [WP-CLI Version 0.22.0 released](/blog/version-0.22.0.html) - January 7, 2016 Presentations: -* [Unlocking the potential of the WP REST API at the command line](http://blog.handbuilt.co/2016/01/28/feelingrestful-a-more-restful-wp-cli/) - A Day of REST (28 January, 2016) +* [Unlocking the potential of the WP REST API at the command line](http://blog.handbuilt.co/2016/01/28/feelingrestful-a-more-restful-wp-cli/) - A Day of REST (January 28, 2016) *** ## Budget -Here's a breakdown of how the project's 283 total hours have been used (between January 1st and March 14th, 2016): +Here's a breakdown of how the project's 283 total hours have been used (between January 1st and April 14th, 2016): | Activity | WP-CLI | WP-API | |---------------|----------------------------|---------------------------| -| Development | 57.58 | 67.95 | -| Support | 9.69 | 15.39 | -| Documentation | 20.53 | 1.17 | -| Blogging | 7.70 | 0 | +| Development | 65.46 | 67.95 | +| Support | 10.91 | 15.39 | +| Documentation | 24.96 | 1.17 | +| Blogging | 12.51 | 0 | | Meetings | 0 | 7.91 | | Admin | 0.77 | 0 | -| **Total** | 96.27 (of 150.58 budgeted) | 92.42 (of 92.42 budgeted) | +| **Total** | 114.61 (of 150.58 budgeted)| 92.42 (of 92.42 budgeted) | Note: time spent fulfilling the Kickstarter rewards is tracked separately. From 4a2092d2c9587c48cb6a86bf92705d4bf136a564 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 14 Apr 2016 06:35:18 -0700 Subject: [PATCH 616/839] A more helpful heading for `wp package` --- commands/package/index.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/commands/package/index.md b/commands/package/index.md index c8201940..99030ccc 100644 --- a/commands/package/index.md +++ b/commands/package/index.md @@ -10,7 +10,14 @@ display_global_parameters: true
      +WP-CLI packages are community-maintained projects built on WP-CLI. They can +contain WP-CLI commands, but they can also just extend WP-CLI in some way. +Installable packages are listed in the +[Package Index](http://wp-cli.org/package-index/). + +Learn how to create your own command from the +[Commands Cookbook](http://wp-cli.org/docs/commands-cookbook/) From 942d5db29b802ddb49b47f4058c033f723c3ede9 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 14 Apr 2016 07:24:52 -0700 Subject: [PATCH 617/839] First pass at update post --- _posts/2016-04-14-restful-wp-cli-update-3.md | 128 +++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 _posts/2016-04-14-restful-wp-cli-update-3.md diff --git a/_posts/2016-04-14-restful-wp-cli-update-3.md b/_posts/2016-04-14-restful-wp-cli-update-3.md new file mode 100644 index 00000000..2792fbf0 --- /dev/null +++ b/_posts/2016-04-14-restful-wp-cli-update-3.md @@ -0,0 +1,128 @@ +--- +layout: post +author: danielbachhuber +title: RESTful WP-CLI - What I've been hacking on +--- + +Let me just say — Thursday, February 4th was [pretty darn demoralizing](https://twitter.com/Krogsgard/status/695634320401285121). I spent a huge amount of time in January towards the WP REST API in preparation for what I wanted to do on the command line, and a lot of momentum / inspiration / general good feelings were destroyed in that meeting. As such, I spent much of February and March working on WP-CLI features unrelated to the WP REST API (e.g. [package management](http://wp-cli.org/commands/package/)). + +But! I'm back in the saddle. I'm about 2/3 of the way through one of those fancy WP REST API + React WordPress applications, so I'm running into dozens of ways I want to be able to do things more efficiently at the command line. + +Note: most of the, if not all, RESTful WP-CLI features have required under the hood changes to WP-CLI. You'll want to `wp cli update --nightly` to play with this new functionality locally. + +### Use `--debug` and `--debug=rest` to profile your REST endpoints + +REST APIs are all about speed. Milliseconds do matter, and every one you manage to shave off will have a real world impact on the user experience. + +To make it much, much easier to understand how many queries your endpoint is performing, and how long they take, I've added some lightweight profiling to wp-rest-cli. + +Use `--debug` to get a summary of your queries for any command. + + $ wp rest post list --debug + Debug (rest): REST command executed 7 queries in 0.001954 seconds. Use --debug=rest to see all queries. (1.446s) + +----+-----------------------------+ + | id | title | + +----+-----------------------------+ + | 1 | {"rendered":"Hello world!"} | + +----+-----------------------------+ + +Use `--debug=rest` to get the full list of queries executed. + + $ wp rest post list --fields=id,title --debug=rest + Debug: REST command executed 7 queries in 0.001696 seconds. Ordered by slowness, the queries are: + 1: + - 0.000291 seconds + - WP_REST_Posts_Controller->get_items, WP_Query->query, WP_Query->get_posts + - SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish') ORDER BY wp_posts.post_date DESC LIMIT 0, 10 + 2: + - 0.000257 seconds + - WP_REST_Posts_Controller->get_items, WP_Query->query, WP_Query->get_posts, WP_Query->set_found_posts + - SELECT FOUND_ROWS() + 3: + - 0.000256 seconds + - WP_REST_Posts_Controller->get_items, WP_REST_Posts_Controller->prepare_item_for_response, setup_postdata, WP_Query->setup_postdata, get_userdata, get_user_by, WP_User::get_data_by + - SELECT * FROM wp_users WHERE ID = '1' + 4: + - 0.000244 seconds + - WP_REST_Posts_Controller->get_items, WP_REST_Posts_Controller->prepare_item_for_response, setup_postdata, WP_Query->setup_postdata, get_userdata, get_user_by, WP_User->init, WP_User->for_blog, WP_User->_init_caps, get_user_meta, get_metadata, update_meta_cache + - SELECT user_id, meta_key, meta_value FROM wp_usermeta WHERE user_id IN (1) ORDER BY umeta_id ASC + 5: + - 0.000233 seconds + - WP_REST_Posts_Controller->get_items, WP_Query->query, WP_Query->get_posts, _prime_post_caches + - SELECT wp_posts.* FROM wp_posts WHERE ID IN (1) + 6: + - 0.000209 seconds + - WP_REST_Posts_Controller->get_items, WP_Query->query, WP_Query->get_posts, _prime_post_caches, update_post_caches, update_object_term_cache, wp_get_object_terms + - SELECT t.*, tt.*, tr.object_id FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON tt.term_id = t.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('category', 'post_tag', 'post_format') AND tr.object_id IN (1) ORDER BY t.name ASC + 7: + - 0.000206 seconds + - WP_REST_Posts_Controller->get_items, WP_Query->query, WP_Query->get_posts, _prime_post_caches, update_post_caches, update_postmeta_cache, update_meta_cache + - SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (1) ORDER BY meta_id ASC + (1.598s) + +----+-----------------------------+ + | id | title | + +----+-----------------------------+ + | 1 | {"rendered":"Hello world!"} | + +----+-----------------------------+ + +Profiling works for any CRUD operation. + + $ wp rest post create --title="Test post" --user=daniel --debug + Debug (rest): REST command executed 28 queries in 0.023962 seconds. Use --debug=rest to see all queries. (1.777s) + Success: Created post. + $ wp rest post update 3 --content="Foo bar" --user=daniel --debug + Debug (rest): REST command executed 31 queries in 0.023309 seconds. Use --debug=rest to see all queries. (1.634s) + Success: Updated post. + +Hopefully this feature becomes an invaluable part of your REST endpoint development process, as it has mine. + +### Use `wp rest * edit` to edit a resource in your system editor + +Most people probably don't know this, but you can use `wp post edit ` to edit post content in your system editor (e.g. vim). Now, with `wp rest * edit`, you can edit any REST resource in your system editor. + + $ wp rest post edit 3 --user=daniel + +Using `wp rest * edit` fetches the resource and transforms it into a YAML document: + + --- + date: 2016-04-14T14:02:57 + date_gmt: null + password: + slug: + status: draft + title: + raw: Test post + rendered: Test post + content: + raw: Foo bar + rendered: | + | +

      Foo bar

      + excerpt: + raw: + rendered: | + | +

      Foo bar

      + author: 1 + featured_media: 0 + comment_status: open + ping_status: open + sticky: false + format: standard + categories: + - 1 + tags: [ ] + +If you make changes to any of the fields, then the command sends it back to WordPress (through the WP REST API) to update. + +On WordPress installs that support Basic Auth, editing also works over HTTP: + + $ wp --http=http://daniel:daniel@wordpress-develop.dev rest post edit 1 + +Et, voila. + +### Get involved! + +I have dozens of ideas for a more RESTful WP-CLI, and would love for your feedback, questions, and discussion: + +* Render the help docs in formats like API Blueprint and Swagger [[#36](https://github.com/danielbachhuber/wp-rest-cli/issues/36)] From 0deb94316d1323d64d871299bac1975774abec87 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 14 Apr 2016 07:45:42 -0700 Subject: [PATCH 618/839] More edits --- _posts/2016-04-14-restful-wp-cli-update-3.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/_posts/2016-04-14-restful-wp-cli-update-3.md b/_posts/2016-04-14-restful-wp-cli-update-3.md index 2792fbf0..96180265 100644 --- a/_posts/2016-04-14-restful-wp-cli-update-3.md +++ b/_posts/2016-04-14-restful-wp-cli-update-3.md @@ -8,7 +8,7 @@ Let me just say — Thursday, February 4th was [pretty darn demoralizing](https: But! I'm back in the saddle. I'm about 2/3 of the way through one of those fancy WP REST API + React WordPress applications, so I'm running into dozens of ways I want to be able to do things more efficiently at the command line. -Note: most of the, if not all, RESTful WP-CLI features have required under the hood changes to WP-CLI. You'll want to `wp cli update --nightly` to play with this new functionality locally. +Before we proceed: most of the, if not all, RESTful WP-CLI features have required under the hood changes to WP-CLI. You'll want to `wp cli update --nightly` to play with this new functionality locally. ### Use `--debug` and `--debug=rest` to profile your REST endpoints @@ -123,6 +123,11 @@ Et, voila. ### Get involved! -I have dozens of ideas for a more RESTful WP-CLI, and would love for your feedback, questions, and discussion: +I have dozens of ideas for a more RESTful WP-CLI: * Render the help docs in formats like API Blueprint and Swagger [[#36](https://github.com/danielbachhuber/wp-rest-cli/issues/36)] +* Introduce `wp rest * generate` to generate mock data in the format your application expects. +* Introduce `wp rest * diff` to be able to diff the state of two different WordPresses, a la [Dictator](https://github.com/danielbachhuber/dictator). +* Figure out an elegant aliases implementation, so `--http=http://daniel:daniel@wordpress-develop.dev` becomes `@wpdev` [[#2039](https://github.com/wp-cli/wp-cli/issues/2039)] + +And I want to hear your ideas too! As well as any feedback, questions, or violent dissent. [Get involved on Github](https://github.com/danielbachhuber/wp-rest-cli/issues). From 13542d193c63c5a27e3d46951b23b9b05d5fca61 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 14 Apr 2016 07:49:20 -0700 Subject: [PATCH 619/839] Edits --- _posts/2016-04-14-restful-wp-cli-update-3.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-04-14-restful-wp-cli-update-3.md b/_posts/2016-04-14-restful-wp-cli-update-3.md index 96180265..263cceba 100644 --- a/_posts/2016-04-14-restful-wp-cli-update-3.md +++ b/_posts/2016-04-14-restful-wp-cli-update-3.md @@ -6,7 +6,7 @@ title: RESTful WP-CLI - What I've been hacking on Let me just say — Thursday, February 4th was [pretty darn demoralizing](https://twitter.com/Krogsgard/status/695634320401285121). I spent a huge amount of time in January towards the WP REST API in preparation for what I wanted to do on the command line, and a lot of momentum / inspiration / general good feelings were destroyed in that meeting. As such, I spent much of February and March working on WP-CLI features unrelated to the WP REST API (e.g. [package management](http://wp-cli.org/commands/package/)). -But! I'm back in the saddle. I'm about 2/3 of the way through one of those fancy WP REST API + React WordPress applications, so I'm running into dozens of ways I want to be able to do things more efficiently at the command line. +But, I'm back in the saddle. Because I'm 2/3 of the way through one of those fancy WP REST API + React WordPress applications, I'm running into dozens of ways I want to be able to make WordPress more efficiently. And of course, this means doing it on the command line. Before we proceed: most of the, if not all, RESTful WP-CLI features have required under the hood changes to WP-CLI. You'll want to `wp cli update --nightly` to play with this new functionality locally. From cdc983a2c5b7fa8905a5f483c4a14cba15dda9a7 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 14 Apr 2016 07:50:35 -0700 Subject: [PATCH 620/839] Mas edits --- _posts/2016-04-14-restful-wp-cli-update-3.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2016-04-14-restful-wp-cli-update-3.md b/_posts/2016-04-14-restful-wp-cli-update-3.md index 263cceba..e744c1b2 100644 --- a/_posts/2016-04-14-restful-wp-cli-update-3.md +++ b/_posts/2016-04-14-restful-wp-cli-update-3.md @@ -12,9 +12,9 @@ Before we proceed: most of the, if not all, RESTful WP-CLI features have require ### Use `--debug` and `--debug=rest` to profile your REST endpoints -REST APIs are all about speed. Milliseconds do matter, and every one you manage to shave off will have a real world impact on the user experience. +REST APIs are all about speed. Milliseconds matter, and every one you manage to shave off will have a real world impact on user experience. -To make it much, much easier to understand how many queries your endpoint is performing, and how long they take, I've added some lightweight profiling to wp-rest-cli. +To make it *much*, much easier to understand how many queries your endpoint is performing, and how long they take, I've added some lightweight profiling to RESTful WP-CLI. Use `--debug` to get a summary of your queries for any command. From c0c43b951d79404ab5b6d7df324592c5d9f4ebf4 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 14 Apr 2016 07:56:20 -0700 Subject: [PATCH 621/839] Even more edits --- _posts/2016-04-14-restful-wp-cli-update-3.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/_posts/2016-04-14-restful-wp-cli-update-3.md b/_posts/2016-04-14-restful-wp-cli-update-3.md index e744c1b2..5d5e254f 100644 --- a/_posts/2016-04-14-restful-wp-cli-update-3.md +++ b/_posts/2016-04-14-restful-wp-cli-update-3.md @@ -8,7 +8,7 @@ Let me just say — Thursday, February 4th was [pretty darn demoralizing](https: But, I'm back in the saddle. Because I'm 2/3 of the way through one of those fancy WP REST API + React WordPress applications, I'm running into dozens of ways I want to be able to make WordPress more efficiently. And of course, this means doing it on the command line. -Before we proceed: most of the, if not all, RESTful WP-CLI features have required under the hood changes to WP-CLI. You'll want to `wp cli update --nightly` to play with this new functionality locally. +Before we proceed: most of the, if not all, RESTful WP-CLI features have required under the hood changes to WP-CLI. You'll want to `wp cli update --nightly` to play with this new functionality locally. Once you've done so, you can `wp package install danielbachhuber/wp-rest-cli` to install the latest. ### Use `--debug` and `--debug=rest` to profile your REST endpoints @@ -74,7 +74,7 @@ Profiling works for any CRUD operation. Debug (rest): REST command executed 31 queries in 0.023309 seconds. Use --debug=rest to see all queries. (1.634s) Success: Updated post. -Hopefully this feature becomes an invaluable part of your REST endpoint development process, as it has mine. +Hopefully this feature becomes an invaluable part of your REST endpoint development process, as it has mine. Hit me with feedback on [its Github issue](https://github.com/danielbachhuber/wp-rest-cli/issues/42). ### Use `wp rest * edit` to edit a resource in your system editor @@ -82,7 +82,7 @@ Most people probably don't know this, but you can use `wp post edit ` to edi $ wp rest post edit 3 --user=daniel -Using `wp rest * edit` fetches the resource and transforms it into a YAML document: +When you run `wp rest * edit`, RESTful WP-CLI fetches the resource, transforms it into a YAML document, and puts it in your system editor: --- date: 2016-04-14T14:02:57 @@ -123,11 +123,11 @@ Et, voila. ### Get involved! -I have dozens of ideas for a more RESTful WP-CLI: +I'd love your input on the dozens of ideas I have for a more RESTful WP-CLI: * Render the help docs in formats like API Blueprint and Swagger [[#36](https://github.com/danielbachhuber/wp-rest-cli/issues/36)] * Introduce `wp rest * generate` to generate mock data in the format your application expects. * Introduce `wp rest * diff` to be able to diff the state of two different WordPresses, a la [Dictator](https://github.com/danielbachhuber/dictator). * Figure out an elegant aliases implementation, so `--http=http://daniel:daniel@wordpress-develop.dev` becomes `@wpdev` [[#2039](https://github.com/wp-cli/wp-cli/issues/2039)] -And I want to hear your ideas too! As well as any feedback, questions, or violent dissent. [Get involved on Github](https://github.com/danielbachhuber/wp-rest-cli/issues). +And I want to hear your ideas too! As well as any feedback, questions, or violent dissent. [Let's chat on Github](https://github.com/danielbachhuber/wp-rest-cli/issues). From ba834efa473f6dbfb5f514caf4e20df4b2e1ae01 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 14 Apr 2016 08:00:43 -0700 Subject: [PATCH 622/839] Link to a couple issues --- _posts/2016-04-14-restful-wp-cli-update-3.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2016-04-14-restful-wp-cli-update-3.md b/_posts/2016-04-14-restful-wp-cli-update-3.md index 5d5e254f..162132f5 100644 --- a/_posts/2016-04-14-restful-wp-cli-update-3.md +++ b/_posts/2016-04-14-restful-wp-cli-update-3.md @@ -126,8 +126,8 @@ Et, voila. I'd love your input on the dozens of ideas I have for a more RESTful WP-CLI: * Render the help docs in formats like API Blueprint and Swagger [[#36](https://github.com/danielbachhuber/wp-rest-cli/issues/36)] -* Introduce `wp rest * generate` to generate mock data in the format your application expects. -* Introduce `wp rest * diff` to be able to diff the state of two different WordPresses, a la [Dictator](https://github.com/danielbachhuber/dictator). +* Introduce `wp rest * generate` to generate mock data in the format your application expects [[#55](https://github.com/danielbachhuber/wp-rest-cli/issues/55)]. +* Introduce `wp rest * diff` to be able to diff the state of two different WordPresses, a la [Dictator](https://github.com/danielbachhuber/dictator) [[#56](https://github.com/danielbachhuber/wp-rest-cli/issues/56)]. * Figure out an elegant aliases implementation, so `--http=http://daniel:daniel@wordpress-develop.dev` becomes `@wpdev` [[#2039](https://github.com/wp-cli/wp-cli/issues/2039)] And I want to hear your ideas too! As well as any feedback, questions, or violent dissent. [Let's chat on Github](https://github.com/danielbachhuber/wp-rest-cli/issues). From 1c63d8aa3f081a9c446bef0fc71183f34da55a1d Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 19 Apr 2016 14:41:29 -0700 Subject: [PATCH 623/839] Link to latest RESTful WP-CLI update --- restful/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/restful/index.md b/restful/index.md index 7ef59748..36b14f08 100644 --- a/restful/index.md +++ b/restful/index.md @@ -20,7 +20,7 @@ Quick links: [Achievements](#achievements) - [Budget](#budget) - [Supporters](#s ## Achievements Blog posts: - +* [RESTful WP-CLI - What I've been hacking on](/blog/restful-wp-cli-update-3.html) - April 14, 2016 * [RESTful WP-CLI - No rest for the weary](/blog/restful-wp-cli-update-2.html) - February 4, 2016 * [RESTful WP-CLI - The journey begins](/blog/restful-wp-cli-update-1.html) - January 12, 2016 From e976e5e7f65945c7a61e6329f447e6d7df510553 Mon Sep 17 00:00:00 2001 From: Alexei Yuzhakov Date: Wed, 20 Apr 2016 18:16:48 +0600 Subject: [PATCH 624/839] Add info about Plesk WordPress Toolkit which is based on WP-CLI --- docs/tools/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/tools/index.md b/docs/tools/index.md index feeb99b6..aeaad313 100644 --- a/docs/tools/index.md +++ b/docs/tools/index.md @@ -80,6 +80,7 @@ If you implement a WP-CLI command in one of your plugins, please list it here. * [wplib](https://github.com/szepeviktor/wplib) - shell scripts for managing multiple sites * [wpcli helpers](https://github.com/kartonnade/wp_cli_helpers) - a bundle of time saver aliases and functions for the shell * [cPanel-wp-management](https://github.com/MarioKnight/cPanel-wp-management) - shell scripts designed to loop through all accounts on cPanel servers +* [Plesk WordPress Toolkit](https://www.plesk.com/features-automation/wordpress-toolkit/) - WordPress installations management UI backed by WP-CLI ## Editor plugins From be34aede4e99ee62b6e5687954517d4ba5ae65ac Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 20 Apr 2016 07:07:38 -0700 Subject: [PATCH 625/839] Increase minimum supported version to PHP 5.3.29 While WP-CLI may work with earlier versions, this is the minimum version we can support because it's the version Travis runs tests against. --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index 3365f171..fbe19189 100644 --- a/index.md +++ b/index.md @@ -18,7 +18,7 @@ title: Command line interface for WordPress

      Requirements

      * UNIX-like environment (OS X, Linux, FreeBSD, Cygwin); limited support in Windows environment -* PHP 5.3.2 or later +* PHP 5.3.29 or later * WordPress 3.7 or later

      Installing (And Upgrading)

      From a7d2a7606ecaeb4667344d20687da3742580c230 Mon Sep 17 00:00:00 2001 From: Brady Nord Date: Thu, 21 Apr 2016 15:40:08 -0600 Subject: [PATCH 626/839] Update index.md Added Fatcow, HostGator and iPage to the list. --- docs/hosting-companies/index.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/hosting-companies/index.md b/docs/hosting-companies/index.md index bc6a80de..e05278f2 100644 --- a/docs/hosting-companies/index.md +++ b/docs/hosting-companies/index.md @@ -15,7 +15,10 @@ In alphabetical order: * [Byte](https://www.byte.nl) * [Cloudways](http://cloudways.com) * [Dreamhost](http://dreamhost.com) +* [FatCow] (http://www.fatcow.com/wordpress-hosting/) * [GoDaddy](https://www.godaddy.com/help/accessing-wp-cli-on-your-managed-wordpress-account-12066) +* [HostGator] (http://www.hostgator.com) +* [iPage] (http://www.ipage.com/ipage/index.html) * [LiquidWeb](https://liquidweb.com/wordpress) * [Kinsta](https://kinsta.com) * [Media Temple](http://mediatemple.net) From cb91089ee2fd62e2e87accf50221fbebad04671d Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Sun, 24 Apr 2016 06:17:21 -0700 Subject: [PATCH 627/839] Mention --debug flag for trying to identify errors --- docs/bug-reports/index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/bug-reports/index.md b/docs/bug-reports/index.md index c9b358a5..3ea2f680 100644 --- a/docs/bug-reports/index.md +++ b/docs/bug-reports/index.md @@ -21,6 +21,8 @@ It's more helpful to give as much detail as you can: > When I run `wp post list`, I see a fatal error about a class being undefined. I expected to see the list of posts. +If you include the `--debug` flag when executing WP-CLI (e.g. `wp post list --debug`), you may get more verbosity into the source of the error. + Your bug may also be environment-specific. Because WP-CLI is a tool whose behavior is different from system to system, it never hurts to include some environmental details in your issue if you think they're relevant. # What is your system? From cc8ec09f08bdd980f7f2a2fa03abfed58a7537bd Mon Sep 17 00:00:00 2001 From: Matt Date: Sun, 24 Apr 2016 20:37:57 +0200 Subject: [PATCH 628/839] Update Installing on Windows section Windows users need to rename "wp-cli.phar" to "wp" in order to be able to type "wp" in a terminal. --- docs/installing/index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/installing/index.md b/docs/installing/index.md index e9bf1af5..68d2752b 100644 --- a/docs/installing/index.md +++ b/docs/installing/index.md @@ -152,6 +152,8 @@ Add `c:\wp-cli` to your path: setx path "%path%;c:\wp-cli" +Rename `wp-cli.phar` to `wp` + You can now use WP-CLI from anywhere in Windows command line. ### Installing via .deb package From a37f0e5d355da6283b658d5592a2a97782cfc359 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 25 Apr 2016 05:21:30 -0700 Subject: [PATCH 629/839] Revert "Update Installing on Windows section" --- docs/installing/index.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/installing/index.md b/docs/installing/index.md index 68d2752b..e9bf1af5 100644 --- a/docs/installing/index.md +++ b/docs/installing/index.md @@ -152,8 +152,6 @@ Add `c:\wp-cli` to your path: setx path "%path%;c:\wp-cli" -Rename `wp-cli.phar` to `wp` - You can now use WP-CLI from anywhere in Windows command line. ### Installing via .deb package From 22418cb93c7f64c3faccaa8b13af19880efac8ff Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 28 Apr 2016 13:37:18 -0700 Subject: [PATCH 630/839] Document patch release process --- docs/release-checklist/index.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/docs/release-checklist/index.md b/docs/release-checklist/index.md index 158700fe..9dcd29b9 100644 --- a/docs/release-checklist/index.md +++ b/docs/release-checklist/index.md @@ -3,10 +3,15 @@ layout: doc title: Release checklist description: Tasks performed during the process of tagging a release. category: Contributing +quick_links: + - Major/minor releases + - Patch releases --- This page describes the list of activities that developers must perform to produce a new release of WP-CLI. +## Major/minor releases + ### Updating WP-CLI Make sure that the contents of [VERSION](https://github.com/wp-cli/wp-cli/blob/master/VERSION) are changed to latest. @@ -57,3 +62,31 @@ See ### Writing the release post Use `./utils/contrib-list -l` to generate the list of contributors. + +## Patch releases + +Creating a patch release (e.g. 0.23.x) is bit different of a process than creating a major or minor release. At a high-level, here are the steps involved: + +1) Create a new release branch from the last tagged patch release: + + $ git checkout v0.23.0 + Note: checking out 'v0.23.0' + You are in 'detached HEAD' state. You can look around, make experimental + changes and commit them, and you can discard any commits you make in this + state without impacting any branches by performing another checkout. + $ git checkout -b release-0-23-1 + Switched to a new branch 'release-0-23-1' + +2) Cherry-pick existing commits to the new release branch. + +Because patch releases should just be used for bug fixes, you should first fix the bug on master, and then cherry-pick the fix to the release branch. It's up to your discretion as to whether you cherry-pick the commits directly to the release branch *or* create a feature branch and pull request against the release branch. + +3) Update `VERSION` on the release branch to the new release version. + +4) **PROCEED WITH EXTREME CAUTION**. While the normal release process yields a built, fully-tested Phar file, the patch release process does not because the build system only pushes the Phar file on the master branch. As such, you need to manually build the Phar file for distribution. + + php -dphar.readonly=0 utils/make-phar.php wp-cli.phar --quiet + +When you do so, make sure you're using the appropriate Composer dependency versions for the release, not the master branch you normally work from. Once you've verified the built Phar, you'll need to copy it over to the builds repo. + +5) Follow all of the other relevant release steps. From f606fd5bfe57760c03b1b06dbaa29d5f5ad8e590 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 28 Apr 2016 13:48:21 -0700 Subject: [PATCH 631/839] Release notes for 0.23.1 --- _posts/2016-04-28-version-0.23.1.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 _posts/2016-04-28-version-0.23.1.md diff --git a/_posts/2016-04-28-version-0.23.1.md b/_posts/2016-04-28-version-0.23.1.md new file mode 100644 index 00000000..9ed1225e --- /dev/null +++ b/_posts/2016-04-28-version-0.23.1.md @@ -0,0 +1,13 @@ +--- +layout: post +author: danielbachhuber +title: Version 0.23.1 released +--- + +WP-CLI v0.23.1 is a compatibility release for those who've installed WP-CLI with Composer and require a minimum-stability. See [#2664](https://github.com/wp-cli/wp-cli/issues/2664) for related conversation. + +If you're using the Phar distribution of WP-CLI, you *should* `wp cli update`, but don't need to prioritize it, as the release doesn't change WP-CLI's behavior in any significant way. + +Contributors to this release: [danielbachhuber](https://github.com/danielbachhuber) + +You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.23.1+is%3Aclosed) on Github. From d88d03796dbc271ca1123fe029847d184df8e036 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 29 Apr 2016 13:47:50 -0700 Subject: [PATCH 632/839] Document behavior of `wp core install` with WP in a subdirectory --- commands/core/install/index.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/commands/core/install/index.md b/commands/core/install/index.md index 16f16b84..9a91a63d 100644 --- a/commands/core/install/index.md +++ b/commands/core/install/index.md @@ -4,12 +4,22 @@ title: 'wp core install' display_global_parameters: true --- -`wp core install` - Create the WordPress tables in the database. +`wp core install` - Runs the standard WordPress installation process. Quick links: Github issues
      +Creates the WordPress tables in the database using the URL, title, and +default admin user details provided. Performs the famous 5 minute install +in seconds or less. + +Note: if you've installed WordPress in a subdirectory, then you'll need +to `wp option update siteurl` after `wp core install`. For instance, if +WordPress is installed in the `/wp` directory and your domain is wp.dev, +then you'll need to run `wp option update siteurl http://wp.dev/wp` for +your WordPress install to function properly. + ### OPTIONS \--url=<url> From 7c0e3cbec8429f566f4feeac38c5badba40e16f2 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 29 Apr 2016 13:50:00 -0700 Subject: [PATCH 633/839] Docs cleanup --- commands/cache/add/index.md | 2 ++ commands/cache/decr/index.md | 2 ++ commands/cache/delete/index.md | 2 ++ commands/cache/get/index.md | 2 ++ commands/cache/incr/index.md | 2 ++ commands/cache/replace/index.md | 2 ++ commands/cache/set/index.md | 2 ++ commands/cap/add/index.md | 2 ++ commands/cap/list/index.md | 2 ++ commands/cap/remove/index.md | 2 ++ commands/comment/recount/index.md | 2 ++ commands/core/index.md | 2 +- commands/core/verify-checksums/index.md | 4 +++- commands/eval/index.md | 2 ++ commands/menu/create/index.md | 2 ++ commands/menu/delete/index.md | 2 ++ commands/menu/item/add-custom/index.md | 2 ++ commands/menu/item/add-post/index.md | 2 ++ commands/menu/item/add-term/index.md | 2 ++ commands/menu/item/delete/index.md | 2 ++ commands/menu/item/update/index.md | 2 ++ commands/menu/location/assign/index.md | 2 ++ commands/menu/location/list/index.md | 2 ++ commands/menu/location/remove/index.md | 2 ++ 24 files changed, 48 insertions(+), 2 deletions(-) diff --git a/commands/cache/add/index.md b/commands/cache/add/index.md index c79c7733..f2b1587d 100644 --- a/commands/cache/add/index.md +++ b/commands/cache/add/index.md @@ -12,6 +12,8 @@ display_global_parameters: true If a value already exists for the key, the value isn't added. +### OPTIONS + <key> : Cache key. diff --git a/commands/cache/decr/index.md b/commands/cache/decr/index.md index 1a6fca98..7d7e6ac1 100644 --- a/commands/cache/decr/index.md +++ b/commands/cache/decr/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
      +### OPTIONS + <key> : Cache key. diff --git a/commands/cache/delete/index.md b/commands/cache/delete/index.md index a4bab6f5..7ad4c99c 100644 --- a/commands/cache/delete/index.md +++ b/commands/cache/delete/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
      +### OPTIONS + <key> : Cache key. diff --git a/commands/cache/get/index.md b/commands/cache/get/index.md index 2afa8f1b..d31eca08 100644 --- a/commands/cache/get/index.md +++ b/commands/cache/get/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
      +### OPTIONS + <key> : Cache key. diff --git a/commands/cache/incr/index.md b/commands/cache/incr/index.md index 9bd01761..641d6a7b 100644 --- a/commands/cache/incr/index.md +++ b/commands/cache/incr/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
      +### OPTIONS + <key> : Cache key. diff --git a/commands/cache/replace/index.md b/commands/cache/replace/index.md index e8ec5414..dce9ad65 100644 --- a/commands/cache/replace/index.md +++ b/commands/cache/replace/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
      +### OPTIONS + <key> : Cache key. diff --git a/commands/cache/set/index.md b/commands/cache/set/index.md index e3bb8ee1..c9f1dd66 100644 --- a/commands/cache/set/index.md +++ b/commands/cache/set/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
      +### OPTIONS + <key> : Cache key. diff --git a/commands/cap/add/index.md b/commands/cap/add/index.md index 820ef818..a8adcd61 100644 --- a/commands/cap/add/index.md +++ b/commands/cap/add/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
      +### OPTIONS + <role> : Key for the role. diff --git a/commands/cap/list/index.md b/commands/cap/list/index.md index 98589c81..5db7be64 100644 --- a/commands/cap/list/index.md +++ b/commands/cap/list/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
      +### OPTIONS + <role> : Key for the role. diff --git a/commands/cap/remove/index.md b/commands/cap/remove/index.md index 89383fb7..6cd20988 100644 --- a/commands/cap/remove/index.md +++ b/commands/cap/remove/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
      +### OPTIONS + <role> : Key for the role. diff --git a/commands/comment/recount/index.md b/commands/comment/recount/index.md index a5237521..1e64e770 100644 --- a/commands/comment/recount/index.md +++ b/commands/comment/recount/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
      +### OPTIONS + <id>... : IDs for one or more posts to update. diff --git a/commands/core/index.md b/commands/core/index.md index 13d93969..e7e29985 100644 --- a/commands/core/index.md +++ b/commands/core/index.md @@ -38,7 +38,7 @@ display_global_parameters: true
    installCreate the WordPress tables in the database.Runs the standard WordPress installation process.
    is-installed
    menuList, create, assign, and delete menusList, create, assign, and delete menus.
    network
    + Perform operation against a remote server over SSH. +
    + Default value: null +
    + ssh: <ssh> + + --ssh=<ssh> +
    + Perform operation against a remote WordPress install over HTTP. +
    + Default value: null +
    + http: <http> + + --http=<http> +
    Pretend request came from given URL. In multisite, this argument is how the target site is specified. @@ -122,10 +148,10 @@ Default value: false - debug: <bool> + debug: <group> - --debug + --debug[=<group>]
    aliasList available aliases.
    api-dump Dump the list of internal APIs, as JSON.
    languageManage core language.
    multisite-convert
    createCreate a new menuCreate a new menu.
    deleteDelete one or more menusDelete one or more menus.
    itemList, add, and delete items associated with a menuList, add, and delete items associated with a menu.
    list
    add-customAdd a custom menu itemAdd a custom menu item.
    add-postAdd a post as a menu itemAdd a post as a menu item.
    add-termAdd a taxonomy term as a menu itemAdd a taxonomy term as a menu item.
    deleteDelete one or more items from a menuDelete one or more items from a menu.
    listGet a list of items associated with a menuGet a list of items associated with a menu.
    updateUpdate a menu itemUpdate a menu item.
    diff --git a/commands/menu/item/list/index.md b/commands/menu/item/list/index.md index 24bff6e7..f3f6ebb1 100644 --- a/commands/menu/item/list/index.md +++ b/commands/menu/item/list/index.md @@ -4,7 +4,7 @@ title: 'wp menu item list' display_global_parameters: true --- -`wp menu item list` - Get a list of items associated with a menu +`wp menu item list` - Get a list of items associated with a menu. Quick links: Github issues @@ -13,13 +13,23 @@ display_global_parameters: true ### OPTIONS <menu> -: The name, slug, or term ID for the menu +: The name, slug, or term ID for the menu. [\--fields=<fields>] : Limit the output to specific object fields. [\--format=<format>] -: Accepted values: table, csv, json, count, ids, yaml. Default: table +: Render output in a particular format. +\--- +default: table +options: + - table + - csv + - json + - count + - ids + - yaml +\--- ### AVAILABLE FIELDS @@ -46,7 +56,13 @@ These fields are optionally available: ### EXAMPLES - wp menu item list <menu> + $ wp menu item list main-menu + +-------+-----------+-------------+---------------------------------+----------+ + | db_id | type | title | link | position | + +-------+-----------+-------------+---------------------------------+----------+ + | 5 | custom | Home | http://example.com | 1 | + | 6 | post_type | Sample Page | http://example.com/sample-page/ | 2 | + +-------+-----------+-------------+---------------------------------+----------+ diff --git a/commands/menu/item/update/index.md b/commands/menu/item/update/index.md index b47a02c7..14389aae 100644 --- a/commands/menu/item/update/index.md +++ b/commands/menu/item/update/index.md @@ -4,7 +4,7 @@ title: 'wp menu item update' display_global_parameters: true --- -`wp menu item update` - Update a menu item +`wp menu item update` - Update a menu item. Quick links: Github issues @@ -16,32 +16,33 @@ display_global_parameters: true : Database ID for the menu item. [\--title=<title>] -: Set a custom title for the menu item +: Set a custom title for the menu item. [\--link=<link>] -: Set a custom url for the menu item +: Set a custom url for the menu item. [\--description=<description>] -: Set a custom description for the menu item +: Set a custom description for the menu item. [\--attr-title=<attr-title>] -: Set a custom title attribute for the menu item +: Set a custom title attribute for the menu item. [\--target=<target>] -: Set a custom link target for the menu item +: Set a custom link target for the menu item. [\--classes=<classes>] -: Set a custom link classes for the menu item +: Set a custom link classes for the menu item. [\--position=<position>] : Specify the position of this menu item. [\--parent-id=<parent-id>] -: Make this menu item a child of another menu item +: Make this menu item a child of another menu item. ### EXAMPLES - wp menu item update 45 --title=WordPress --link='http://wordpress.org' --target=_blank --position=2 + $ wp menu item update 45 --title=WordPress --link='http://wordpress.org' --target=_blank --position=2 + Success: Menu item updated. diff --git a/commands/menu/list/index.md b/commands/menu/list/index.md index 5550a1d1..20e491ee 100644 --- a/commands/menu/list/index.md +++ b/commands/menu/list/index.md @@ -16,7 +16,17 @@ display_global_parameters: true : Limit the output to specific object fields. [\--format=<format>] -: Accepted values: table, csv, json, count, ids, yaml. Default: table +: Render output in a particular format. +\--- +default: table +options: + - table + - csv + - json + - count + - ids + - yaml +\--- ### AVAILABLE FIELDS @@ -38,7 +48,13 @@ These fields are optionally available: ### EXAMPLES - wp menu list + $ wp menu list + +---------+----------+----------+-----------+-------+ + | term_id | name | slug | locations | count | + +---------+----------+----------+-----------+-------+ + | 200 | My Menu | my-menu | | 0 | + | 177 | Top Menu | top-menu | primary | 7 | + +---------+----------+----------+-----------+-------+ diff --git a/commands/menu/location/assign/index.md b/commands/menu/location/assign/index.md index d9d76b7d..1efe8b19 100644 --- a/commands/menu/location/assign/index.md +++ b/commands/menu/location/assign/index.md @@ -4,7 +4,7 @@ title: 'wp menu location assign' display_global_parameters: true --- -`wp menu location assign` - Assign a location to a menu +`wp menu location assign` - Assign a location to a menu. Quick links: Github issues @@ -13,14 +13,15 @@ display_global_parameters: true ### OPTIONS <menu> -: The name, slug, or term ID for the menu +: The name, slug, or term ID for the menu. <location> -: Location's slug +: Location's slug. ### EXAMPLES - wp menu location assign primary-menu primary + $ wp menu location assign primary-menu primary + Success: Assigned location to menu. diff --git a/commands/menu/location/index.md b/commands/menu/location/index.md index 478803a2..ee4804ca 100644 --- a/commands/menu/location/index.md +++ b/commands/menu/location/index.md @@ -13,13 +13,21 @@ display_global_parameters: true ### EXAMPLES # List available menu locations - wp menu location list + $ wp menu location list + +----------+-------------------+ + | location | description | + +----------+-------------------+ + | primary | Primary Menu | + | social | Social Links Menu | + +----------+-------------------+ # Assign the 'primary-menu' menu to the 'primary' location - wp menu location assign primary-menu primary + $ wp menu location assign primary-menu primary + Success: Assigned location to menu. # Remove the 'primary-menu' menu from the 'primary' location - wp menu location remove primary-menu primary + $ wp menu location remove primary-menu primary + Success: Removed location from menu. @@ -37,7 +45,7 @@ display_global_parameters: true
    assignAssign a location to a menuAssign a location to a menu.
    list
    removeRemove a location from a menuRemove a location from a menu.
    diff --git a/commands/menu/location/list/index.md b/commands/menu/location/list/index.md index 94d7fec4..fe601041 100644 --- a/commands/menu/location/list/index.md +++ b/commands/menu/location/list/index.md @@ -13,7 +13,17 @@ display_global_parameters: true ### OPTIONS [\--format=<format>] -: Accepted values: table, csv, json, count, ids, yaml. Default: table +: Render output in a particular format. +\--- +default: table +options: + - table + - csv + - json + - count + - yaml + - ids +\--- ### AVAILABLE FIELDS @@ -24,7 +34,13 @@ These fields will be displayed by default for each location: ### EXAMPLES - wp menu location list + $ wp menu location list + +----------+-------------------+ + | location | description | + +----------+-------------------+ + | primary | Primary Menu | + | social | Social Links Menu | + +----------+-------------------+ diff --git a/commands/menu/location/remove/index.md b/commands/menu/location/remove/index.md index e8ab01de..9801794d 100644 --- a/commands/menu/location/remove/index.md +++ b/commands/menu/location/remove/index.md @@ -4,7 +4,7 @@ title: 'wp menu location remove' display_global_parameters: true --- -`wp menu location remove` - Remove a location from a menu +`wp menu location remove` - Remove a location from a menu. Quick links: Github issues @@ -13,14 +13,15 @@ display_global_parameters: true ### OPTIONS <menu> -: The name, slug, or term ID for the menu +: The name, slug, or term ID for the menu. <location> -: Location's slug +: Location's slug. ### EXAMPLES - wp menu location remove primary-menu primary + $ wp menu location remove primary-menu primary + Success: Removed location from menu. diff --git a/commands/network/meta/index.md b/commands/network/meta/index.md index c2ab2188..77c6f054 100644 --- a/commands/network/meta/index.md +++ b/commands/network/meta/index.md @@ -10,18 +10,13 @@ display_global_parameters: true
    -### OPTIONS - -<id> -: The network id (usually 1). - -\--format=json -: Encode/decode values as JSON. - ### EXAMPLES - # get a list of super-admins - wp network meta get 1 site_admins + # Get a list of super-admins + $ wp network meta get 1 site_admins + array ( + 0 => 'supervisor', + ) diff --git a/commands/option/add/index.md b/commands/option/add/index.md index 7f18ed60..813018f7 100644 --- a/commands/option/add/index.md +++ b/commands/option/add/index.md @@ -19,15 +19,28 @@ display_global_parameters: true : The value of the option to add. If ommited, the value is read from STDIN. [\--format=<format>] -: The serialization format for the value. Default is plaintext. +: The serialization format for the value. +\--- +default: plaintext +options: + - plaintext + - json +\--- [\--autoload=<autoload>] -: Should this option be automatically loaded. Accepted values: yes, no. Default: yes +: Should this option be automatically loaded. +\--- +default: yes +options: + - yes + - no +\--- ### EXAMPLES # Create an option by reading a JSON file - wp option add my_option --format=json < config.json + $ wp option add my_option --format=json < config.json + Success: Added 'my_option' option. diff --git a/commands/option/delete/index.md b/commands/option/delete/index.md index 9bda0231..d0a7a46a 100644 --- a/commands/option/delete/index.md +++ b/commands/option/delete/index.md @@ -10,8 +10,15 @@ display_global_parameters: true
    +### OPTIONS + <key> : Key for the option. +### EXAMPLES + + $ wp option delete my_option + Success: Deleted 'my_option' option. + diff --git a/commands/option/get/index.md b/commands/option/get/index.md index 8cc9c0c2..9f45fd06 100644 --- a/commands/option/get/index.md +++ b/commands/option/get/index.md @@ -10,17 +10,28 @@ display_global_parameters: true
    +### OPTIONS + <key> -: Key for the option +: Key for the option. [\--format=<format>] -: Get value as var_export() or JSON. Default: var_export() +: Get value in a particular format. +\--- +default: var_export +options: + - var_export + - json + - yaml +\--- ### EXAMPLES + # Get option $ wp option get home http://example.com + # Get option in JSON format $ wp option get active_plugins --format=json {"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"} diff --git a/commands/option/index.md b/commands/option/index.md index c3e452f7..06551c6c 100644 --- a/commands/option/index.md +++ b/commands/option/index.md @@ -17,13 +17,21 @@ display_global_parameters: true ### EXAMPLES - wp option get siteurl + # Get site URL + $ wp option get siteurl + http://example.com - wp option add my_option foobar + # Add option + $ wp option add my_option foobar + Success: Added 'my_option' option. - wp option update my_option '{"foo": "bar"}' --format=json + # Update option + $ wp option update my_option '{"foo": "bar"}' --format=json + Success: Updated 'my_option' option. - wp option delete my_option + # Delete option + $ wp option delete my_option + Success: Deleted 'my_option' option. diff --git a/commands/option/list/index.md b/commands/option/list/index.md index 2e6d1080..e8cac5bb 100644 --- a/commands/option/list/index.md +++ b/commands/option/list/index.md @@ -10,28 +10,32 @@ display_global_parameters: true
    +### OPTIONS + [\--search=<pattern>] : Use wildcards ( * and ? ) to match option name. [\--autoload=<value>] : Match only autoload options when value is on, and only not-autoload option when off. +[\--field=<field>] +: Prints the value of a single field. + [\--fields=<fields>] : Limit the output to specific object fields. [\--format=<format>] -: The serialization format for the value. total_bytes displays the total size of matching options in bytes. Accepted values: table, json, csv, count, total_bytes. Default: table - -### EXAMPLES - - # Get the total size of all autoload options - wp option list --autoload=on --format=total_bytes - - # Find biggest transients - wp option list --search="*_transient_*" --fields=option_name,size_bytes | sort -n -k 2 | tail - - # List all options begining with "i2f_" - wp option list --search "i2f_*" +: The serialization format for the value. total_bytes displays the total size of matching options in bytes. +\--- +default: table +options: + - table + - json + - csv + - count + - yaml + - total_bytes +\--- ### AVAILABLE FIELDS @@ -45,5 +49,34 @@ These fields are optionally available: * autoload * size_bytes +### EXAMPLES + + # Get the total size of all autoload options + $ wp option list --autoload=on --format=total_bytes + 33198 + + # Find biggest transients + $ wp option list --search="*_transient_*" --fields=option_name,size_bytes | sort -n -k 2 | tail + option_name size_bytes + _site_transient_timeout_theme_roots 10 + _site_transient_theme_roots 76 + _site_transient_update_themes 181 + _site_transient_update_core 808 + _site_transient_update_plugins 6645 + + # List all options begining with "i2f_" + $ wp option list --search="i2f_*" + +-------------+--------------+ + | option_name | option_value | + +-------------+--------------+ + | i2f_version | 0.1.0 | + +-------------+--------------+ + + # Delete all options begining with "theme_mods_" + $ wp option list --search="theme_mods_*" --field=option_name | xargs -0 -d '\n' -I % wp option delete % + Success: Deleted 'theme_mods_twentysixteen' option. + Success: Deleted 'theme_mods_twentfifteen' option. + Success: Deleted 'theme_mods_twentyfourteen' option. + diff --git a/commands/option/update/index.md b/commands/option/update/index.md index 15f0787b..5aa96f99 100644 --- a/commands/option/update/index.md +++ b/commands/option/update/index.md @@ -19,18 +19,33 @@ display_global_parameters: true : The new value. If ommited, the value is read from STDIN. [\--autoload=<autoload>] -: Requires WP 4.2. Should this option be automatically loaded. Accepted values: yes, no. Default: yes +: Requires WP 4.2. Should this option be automatically loaded. +\--- +default: yes +options: + - yes + - no +\--- [\--format=<format>] -: The serialization format for the value. Default is plaintext. +: The serialization format for the value. +\--- +default: plaintext +options: + - plaintext + - json +\--- ### EXAMPLES # Update an option by reading from a file - wp option update my_option < value.txt + $ wp option update my_option < value.txt + Success: Updated 'my_option' option. # Update one option on multiple sites using xargs - wp site list --field=url | xargs -n1 -I {} sh -c 'wp --url={} option update <key> <value>' + $ wp site list --field=url | xargs -n1 -I {} sh -c 'wp --url={} option update my_option my_value' + Success: Updated 'my_option' option. + Success: Updated 'my_option' option. diff --git a/commands/package/browse/index.md b/commands/package/browse/index.md index 6c9f241c..a38381c2 100644 --- a/commands/package/browse/index.md +++ b/commands/package/browse/index.md @@ -15,7 +15,36 @@ Lists packages available for installation from the [Package Index](http://wp-cli ### OPTIONS [\--format=<format>] -: Accepted values: table, json, csv, yaml, ids. Default: table. +: Render output in a particular format. +\--- +default: table +options: + - table + - csv + - ids + - json + - yaml +\--- + +### EXAMPLES + + $ wp package browse --format=yaml + --- + 10up/mu-migration: + name: 10up/mu-migration + description: A set of WP-CLI commands to support the migration of single WordPress instances to multisite + authors: Nícholas André + version: dev-master, dev-develop + aaemnnosttv/wp-cli-dotenv-command: + name: aaemnnosttv/wp-cli-dotenv-command + description: Dotenv commands for WP-CLI + authors: Evan Mattson + version: v0.1, v0.1-beta.1, v0.2, dev-master, dev-dev, dev-develop, dev-tests/behat + aaemnnosttv/wp-cli-http-command: + name: aaemnnosttv/wp-cli-http-command + description: WP-CLI command for using the WordPress HTTP API + authors: Evan Mattson + version: dev-master diff --git a/commands/package/index.md b/commands/package/index.md index 99030ccc..c14e54ca 100644 --- a/commands/package/index.md +++ b/commands/package/index.md @@ -19,6 +19,41 @@ Installable packages are listed in the Learn how to create your own command from the [Commands Cookbook](http://wp-cli.org/docs/commands-cookbook/) +### EXAMPLES + + # List installed packages + $ wp package list + +-----------------------+------------------------------------------+---------+------------+ + | name | description | authors | version | + +-----------------------+------------------------------------------+---------+------------+ + | wp-cli/server-command | Start a development server for WordPress | | dev-master | + +-----------------------+------------------------------------------+---------+------------+ + + # Install the latest development version of the package + $ wp package install wp-cli/server-command + Installing wp-cli/server-command (dev-master) + Updating /home/person/.wp-cli/packages/composer.json to require the package... + Using Composer to install the package... + --- + Loading composer repositories with package information + Updating dependencies + Resolving dependencies through SAT + Dependency resolution completed in 0.005 seconds + Analyzed 732 packages to resolve dependencies + Analyzed 1034 rules to resolve dependencies + - Installing package + Writing lock file + Generating autoload files + --- + Success: Package installed successfully. + + # Uninstall package + $ wp package uninstall wp-cli/server-command + Removing require statement from /home/person/.wp-cli/packages/composer.json + Deleting package directory /home/person/.wp-cli/packages/vendor/wp-cli/server-command + Regenerating Composer autoload. + Success: Uninstalled package. + ### SUBCOMMANDS diff --git a/commands/package/install/index.md b/commands/package/install/index.md index f1652e75..a7f95cfe 100644 --- a/commands/package/install/index.md +++ b/commands/package/install/index.md @@ -17,11 +17,26 @@ display_global_parameters: true ### EXAMPLES - # install the latest development version - wp package install wp-cli/server-command - - # install the latest stable version - wp package install wp-cli/server-command:@stable + # Install the latest development version + $ wp package install wp-cli/server-command + Installing wp-cli/server-command (dev-master) + Updating /home/person/.wp-cli/packages/composer.json to require the package... + Using Composer to install the package... + --- + Loading composer repositories with package information + Updating dependencies + Resolving dependencies through SAT + Dependency resolution completed in 0.005 seconds + Analyzed 732 packages to resolve dependencies + Analyzed 1034 rules to resolve dependencies + - Installing package + Writing lock file + Generating autoload files + --- + Success: Package installed successfully. + + # Install the latest stable version + $ wp package install wp-cli/server-command:@stable diff --git a/commands/package/list/index.md b/commands/package/list/index.md index 5d8c9630..3a8eb69e 100644 --- a/commands/package/list/index.md +++ b/commands/package/list/index.md @@ -13,7 +13,25 @@ display_global_parameters: true ### OPTIONS [\--format=<format>] -: Accepted values: table, json, csv, yaml, ids. Default: table +: Render output in a particular format. +\--- +default: table +options: + - table + - csv + - ids + - json + - yaml +\--- + +### EXAMPLES + + $ wp package list + +-----------------------+------------------------------------------+---------+------------+ + | name | description | authors | version | + +-----------------------+------------------------------------------+---------+------------+ + | wp-cli/server-command | Start a development server for WordPress | | dev-master | + +-----------------------+------------------------------------------+---------+------------+ diff --git a/commands/package/path/index.md b/commands/package/path/index.md index 54f9a133..c3c20960 100644 --- a/commands/package/path/index.md +++ b/commands/package/path/index.md @@ -19,7 +19,13 @@ If you want to contribute to a package, this is a great way to jump to it. ### EXAMPLES - cd $(wp package path) + # Get package path + $ wp package path + /home/person/.wp-cli/packages/ + + # Change directory to package path + $ cd $(wp package path) && pwd + /home/vagrant/.wp-cli/packages diff --git a/commands/package/uninstall/index.md b/commands/package/uninstall/index.md index eda22b30..cb5f0042 100644 --- a/commands/package/uninstall/index.md +++ b/commands/package/uninstall/index.md @@ -15,5 +15,13 @@ display_global_parameters: true <name> : Name of the package to uninstall. +### EXAMPLES + + $ wp package uninstall wp-cli/server-command + Removing require statement from /home/person/.wp-cli/packages/composer.json + Deleting package directory /home/person/.wp-cli/packages/vendor/wp-cli/server-command + Regenerating Composer autoload. + Success: Uninstalled package. + diff --git a/commands/plugin/activate/index.md b/commands/plugin/activate/index.md index 562a5b33..4c02f100 100644 --- a/commands/plugin/activate/index.md +++ b/commands/plugin/activate/index.md @@ -21,5 +21,15 @@ display_global_parameters: true [\--network] : If set, the plugin will be activated for the entire multisite network. +### EXAMPLES + + # Activate plugin + $ wp plugin activate hello-dolly + Success: Plugin 'hello-dolly' activated. + + # Activate plugin in entire multisite network + $ wp plugin activate hello-dolly --network + Success: Plugin 'hello-dolly' network activated. + diff --git a/commands/plugin/deactivate/index.md b/commands/plugin/deactivate/index.md index 627b24b7..6641edea 100644 --- a/commands/plugin/deactivate/index.md +++ b/commands/plugin/deactivate/index.md @@ -24,5 +24,11 @@ display_global_parameters: true [\--network] : If set, the plugin will be deactivated for the entire multisite network. +### EXAMPLES + + # Deactivate plugin + $ wp plugin deactivate hello-dolly + Success: Plugin 'hello-dolly' deactivated. + diff --git a/commands/plugin/delete/index.md b/commands/plugin/delete/index.md index 6d56d8b4..f7379f7a 100644 --- a/commands/plugin/delete/index.md +++ b/commands/plugin/delete/index.md @@ -17,6 +17,7 @@ display_global_parameters: true ### EXAMPLES + # Delete plugin $ wp plugin delete hello Success: Deleted 'hello' plugin. diff --git a/commands/plugin/get/index.md b/commands/plugin/get/index.md index ba8e6247..c197266d 100644 --- a/commands/plugin/get/index.md +++ b/commands/plugin/get/index.md @@ -22,7 +22,15 @@ display_global_parameters: true : Limit the output to specific fields. Defaults to all fields. [\--format=<format>] -: Output list as table, json, CSV, yaml. Defaults to table. +: Render output in a particular format. +\--- +default: table +options: + - table + - csv + - json + - yaml +\--- ### EXAMPLES diff --git a/commands/plugin/index.md b/commands/plugin/index.md index 3843d233..844a1c38 100644 --- a/commands/plugin/index.md +++ b/commands/plugin/index.md @@ -10,7 +10,30 @@ display_global_parameters: true
    +### EXAMPLES + # Activate plugin + $ wp plugin activate hello-dolly + Success: Plugin 'hello-dolly' activated. + + # Deactivate plugin + $ wp plugin deactivate hello-dolly + Success: Plugin 'hello-dolly' deactivated. + + # Delete plugin + $ wp plugin delete hello-dolly + Success: Deleted 'hello-dolly' plugin. + + # Install the latest version from wordpress.org and activate + $ wp plugin install bbpress --activate + Installing bbPress (2.5.9) + Downloading install package from https://downloads.wordpress.org/plugin/bbpress.2.5.9.zip... + Using cached file '/home/vagrant/.wp-cli/cache/plugin/bbpress-2.5.9.zip'... + Unpacking the package... + Installing the plugin... + Plugin installed successfully. + Activating 'bbpress'... + Success: Plugin 'bbpress' activated. diff --git a/commands/plugin/is-installed/index.md b/commands/plugin/is-installed/index.md index 33fd2254..1f983de9 100644 --- a/commands/plugin/is-installed/index.md +++ b/commands/plugin/is-installed/index.md @@ -19,8 +19,10 @@ Returns exit code 0 when installed, 1 when uninstalled. ### EXAMPLES - wp plugin is-installed hello - echo $? # displays 0 or 1 + # Check whether plugin is installed; exit status 0 if installed, otherwise 1 + $ wp plugin is-installed hello-dolly + $ echo $? + 1 diff --git a/commands/plugin/list/index.md b/commands/plugin/list/index.md index 0b99fe6e..10487a56 100644 --- a/commands/plugin/list/index.md +++ b/commands/plugin/list/index.md @@ -22,7 +22,16 @@ display_global_parameters: true : Limit the output to specific object fields. [\--format=<format>] -: Accepted values: table, csv, json, count, yaml. Default: table +: Render output in a particular format. +\--- +default: table +options: + - table + - csv + - count + - json + - yaml +\--- ### AVAILABLE FIELDS diff --git a/commands/plugin/search/index.md b/commands/plugin/search/index.md index 4322eda3..0702bfe4 100644 --- a/commands/plugin/search/index.md +++ b/commands/plugin/search/index.md @@ -16,10 +16,16 @@ display_global_parameters: true : The string to search for. [\--page=<page>] -: Optional page to display. Defaults to 1. +: Optional page to display. +\--- +default: 1 +\--- [\--per-page=<per-page>] -: Optional number of results to display. Defaults to 10. +: Optional number of results to display. +\--- +default: 10 +\--- [\--field=<field>] : Prints the value of a single field for each plugin. @@ -43,7 +49,16 @@ display_global_parameters: true **short_description**: Plugin's Short Description [\--format=<format>] -: Accepted values: table, csv, json, count, yaml. Default: table +: Render output in a particular format. +\--- +default: table +options: + - table + - csv + - count + - json + - yaml +\--- ### EXAMPLES diff --git a/commands/plugin/status/index.md b/commands/plugin/status/index.md index 28ff0667..db74574c 100644 --- a/commands/plugin/status/index.md +++ b/commands/plugin/status/index.md @@ -15,5 +15,26 @@ display_global_parameters: true [<plugin>] : A particular plugin to show the status for. +### EXAMPLES + + # Displays status of all plugins + $ wp plugin status + 5 installed plugins: + I akismet 3.1.11 + I easy-digital-downloads 2.5.16 + A theme-check 20160523.1 + I wen-logo-slider 2.0.3 + M ns-pack 1.0.0 + Legend: I = Inactive, A = Active, M = Must Use + + # Displays status of a plugin + $ wp plugin status theme-check + Plugin theme-check details: + Name: Theme Check + Status: Active + Version: 20160523.1 + Author: Otto42, pross + Description: A simple and easy way to test your theme for all the latest WordPress standards and practices. A great theme development tool! + diff --git a/commands/post-type/get/index.md b/commands/post-type/get/index.md index 8249e769..72510f3d 100644 --- a/commands/post-type/get/index.md +++ b/commands/post-type/get/index.md @@ -22,11 +22,20 @@ display_global_parameters: true : Limit the output to specific fields. Defaults to all fields. [\--format=<format>] -: Accepted values: table, json, csv, yaml. Default: table +: Render output in a particular format. +\--- +default: table +options: + - table + - csv + - json + - yaml +\--- ### EXAMPLES - wp post-type get page --format=json + $ wp post-type get page --fields=name,label,hierarchical --format=json + {"name":"page","label":"Pages","hierarchical":true} diff --git a/commands/post-type/index.md b/commands/post-type/index.md index 291dcd98..df5b9e78 100644 --- a/commands/post-type/index.md +++ b/commands/post-type/index.md @@ -10,7 +10,22 @@ display_global_parameters: true
    - +### EXAMPLES + + # Get a post type + $ wp post-type get page --fields=name,label,hierarchical --format=json + {"name":"page","label":"Pages","hierarchical":true} + + # List post types with 'post' capability type + $ wp post-type list --capability_type=post --fields=name,public + +---------------+--------+ + | name | public | + +---------------+--------+ + | post | 1 | + | attachment | 1 | + | revision | | + | nav_menu_item | | + +---------------+--------+ diff --git a/commands/post-type/list/index.md b/commands/post-type/list/index.md index c10ae6c7..9fb467ed 100644 --- a/commands/post-type/list/index.md +++ b/commands/post-type/list/index.md @@ -22,7 +22,16 @@ display_global_parameters: true : Limit the output to specific post type fields. [\--format=<format>] -: Accepted values: table, csv, json, count, yaml. Default: table +: Render output in a particular format. +\--- +default: table +options: + - table + - csv + - json + - count + - yaml +\--- ### AVAILABLE FIELDS @@ -39,9 +48,25 @@ There are no optionally available fields. ### EXAMPLES - wp post-type list --format=csv - - wp post-type list --capability_type=post --fields=name,public + # List registered post types + $ wp post-type list --format=csv + name,label,description,hierarchical,public,capability_type + post,Posts,,,1,post + page,Pages,,1,1,page + attachment,Media,,,1,post + revision,Revisions,,,,post + nav_menu_item,"Navigation Menu Items",,,,post + + # List post types with 'post' capability type + $ wp post-type list --capability_type=post --fields=name,public + +---------------+--------+ + | name | public | + +---------------+--------+ + | post | 1 | + | attachment | 1 | + | revision | | + | nav_menu_item | | + +---------------+--------+ diff --git a/commands/post/create/index.md b/commands/post/create/index.md index ac9a9cd8..cf3be5a1 100644 --- a/commands/post/create/index.md +++ b/commands/post/create/index.md @@ -33,9 +33,13 @@ display_global_parameters: true ### EXAMPLES - wp post create --post_type=page --post_title='A future post' --post_status=future --post_date='2020-12-01 07:00:00' + # Create post and schedule for future + $ wp post create --post_type=page --post_title='A future post' --post_status=future --post_date='2020-12-01 07:00:00' + Success: Created post 1921. - wp post create ./post-content.txt --post_category=201,345 --post_title='Post from file' + # Create post with content from given file + $ wp post create ./post-content.txt --post_category=201,345 --post_title='Post from file' + Success: Created post 1922. diff --git a/commands/post/delete/index.md b/commands/post/delete/index.md index 57875193..5986fb45 100644 --- a/commands/post/delete/index.md +++ b/commands/post/delete/index.md @@ -23,12 +23,19 @@ display_global_parameters: true ### EXAMPLES - wp post delete 123 --force - - wp post delete $(wp post list --post_type='page' --format=ids) - - # delete all posts in the trash - wp post delete $(wp post list --post_status=trash --format=ids) + # Delete post skipping trash + $ wp post delete 123 --force + Success: Deleted post 123. + + # Delete all pages + $ wp post delete $(wp post list --post_type='page' --format=ids) + Success: Trashed post 1164. + Success: Trashed post 1186. + + # Delete all posts in the trash + $ wp post delete $(wp post list --post_status=trash --format=ids) + Success: Trashed post 1268. + Success: Trashed post 1294. diff --git a/commands/post/edit/index.md b/commands/post/edit/index.md index 765f854c..7c88f04a 100644 --- a/commands/post/edit/index.md +++ b/commands/post/edit/index.md @@ -17,7 +17,8 @@ display_global_parameters: true ### EXAMPLES - wp post edit 123 + # Launch system editor to edit post + $ wp post edit 123 diff --git a/commands/post/generate/index.md b/commands/post/generate/index.md index 16fbf7ba..fe7638bf 100644 --- a/commands/post/generate/index.md +++ b/commands/post/generate/index.md @@ -13,16 +13,28 @@ display_global_parameters: true ### OPTIONS [\--count=<number>] -: How many posts to generate. Default: 100 +: How many posts to generate? +\--- +default: 100 +\--- [\--post_type=<type>] -: The type of the generated posts. Default: 'post' +: The type of the generated posts. +\--- +default: post +\--- [\--post_status=<status>] -: The status of the generated posts. Default: 'publish' +: The status of the generated posts. +\--- +default: publish +\--- [\--post_author=<login>] -: The author of the generated posts. Default: none +: The author of the generated posts. +\--- +default: +\--- [\--post_date=<yyyy-mm-dd>] : The date of the generated posts. Default: current date @@ -31,12 +43,38 @@ display_global_parameters: true : If set, the command reads the post_content from STDIN. [\--max_depth=<number>] -: For hierarchical post types, generate child posts down to a certain depth. Default: 1 +: For hierarchical post types, generate child posts down to a certain depth. +\--- +default: 1 +\--- + +[\--format=<format>] +: Render output in a particular format. +\--- +default: progress +options: + - progress + - ids +\--- ### EXAMPLES - wp post generate --count=10 --post_type=page --post_date=1999-01-04 - curl http://loripsum.net/api/5 | wp post generate --post_content --count=10 + # Generate posts + $ wp post generate --count=10 --post_type=page --post_date=1999-01-04 + Generating posts 100% [================================================] 0:01 / 0:04 + + # Generate posts with fetched content + $ curl http://loripsum.net/api/5 | wp post generate --post_content --count=10 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 100 2509 100 2509 0 0 616 0 0:00:04 0:00:04 --:--:-- 616 + Generating posts 100% [================================================] 0:01 / 0:04 + + # Add meta to every generated post + $ wp post generate --format=ids | xargs -0 -d ' ' -I % wp post meta add % foo bar + Success: Added custom field. + Success: Added custom field. + Success: Added custom field. diff --git a/commands/post/get/index.md b/commands/post/get/index.md index 9cfda15e..9452a9e7 100644 --- a/commands/post/get/index.md +++ b/commands/post/get/index.md @@ -22,12 +22,20 @@ display_global_parameters: true : Limit the output to specific fields. Defaults to all fields. [\--format=<format>] -: Accepted values: table, json, csv, yaml. Default: table +: Render output in a particular format. +\--- +default: table +options: + - table + - csv + - json + - yaml +\--- ### EXAMPLES - # save the post content to a file - wp post get 12 --field=content > file.txt + # Save the post content to a file + $ wp post get 123 --field=content > file.txt diff --git a/commands/post/index.md b/commands/post/index.md index 62443899..e45a0a95 100644 --- a/commands/post/index.md +++ b/commands/post/index.md @@ -10,7 +10,19 @@ display_global_parameters: true
    +### EXAMPLES + # Create post + $ wp post create --post_type=post --post_title='A sample post' + Success: Created post 123. + + # Update post + $ wp post update 123 --post_status=draft + Success: Updated post 123. + + # Delete post + $ wp post delete 123 + Success: Trashed post 123. diff --git a/commands/post/list/index.md b/commands/post/list/index.md index d7654816..75c3ae15 100644 --- a/commands/post/list/index.md +++ b/commands/post/list/index.md @@ -23,6 +23,16 @@ display_global_parameters: true [\--format=<format>] : Accepted values: table, csv, json, count, ids, yaml. Default: table +\--- +default: table +options: + - table + - csv + - ids + - json + - count + - yaml +\--- ### AVAILABLE FIELDS @@ -59,15 +69,37 @@ These fields are optionally available: ### EXAMPLES - wp post list --field=ID - - wp post list --post_type=post --posts_per_page=5 --format=json - - wp post list --post_type=page --fields=post_title,post_status - - wp post list --post_type=page,post --format=ids - - wp post list --post__in=1,3 + # List post + $ wp post list --field=ID + 568 + 829 + 1329 + 1695 + + # List posts in JSON + $ wp post list --post_type=post --posts_per_page=5 --format=json + [{"ID":1,"post_title":"Hello world!","post_name":"hello-world","post_date":"2015-06-20 09:00:10","post_status":"publish"},{"ID":1178,"post_title":"Markup: HTML Tags and Formatting","post_name":"markup-html-tags-and-formatting","post_date":"2013-01-11 20:22:19","post_status":"draft"}] + + # List all pages + $ wp post list --post_type=page --fields=post_title,post_status + +-------------+-------------+ + | post_title | post_status | + +-------------+-------------+ + | Sample Page | publish | + +-------------+-------------+ + + # List ids of all pages and posts + $ wp post list --post_type=page,post --format=ids + 15 25 34 37 198 + + # List given posts + $ wp post list --post__in=1,3 + +----+--------------+-------------+---------------------+-------------+ + | ID | post_title | post_name | post_date | post_status | + +----+--------------+-------------+---------------------+-------------+ + | 3 | Lorem Ipsum | lorem-ipsum | 2016-06-01 14:34:36 | publish | + | 1 | Hello world! | hello-world | 2016-06-01 14:31:12 | publish | + +----+--------------+-------------+---------------------+-------------+ diff --git a/commands/post/meta/index.md b/commands/post/meta/index.md index 3995a9c5..fbd43022 100644 --- a/commands/post/meta/index.md +++ b/commands/post/meta/index.md @@ -10,14 +10,23 @@ display_global_parameters: true
    -### OPTIONS +### EXAMPLES -[\--format=json] -: Encode/decode values as JSON. + # Set post meta + $ wp post meta set 123 _wp_page_template about.php + Success: Updated custom field '_wp_page_template'. -### EXAMPLES + # Get post meta + $ wp post meta get 123 _wp_page_template + about.php + + # Update post meta + $ wp post meta update 123 _wp_page_template contact.php + Success: Updated custom field '_wp_page_template'. - wp post meta set 123 _wp_page_template about.php + # Delete post meta + $ wp post meta delete 123 _wp_page_template + Success: Deleted custom field. diff --git a/commands/post/term/index.md b/commands/post/term/index.md index 2e460462..db16d7f4 100644 --- a/commands/post/term/index.md +++ b/commands/post/term/index.md @@ -12,7 +12,9 @@ display_global_parameters: true ### EXAMPLES - wp post term set 123 test category + # Set post terms + $ wp post term set 123 test category + Set terms. diff --git a/commands/post/update/index.md b/commands/post/update/index.md index 2fb60325..9d2c7c06 100644 --- a/commands/post/update/index.md +++ b/commands/post/update/index.md @@ -30,7 +30,8 @@ display_global_parameters: true ### EXAMPLES - wp post update 123 --post_name=something --post_status=draft + $ wp post update 123 --post_name=something --post_status=draft + Success: Updated post 123. diff --git a/commands/rewrite/list/index.md b/commands/rewrite/list/index.md index 6119833c..34d3e741 100644 --- a/commands/rewrite/list/index.md +++ b/commands/rewrite/list/index.md @@ -22,7 +22,16 @@ display_global_parameters: true : Limit the output to specific fields. Defaults to match,query,source. [\--format=<format>] -: Accepted values: table, csv, json, count, yaml. Default: table +: Render output in a particular format. +\--- +default: table +options: + - table + - csv + - json + - count + - yaml +\--- ### EXAMPLES diff --git a/commands/role/list/index.md b/commands/role/list/index.md index 6925e212..0255d268 100644 --- a/commands/role/list/index.md +++ b/commands/role/list/index.md @@ -16,7 +16,16 @@ display_global_parameters: true : Limit the output to specific object fields. [\--format=<format>] -: Accepted values: table, csv, json, count, yaml. Default: table +: Render output in a particular format. +\--- +default: table +options: + - table + - csv + - json + - count + - yaml +\--- ### AVAILABLE FIELDS diff --git a/commands/role/reset/index.md b/commands/role/reset/index.md index 18af4f3c..d919e2dc 100644 --- a/commands/role/reset/index.md +++ b/commands/role/reset/index.md @@ -22,7 +22,7 @@ display_global_parameters: true # Reset role $ wp role reset administrator author contributor - Success: Reset 1/3 roles + Success: Reset 1/3 roles. # Reset all default roles $ wp role reset --all diff --git a/commands/scaffold/_s/index.md b/commands/scaffold/_s/index.md index 1fa62f24..4fd07fc9 100644 --- a/commands/scaffold/_s/index.md +++ b/commands/scaffold/_s/index.md @@ -22,19 +22,24 @@ display_global_parameters: true : Enable the newly downloaded theme for the entire network. [\--theme_name=<title>] -: What to put in the 'Theme Name:' header in style.css +: What to put in the 'Theme Name:' header in 'style.css'. [\--author=<full-name>] -: What to put in the 'Author:' header in style.css +: What to put in the 'Author:' header in 'style.css'. [\--author_uri=<uri>] -: What to put in the 'Author URI:' header in style.css +: What to put in the 'Author URI:' header in 'style.css'. [\--sassify] -: Include stylesheets as SASS +: Include stylesheets as SASS. [\--force] : Overwrite files that already exist. +### EXAMPLES + + $ wp scaffold _s sample-theme --theme_name="Sample Theme" --author="John Doe" + Success: Created theme 'Sample Theme'. + diff --git a/commands/scaffold/child-theme/index.md b/commands/scaffold/child-theme/index.md index 0efba1e9..ee097ce8 100644 --- a/commands/scaffold/child-theme/index.md +++ b/commands/scaffold/child-theme/index.md @@ -16,19 +16,19 @@ display_global_parameters: true : The slug for the new child theme. \--parent_theme=<slug> -: What to put in the 'Template:' header in style.css +: What to put in the 'Template:' header in 'style.css'. [\--theme_name=<title>] -: What to put in the 'Theme Name:' header in style.css +: What to put in the 'Theme Name:' header in 'style.css'. [\--author=<full-name>] -: What to put in the 'Author:' header in style.css +: What to put in the 'Author:' header in 'style.css'. [\--author_uri=<uri>] -: What to put in the 'Author URI:' header in style.css +: What to put in the 'Author URI:' header in 'style.css'. [\--theme_uri=<uri>] -: What to put in the 'Theme URI:' header in style.css +: What to put in the 'Theme URI:' header in 'style.css'. [\--activate] : Activate the newly created child theme. @@ -39,5 +39,10 @@ display_global_parameters: true [\--force] : Overwrite files that already exist. +### EXAMPLES + + $ wp scaffold child-theme sample-theme --parent_theme=twentysixteen + Success: Created '/var/www/example.com/public_html/wp-content/themes/sample-theme'. + diff --git a/commands/scaffold/index.md b/commands/scaffold/index.md index ec279f8d..f8b5de98 100644 --- a/commands/scaffold/index.md +++ b/commands/scaffold/index.md @@ -10,7 +10,20 @@ display_global_parameters: true
    +### EXAMPLES + # Generate plugin + $ wp scaffold plugin sample-plugin + Success: Created plugin files. + Success: Created test files. + + # Generate theme based on _s + $ wp scaffold _s sample-theme --theme_name="Sample Theme" --author="John Doe" + Success: Created theme 'Sample Theme'. + + # Generate code for post type registration in given theme + $ wp scaffold post-type movie --label=Movie --theme=simple-life + Success: Created /var/www/example.com/public_html/wp-content/themes/simple-life/post-types/movie.php diff --git a/commands/scaffold/plugin-tests/index.md b/commands/scaffold/plugin-tests/index.md index 4f26caeb..8fe96ce4 100644 --- a/commands/scaffold/plugin-tests/index.md +++ b/commands/scaffold/plugin-tests/index.md @@ -15,7 +15,7 @@ display_global_parameters: true The following files are generated for your plugin by this command: * `phpunit.xml.dist` is the configuration file for PHPUnit. -* `.travis.yml` is the configuration file for Travis CI. +* `.travis.yml` is the configuration file for Travis CI. Use `--ci=<provider>` to select a different service. * `bin/install-wp-tests.sh` configures the WordPress test suite and a test database. * `tests/bootstrap.php` is the file that makes the current plugin active when running the test suite. * `tests/test-sample.php` is a sample file containing the actual tests. @@ -35,12 +35,23 @@ variable. [\--dir=<dirname>] : Generate test files for a non-standard plugin path. If no plugin slug is specified, the directory name is used. +[\--ci=<provider>] +: Add a configuration file for a continuous integration provider. +\--- +default: travis +options: + - travis + - circle + - gitlab +\--- + [\--force] : Overwrite files that already exist. -### EXAMPLE +### EXAMPLES - wp scaffold plugin-tests hello + $ wp scaffold plugin-tests sample-plugin + Success: Created test files. diff --git a/commands/scaffold/plugin/index.md b/commands/scaffold/plugin/index.md index 045d7425..37f74f48 100644 --- a/commands/scaffold/plugin/index.md +++ b/commands/scaffold/plugin/index.md @@ -10,6 +10,26 @@ display_global_parameters: true
    +### OVERVIEW + +The following files are generated for your plugin by this command: + +* `plugin-slug.php` is the main PHP plugin file. +* `readme.txt` is the readme file for the plugin. +* `package.json` needed by NPM holds various metadata relevant to the project. Packages: `grunt`, `grunt-wp-i18n` and `grunt-wp-readme-to-markdown`. +* `Gruntfile.js` is the JS file containing Grunt tasks. Tasks: `i18n` containing `addtextdomain` and `makepot`, `readme` containing `wp_readme_to_markdown`. +* `.editorconfig` is the configuration file for Editor. +* `.gitignore` tells which files (or patterns) git should ignore. +* `.distignore` tells which files and folders should be ignored in distribution. + +The following files are also generated if tests are not skipped using `--skip-tests`: + +* `phpunit.xml.dist` is the configuration file for PHPUnit. +* `.travis.yml` is the configuration file for Travis CI. +* `bin/install-wp-tests.sh` configures the WordPress test suite and a test database. +* `tests/bootstrap.php` is the file that makes the current plugin active when running the test suite. +* `tests/test-sample.php` is a sample file containing test cases. + ### OPTIONS <slug> @@ -19,7 +39,7 @@ display_global_parameters: true : Put the new plugin in some arbitrary directory path. Plugin directory will be path plus supplied slug. [\--plugin_name=<title>] -: What to put in the 'Plugin Name:' header +: What to put in the 'Plugin Name:' header. [\--plugin_description=<description>] : What to put in the 'Description:' header. @@ -45,5 +65,11 @@ display_global_parameters: true [\--force] : Overwrite files that already exist. +### EXAMPLES + + $ wp scaffold plugin sample-plugin + Success: Created plugin files. + Success: Created test files. + diff --git a/commands/scaffold/post-type/index.md b/commands/scaffold/post-type/index.md index 0c8f615e..47b4bf39 100644 --- a/commands/scaffold/post-type/index.md +++ b/commands/scaffold/post-type/index.md @@ -16,7 +16,7 @@ display_global_parameters: true : The internal name of the post type. [\--label=<label>] -: The text used to translate the update messages +: The text used to translate the update messages. [\--textdomain=<textdomain>] : The textdomain to use for the labels. @@ -37,5 +37,10 @@ STDOUT. Specify a theme with `--theme=<theme>` to have the file placed in [\--force] : Overwrite files that already exist. +### EXAMPLES + + $ wp scaffold post-type movie --label=Movie --theme=simple-life + Success: Created '/var/www/example.com/public_html/wp-content/themes/simple-life/post-types/movie.php'. + diff --git a/commands/scaffold/taxonomy/index.md b/commands/scaffold/taxonomy/index.md index f3392beb..937a045c 100644 --- a/commands/scaffold/taxonomy/index.md +++ b/commands/scaffold/taxonomy/index.md @@ -39,7 +39,8 @@ STDOUT. Specify a theme with `--theme=<theme>` to have the file placed in ### EXAMPLES - wp scaffold taxonomy venue --post_types=event,presentation + # Generate PHP code for registering a custom taxonomy and save in a file + $ wp scaffold taxonomy venue --post_types=event,presentation > taxonomy.php diff --git a/commands/search-replace/index.md b/commands/search-replace/index.md index ee3a3440..c8c19dd0 100644 --- a/commands/search-replace/index.md +++ b/commands/search-replace/index.md @@ -55,10 +55,19 @@ and --all-tables-with-prefix. : Write transformed data as SQL file instead of saving replacements to the database. If <file> is not supplied, will output to STDOUT. +[\--export_insert_size=<rows>] +: Define number of rows in single INSERT statement when doing SQL export. +You might want to change this depending on your database configuration +(e.g. if you need to do fewer queries). Default: 50 + [\--skip-columns=<columns>] : Do not perform the replacement on specific columns. Use commas to specify multiple columns. 'guid' is skipped by default. +[\--include-columns=<columns>] +: Perform the replacement on specific columns. Use commas to +specify multiple columns. + [\--precise] : Force the use of PHP (instead of SQL) which is more thorough, but slower. @@ -76,15 +85,25 @@ will take about 15-20x longer when using --regex. ### EXAMPLES - wp search-replace 'http://example.dev' 'http://example.com' --skip-columns=guid + # Search and replace but skip one column + $ wp search-replace 'http://example.dev' 'http://example.com' --skip-columns=guid - wp search-replace 'foo' 'bar' wp_posts wp_postmeta wp_terms --dry-run + # Run search/replace operation but dont save in database + $ wp search-replace 'foo' 'bar' wp_posts wp_postmeta wp_terms --dry-run # Turn your production multisite database into a local dev database - wp search-replace --url=example.com example.com example.dev 'wp_*_options' wp_blogs + $ wp search-replace --url=example.com example.com example.dev 'wp_*_options' wp_blogs # Search/replace to a SQL file without transforming the database - wp search-replace foo bar --export=database.sql + $ wp search-replace foo bar --export=database.sql + + # Bash script: Search/replace production to development url (multisite compatible) + #!/bin/bash + if $(wp --url=http://example.com core is-installed --network); then + wp search-replace --url=http://example.com 'http://example.com' 'http://example.dev' --recurse-objects --network --skip-columns=guid + else + wp search-replace 'http://example.com' 'http://example.dev' --recurse-objects --skip-columns=guid + fi diff --git a/commands/server/index.md b/commands/server/index.md index c15faf90..d3d471a4 100644 --- a/commands/server/index.md +++ b/commands/server/index.md @@ -15,10 +15,16 @@ display_global_parameters: true ### OPTIONS [\--host=<host>] -: The hostname to bind the server to. Default: localhost +: The hostname to bind the server to. +\--- +default: localhost +\--- [\--port=<port>] -: The port number to bind the server to. Default: 8080 +: The port number to bind the server to. +\--- +default: 8080 +\--- [\--docroot=<path>] : The path to use as the document root. diff --git a/commands/shell/index.md b/commands/shell/index.md index 4ffacfae..c11ed343 100644 --- a/commands/shell/index.md +++ b/commands/shell/index.md @@ -19,5 +19,11 @@ display_global_parameters: true [\--basic] : Start in fail-safe mode, even if Boris is available. +### EXAMPLES + + # Start interactive PHP console + $ wp shell + wp> + diff --git a/commands/sidebar/list/index.md b/commands/sidebar/list/index.md index 02cc5964..6b30927d 100644 --- a/commands/sidebar/list/index.md +++ b/commands/sidebar/list/index.md @@ -16,7 +16,17 @@ display_global_parameters: true : Limit the output to specific object fields. [\--format=<format>] -: Accepted values: table, csv, json, count, yaml. Default: table +: Render output in a particular format. +\--- +default: table +options: + - table + - csv + - json + - ids + - count + - yaml +\--- ### AVAILABLE FIELDS diff --git a/commands/site/activate/index.md b/commands/site/activate/index.md index edba8283..52c0f7a2 100644 --- a/commands/site/activate/index.md +++ b/commands/site/activate/index.md @@ -17,7 +17,8 @@ display_global_parameters: true ### EXAMPLES - wp site activate 123 + $ wp site activate 123 + Success: Site 123 activated. diff --git a/commands/site/archive/index.md b/commands/site/archive/index.md index 8d593974..ddbe9015 100644 --- a/commands/site/archive/index.md +++ b/commands/site/archive/index.md @@ -17,7 +17,8 @@ display_global_parameters: true ### EXAMPLES - wp site archive 123 + $ wp site archive 123 + Success: Site 123 archived. diff --git a/commands/site/create/index.md b/commands/site/create/index.md index fb2f6a4e..78bd7bf1 100644 --- a/commands/site/create/index.md +++ b/commands/site/create/index.md @@ -30,5 +30,10 @@ display_global_parameters: true [\--porcelain] : If set, only the site id will be output on success. +### EXAMPLES + + $ wp site create --slug=example + Success: Site 3 created: www.example.com/example/ + diff --git a/commands/site/deactivate/index.md b/commands/site/deactivate/index.md index 817959fa..cb4478c3 100644 --- a/commands/site/deactivate/index.md +++ b/commands/site/deactivate/index.md @@ -17,7 +17,8 @@ display_global_parameters: true ### EXAMPLES - wp site deactivate 123 + $ wp site deactivate 123 + Success: Site 123 deactivated. diff --git a/commands/site/delete/index.md b/commands/site/delete/index.md index da884737..455c8fe4 100644 --- a/commands/site/delete/index.md +++ b/commands/site/delete/index.md @@ -24,5 +24,11 @@ display_global_parameters: true [\--keep-tables] : Delete the blog from the list, but don't drop it's tables. +### EXAMPLES + + $ wp site delete 123 + Are you sure you want to delete the http://www.example.com/example site? [y/n] y + Success: The site at 'http://www.example.com/example' was deleted. + diff --git a/commands/site/empty/index.md b/commands/site/empty/index.md index d6394c22..241ab83c 100644 --- a/commands/site/empty/index.md +++ b/commands/site/empty/index.md @@ -10,6 +10,19 @@ display_global_parameters: true
    +This command doesn't empty custom database tables by default. To do so, +you'll need to hook into command execution: + +``` +WP_CLI::add_hook( 'after_invoke:site empty', function(){ + global $wpdb; + foreach( array( 'p2p', 'p2pmeta' ) as $table ) { + $table = $wpdb->$table; + $wpdb->query( "TRUNCATE $table" ); + } +}); +``` + ### OPTIONS [\--uploads] @@ -18,5 +31,11 @@ display_global_parameters: true [\--yes] : Proceed to empty the site without a confirmation prompt. +### EXAMPLES + + $ wp site empty + Are you sure you want to empty the site at http://www.example.com of all posts, comments, and terms? [y/n] y + Success: The site at 'http://www.example.com' was emptied. + diff --git a/commands/site/index.md b/commands/site/index.md index 2d6e0ee1..d7428a59 100644 --- a/commands/site/index.md +++ b/commands/site/index.md @@ -10,7 +10,21 @@ display_global_parameters: true
    +### EXAMPLES + # Create site + $ wp site create --slug=example + Success: Site 3 created: www.example.com/example/ + + # Output a simple list of site URLs + $ wp site list --field=url + http://www.example.com/ + http://www.example.com/subdir/ + + # Delete site + $ wp site delete 123 + Are you sure you want to delete the 'http://www.example.com/example' site? [y/n] y + Success: The site at 'http://www.example.com/example' was deleted. diff --git a/commands/site/list/index.md b/commands/site/list/index.md index b60b034b..e15a5b6b 100644 --- a/commands/site/list/index.md +++ b/commands/site/list/index.md @@ -16,7 +16,8 @@ display_global_parameters: true : The network to which the sites belong. [\--<field>=<value>] -: Filter by one or more fields. +: Filter by one or more fields (see "Available Fields" section). However, +'url' isn't an available filter, because it's created from domain + path. [\--field=<field>] : Prints the value of a single field for each site. @@ -25,7 +26,17 @@ display_global_parameters: true : Comma-separated list of fields to show. [\--format=<format>] -: Accepted values: table, csv, json, count, yaml. Default: table +: Render output in a particular format. +\--- +default: table +options: + - table + - csv + - count + - ids + - json + - yaml +\--- ### AVAILABLE FIELDS @@ -51,7 +62,9 @@ These fields are optionally available: ### EXAMPLES # Output a simple list of site URLs - wp site list --field=url + $ wp site list --field=url + http://www.example.com/ + http://www.example.com/subdir/ diff --git a/commands/site/spam/index.md b/commands/site/spam/index.md index b408db5d..7e935090 100644 --- a/commands/site/spam/index.md +++ b/commands/site/spam/index.md @@ -17,7 +17,8 @@ display_global_parameters: true ### EXAMPLES - wp site spam 123 + $ wp site spam 123 + Success: Site 123 marked as spam. diff --git a/commands/site/unarchive/index.md b/commands/site/unarchive/index.md index 8c49298d..6779a618 100644 --- a/commands/site/unarchive/index.md +++ b/commands/site/unarchive/index.md @@ -17,7 +17,8 @@ display_global_parameters: true ### EXAMPLES - wp site unarchive 123 + $ wp site unarchive 123 + Success: Site 123 unarchived. diff --git a/commands/site/unspam/index.md b/commands/site/unspam/index.md index ed7e775b..0201a2bc 100644 --- a/commands/site/unspam/index.md +++ b/commands/site/unspam/index.md @@ -17,7 +17,8 @@ display_global_parameters: true ### EXAMPLES - wp site unspam 123 + $ wp site unspam 123 + Success: Site 123 removed from spam. diff --git a/commands/super-admin/add/index.md b/commands/super-admin/add/index.md index 1963cb4a..276eb021 100644 --- a/commands/super-admin/add/index.md +++ b/commands/super-admin/add/index.md @@ -10,8 +10,15 @@ display_global_parameters: true
    +### OPTIONS + <user>... : One or more user IDs, user emails, or user logins. +### EXAMPLES + + $ wp super-admin add superadmin2 + Success: Granted super-admin capabilities. + diff --git a/commands/super-admin/index.md b/commands/super-admin/index.md index 8387046c..d5b08ee5 100644 --- a/commands/super-admin/index.md +++ b/commands/super-admin/index.md @@ -10,7 +10,20 @@ display_global_parameters: true
    +### EXAMPLES + # List user with super-admin capabilities + $ wp super-admin list + supervisor + administrator + + # Grant super-admin privileges to the user. + $ wp super-admin add superadmin2 + Success: Granted super-admin capabilities. + + # Revoke super-admin privileges to the user. + $ wp super-admin remove superadmin2 + Success: Revoked super-admin capabilities. diff --git a/commands/super-admin/list/index.md b/commands/super-admin/list/index.md index f3384661..532b3302 100644 --- a/commands/super-admin/list/index.md +++ b/commands/super-admin/list/index.md @@ -10,7 +10,27 @@ display_global_parameters: true
    - +### OPTIONS + +[\--format=<format>] +: Render output in a particular format. +\--- +default: list +options: + - list + - table + - csv + - json + - count + - yaml +\--- + +### EXAMPLES + + # List user with super-admin capabilities + $ wp super-admin list + supervisor + administrator diff --git a/commands/super-admin/remove/index.md b/commands/super-admin/remove/index.md index 27e792a3..d1679aa0 100644 --- a/commands/super-admin/remove/index.md +++ b/commands/super-admin/remove/index.md @@ -10,8 +10,15 @@ display_global_parameters: true
    +### OPTIONS + <user>... : One or more user IDs, user emails, or user logins. +### EXAMPLES + + $ wp super-admin remove superadmin2 + Success: Revoked super-admin capabilities. + diff --git a/commands/taxonomy/get/index.md b/commands/taxonomy/get/index.md index 4e37bffb..f311867c 100644 --- a/commands/taxonomy/get/index.md +++ b/commands/taxonomy/get/index.md @@ -22,7 +22,15 @@ display_global_parameters: true : Limit the output to specific fields. Defaults to all fields. [\--format=<format>] -: Accepted values: table, json, csv, yaml. Default: table +: Render output in a particular format. +\--- +default: table +options: + - table + - csv + - json + - yaml +\--- ### EXAMPLES diff --git a/commands/taxonomy/index.md b/commands/taxonomy/index.md index 2979ef27..db24dbb0 100644 --- a/commands/taxonomy/index.md +++ b/commands/taxonomy/index.md @@ -10,7 +10,21 @@ display_global_parameters: true
    - +### EXAMPLES + + # List all taxonomies with 'post' object type + $ wp taxonomy list --object_type=post --fields=name,public + +-------------+--------+ + | name | public | + +-------------+--------+ + | category | 1 | + | post_tag | 1 | + | post_format | 1 | + +-------------+--------+ + + # Get capabilities of a taxonomy + $ wp taxonomy get post_tag --field=cap + {"manage_terms":"manage_categories","edit_terms":"manage_categories","delete_terms":"manage_categories","assign_terms":"edit_posts"} diff --git a/commands/taxonomy/list/index.md b/commands/taxonomy/list/index.md index d55e8439..41aa0502 100644 --- a/commands/taxonomy/list/index.md +++ b/commands/taxonomy/list/index.md @@ -22,7 +22,16 @@ display_global_parameters: true : Limit the output to specific taxonomy fields. [\--format=<format>] -: Accepted values: table, csv, json, count, yaml. Default: table +: Render output in a particular format. +\--- +default: table +options: + - table + - csv + - json + - count + - yaml +\--- ### AVAILABLE FIELDS @@ -38,9 +47,24 @@ There are no optionally available fields. ### EXAMPLES - wp taxonomy list --format=csv - - wp taxonomy list --object-type=post --fields=name,public + # List all taxonomies + $ wp taxonomy list --format=csv + name,label,description,object_type,show_tagcloud,hierarchical,public + category,Categories,,post,1,1,1 + post_tag,Tags,,post,1,,1 + nav_menu,"Navigation Menus",,nav_menu_item,,, + link_category,"Link Categories",,link,1,, + post_format,Format,,post,,,1 + + # List all taxonomies with 'post' object type + $ wp taxonomy list --object_type=post --fields=name,public + +-------------+--------+ + | name | public | + +-------------+--------+ + | category | 1 | + | post_tag | 1 | + | post_format | 1 | + +-------------+--------+ diff --git a/commands/term/create/index.md b/commands/term/create/index.md index 1ef6fa3d..e8553526 100644 --- a/commands/term/create/index.md +++ b/commands/term/create/index.md @@ -32,7 +32,8 @@ display_global_parameters: true ### EXAMPLES - wp term create category Apple --description="A type of fruit" + $ wp term create category Apple --description="A type of fruit" + Success: Created category 199. diff --git a/commands/term/delete/index.md b/commands/term/delete/index.md index eb3bfc96..eace2201 100644 --- a/commands/term/delete/index.md +++ b/commands/term/delete/index.md @@ -20,8 +20,15 @@ display_global_parameters: true ### EXAMPLES - # delete all post tags - wp term list post_tag --field=term_id | xargs wp term delete post_tag + # Delete post category + $ wp term delete category 15 + Success: Deleted category 15. + + # Delete all post tags + $ wp term list post_tag --field=term_id | xargs wp term delete post_tag + Success: Deleted post_tag 159. + Success: Deleted post_tag 160. + Success: Deleted post_tag 161. diff --git a/commands/term/generate/index.md b/commands/term/generate/index.md index 105ebd6b..aa5a1b38 100644 --- a/commands/term/generate/index.md +++ b/commands/term/generate/index.md @@ -21,9 +21,26 @@ display_global_parameters: true [\--max_depth=<number>] : Generate child terms down to a certain depth. Default: 1 +[\--format=<format>] +: Render output in a particular format. +\--- +default: progress +options: + - progress + - ids +\--- + ### EXAMPLES - wp term generate --count=10 + # Generate post categories + $ wp term generate category --count=10 + Generating terms 100% [=========] 0:02 / 0:02 + + # Add meta to every generated term + $ wp term generate category --format=ids --count=3 | xargs -0 -d ' ' -I % wp term meta add % foo bar + Success: Added custom field. + Success: Added custom field. + Success: Added custom field. diff --git a/commands/term/get/index.md b/commands/term/get/index.md index 1678dabb..747df584 100644 --- a/commands/term/get/index.md +++ b/commands/term/get/index.md @@ -25,11 +25,20 @@ display_global_parameters: true : Limit the output to specific fields. Defaults to all fields. [\--format=<format>] -: Accepted values: table, json, csv, yaml. Default: table +: Render output in a particular format. +\--- +default: table +options: + - table + - csv + - json + - yaml +\--- ### EXAMPLES - wp term get category 1 --format=json + $ wp term get category 199 --format=json + {"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"} diff --git a/commands/term/index.md b/commands/term/index.md index 7adeb24a..3355f657 100644 --- a/commands/term/index.md +++ b/commands/term/index.md @@ -10,7 +10,32 @@ display_global_parameters: true
    +### EXAMPLES + # Create term + $ wp term create category Apple --description="A type of fruit" + Success: Created category 199. + + # Get term + $ wp term get category 199 --format=json --fields=term_id,name,slug,count + {"term_id":199,"name":"Apple","slug":"apple","count":1} + + # Update term + $ wp term update category 15 --name=Apple + Success: Term updated. + + # Get term url + $ wp term url post_tag 123 + http://example.com/tag/tips-and-tricks + + # Delete post category + $ wp term delete category 15 + Success: Deleted category 15. + + # Recount posts assigned to each categories and tags + $ wp term recount category post_tag + Success: Updated category term count + Success: Updated post_tag term count @@ -48,6 +73,10 @@ display_global_parameters: true meta Manage term custom fields. + + recount + Recalculate number of posts assigned to each term. + update Update a term. diff --git a/commands/term/list/index.md b/commands/term/list/index.md index 745d5e7f..989cec9b 100644 --- a/commands/term/list/index.md +++ b/commands/term/list/index.md @@ -25,7 +25,17 @@ display_global_parameters: true : Limit the output to specific object fields. [\--format=<format>] -: Accepted values: table, csv, json, count, yaml. Default: table +: Render output in a particular format. +\--- +default: table +options: + - table + - csv + - ids + - json + - count + - yaml +\--- ### AVAILABLE FIELDS @@ -43,9 +53,24 @@ There are no optionally available fields. ### EXAMPLES - wp term list category --format=csv - - wp term list post_tag --fields=name,slug + # List post categories + $ wp term list category --format=csv + term_id,term_taxonomy_id,name,slug,description,parent,count + 2,2,aciform,aciform,,0,1 + 3,3,antiquarianism,antiquarianism,,0,1 + 4,4,arrangement,arrangement,,0,1 + 5,5,asmodeus,asmodeus,,0,1 + + # List post tags + $ wp term list post_tag --fields=name,slug + +-----------+-------------+ + | name | slug | + +-----------+-------------+ + | 8BIT | 8bit | + | alignment | alignment-2 | + | Articles | articles | + | aside | aside | + +-----------+-------------+ diff --git a/commands/term/meta/index.md b/commands/term/meta/index.md index f9db9d8d..29d151dc 100644 --- a/commands/term/meta/index.md +++ b/commands/term/meta/index.md @@ -10,14 +10,23 @@ display_global_parameters: true
    -### OPTIONS +### EXAMPLES -\--format=json -: Encode/decode values as JSON. + # Set term meta + $ wp term meta set 123 bio "Mary is a WordPress developer." + Success: Updated custom field 'bio'. -### EXAMPLES + # Get term meta + $ wp term meta get 123 bio + Mary is a WordPress developer. + + # Update term meta + $ wp term meta update 123 bio "Mary is an awesome WordPress developer." + Success: Updated custom field 'bio'. - wp term meta set category 123 description "Mary is a WordPress developer." + # Delete term meta + $ wp term meta delete 123 bio + Success: Deleted custom field. diff --git a/commands/term/recount/index.md b/commands/term/recount/index.md new file mode 100644 index 00000000..c84ba35c --- /dev/null +++ b/commands/term/recount/index.md @@ -0,0 +1,41 @@ +--- +layout: default +title: 'wp term recount' +display_global_parameters: true +--- + +`wp term recount` - Recalculate number of posts assigned to each term. + +Quick links: Github issues + +
    + +In instances where manual updates are made to the terms assigned to +posts in the database, the number of posts associated with a term +can become out-of-sync with the actual number of posts. + +This command runs wp_update_term_count() on the taxonomy's terms +to bring the count back to the correct value. + +### OPTIONS + +<taxonomy>... +: One or more taxonomies to recalculate. + +### EXAMPLES + + # Recount posts assigned to each categories and tags + $ wp term recount category post_tag + Success: Updated category term count. + Success: Updated post_tag term count. + + # Recount all listed taxonomies + $ wp taxonomy list --field=name | xargs wp term recount + Success: Updated category term count. + Success: Updated post_tag term count. + Success: Updated nav_menu term count. + Success: Updated link_category term count. + Success: Updated post_format term count. + + + diff --git a/commands/term/update/index.md b/commands/term/update/index.md index 35babe6e..837c6b0c 100644 --- a/commands/term/update/index.md +++ b/commands/term/update/index.md @@ -32,7 +32,8 @@ display_global_parameters: true ### EXAMPLES - wp term update category 15 --name=Apple + $ wp term update category 15 --name=Apple + Success: Term updated. diff --git a/commands/term/url/index.md b/commands/term/url/index.md index 0a98e76a..2eec3be6 100644 --- a/commands/term/url/index.md +++ b/commands/term/url/index.md @@ -20,9 +20,8 @@ display_global_parameters: true ### EXAMPLES - wp term url post_tag 123 - - wp term url post_tag 123 324 + $ wp term url post_tag 123 + http://example.com/tag/tips-and-tricks diff --git a/commands/theme/disable/index.md b/commands/theme/disable/index.md index b85a8414..b3da8d2c 100644 --- a/commands/theme/disable/index.md +++ b/commands/theme/disable/index.md @@ -22,9 +22,13 @@ enabled for them independently. ### EXAMPLES - wp theme disable twentythirteen + # Disable theme + $ wp theme disable twentysixteen + Success: Disabled the 'Twenty Sixteen' theme. - wp theme disable twentythirteen --network + # Disable theme in network level + $ wp theme disable twentysixteen --network + Success: Network disabled the 'Twenty Sixteen' theme. diff --git a/commands/theme/enable/index.md b/commands/theme/enable/index.md index bbe89a7d..71f38ba2 100644 --- a/commands/theme/enable/index.md +++ b/commands/theme/enable/index.md @@ -24,11 +24,18 @@ the "network" flag has no influence on this. ### EXAMPLES - wp theme enable twentythirteen - - wp theme enable twentythirteen --network - - wp theme enable twentythirteen --activate + # Enable theme + $ wp theme enable twentysixteen + Success: Enabled the 'Twenty Sixteen' theme. + + # Network enable theme + $ wp theme enable twentysixteen --network + Success: Network enabled the 'Twenty Sixteen' theme. + + # Network enable and activate theme for current site + $ wp theme enable twentysixteen --activate + Success: Enabled the 'Twenty Sixteen' theme. + Success: Switched to 'Twenty Sixteen' theme. diff --git a/commands/theme/index.md b/commands/theme/index.md index 27d239b1..761d953d 100644 --- a/commands/theme/index.md +++ b/commands/theme/index.md @@ -10,7 +10,35 @@ display_global_parameters: true
    +### EXAMPLES + # Install the latest version from wordpress.org and activate + $ wp theme install twentysixteen --activate + Installing Twenty Sixteen (1.2) + Downloading install package from http://downloads.wordpress.org/theme/twentysixteen.1.2.zip... + Unpacking the package... + Installing the theme... + Theme installed successfully. + Activating 'twentysixteen'... + Success: Switched to 'Twenty Sixteen' theme. + + # Get theme + $ wp theme get twentysixteen --fields=name,title,version + +---------+----------------+ + | Field | Value | + +---------+----------------+ + | name | Twenty Sixteen | + | title | Twenty Sixteen | + | version | 1.2 | + +---------+----------------+ + + # Get status of theme + $ wp theme status twentysixteen + Theme twentysixteen details: + Name: Twenty Sixteen + Status: Active + Version: 1.2 + Author: the WordPress team diff --git a/commands/theme/install/index.md b/commands/theme/install/index.md index 88260e27..4b220bec 100644 --- a/commands/theme/install/index.md +++ b/commands/theme/install/index.md @@ -29,13 +29,20 @@ for confirmation. ### EXAMPLES # Install the latest version from wordpress.org and activate - wp theme install twentytwelve --activate + $ wp theme install twentysixteen --activate + Installing Twenty Sixteen (1.2) + Downloading install package from http://downloads.wordpress.org/theme/twentysixteen.1.2.zip... + Unpacking the package... + Installing the theme... + Theme installed successfully. + Activating 'twentysixteen'... + Success: Switched to 'Twenty Sixteen' theme. # Install from a local zip file - wp theme install ../my-theme.zip + $ wp theme install ../my-theme.zip # Install from a remote zip file - wp theme install http://s3.amazonaws.com/bucketname/my-theme.zip?AWSAccessKeyId=123&Expires=456&Signature=abcdef + $ wp theme install http://s3.amazonaws.com/bucketname/my-theme.zip?AWSAccessKeyId=123&Expires=456&Signature=abcdef diff --git a/commands/theme/is-installed/index.md b/commands/theme/is-installed/index.md index e43ce2c1..46cd4c1f 100644 --- a/commands/theme/is-installed/index.md +++ b/commands/theme/is-installed/index.md @@ -19,8 +19,10 @@ Returns exit code 0 when installed, 1 when uninstalled. ### EXAMPLES - wp theme is-installed twentytwelve - echo $? # displays 0 or 1 + # Check whether theme is installed; exit status 0 if installed, otherwise 1 + $ wp theme is-installed hello-dolly + $ echo $? + 1 diff --git a/commands/theme/list/index.md b/commands/theme/list/index.md index 7f624fec..e33c210d 100644 --- a/commands/theme/list/index.md +++ b/commands/theme/list/index.md @@ -43,7 +43,11 @@ These fields are optionally available: ### EXAMPLES - wp theme list --status=inactive --format=csv + # List themes + $ wp theme list --status=inactive --format=csv + name,status,update,version + twentyfourteen,inactive,none,1.7 + twentysixteen,inactive,available,1.1 diff --git a/commands/theme/mod/get/index.md b/commands/theme/mod/get/index.md index 634aa915..40757ce6 100644 --- a/commands/theme/mod/get/index.md +++ b/commands/theme/mod/get/index.md @@ -19,13 +19,40 @@ display_global_parameters: true : List all theme mods [\--format=<format>] -: Accepted values: table, json. Default: table +: Render output in a particular format. +\--- +default: table +options: + - table + - json + - csv + - yaml +\--- ### EXAMPLES - wp theme mod get --all - wp theme mod get background_color --format=json - wp theme mod get background_color header_textcolor + # Get all theme mods + $ wp theme mod get --all + +------------------+---------+ + | key | value | + +------------------+---------+ + | background_color | dd3333 | + | link_color | #dd9933 | + | main_text_color | #8224e3 | + +------------------+---------+ + + # Get single theme mod in JSON format + $ wp theme mod get background_color --format=json + [{"key":"background_color","value":"dd3333"}] + + # Get multiple theme mods + $ wp theme mod get background_color header_textcolor + +------------------+--------+ + | key | value | + +------------------+--------+ + | background_color | dd3333 | + | header_textcolor | | + +------------------+--------+ diff --git a/commands/theme/mod/index.md b/commands/theme/mod/index.md index 167a4836..f014f479 100644 --- a/commands/theme/mod/index.md +++ b/commands/theme/mod/index.md @@ -10,7 +10,19 @@ display_global_parameters: true
    +### EXAMPLES + # Set theme mod + $ wp theme mod set background_color 000000 + Success: Theme mod background_color set to 000000 + + # Get single theme mod in JSON format + $ wp theme mod get background_color --format=json + [{"key":"background_color","value":"dd3333"}] + + # Remove all theme mods + $ wp theme mod remove --all + Success: Theme mods removed. diff --git a/commands/theme/mod/remove/index.md b/commands/theme/mod/remove/index.md index 221235b1..d9e0d113 100644 --- a/commands/theme/mod/remove/index.md +++ b/commands/theme/mod/remove/index.md @@ -20,9 +20,17 @@ display_global_parameters: true ### EXAMPLES - wp theme mod remove --all - wp theme mod remove background_color - wp theme mod remove background_color header_textcolor + # Remove all theme mods + $ wp theme mod remove --all + Success: Theme mods removed. + + # Remove single theme mods + $ wp theme mod remove background_color + Success: 1 mods removed. + + # Remove multiple theme mods + $ wp theme mod remove background_color header_textcolor + Success: 2 mods removed. diff --git a/commands/theme/mod/set/index.md b/commands/theme/mod/set/index.md index e2b50c6f..b276e5cf 100644 --- a/commands/theme/mod/set/index.md +++ b/commands/theme/mod/set/index.md @@ -20,7 +20,9 @@ display_global_parameters: true ### EXAMPLES - wp theme mod set background_color 000000 + # Set theme mod + $ wp theme mod set background_color 000000 + Success: Theme mod background_color set to 000000 diff --git a/commands/theme/path/index.md b/commands/theme/path/index.md index 05919b1b..0ba95cb0 100644 --- a/commands/theme/path/index.md +++ b/commands/theme/path/index.md @@ -22,7 +22,12 @@ theme's "style.css" file. ### EXAMPLES - cd $(wp theme path) + # Get theme path + $ wp theme path + /var/www/example.com/public_html/wp-content/themes + + # Change directory to theme path + $ cd $(wp theme path) diff --git a/commands/theme/update/index.md b/commands/theme/update/index.md index 320bbec4..a8ba534b 100644 --- a/commands/theme/update/index.md +++ b/commands/theme/update/index.md @@ -29,9 +29,28 @@ display_global_parameters: true ### EXAMPLES - wp theme update twentyeleven twentytwelve - - wp theme update --all + # Update multiple themes + $ wp theme update twentyfifteen twentysixteen + Downloading update from https://downloads.wordpress.org/theme/twentyfifteen.1.5.zip... + Unpacking the update... + Installing the latest version... + Removing the old version of the theme... + Theme updated successfully. + Downloading update from https://downloads.wordpress.org/theme/twentysixteen.1.2.zip... + Unpacking the update... + Installing the latest version... + Removing the old version of the theme... + Theme updated successfully. + Success: Updated 2/2 themes. + +---------------+-------------+-------------+---------+ + | name | old_version | new_version | status | + +---------------+-------------+-------------+---------+ + | twentyfifteen | 1.4 | 1.5 | Updated | + | twentysixteen | 1.1 | 1.2 | Updated | + +---------------+-------------+-------------+---------+ + + # Update all themes + $ wp theme update --all diff --git a/commands/transient/delete/index.md b/commands/transient/delete/index.md index 344a7f78..e68345a5 100644 --- a/commands/transient/delete/index.md +++ b/commands/transient/delete/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
    +### OPTIONS + <key> : Key for the transient. diff --git a/commands/transient/get/index.md b/commands/transient/get/index.md index 147a0d0b..315836fb 100644 --- a/commands/transient/get/index.md +++ b/commands/transient/get/index.md @@ -10,11 +10,21 @@ display_global_parameters: true
    +### OPTIONS + <key> : Key for the transient. -[\--json] -: Format output as JSON. +[\--format=<format>] +: Render output in a particular format. +\--- +default: table +options: + - table + - csv + - json + - yaml +\--- [\--network] : Get the value of the network transient, instead of the single site. diff --git a/commands/transient/set/index.md b/commands/transient/set/index.md index 82b783ab..4b6f18e0 100644 --- a/commands/transient/set/index.md +++ b/commands/transient/set/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
    +### OPTIONS + <key> : Key for the transient. diff --git a/commands/user/add-cap/index.md b/commands/user/add-cap/index.md index 3f5fe94f..1abfae07 100644 --- a/commands/user/add-cap/index.md +++ b/commands/user/add-cap/index.md @@ -20,8 +20,13 @@ display_global_parameters: true ### EXAMPLES - wp user add-cap john create_premium_item - wp user add-cap 15 edit_product + # Add a capability for a user + $ wp user add-cap john create_premium_item + Success: Added 'create_premium_item' capability for john (16). + + # Add a capability for a user + $ wp user add-cap 15 edit_product + Success: Added 'edit_product' capability for johndoe (15). diff --git a/commands/user/add-role/index.md b/commands/user/add-role/index.md index 1f235a44..749eb39b 100644 --- a/commands/user/add-role/index.md +++ b/commands/user/add-role/index.md @@ -20,8 +20,8 @@ display_global_parameters: true ### EXAMPLES - wp user add-role bob author - wp user add-role 12 author + $ wp user add-role 12 author + Success: Added 'author' role for johndoe (12). diff --git a/commands/user/create/index.md b/commands/user/create/index.md index 88a941dd..f9016eb2 100644 --- a/commands/user/create/index.md +++ b/commands/user/create/index.md @@ -44,7 +44,10 @@ display_global_parameters: true ### EXAMPLES - wp user create bob bob@example.com --role=author + # Create user + $ wp user create bob bob@example.com --role=author + Success: Created user 3. + Password: k9**&I4vNH(& diff --git a/commands/user/delete/index.md b/commands/user/delete/index.md index 06a4c590..18d38f1a 100644 --- a/commands/user/delete/index.md +++ b/commands/user/delete/index.md @@ -27,7 +27,13 @@ display_global_parameters: true ### EXAMPLES # Delete user 123 and reassign posts to user 567 - wp user delete 123 --reassign=567 + $ wp user delete 123 --reassign=567 + Success: Removed user 123 from http://example.com + + # Delete all contributors and reassign their posts to user 2 + $ wp user delete $(wp user list --role=contributor --format=ids) --reassign=2 + Success: Removed user 813 from http://example.com + Success: Removed user 578 from http://example.com diff --git a/commands/user/generate/index.md b/commands/user/generate/index.md index 15ddbc6b..c9d5ad61 100644 --- a/commands/user/generate/index.md +++ b/commands/user/generate/index.md @@ -24,7 +24,10 @@ display_global_parameters: true ### EXAMPLES # Add meta to every generated user - wp user generate --format=ids | xargs -0 -d ' ' -I % wp user meta add % foo bar + $ wp user generate --format=ids --count=3 | xargs -0 -d ' ' -I % wp user meta add % foo bar + Success: Added custom field. + Success: Added custom field. + Success: Added custom field. diff --git a/commands/user/get/index.md b/commands/user/get/index.md index 3929f52c..27d95e91 100644 --- a/commands/user/get/index.md +++ b/commands/user/get/index.md @@ -26,9 +26,12 @@ display_global_parameters: true ### EXAMPLES - wp user get 12 --field=login + # Get user + $ wp user get 12 --field=login + supervisor - wp user get bob --format=json > bob.json + # Get user and export to JSON file + $ wp user get bob --format=json > bob.json diff --git a/commands/user/import-csv/index.md b/commands/user/import-csv/index.md index 0852626a..ed70d0be 100644 --- a/commands/user/import-csv/index.md +++ b/commands/user/import-csv/index.md @@ -23,8 +23,14 @@ display_global_parameters: true ### EXAMPLES - wp user import-csv /path/to/users.csv - wp user import-csv http://example.com/users.csv + # Import users from local CSV file + $ wp user import-csv /path/to/users.csv + Success: bobjones created + Success: newuser1 created + Success: existinguser created + + # Import users from remote CSV file + $ wp user import-csv http://example.com/users.csv Sample users.csv file: diff --git a/commands/user/index.md b/commands/user/index.md index 9d12bd73..533f5df6 100644 --- a/commands/user/index.md +++ b/commands/user/index.md @@ -10,7 +10,24 @@ display_global_parameters: true
    +### EXAMPLES + # List user IDs + $ wp user list --field=ID + 1 + + # Create user + $ wp user create bob bob@example.com --role=author + Success: Created user 3. + Password: k9**&I4vNH(& + + # Update user + $ wp user update 123 --display_name=Mary --user_pass=marypass + Success: Updated user 123. + + # Delete user 123 and reassign posts to user 567 + $ wp user delete 123 --reassign=567 + Success: Removed user 123 from http://example.com diff --git a/commands/user/list-caps/index.md b/commands/user/list-caps/index.md index 10fd383d..05192a1f 100644 --- a/commands/user/list-caps/index.md +++ b/commands/user/list-caps/index.md @@ -15,10 +15,24 @@ display_global_parameters: true <user> : User ID, user email, or login. +[\--format=<format>] +: Render output in a particular format. +\--- +default: list +options: + - list + - table + - csv + - json + - count + - yaml +\--- + ### EXAMPLES - wp user list-caps admin - wp user list-caps 21 + $ wp user list-caps 21 + edit_product + create_premium_item diff --git a/commands/user/list/index.md b/commands/user/list/index.md index 3bc98bf8..2e0c4266 100644 --- a/commands/user/list/index.md +++ b/commands/user/list/index.md @@ -57,11 +57,18 @@ These fields are optionally available: ### EXAMPLES - wp user list --field=ID - - wp user list --role=administrator --format=csv - - wp user list --fields=display_name,user_email --format=json + # List user IDs + $ wp user list --field=ID + 1 + + # List users with administrator role + $ wp user list --role=administrator --format=csv + ID,user_login,display_name,user_email,user_registered,roles + 1,supervisor,supervisor,supervisor@gmail.com,"2016-06-03 04:37:00",administrator + + # List users with only given fields + $ wp user list --fields=display_name,user_email --format=json + [{"display_name":"supervisor","user_email":"supervisor@gmail.com"}] diff --git a/commands/user/meta/add/index.md b/commands/user/meta/add/index.md index 17afff6b..78519dc1 100644 --- a/commands/user/meta/add/index.md +++ b/commands/user/meta/add/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
    +### OPTIONS + <user> : The user login, user email, or user ID of the user to add metadata for. @@ -22,5 +24,11 @@ display_global_parameters: true [\--format=<format>] : The serialization format for the value. Default is plaintext. +### EXAMPLES + + # Add user meta + $ wp user meta add 123 bio "Mary is an WordPress developer." + Success: Added custom field. + diff --git a/commands/user/meta/delete/index.md b/commands/user/meta/delete/index.md index d65b0dcb..fff954ca 100644 --- a/commands/user/meta/delete/index.md +++ b/commands/user/meta/delete/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
    +### OPTIONS + <user> : The user login, user email, or user ID of the user to delete metadata from. @@ -19,5 +21,11 @@ display_global_parameters: true [<value>] : The value to delete. If omitted, all rows with key will deleted. +### EXAMPLES + + # Delete user meta + $ wp user meta delete 123 bio + Success: Deleted custom field. + diff --git a/commands/user/meta/get/index.md b/commands/user/meta/get/index.md index 666ea03e..e81c1089 100644 --- a/commands/user/meta/get/index.md +++ b/commands/user/meta/get/index.md @@ -21,5 +21,11 @@ display_global_parameters: true [\--format=<format>] : Accepted values: table, json, yaml. Default: table +### EXAMPLES + + # Get user meta + $ wp user meta get 123 bio + Mary is an WordPress developer. + diff --git a/commands/user/meta/index.md b/commands/user/meta/index.md index 7e585247..1243b46a 100644 --- a/commands/user/meta/index.md +++ b/commands/user/meta/index.md @@ -10,16 +10,29 @@ display_global_parameters: true
    -### OPTIONS +### EXAMPLES -\--format=json -: Encode/decode values as JSON. + # Add user meta + $ wp user meta add 123 bio "Mary is an WordPress developer." + Success: Added custom field. -### EXAMPLES + # List user meta + $ wp user meta list 123 --keys=nickname,description,wp_capabilities + +---------+-----------------+--------------------------------+ + | user_id | meta_key | meta_value | + +---------+-----------------+--------------------------------+ + | 123 | nickname | supervisor | + | 123 | description | Mary is a WordPress developer. | + | 123 | wp_capabilities | {"administrator":true} | + +---------+-----------------+--------------------------------+ - wp user meta set 123 description "Mary is a WordPress developer." + # Update user meta + $ wp user meta update 123 bio "Mary is an awesome WordPress developer." + Success: Updated custom field 'bio'. - wp user meta update admin first_name "George" + # Delete user meta + $ wp user meta delete 123 bio + Success: Deleted custom field. @@ -49,7 +62,7 @@ display_global_parameters: true list - List all metadata associated with an object. + List all metadata associated with a user. update diff --git a/commands/user/meta/list/index.md b/commands/user/meta/list/index.md index 5e43a025..5b5267eb 100644 --- a/commands/user/meta/list/index.md +++ b/commands/user/meta/list/index.md @@ -4,7 +4,7 @@ title: 'wp user meta list' display_global_parameters: true --- -`wp user meta list` - List all metadata associated with an object. +`wp user meta list` - List all metadata associated with a user. Quick links: Github issues @@ -24,5 +24,17 @@ display_global_parameters: true [\--format=<format>] : Accepted values: table, csv, json, count. Default: table +### EXAMPLES + + # List user meta + $ wp user meta list 123 --keys=nickname,description,wp_capabilities + +---------+-----------------+--------------------------------+ + | user_id | meta_key | meta_value | + +---------+-----------------+--------------------------------+ + | 123 | nickname | supervisor | + | 123 | description | Mary is a WordPress developer. | + | 123 | wp_capabilities | {"administrator":true} | + +---------+-----------------+--------------------------------+ + diff --git a/commands/user/meta/update/index.md b/commands/user/meta/update/index.md index 460ce11d..4da66d54 100644 --- a/commands/user/meta/update/index.md +++ b/commands/user/meta/update/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
    +### OPTIONS + <user> : The user login, user email, or user ID of the user to update metadata for. @@ -22,5 +24,11 @@ display_global_parameters: true [\--format=<format>] : The serialization format for the value. Default is plaintext. +### EXAMPLES + + # Update user meta + $ wp user meta update 123 bio "Mary is an awesome WordPress developer." + Success: Updated custom field 'bio'. + diff --git a/commands/user/remove-cap/index.md b/commands/user/remove-cap/index.md index 0bf0fe5f..8426fe20 100644 --- a/commands/user/remove-cap/index.md +++ b/commands/user/remove-cap/index.md @@ -20,8 +20,8 @@ display_global_parameters: true ### EXAMPLES - wp user remove-cap bob edit_themes - wp user remove-cap 11 publish_newsletters + $ wp user remove-cap 11 publish_newsletters + Success: Removed 'publish_newsletters' cap for supervisor (11). diff --git a/commands/user/remove-role/index.md b/commands/user/remove-role/index.md index 5b991165..15cccaff 100644 --- a/commands/user/remove-role/index.md +++ b/commands/user/remove-role/index.md @@ -20,8 +20,8 @@ display_global_parameters: true ### EXAMPLES - wp user remove-role bob - wp user remove-role 12 editor + $ wp user remove-role 12 author + Success: Removed 'author' role for johndoe (12). diff --git a/commands/user/set-role/index.md b/commands/user/set-role/index.md index 0daeae73..a7d0e6aa 100644 --- a/commands/user/set-role/index.md +++ b/commands/user/set-role/index.md @@ -21,8 +21,8 @@ used. ### EXAMPLES - wp user set-role bob author - wp user set-role 12 author + $ wp user set-role 12 author + Success: Added johndoe (12) to http://example.com as author. diff --git a/commands/user/term/index.md b/commands/user/term/index.md index e0d72343..6210350f 100644 --- a/commands/user/term/index.md +++ b/commands/user/term/index.md @@ -12,7 +12,9 @@ display_global_parameters: true ### EXAMPLES - wp user term set 123 test category + # Set user terms + $ wp user term set 123 test category + Set terms. diff --git a/commands/user/update/index.md b/commands/user/update/index.md index db63a83d..92bfdec6 100644 --- a/commands/user/update/index.md +++ b/commands/user/update/index.md @@ -20,7 +20,9 @@ display_global_parameters: true ### EXAMPLES - wp user update 123 --display_name=Mary --user_pass=marypass + # Update user + $ wp user update 123 --display_name=Mary --user_pass=marypass + Success: Updated user 123. diff --git a/commands/widget/add/index.md b/commands/widget/add/index.md index ccf99a60..db7d329c 100644 --- a/commands/widget/add/index.md +++ b/commands/widget/add/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
    +### OPTIONS + <name> : Widget name. diff --git a/commands/widget/deactivate/index.md b/commands/widget/deactivate/index.md index 57d1791b..d740d941 100644 --- a/commands/widget/deactivate/index.md +++ b/commands/widget/deactivate/index.md @@ -10,13 +10,15 @@ display_global_parameters: true
    +### OPTIONS + <widget-id>... : Unique ID for the widget(s) ### EXAMPLES $ wp widget deactivate recent-comments-2 - Success: Widget(s) deactivated + Success: Widget(s) deactivated. diff --git a/commands/widget/delete/index.md b/commands/widget/delete/index.md index 97044690..b448662e 100644 --- a/commands/widget/delete/index.md +++ b/commands/widget/delete/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
    +### OPTIONS + <widget-id>... : Unique ID for the widget(s) diff --git a/commands/widget/index.md b/commands/widget/index.md index ab468b37..316482a8 100644 --- a/commands/widget/index.md +++ b/commands/widget/index.md @@ -65,6 +65,10 @@ display_global_parameters: true move Move a widget from one position on a sidebar to another. + + reset + Reset sidebar. + update Update a given widget's options. diff --git a/commands/widget/list/index.md b/commands/widget/list/index.md index fda9b7de..6118882a 100644 --- a/commands/widget/list/index.md +++ b/commands/widget/list/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
    +### OPTIONS + <sidebar-id> : ID for the corresponding sidebar. @@ -17,7 +19,17 @@ display_global_parameters: true : Limit the output to specific object fields. [\--format=<format>] -: Accepted values: table, csv, json, count, ids, yaml. Default: table +: Render output in a particular format. +\--- +default: table +options: + - table + - csv + - ids + - json + - count + - yaml +\--- ### AVAILABLE FIELDS diff --git a/commands/widget/move/index.md b/commands/widget/move/index.md index 4f1be2e9..e9fcdc84 100644 --- a/commands/widget/move/index.md +++ b/commands/widget/move/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
    +### OPTIONS + <widget-id> : Unique ID for the widget diff --git a/commands/widget/reset/index.md b/commands/widget/reset/index.md new file mode 100644 index 00000000..62a99205 --- /dev/null +++ b/commands/widget/reset/index.md @@ -0,0 +1,41 @@ +--- +layout: default +title: 'wp widget reset' +display_global_parameters: true +--- + +`wp widget reset` - Reset sidebar. + +Quick links: Github issues + +
    + +Removes all widgets from the sidebar and places them in Inactive Widgets. + +### OPTIONS + +[<sidebar-id>...] +: One or more sidebars to reset. + +[\--all] +: If set, all sidebars will be reset. + +### EXAMPLES + + # Reset a sidebar + $ wp widget reset sidebar-1 + Success: Sidebar 'sidebar-1' reset. + + # Reset multiple sidebars + $ wp widget reset sidebar-1 sidebar-2 + Success: Sidebar 'sidebar-1' reset. + Success: Sidebar 'sidebar-2' reset. + + # Reset all sidebars + $ wp widget reset --all + Success: Sidebar 'sidebar-1' reset. + Success: Sidebar 'sidebar-2' reset. + Success: Sidebar 'sidebar-3' reset. + + + diff --git a/commands/widget/update/index.md b/commands/widget/update/index.md index 9d0c28fb..b6b167b0 100644 --- a/commands/widget/update/index.md +++ b/commands/widget/update/index.md @@ -10,6 +10,8 @@ display_global_parameters: true
    +### OPTIONS + <widget-id> : Unique ID for the widget diff --git a/docs/internal-api/wp-cli-add-command/index.md b/docs/internal-api/wp-cli-add-command/index.md index a0ebf417..9167c53d 100644 --- a/docs/internal-api/wp-cli-add-command/index.md +++ b/docs/internal-api/wp-cli-add-command/index.md @@ -73,6 +73,9 @@ supplied as an optional third argument during registration.
  • WP_CLI::do_hook() - Execute callbacks registered to a given hook.
  • +
  • WP_CLI::add_wp_hook() - Add a callback to a WordPress action or filter.
  • + + diff --git a/docs/internal-api/wp-cli-add-hook/index.md b/docs/internal-api/wp-cli-add-hook/index.md index 0b786d79..07c124d7 100644 --- a/docs/internal-api/wp-cli-add-hook/index.md +++ b/docs/internal-api/wp-cli-add-hook/index.md @@ -67,6 +67,9 @@ WP-CLI commands can create their own hooks with `WP_CLI::do_hook()`.
  • WP_CLI::do_hook() - Execute callbacks registered to a given hook.
  • +
  • WP_CLI::add_wp_hook() - Add a callback to a WordPress action or filter.
  • + +
  • WP_CLI::add_command() - Register a command to WP-CLI.
  • diff --git a/docs/internal-api/wp-cli-add-wp-hook/index.md b/docs/internal-api/wp-cli-add-wp-hook/index.md new file mode 100644 index 00000000..9244178f --- /dev/null +++ b/docs/internal-api/wp-cli-add-wp-hook/index.md @@ -0,0 +1,60 @@ +--- +layout: default +title: WP_CLI::add_wp_hook() +description: "Add a callback to a WordPress action or filter." +--- + +Docs » Internal API » Registration + +## WP_CLI::add_wp_hook() + +Add a callback to a WordPress action or filter. + +*** + +### Usage + + WP_CLI::add_wp_hook( $tag, $function_to_add, $priority = 10, $accepted_args = 1 ) + +
    +$tag (string) Named WordPress action or filter.
    +$function_to_add (mixed) Callable to execute when the action or filter is evaluated.
    +$priority (integer) Priority to add the callback as.
    +$accepted_args (integer) Number of arguments to pass to callback.
    +@return (true)
    +
    + + +*** + +### Notes + +`add_action()` without needing access to `add_action()`. If WordPress is +already loaded though, you should use `add_action()` (and `add_filter()`) +instead. + + +*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* + + +*** + +### Related + + + + diff --git a/docs/internal-api/wp-cli-debug/index.md b/docs/internal-api/wp-cli-debug/index.md index 690388ba..6e3fbbf1 100644 --- a/docs/internal-api/wp-cli-debug/index.md +++ b/docs/internal-api/wp-cli-debug/index.md @@ -14,11 +14,12 @@ Display debug message prefixed with "Debug: " when `--debug` is used. ### Usage - WP_CLI::debug( $message ) + WP_CLI::debug( $message, $group = false )
    $message (string) Message to write to STDERR.
    -@return (null)

    +$group (string) Organize debug message to a specific group.
    +@return (null)
    diff --git a/docs/internal-api/wp-cli-do-hook/index.md b/docs/internal-api/wp-cli-do-hook/index.md index 37c446a6..00b6ba53 100644 --- a/docs/internal-api/wp-cli-do-hook/index.md +++ b/docs/internal-api/wp-cli-do-hook/index.md @@ -44,6 +44,9 @@ Commands can provide and call their own hooks.
  • WP_CLI::add_hook() - Schedule a callback to be executed at a certain point.
  • +
  • WP_CLI::add_wp_hook() - Add a callback to a WordPress action or filter.
  • + +
  • WP_CLI::add_command() - Register a command to WP-CLI.
  • diff --git a/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md b/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md index 5f42f67f..134f8350 100644 --- a/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md +++ b/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md @@ -40,6 +40,9 @@ Compare two version strings to get the named semantic version.
  • WP_CLI\Utils\http_request() - Make a HTTP request to a remote URL.
  • +
  • WP_CLI\Utils\parse_ssh_url() - Parse a SSH url for its host, port, and path.
  • + + diff --git a/docs/internal-api/wp-cli-utils-http-request/index.md b/docs/internal-api/wp-cli-utils-http-request/index.md index 6c52b1f6..791995db 100644 --- a/docs/internal-api/wp-cli-utils-http-request/index.md +++ b/docs/internal-api/wp-cli-utils-http-request/index.md @@ -58,6 +58,9 @@ Wraps the Requests HTTP library to ensure every request includes a cert.
  • WP_CLI\Utils\get_named_sem_ver() - Compare two version strings to get the named semantic version.
  • +
  • WP_CLI\Utils\parse_ssh_url() - Parse a SSH url for its host, port, and path.
  • + + diff --git a/docs/internal-api/wp-cli-utils-parse-ssh-url/index.md b/docs/internal-api/wp-cli-utils-parse-ssh-url/index.md new file mode 100644 index 00000000..1eb0099d --- /dev/null +++ b/docs/internal-api/wp-cli-utils-parse-ssh-url/index.md @@ -0,0 +1,58 @@ +--- +layout: default +title: WP_CLI\Utils\parse_ssh_url() +description: "Parse a SSH url for its host, port, and path." +--- + +Docs » Internal API » Misc + +## WP_CLI\Utils\parse_ssh_url() + +Parse a SSH url for its host, port, and path. + +*** + +### Usage + + WP_CLI\Utils\parse_ssh_url( $url, $component = -1 ) + +
    +@return (mixed)
    +
    + + +*** + +### Notes + +Similar to parse_url(), but adds support for defined SSH aliases. + + + host OR host/path/to/wordpress OR host:port/path/to/wordpress + + + +*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* + + +*** + +### Related + + + + diff --git a/docs/internal-api/wp-cli-utils-write-csv/index.md b/docs/internal-api/wp-cli-utils-write-csv/index.md index 43cd8e6c..afb3d71b 100644 --- a/docs/internal-api/wp-cli-utils-write-csv/index.md +++ b/docs/internal-api/wp-cli-utils-write-csv/index.md @@ -40,6 +40,9 @@ Write data as CSV to a given file.
  • WP_CLI\Utils\get_named_sem_ver() - Compare two version strings to get the named semantic version.
  • +
  • WP_CLI\Utils\parse_ssh_url() - Parse a SSH url for its host, port, and path.
  • + + From 75d0c6d817d73da6030675af1400e161111c002e Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 26 Jul 2016 05:12:46 -0700 Subject: [PATCH 743/839] Retool config page documentation --- _includes/param-list.html | 60 ++++++++++++++++++------------------ _templates/config.mustache | 14 +++++++-- config/index.md | 63 +++++++++++++++++++++++++++++++------- 3 files changed, 94 insertions(+), 43 deletions(-) diff --git a/_includes/param-list.html b/_includes/param-list.html index a0dbfec5..2cdd3cd6 100644 --- a/_includes/param-list.html +++ b/_includes/param-list.html @@ -5,10 +5,10 @@ Default value: null - path: <path> + --path=<path> - --path=<path> + path: <path> @@ -18,10 +18,10 @@ Default value: null - ssh: <ssh> + --ssh=<ssh> - --ssh=<ssh> + ssh: <ssh> @@ -31,10 +31,10 @@ Default value: null - http: <http> + --http=<http> - --http=<http> + http: <http> @@ -44,10 +44,10 @@ Default value: null - url: <url> + --url=<url> - --url=<url> + url: <url> @@ -57,10 +57,10 @@ Default value: null - user: <id|login|email> + --user=<id|login|email> - --user=<id|login|email> + user: <id|login|email> @@ -70,10 +70,10 @@ Default value: "" - skip-plugins: <list> + --skip-plugins[=<plugin>] - --skip-plugins[=<plugin>] + skip-plugins: <list> @@ -83,10 +83,10 @@ Default value: "" - skip-themes: <list> + --skip-themes[=<theme>] - --skip-themes[=<theme>] + skip-themes: <list> @@ -96,10 +96,10 @@ Default value: false - skip-packages: <bool> + --skip-packages - --skip-packages + skip-packages: <bool> @@ -109,10 +109,10 @@ Default value: [] - require: <path> + --require=<path> - --require=<path> + require: <path> @@ -122,10 +122,10 @@ Default value: [] - disabled_commands: <list> + Not available as a flag - + disabled_commands: <list> @@ -135,10 +135,10 @@ Default value: "auto" - color: <bool> + --[no-]color - --[no-]color + color: <bool> @@ -148,10 +148,10 @@ Default value: false - debug: <group> + --debug[=<group>] - --debug[=<group>] + debug: <group> @@ -161,10 +161,10 @@ Default value: false - + --prompt - --prompt + Not available as an option @@ -174,10 +174,10 @@ Default value: false - quiet: <bool> + --quiet - --quiet + quiet: <bool> @@ -187,9 +187,9 @@ Default value: [] - apache_modules: <list> + Not available as a flag - + apache_modules: <list> diff --git a/_templates/config.mustache b/_templates/config.mustache index 68246907..640fbbd0 100644 --- a/_templates/config.mustache +++ b/_templates/config.mustache @@ -5,9 +5,19 @@ Default value: {{default}} - {{config}} + {{#flag}} + {{flag}} + {{/flag}} + {{^flag}} + Not available as a flag + {{/flag}} - {{flag}} + {{#config}} + {{config}} + {{/config}} + {{^config}} + Not available as an option + {{/config}} diff --git a/config/index.md b/config/index.md index c52a683d..a8e04264 100644 --- a/config/index.md +++ b/config/index.md @@ -2,24 +2,49 @@ layout: default title: Configuration --- -WP-CLI has a series of global parameters which work with all commands. They can be specified either as flags for the `wp` executable in the terminal, or defined in a YAML config file. -The order of precedence, from highest priority to lowest, is: +# Configuration -1. Command-line flags -1. `wp-cli.local.yml` file inside the current working directory (or upwards) -1. `wp-cli.yml` file inside the current working directory (or upwards) -1. `~/.wp-cli/config.yml` file (path can be changed by setting the `WP_CLI_CONFIG_PATH` environment variable) -1. Defaults +

    Quick links: Overview | Global parameters | Config files

    -The table below lists the available options (specified in the configuration file) and flags (specified on the command-line). +## Overview + +WP-CLI has a series of global parameters (e.g. `--path=` and `--user=`) which work with all commands. They are called *global parameters* because they affect how WP-CLI interacts with WordPress, and have the same behavior across all commands. + +``` +# `--user=` sets request to a specific WordPress user +$ wp --user=wpcli eval 'echo wp_get_current_user()->user_email;' +wpcli@example.com +``` + +For repeated usage, WP-CLI can also read options from a YAML configuration file (e.g. `wp-cli.yml`). These configuration files enable specifying default values for both global parameters and subcommand-specific arguments. + +``` +# WordPress develop includes a `wp-cli.yml` to enable easy use of WP-CLI +$ pwd +/srv/www/wordpress-develop.dev +$ cat wp-cli.yml +path: src/ +``` + +Arguments are interpreted following an order of precedence, from highest priority to lowest: + +1. Command-line arguments. +1. `wp-cli.local.yml` file inside the current working directory (or upwards). +1. `wp-cli.yml` file inside the current working directory (or upwards). +1. `~/.wp-cli/config.yml` file (path can be changed by setting the `WP_CLI_CONFIG_PATH` environment variable). +1. WP-CLI defaults. + +## Global parameters + +The table below lists the available arguments (specified on the command-line) and options (specified in the configuration file). + - @@ -27,10 +52,19 @@ The table below lists the available options (specifi
    DescriptionArgument OptionFlag
    -Besides the global parameters described above, config files can also contain defaults for any subcommand. +## Config files + +WP-CLI can read options from a few configuration file types (when present): -Example `wp-cli.yml` file: +1. `wp-cli.local.yml` file inside the current working directory (or upwards). +1. `wp-cli.yml` file inside the current working directory (or upwards). +1. `~/.wp-cli/config.yml` file (path can be changed by setting the `WP_CLI_CONFIG_PATH` environment variable). +Besides the global parameters described above, configuration files can also contain defaults for any subcommand, as well as aliases to one or more WordPress installs. + +Here's an annotated example `wp-cli.yml` file: + + # Global parameter defaults path: wp-core url: http://example.com user: admin @@ -41,9 +75,16 @@ Example `wp-cli.yml` file: require: - path-to/command.php + # Subcommand defaults (e.g. `wp core config`) core config: dbuser: root dbpass: extra-php: | define( 'WP_DEBUG', true ); define( 'WP_POST_REVISIONS', 50 ); + + # Aliases to other WordPress installs (e.g. `wp @staging rewrite flush`) + @staging: + ssh: wpcli@staging.wp-cli.org + user: wpcli + path: /srv/www/staging.wp-cli.org From 7d08babb954eded3624cb46500875963f13d6699 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 26 Jul 2016 05:15:05 -0700 Subject: [PATCH 744/839] Mention the args an alias can use --- config/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/config/index.md b/config/index.md index a8e04264..539213e4 100644 --- a/config/index.md +++ b/config/index.md @@ -84,6 +84,7 @@ Here's an annotated example `wp-cli.yml` file: define( 'WP_POST_REVISIONS', 50 ); # Aliases to other WordPress installs (e.g. `wp @staging rewrite flush`) + # An alias can include 'user', 'url', 'path', 'ssh', or 'http' @staging: ssh: wpcli@staging.wp-cli.org user: wpcli From e187f37c5cd7311f77f19ba1b2d9173f8c5223af Mon Sep 17 00:00:00 2001 From: Rob Henley Date: Wed, 27 Jul 2016 06:17:25 -0500 Subject: [PATCH 745/839] Describe the annotation for unlimited associative parameters --- docs/commands-cookbook/index.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/commands-cookbook/index.md b/docs/commands-cookbook/index.md index 069a6e00..d7fac4d5 100644 --- a/docs/commands-cookbook/index.md +++ b/docs/commands-cookbook/index.md @@ -185,6 +185,12 @@ Options defined in the longdesc are interpreted as the command's **synopsis**: * `` is a required positional argument. Changing it to `..` would mean the command could accept one or more positional arguments. * `[--type=]` is an optional associative argument which defaults to 'success' and accepts either 'success' or 'error'. Changing it to `[--error]` would change the argument to behave as an optional boolean flag. +*Note*: To accept arbitrary/unlimited number of optional associative arguments you would use the annotation `[--=]`. So for example: + +``` + * [--=] + * : Allow unlimited number of associative parameters. +``` A command's synopsis is used for validating the arguments, before passing them to the implementation. The longdesc is also displayed when calling the `help` command, for example, `wp help example hello`. Its syntax is [Markdown Extra](http://michelf.ca/projects/php-markdown/extra/) and here are a few more notes on how it's handled by WP-CLI: From 4679c51076272c5308d541c084b84e59da811209 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 27 Jul 2016 04:43:05 -0700 Subject: [PATCH 746/839] Update contributor list --- _posts/2016-07-29-version-0.24.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-07-29-version-0.24.0.md b/_posts/2016-07-29-version-0.24.0.md index d2f34f8f..0b0dfb42 100644 --- a/_posts/2016-07-29-version-0.24.0.md +++ b/_posts/2016-07-29-version-0.24.0.md @@ -128,6 +128,6 @@ Bug fixes across the board: * Calls `wp_slash()` on data passed to post, comment, term, and user commands [[#3156](https://github.com/wp-cli/wp-cli/pull/3156), [#3157](https://github.com/wp-cli/wp-cli/pull/3157), [#3158](https://github.com/wp-cli/wp-cli/pull/3158), [#3159](https://github.com/wp-cli/wp-cli/pull/3159), [#3167](https://github.com/wp-cli/wp-cli/pull/3167), [#3173](https://github.com/wp-cli/wp-cli/pull/3173)]. * Appropriately lists duplicated cron events [[#3175](https://github.com/wp-cli/wp-cli/pull/3175)]. -Contributors to this release: +Contributors to this release: [andyexeter](https://github.com/andyexeter), [bordoni](https://github.com/bordoni), [danielbachhuber](https://github.com/danielbachhuber), [diggy](https://github.com/diggy), [enrico-sorcinelli](https://github.com/enrico-sorcinelli), [ernilambar](https://github.com/ernilambar), [geo4orce](https://github.com/geo4orce), [gedex](https://github.com/gedex), [gilbitron](https://github.com/gilbitron), [hideokamoto](https://github.com/hideokamoto), [apertureless](https://github.com/apertureless), [JRGould](https://github.com/JRGould), [johnbillion](https://github.com/johnbillion), [kkoppenhaver](https://github.com/kkoppenhaver), [kouratoras](https://github.com/kouratoras), [markjaquith](https://github.com/markjaquith), [miya0001](https://github.com/miya0001), [mustafauysal](https://github.com/mustafauysal), [NateWr](https://github.com/NateWr), [Nikschavan](https://github.com/Nikschavan), [ocean90](https://github.com/ocean90), [petenelson](https://github.com/petenelson), [phh](https://github.com/phh), [rachelbaker](https://github.com/rachelbaker), [PatelUtkarsh](https://github.com/PatelUtkarsh), [PeterDaveHello](https://github.com/PeterDaveHello), [robhenley](https://github.com/robhenley) [rodrigoprimo](https://github.com/rodrigoprimo), [roelveldhuizen](https://github.com/roelveldhuizen), [ShinichiNishikawa](https://github.com/ShinichiNishikawa), [shulard](https://github.com/shulard), [stephenharris](https://github.com/stephenharris), [stevenkword](https://github.com/stevenkword), [swissspidy](https://github.com/swissspidy), [taianunes](https://github.com/taianunes), [villevuor](https://github.com/villevuor), [voldemortensen](https://github.com/voldemortensen), [wesm87](https://github.com/wesm87), [8bitodyssey](https://github.com/8bitodyssey) You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.24.0+is%3Aclosed) on Github. From 136d90d756e70011df1584cfdee9fae9c1d00f91 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 27 Jul 2016 04:51:38 -0700 Subject: [PATCH 747/839] Port over aliases and SSH --- _posts/2016-07-29-version-0.24.0.md | 65 ++++++++++++++++++++--------- 1 file changed, 46 insertions(+), 19 deletions(-) diff --git a/_posts/2016-07-29-version-0.24.0.md b/_posts/2016-07-29-version-0.24.0.md index 0b0dfb42..a261f40c 100644 --- a/_posts/2016-07-29-version-0.24.0.md +++ b/_posts/2016-07-29-version-0.24.0.md @@ -29,26 +29,53 @@ Use `wp cli update` to install v0.24.0, representing [NNN resolved issues and pu ### Aliases and SSH support +#### Effortlessly use WP-CLI against any WordPress install -[#2755](https://github.com/wp-cli/wp-cli/pull/2755) - -[#2974](https://github.com/wp-cli/wp-cli/pull/2974) - -https://github.com/wp-cli/wp-cli/pull/3012 -https://github.com/wp-cli/wp-cli/pull/3013 -https://github.com/wp-cli/wp-cli/pull/3014 -https://github.com/wp-cli/wp-cli/pull/3016 -https://github.com/wp-cli/wp-cli/pull/3026 -https://github.com/wp-cli/wp-cli/pull/3040 -https://github.com/wp-cli/wp-cli/pull/3070 -https://github.com/wp-cli/wp-cli/pull/3093 -https://github.com/wp-cli/wp-cli/pull/3100 -https://github.com/wp-cli/wp-cli/pull/3117 -https://github.com/wp-cli/wp-cli/pull/3134 -https://github.com/wp-cli/wp-cli/pull/3135 -https://github.com/wp-cli/wp-cli/pull/3145 -https://github.com/wp-cli/wp-cli/pull/3161 -https://github.com/wp-cli/wp-cli/pull/3180 +WP-CLI aliases are shortcuts you register in your `wp-cli.yml` or `config.yml` to effortlessly run commands against any WordPress install. + +For instance, if I'm working locally on the runcommand theme, have registered a new rewrite rule, and need to flush rewrites inside my Vagrant-based virtual machine, I can run: + + $ wp @dev rewrite flush + Success: Rewrite rules flushed. + +Then, once the code goes to production, I can run: + + $ wp @prod rewrite flush + Success: Rewrite rules flushed. + +Look ma! No more SSH'ing into machines, changing directories, and generally spending a full minute to get to a given WordPress install. + +Additionally, alias groups let you register groups of aliases. If I want to run a command against both runcommand WordPress instances, I can use `@both`: + + $ wp @both core check-update + Success: WordPress is at the latest version. + Success: WordPress is at the latest version. + +Aliases can be registered in your project's `wp-cli.yml` file, or your user's global `~/.wp-cli/config.yml` file: + + @prod: + ssh: runcommand@runcommand.io~/webapps/production + @dev: + ssh: vagrant@192.168.50.10/srv/www/runcommand.dev + @both: + - @prod + - @dev + +#### But wait, what's the 'ssh' in there? + +WP-CLI now natively supports a `--ssh=` global parameter for running a command against a remote WordPress install. Many thanks to XWP and their community for paving the way with [WP-CLI SSH](https://github.com/xwp/wp-cli-ssh). + +Under the hood, WP-CLI proxies commands to the `ssh` executable, which then passes them to WP-CLI installed on the remote machine. Your syntax for `-ssh=` can be any of the following: + +* Just the host (e.g. `wp --ssh=runcommand.io`), which means the user will be inferred from your current system user, and the path will be the SSH user's home directory. +* The user and the host (e.g. `wp --ssh=runcommand@runcommand.io`). +* The user, the host, and the path to the WordPress install (e.g. `wp --ssh=runcommand@runcommand.io~/webapps/production`). The path comes immediately after the TLD of the host. + +Or, if you use a `~/.ssh/config`, `` can be any host alias stored in the SSH config (e.g. `wp --ssh=rc` for me). + +Note you do need a copy of WP-CLI on the remote server, accessible as `wp`. Futhermore, `--ssh=` won't load your `.bash_profile` if you have a shell alias defined, or are extending the `$PATH` environment variable. If this affects you, [here's a more thorough explanation](https://runcommand.io/to/wp-ssh-custom-path/) of how you can make `wp` accessible. + +Relevant pull requests include: [#2755](https://github.com/wp-cli/wp-cli/pull/2755), [#2974](https://github.com/wp-cli/wp-cli/pull/2974), [#3012](https://github.com/wp-cli/wp-cli/pull/3012), [#3013](https://github.com/wp-cli/wp-cli/pull/3013), [#3014](https://github.com/wp-cli/wp-cli/pull/3014), [#3016](https://github.com/wp-cli/wp-cli/pull/3016), [#3026](https://github.com/wp-cli/wp-cli/pull/3026), [#3040](https://github.com/wp-cli/wp-cli/pull/3040), [#3070](https://github.com/wp-cli/wp-cli/pull/3070), [#3093](https://github.com/wp-cli/wp-cli/pull/3093), [#3100](https://github.com/wp-cli/wp-cli/pull/3100), [#3117](https://github.com/wp-cli/wp-cli/pull/3117), [#3134](https://github.com/wp-cli/wp-cli/pull/3134), [#3135](https://github.com/wp-cli/wp-cli/pull/3135), [#3145](https://github.com/wp-cli/wp-cli/pull/3145), [#3161](https://github.com/wp-cli/wp-cli/pull/3161), [#3180](https://github.com/wp-cli/wp-cli/pull/3180). ### Future of WP-CLI From 6ed9fc85df61b23b6e53fa544b45dc19b3bfe38c Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 27 Jul 2016 04:55:35 -0700 Subject: [PATCH 748/839] Mention `WP_CLI::add_wp_hook()` --- _posts/2016-07-29-version-0.24.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/_posts/2016-07-29-version-0.24.0.md b/_posts/2016-07-29-version-0.24.0.md index a261f40c..0808537f 100644 --- a/_posts/2016-07-29-version-0.24.0.md +++ b/_posts/2016-07-29-version-0.24.0.md @@ -127,6 +127,7 @@ Framework enhancements: * Supports positional arguments defined in `wp-cli.yml` [[#3120](https://github.com/wp-cli/wp-cli/pull/3120)]. * Introduce `WP_CLI_STRICT_ARGS_MODE` for dealing with arg ambiguity [[#3128](https://github.com/wp-cli/wp-cli/pull/3128)]. * Registers `--http=` global parameter for use with RESTful WP-CLI [[#3130](https://github.com/wp-cli/wp-cli/pull/3130)]. +* Introduces `WP_CLI::add_wp_hook()`, for adding actions and filters when you don't yet have access to actions and filters [[#3195](https://github.com/wp-cli/wp-cli/pull/3195)]. Bug fixes across the board: From 4fb8e568fe997d203b3e3cd70fe06cf6feed2635 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 27 Jul 2016 04:56:05 -0700 Subject: [PATCH 749/839] Edits --- _posts/2016-07-29-version-0.24.0.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/_posts/2016-07-29-version-0.24.0.md b/_posts/2016-07-29-version-0.24.0.md index 0808537f..04b3d9b1 100644 --- a/_posts/2016-07-29-version-0.24.0.md +++ b/_posts/2016-07-29-version-0.24.0.md @@ -114,7 +114,6 @@ Command improvements: * Adds `--include-columns=` argument to `wp search-replace` [[#3142](https://github.com/wp-cli/wp-cli/pull/3142)]. * Adds `--ci=` argument for `wp plugin test scaffold`, which supports 'travis', 'circle', or 'gitlab' [[#3144](https://github.com/wp-cli/wp-cli/pull/3144), [#3163](https://github.com/wp-cli/wp-cli/pull/3163)]. - Framework enhancements: * Uses `is_callable()` in `WP_CLI::add_command()`, instead of custom logic [[#2595](https://github.com/wp-cli/wp-cli/pull/2595)]. @@ -125,7 +124,7 @@ Framework enhancements: * Supports CSV with spaces when using `--fields=` [[#2750](https://github.com/wp-cli/wp-cli/pull/2750)]. * Disables WP cron when `ALTERNATE_WP_CRON` is defined [[#3118](https://github.com/wp-cli/wp-cli/pull/3118)]. * Supports positional arguments defined in `wp-cli.yml` [[#3120](https://github.com/wp-cli/wp-cli/pull/3120)]. -* Introduce `WP_CLI_STRICT_ARGS_MODE` for dealing with arg ambiguity [[#3128](https://github.com/wp-cli/wp-cli/pull/3128)]. +* Introduces `WP_CLI_STRICT_ARGS_MODE` for dealing with arg ambiguity [[#3128](https://github.com/wp-cli/wp-cli/pull/3128)]. * Registers `--http=` global parameter for use with RESTful WP-CLI [[#3130](https://github.com/wp-cli/wp-cli/pull/3130)]. * Introduces `WP_CLI::add_wp_hook()`, for adding actions and filters when you don't yet have access to actions and filters [[#3195](https://github.com/wp-cli/wp-cli/pull/3195)]. From c624cb3cb907691eb0a9eac3ba664cdb7ee8b36e Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 27 Jul 2016 05:53:54 -0700 Subject: [PATCH 750/839] More thorough introduction --- _posts/2016-07-29-version-0.24.0.md | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/_posts/2016-07-29-version-0.24.0.md b/_posts/2016-07-29-version-0.24.0.md index 04b3d9b1..ac9cffee 100644 --- a/_posts/2016-07-29-version-0.24.0.md +++ b/_posts/2016-07-29-version-0.24.0.md @@ -4,13 +4,28 @@ author: danielbachhuber title: Version 0.24.0 released --- -Increased minimum supported PHP version to 5.3.29 https://github.com/wp-cli/wp-cli/pull/2672 +As I [mentioned in my WordCamp Europe talk](https://runcommand.io/2016/06/26/my-condolences-youre-now-the-maintainer-of-a-popular-open-source-project/): -Use `wp cli update` to install v0.24.0, representing [NNN resolved issues and pull requests](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.24.0+is%3Aclosed). Here's what's new. +> Just like WordPress has plugins, the future of WP-CLI is packages of commands. For this future, I’m trying to proactively solve the problems WordPress has with plugins: -### Forked wp-settings no more +> * Where WordPress plugins are considered second-class to what’s included in core, I’d like WP-CLI packages to be considered first-class citizens amongst the commands in WP-CLI. +> * All to often, WordPress plugins have just one author. I’d like for each WP-CLI package to have two or three active maintainers. -@tk +In this model, WP-CLI becomes the common interface, and supporting application layer, to a rich ecosystem of features. Doing so opens more frontiers for innovation, which leads to a greater selection of ideas to choose from. And because more people are involved in authoring packages, WP-CLI benefits from a greater contributor pool. + +With this model, my focus is shifting towards designing a world-class experience for WP-CLI package authorship. Read through the [commands cookbook](http://wp-cli.org/docs/commands-cookbook/) for a thorough introduction to creating a WP-CLI command. Check out `wp scaffold package` [[repo](https://github.com/wp-cli/scaffold-package-command)) for the easiest way to generate everything around your new WP-CLI package. Weigh in with your thoughts on [how we should evolve the WP-CLI package index](https://github.com/wp-cli/wp-cli/issues/3197). And [follow @runcommand](https://twitter.com/runcommand) as I explore commercializing WP-CLI products and services. + +For organizational users, one last ask: if you care about the WP-CLI release cycle, please [let me know how often you think WP-CLI should be released](https://github.com/wp-cli/wp-cli/issues/3198). + +Let's get on with the show. Use `wp cli update` to install v0.24.0, representing [NNN resolved issues and pull requests](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.24.0+is%3Aclosed). Here's what's new. + +### WP-CLI no longer uses a forked `wp-settings.php` + +Every application has a bootstrap file which loads all of the requisite utilities needed to serve a request. In WordPress, this is called `wp-settings.php`. + +Since v0.8.0 [[#261](https://github.com/wp-cli/wp-cli/pull/261)], WP-CLI has used a forked version of the bootstrap file, called `wp-settings-cli.php`, to give us more control over the load process, and providing features like `--skip-plugins`. But, because WordPress can require new files from `wp-settings.php`, maintaining a forked version has the unfortunate side effect of WP-CLI [regularly breaking when a new version of WordPress is released](http://wp-cli.org/blog/versions-0.21.1-and-0.20.4.html). + +Thanks to coordinated changes in the WordPress project, WP-CLI v0.24.0 returns to loading `wp-settings.php` for WordPress 4.6 and higher [[#2278](https://github.com/wp-cli/wp-cli/issues/2278)]. Doing so should make a given version of WP-CLI more future proof against new versions of WordPress. ### Increased documentation coverage @@ -127,6 +142,7 @@ Framework enhancements: * Introduces `WP_CLI_STRICT_ARGS_MODE` for dealing with arg ambiguity [[#3128](https://github.com/wp-cli/wp-cli/pull/3128)]. * Registers `--http=` global parameter for use with RESTful WP-CLI [[#3130](https://github.com/wp-cli/wp-cli/pull/3130)]. * Introduces `WP_CLI::add_wp_hook()`, for adding actions and filters when you don't yet have access to actions and filters [[#3195](https://github.com/wp-cli/wp-cli/pull/3195)]. +* Increases minimum supported PHP version to 5.3.29 [[#2672](https://github.com/wp-cli/wp-cli/pull/2672)]. Bug fixes across the board: From c3172494896e95499c8d75956a30cb48a5b47e47 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 27 Jul 2016 06:01:39 -0700 Subject: [PATCH 751/839] Mention specific steps for preparing WP-CLI release See https://github.com/wp-cli/wp-cli/issues/2919 --- docs/release-checklist/index.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/release-checklist/index.md b/docs/release-checklist/index.md index 9dcd29b9..8175749a 100644 --- a/docs/release-checklist/index.md +++ b/docs/release-checklist/index.md @@ -43,6 +43,11 @@ When done, use `sort .mailmap -f -u -o .mailmap` to only add new contributors. 4) Create a release on Github: . Make sure to upload the Phar from the builds directory. + cp wp-cli.phar wp-cli-0.24.0.phar + cp wp-cli.phar.gpg wp-cli-0.24.0.phar.gpg + cp wp-cli.phar.md5 wp-cli-0.24.0.phar.md5 + cp wp-cli.phar.sha512 wp-cli-0.24.0.phar.sha512 + ### Updating the Debian build 1) Run this script: From a38a12d00ab1fbbe4d643ab8f8bc6be1059d8825 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 27 Jul 2016 06:05:44 -0700 Subject: [PATCH 752/839] Use Greek alphabet --- _config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_config.yml b/_config.yml index 02195850..f12a3031 100644 --- a/_config.yml +++ b/_config.yml @@ -50,6 +50,6 @@ languages: - label: नेपाली iso-alpha2: ne path: /ne/ -- label: Greek +- label: ελληνικά iso-alpha2: gr path: /gr/ From 73d6c401ff8574a3475a5cefff078e2fe5e8d3c0 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 27 Jul 2016 06:12:09 -0700 Subject: [PATCH 753/839] Edits --- _posts/2016-07-29-version-0.24.0.md | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/_posts/2016-07-29-version-0.24.0.md b/_posts/2016-07-29-version-0.24.0.md index ac9cffee..9be8a878 100644 --- a/_posts/2016-07-29-version-0.24.0.md +++ b/_posts/2016-07-29-version-0.24.0.md @@ -17,9 +17,9 @@ With this model, my focus is shifting towards designing a world-class experience For organizational users, one last ask: if you care about the WP-CLI release cycle, please [let me know how often you think WP-CLI should be released](https://github.com/wp-cli/wp-cli/issues/3198). -Let's get on with the show. Use `wp cli update` to install v0.24.0, representing [NNN resolved issues and pull requests](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.24.0+is%3Aclosed). Here's what's new. +Let's get on with the show. Use `wp cli update` to install v0.24.0, representing [450 resolved issues and pull requests](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.24.0+is%3Aclosed). Here's what's new. -### WP-CLI no longer uses a forked `wp-settings.php` +### Forked `wp-settings.php` no more Every application has a bootstrap file which loads all of the requisite utilities needed to serve a request. In WordPress, this is called `wp-settings.php`. @@ -27,20 +27,15 @@ Since v0.8.0 [[#261](https://github.com/wp-cli/wp-cli/pull/261)], WP-CLI has use Thanks to coordinated changes in the WordPress project, WP-CLI v0.24.0 returns to loading `wp-settings.php` for WordPress 4.6 and higher [[#2278](https://github.com/wp-cli/wp-cli/issues/2278)]. Doing so should make a given version of WP-CLI more future proof against new versions of WordPress. -### Increased documentation coverage +### More documentation in more languages +Thanks to tireless efforts by a solid group of contributors, WP-CLI now has more documentation in more languages. -#### Improved examples for many commands. +* Dozens of commands have improved examples for reference. +* We have a new [CONTRIBUTING.md](https://github.com/wp-cli/wp-cli/blob/master/CONTRIBUTING.md), which also has a [page on the website](http://wp-cli.org/docs/contributing/). +* Our new [README.md](https://github.com/wp-cli/wp-cli/blob/master/README.md) powers the [WP-CLI homepage](http://wp-cli.org/), and is available in [Japanese](http://wp-cli.org/ja/), [Français](http://wp-cli.org/fr/), [Português (Brasil)](http://wp-cli.org/br/), [Türkçe](http://wp-cli.org/tr/), [Deutsch](http://wp-cli.org/de/), [नेपाली](http://wp-cli.org/ne/), and [ελληνικά](http://wp-cli.org/gr/). -@tk - -#### New README.md, homepage, and localization of homepage - -@tk - -#### New CONTRIBUTING.md - -@tk +Want to get involved with WP-CLI's documentation? Check out the [Github issues labeled "scope:documentation"](https://github.com/wp-cli/wp-cli/issues?q=is%3Aopen+sort%3Aupdated-desc+label%3Ascope%3Adocumentation). ### Aliases and SSH support From e880a00ebda9c5e50aee401a15fb6faa3fcfb27e Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 27 Jul 2016 06:14:56 -0700 Subject: [PATCH 754/839] Edits --- _posts/2016-07-29-version-0.24.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2016-07-29-version-0.24.0.md b/_posts/2016-07-29-version-0.24.0.md index 9be8a878..57602e85 100644 --- a/_posts/2016-07-29-version-0.24.0.md +++ b/_posts/2016-07-29-version-0.24.0.md @@ -11,9 +11,9 @@ As I [mentioned in my WordCamp Europe talk](https://runcommand.io/2016/06/26/my- > * Where WordPress plugins are considered second-class to what’s included in core, I’d like WP-CLI packages to be considered first-class citizens amongst the commands in WP-CLI. > * All to often, WordPress plugins have just one author. I’d like for each WP-CLI package to have two or three active maintainers. -In this model, WP-CLI becomes the common interface, and supporting application layer, to a rich ecosystem of features. Doing so opens more frontiers for innovation, which leads to a greater selection of ideas to choose from. And because more people are involved in authoring packages, WP-CLI benefits from a greater contributor pool. +In this model, WP-CLI becomes the common interface, and supporting application layer, to a rich ecosystem of features. Doing so opens more frontiers for innovation, which leads to a greater selection of ideas to choose from. And because more people are involved in authoring packages, WP-CLI benefits from a larger contributor pool. -With this model, my focus is shifting towards designing a world-class experience for WP-CLI package authorship. Read through the [commands cookbook](http://wp-cli.org/docs/commands-cookbook/) for a thorough introduction to creating a WP-CLI command. Check out `wp scaffold package` [[repo](https://github.com/wp-cli/scaffold-package-command)) for the easiest way to generate everything around your new WP-CLI package. Weigh in with your thoughts on [how we should evolve the WP-CLI package index](https://github.com/wp-cli/wp-cli/issues/3197). And [follow @runcommand](https://twitter.com/runcommand) as I explore commercializing WP-CLI products and services. +With this model, my focus shifts towards designing a world-class experience for WP-CLI package authorship. Read through the [commands cookbook](http://wp-cli.org/docs/commands-cookbook/) for a thorough introduction to creating a WP-CLI command. Check out `wp scaffold package` [[repo](https://github.com/wp-cli/scaffold-package-command)] for the easiest way to generate the boilerplate for your new WP-CLI package. Weigh in with your thoughts on [how we should evolve the WP-CLI package index](https://github.com/wp-cli/wp-cli/issues/3197). And [follow @runcommand](https://twitter.com/runcommand) as I explore commercializing WP-CLI products and services — I hope that [runcommand](https://runcommand.io) is just the first of several WP-CLI-based businesses. For organizational users, one last ask: if you care about the WP-CLI release cycle, please [let me know how often you think WP-CLI should be released](https://github.com/wp-cli/wp-cli/issues/3198). From 25cd0a1df45f3a5a856d5db6979c6e069ad0ec55 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 27 Jul 2016 06:16:17 -0700 Subject: [PATCH 755/839] Edits --- _posts/2016-07-29-version-0.24.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-07-29-version-0.24.0.md b/_posts/2016-07-29-version-0.24.0.md index 57602e85..9956b956 100644 --- a/_posts/2016-07-29-version-0.24.0.md +++ b/_posts/2016-07-29-version-0.24.0.md @@ -23,7 +23,7 @@ Let's get on with the show. Use `wp cli update` to install v0.24.0, representing Every application has a bootstrap file which loads all of the requisite utilities needed to serve a request. In WordPress, this is called `wp-settings.php`. -Since v0.8.0 [[#261](https://github.com/wp-cli/wp-cli/pull/261)], WP-CLI has used a forked version of the bootstrap file, called `wp-settings-cli.php`, to give us more control over the load process, and providing features like `--skip-plugins`. But, because WordPress can require new files from `wp-settings.php`, maintaining a forked version has the unfortunate side effect of WP-CLI [regularly breaking when a new version of WordPress is released](http://wp-cli.org/blog/versions-0.21.1-and-0.20.4.html). +Since v0.8.0 [[#261](https://github.com/wp-cli/wp-cli/pull/261)], WP-CLI has used a forked version of this bootstrap file, called `wp-settings-cli.php`, to give it more control over the load process, providing features like `--skip-plugins`. But, because WordPress can require new files from `wp-settings.php`, maintaining a forked version has the unfortunate side effect of WP-CLI [regularly breaking when a new version of WordPress is released](http://wp-cli.org/blog/versions-0.21.1-and-0.20.4.html). Thanks to coordinated changes in the WordPress project, WP-CLI v0.24.0 returns to loading `wp-settings.php` for WordPress 4.6 and higher [[#2278](https://github.com/wp-cli/wp-cli/issues/2278)]. Doing so should make a given version of WP-CLI more future proof against new versions of WordPress. From 444f36266e96964a58ceffa4465b5c93ccbeb8a6 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 27 Jul 2016 06:16:57 -0700 Subject: [PATCH 756/839] Edit --- _posts/2016-07-29-version-0.24.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-07-29-version-0.24.0.md b/_posts/2016-07-29-version-0.24.0.md index 9956b956..2e05554f 100644 --- a/_posts/2016-07-29-version-0.24.0.md +++ b/_posts/2016-07-29-version-0.24.0.md @@ -25,7 +25,7 @@ Every application has a bootstrap file which loads all of the requisite utilitie Since v0.8.0 [[#261](https://github.com/wp-cli/wp-cli/pull/261)], WP-CLI has used a forked version of this bootstrap file, called `wp-settings-cli.php`, to give it more control over the load process, providing features like `--skip-plugins`. But, because WordPress can require new files from `wp-settings.php`, maintaining a forked version has the unfortunate side effect of WP-CLI [regularly breaking when a new version of WordPress is released](http://wp-cli.org/blog/versions-0.21.1-and-0.20.4.html). -Thanks to coordinated changes in the WordPress project, WP-CLI v0.24.0 returns to loading `wp-settings.php` for WordPress 4.6 and higher [[#2278](https://github.com/wp-cli/wp-cli/issues/2278)]. Doing so should make a given version of WP-CLI more future proof against new versions of WordPress. +Thanks to coordinated changes in the WordPress project, WP-CLI v0.24.0 returns to loading `wp-settings.php` for WordPress 4.6 and higher [[#2278](https://github.com/wp-cli/wp-cli/issues/2278)]. Doing so should make WP-CLI more future proof against new versions of WordPress. ### More documentation in more languages From 96ce1fdd3d4f904d330ecf29f31a0490aa6564c6 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 27 Jul 2016 06:20:41 -0700 Subject: [PATCH 757/839] Don't need subheads here --- _posts/2016-07-29-version-0.24.0.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/_posts/2016-07-29-version-0.24.0.md b/_posts/2016-07-29-version-0.24.0.md index 2e05554f..d106d3f8 100644 --- a/_posts/2016-07-29-version-0.24.0.md +++ b/_posts/2016-07-29-version-0.24.0.md @@ -37,9 +37,7 @@ Thanks to tireless efforts by a solid group of contributors, WP-CLI now has more Want to get involved with WP-CLI's documentation? Check out the [Github issues labeled "scope:documentation"](https://github.com/wp-cli/wp-cli/issues?q=is%3Aopen+sort%3Aupdated-desc+label%3Ascope%3Adocumentation). -### Aliases and SSH support - -#### Effortlessly use WP-CLI against any WordPress install +### Effortlessly use WP-CLI against any WordPress install WP-CLI aliases are shortcuts you register in your `wp-cli.yml` or `config.yml` to effortlessly run commands against any WordPress install. @@ -71,7 +69,7 @@ Aliases can be registered in your project's `wp-cli.yml` file, or your user's gl - @prod - @dev -#### But wait, what's the 'ssh' in there? +### But wait, what's the 'ssh' in there? WP-CLI now natively supports a `--ssh=` global parameter for running a command against a remote WordPress install. Many thanks to XWP and their community for paving the way with [WP-CLI SSH](https://github.com/xwp/wp-cli-ssh). From a78df02842057b0b43fc51cc570fcba86a004120 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 27 Jul 2016 06:22:31 -0700 Subject: [PATCH 758/839] More edits --- _posts/2016-07-29-version-0.24.0.md | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/_posts/2016-07-29-version-0.24.0.md b/_posts/2016-07-29-version-0.24.0.md index d106d3f8..40955ee0 100644 --- a/_posts/2016-07-29-version-0.24.0.md +++ b/_posts/2016-07-29-version-0.24.0.md @@ -15,7 +15,7 @@ In this model, WP-CLI becomes the common interface, and supporting application l With this model, my focus shifts towards designing a world-class experience for WP-CLI package authorship. Read through the [commands cookbook](http://wp-cli.org/docs/commands-cookbook/) for a thorough introduction to creating a WP-CLI command. Check out `wp scaffold package` [[repo](https://github.com/wp-cli/scaffold-package-command)] for the easiest way to generate the boilerplate for your new WP-CLI package. Weigh in with your thoughts on [how we should evolve the WP-CLI package index](https://github.com/wp-cli/wp-cli/issues/3197). And [follow @runcommand](https://twitter.com/runcommand) as I explore commercializing WP-CLI products and services — I hope that [runcommand](https://runcommand.io) is just the first of several WP-CLI-based businesses. -For organizational users, one last ask: if you care about the WP-CLI release cycle, please [let me know how often you think WP-CLI should be released](https://github.com/wp-cli/wp-cli/issues/3198). +One last ask: if you care about the WP-CLI release cycle, or dependencies and backwards compatibility, please [let me know how often you think WP-CLI should be released](https://github.com/wp-cli/wp-cli/issues/3198). Let's get on with the show. Use `wp cli update` to install v0.24.0, representing [450 resolved issues and pull requests](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.24.0+is%3Aclosed). Here's what's new. @@ -83,15 +83,7 @@ Or, if you use a `~/.ssh/config`, `` can be any host alias stored in the S Note you do need a copy of WP-CLI on the remote server, accessible as `wp`. Futhermore, `--ssh=` won't load your `.bash_profile` if you have a shell alias defined, or are extending the `$PATH` environment variable. If this affects you, [here's a more thorough explanation](https://runcommand.io/to/wp-ssh-custom-path/) of how you can make `wp` accessible. -Relevant pull requests include: [#2755](https://github.com/wp-cli/wp-cli/pull/2755), [#2974](https://github.com/wp-cli/wp-cli/pull/2974), [#3012](https://github.com/wp-cli/wp-cli/pull/3012), [#3013](https://github.com/wp-cli/wp-cli/pull/3013), [#3014](https://github.com/wp-cli/wp-cli/pull/3014), [#3016](https://github.com/wp-cli/wp-cli/pull/3016), [#3026](https://github.com/wp-cli/wp-cli/pull/3026), [#3040](https://github.com/wp-cli/wp-cli/pull/3040), [#3070](https://github.com/wp-cli/wp-cli/pull/3070), [#3093](https://github.com/wp-cli/wp-cli/pull/3093), [#3100](https://github.com/wp-cli/wp-cli/pull/3100), [#3117](https://github.com/wp-cli/wp-cli/pull/3117), [#3134](https://github.com/wp-cli/wp-cli/pull/3134), [#3135](https://github.com/wp-cli/wp-cli/pull/3135), [#3145](https://github.com/wp-cli/wp-cli/pull/3145), [#3161](https://github.com/wp-cli/wp-cli/pull/3161), [#3180](https://github.com/wp-cli/wp-cli/pull/3180). - -### Future of WP-CLI - -* Faster release cycles -* Dependency changes in the next release -* Focus on being a platform for WP-CLI community packages -* runcommand / financial stability - +Relevant pull requests for aliases and SSH support include: [#2755](https://github.com/wp-cli/wp-cli/pull/2755), [#2974](https://github.com/wp-cli/wp-cli/pull/2974), [#3012](https://github.com/wp-cli/wp-cli/pull/3012), [#3013](https://github.com/wp-cli/wp-cli/pull/3013), [#3014](https://github.com/wp-cli/wp-cli/pull/3014), [#3016](https://github.com/wp-cli/wp-cli/pull/3016), [#3026](https://github.com/wp-cli/wp-cli/pull/3026), [#3040](https://github.com/wp-cli/wp-cli/pull/3040), [#3070](https://github.com/wp-cli/wp-cli/pull/3070), [#3093](https://github.com/wp-cli/wp-cli/pull/3093), [#3100](https://github.com/wp-cli/wp-cli/pull/3100), [#3117](https://github.com/wp-cli/wp-cli/pull/3117), [#3134](https://github.com/wp-cli/wp-cli/pull/3134), [#3135](https://github.com/wp-cli/wp-cli/pull/3135), [#3145](https://github.com/wp-cli/wp-cli/pull/3145), [#3161](https://github.com/wp-cli/wp-cli/pull/3161), [#3180](https://github.com/wp-cli/wp-cli/pull/3180). ### Everything else in 0.24.0 From bd25ee2fa22fd65c3f99ca90556d6878c18bf652 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 27 Jul 2016 06:24:36 -0700 Subject: [PATCH 759/839] Remaining edits --- _posts/2016-07-29-version-0.24.0.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/_posts/2016-07-29-version-0.24.0.md b/_posts/2016-07-29-version-0.24.0.md index 40955ee0..9f303737 100644 --- a/_posts/2016-07-29-version-0.24.0.md +++ b/_posts/2016-07-29-version-0.24.0.md @@ -104,7 +104,7 @@ Command improvements: * Warns with `wp core verify-checksums` when extra files exist in wp-admin or wp-includes [[#2638](https://github.com/wp-cli/wp-cli/pull/2638)]. * Supports `--format=` argument for `wp cap list`, `wp user list-caps`, and `wp super-admin list` [[#2851](https://github.com/wp-cli/wp-cli/pull/2851), [#2961](https://github.com/wp-cli/wp-cli/pull/2961), and [#2949](https://github.com/wp-cli/wp-cli/pull/2949)]. * Accepts multiple term IDs with `wp term url` [[#2865](https://github.com/wp-cli/wp-cli/pull/2865)]. -* Support PHP 5.5 Memcache extension when checking cache type [[#2945](https://github.com/wp-cli/wp-cli/pull/2945)]. +* Supports PHP 5.5 Memcache extension when checking cache type [[#2945](https://github.com/wp-cli/wp-cli/pull/2945)]. * Uses `WP_CLI::warning()` when a theme is already active, to make behavior more consistent with plugin activation [[#3015](https://github.com/wp-cli/wp-cli/pull/3015)]. * Adds `--porcelain` flag to `wp db export` [[#3032](https://github.com/wp-cli/wp-cli/pull/3032)]. * Allow the author field to be selected in `wp theme list --fields=` [[#3043](https://github.com/wp-cli/wp-cli/pull/3043)]. @@ -142,7 +142,7 @@ Bug fixes across the board: * Only attempts to use `add_user_to_blog()` on multisite when importing users from CSV [[#2690](https://github.com/wp-cli/wp-cli/pull/2690)]. * Fixes listing user meta associated with a given username [[#2700](https://github.com/wp-cli/wp-cli/pull/2700)]. * Differentiates output when moving comments to trash from output when deleting comments [[#2701](https://github.com/wp-cli/wp-cli/pull/2701)]. -* Prevent runaway memory usage from `wp export` by clearing object cache after each file [[#2716](https://github.com/wp-cli/wp-cli/pull/2716)]. +* Prevents runaway memory usage from `wp export` by clearing object cache after each file [[#2716](https://github.com/wp-cli/wp-cli/pull/2716)]. * Ignores ambigious empty plugin and theme slugs when installing [[#2715](https://github.com/wp-cli/wp-cli/pull/2715)]. * Takes all digits when running commands that use the comment id [[#2714](https://github.com/wp-cli/wp-cli/pull/2714), [https://github.com/wp-cli/wp-cli/pull/2901](#2901)]. * Only displays packages directory path when it exists [[#2773](https://github.com/wp-cli/wp-cli/pull/2773)]. @@ -159,3 +159,5 @@ Bug fixes across the board: Contributors to this release: [andyexeter](https://github.com/andyexeter), [bordoni](https://github.com/bordoni), [danielbachhuber](https://github.com/danielbachhuber), [diggy](https://github.com/diggy), [enrico-sorcinelli](https://github.com/enrico-sorcinelli), [ernilambar](https://github.com/ernilambar), [geo4orce](https://github.com/geo4orce), [gedex](https://github.com/gedex), [gilbitron](https://github.com/gilbitron), [hideokamoto](https://github.com/hideokamoto), [apertureless](https://github.com/apertureless), [JRGould](https://github.com/JRGould), [johnbillion](https://github.com/johnbillion), [kkoppenhaver](https://github.com/kkoppenhaver), [kouratoras](https://github.com/kouratoras), [markjaquith](https://github.com/markjaquith), [miya0001](https://github.com/miya0001), [mustafauysal](https://github.com/mustafauysal), [NateWr](https://github.com/NateWr), [Nikschavan](https://github.com/Nikschavan), [ocean90](https://github.com/ocean90), [petenelson](https://github.com/petenelson), [phh](https://github.com/phh), [rachelbaker](https://github.com/rachelbaker), [PatelUtkarsh](https://github.com/PatelUtkarsh), [PeterDaveHello](https://github.com/PeterDaveHello), [robhenley](https://github.com/robhenley) [rodrigoprimo](https://github.com/rodrigoprimo), [roelveldhuizen](https://github.com/roelveldhuizen), [ShinichiNishikawa](https://github.com/ShinichiNishikawa), [shulard](https://github.com/shulard), [stephenharris](https://github.com/stephenharris), [stevenkword](https://github.com/stevenkword), [swissspidy](https://github.com/swissspidy), [taianunes](https://github.com/taianunes), [villevuor](https://github.com/villevuor), [voldemortensen](https://github.com/voldemortensen), [wesm87](https://github.com/wesm87), [8bitodyssey](https://github.com/8bitodyssey) You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.24.0+is%3Aclosed) on Github. + +Back to work! From 16f0c70411bbd09c72020767d49a9cc5f974e827 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 27 Jul 2016 06:25:38 -0700 Subject: [PATCH 760/839] Had to move an issue out --- _posts/2016-07-29-version-0.24.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-07-29-version-0.24.0.md b/_posts/2016-07-29-version-0.24.0.md index 9f303737..c564ea92 100644 --- a/_posts/2016-07-29-version-0.24.0.md +++ b/_posts/2016-07-29-version-0.24.0.md @@ -17,7 +17,7 @@ With this model, my focus shifts towards designing a world-class experience for One last ask: if you care about the WP-CLI release cycle, or dependencies and backwards compatibility, please [let me know how often you think WP-CLI should be released](https://github.com/wp-cli/wp-cli/issues/3198). -Let's get on with the show. Use `wp cli update` to install v0.24.0, representing [450 resolved issues and pull requests](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.24.0+is%3Aclosed). Here's what's new. +Let's get on with the show. Use `wp cli update` to install v0.24.0, representing [449 resolved issues and pull requests](https://github.com/wp-cli/wp-cli/issues?q=milestone%3A0.24.0+is%3Aclosed). Here's what's new. ### Forked `wp-settings.php` no more From dcd5c118e69eea281a58552be97debdaa8420c3f Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 27 Jul 2016 06:27:41 -0700 Subject: [PATCH 761/839] Extend the block quote --- _posts/2016-07-29-version-0.24.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-07-29-version-0.24.0.md b/_posts/2016-07-29-version-0.24.0.md index c564ea92..f5366880 100644 --- a/_posts/2016-07-29-version-0.24.0.md +++ b/_posts/2016-07-29-version-0.24.0.md @@ -7,7 +7,7 @@ title: Version 0.24.0 released As I [mentioned in my WordCamp Europe talk](https://runcommand.io/2016/06/26/my-condolences-youre-now-the-maintainer-of-a-popular-open-source-project/): > Just like WordPress has plugins, the future of WP-CLI is packages of commands. For this future, I’m trying to proactively solve the problems WordPress has with plugins: - +> > * Where WordPress plugins are considered second-class to what’s included in core, I’d like WP-CLI packages to be considered first-class citizens amongst the commands in WP-CLI. > * All to often, WordPress plugins have just one author. I’d like for each WP-CLI package to have two or three active maintainers. From 8a67cbdf47a5abc8ec19968d31ba7085113f9d66 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 27 Jul 2016 06:34:59 -0700 Subject: [PATCH 762/839] Mention post-release version bump --- docs/release-checklist/index.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/release-checklist/index.md b/docs/release-checklist/index.md index 8175749a..0fa83d86 100644 --- a/docs/release-checklist/index.md +++ b/docs/release-checklist/index.md @@ -68,6 +68,12 @@ See Use `./utils/contrib-list -l` to generate the list of contributors. +### Bumping WP-CLI version again + +After all of the release steps are complete, make sure to bump [VERSION](https://github.com/wp-cli/wp-cli/blob/master/VERSION) again. + +For instance, if the release version was `0.24.0`, the version should be bumped to `0.25.0-alpha`. Doing so ensure `wp cli update --nightly` works as expected. + ## Patch releases Creating a patch release (e.g. 0.23.x) is bit different of a process than creating a major or minor release. At a high-level, here are the steps involved: From 11fd8c2f05d24f4c3408a55b0023673629440874 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 27 Jul 2016 09:49:17 -0700 Subject: [PATCH 763/839] Fix the date on the post. It's not my birthday yet! --- ...{2016-07-29-version-0.24.0.md => 2016-07-27-version-0.24.0.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename _posts/{2016-07-29-version-0.24.0.md => 2016-07-27-version-0.24.0.md} (100%) diff --git a/_posts/2016-07-29-version-0.24.0.md b/_posts/2016-07-27-version-0.24.0.md similarity index 100% rename from _posts/2016-07-29-version-0.24.0.md rename to _posts/2016-07-27-version-0.24.0.md From b6ff8d449f84eca2f2d5e6b98108cac36efccac9 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 27 Jul 2016 10:17:30 -0700 Subject: [PATCH 764/839] Include announcement steps in release notes --- docs/release-checklist/index.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/release-checklist/index.md b/docs/release-checklist/index.md index 0fa83d86..a6e1bd5c 100644 --- a/docs/release-checklist/index.md +++ b/docs/release-checklist/index.md @@ -68,6 +68,14 @@ See Use `./utils/contrib-list -l` to generate the list of contributors. +### Announcing + +In addition to publishing the release post, a new release is announced in a few different ways: + +* WP-CLI Twitter account (with some scheduled follow-up tweets). +* `/announce` slash command in the `#cli` Slack room. +* Mailchimp email announcement list. + ### Bumping WP-CLI version again After all of the release steps are complete, make sure to bump [VERSION](https://github.com/wp-cli/wp-cli/blob/master/VERSION) again. From f319e8791730b8b49265774152b407c827e1cb70 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 27 Jul 2016 16:39:27 -0700 Subject: [PATCH 765/839] Add v0.24.0 to the mix --- restful/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/restful/index.md b/restful/index.md index f7c854bf..ed00ad36 100644 --- a/restful/index.md +++ b/restful/index.md @@ -28,6 +28,7 @@ Blog posts: Releases: +* [WP-CLI Version 0.24.0 released](/blog/version-0.24.0.html) - July 27, 2016 * [WP REST API Version 2.0 Beta 13 "yoink.adios\losers"](https://make.wordpress.org/core/2016/04/04/wp-rest-api-2-0-beta-13-roadmap/) - April 3, 2016 * [WP-CLI Version 0.23.0 released](/blog/version-0.23.0.html) - March 22, 2016 * [WP REST API Version 2.0 Beta 12 "Canyonero"](https://make.wordpress.org/core/2016/02/09/wp-rest-api-version-2-0-beta-12/) - February 9, 2016 From 380032d58fad1296ee6576b84b0000834ea7952b Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 27 Jul 2016 16:39:41 -0700 Subject: [PATCH 766/839] Update index.md --- restful/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/restful/index.md b/restful/index.md index ed00ad36..01d318e5 100644 --- a/restful/index.md +++ b/restful/index.md @@ -5,7 +5,7 @@ title: A more RESTful WP-CLI ## A more RESTful WP-CLI -*Landing page last updated: July 20, 2016* +*Landing page last updated: July 27, 2016* WP-CLI's mission is to be, quantitatively, the *fastest* interface for developers to manage WordPress. "A more RESTful WP-CLI" was a [Kickstarter-backed](https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli/description) project to unlock the potential of the [WordPress REST API](http://v2.wp-api.org/) at the command line. This funding supported 232.42 hours of [Daniel Bachhuber](http://danielbachhuber.com/)'s time towards making improvements to WP-CLI and the WP REST API. From 4e80115fbabfbdd5f3d401db5524efd6ab8f579a Mon Sep 17 00:00:00 2001 From: ernilambar Date: Thu, 28 Jul 2016 13:54:35 +0545 Subject: [PATCH 767/839] Fix link in 024 replease post --- _posts/2016-07-27-version-0.24.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-07-27-version-0.24.0.md b/_posts/2016-07-27-version-0.24.0.md index f5366880..0c0bd2c9 100644 --- a/_posts/2016-07-27-version-0.24.0.md +++ b/_posts/2016-07-27-version-0.24.0.md @@ -144,7 +144,7 @@ Bug fixes across the board: * Differentiates output when moving comments to trash from output when deleting comments [[#2701](https://github.com/wp-cli/wp-cli/pull/2701)]. * Prevents runaway memory usage from `wp export` by clearing object cache after each file [[#2716](https://github.com/wp-cli/wp-cli/pull/2716)]. * Ignores ambigious empty plugin and theme slugs when installing [[#2715](https://github.com/wp-cli/wp-cli/pull/2715)]. -* Takes all digits when running commands that use the comment id [[#2714](https://github.com/wp-cli/wp-cli/pull/2714), [https://github.com/wp-cli/wp-cli/pull/2901](#2901)]. +* Takes all digits when running commands that use the comment id [[#2714](https://github.com/wp-cli/wp-cli/pull/2714), [#2901](https://github.com/wp-cli/wp-cli/pull/2901)]. * Only displays packages directory path when it exists [[#2773](https://github.com/wp-cli/wp-cli/pull/2773)]. * Bails early in theme commands if theme is broken or has error [[#2798](https://github.com/wp-cli/wp-cli/pull/2798)]. * Displays error if theme directory exists but is erred; permits force install [[#2821](https://github.com/wp-cli/wp-cli/pull/2821)]. From 61be58369f119b1f6d0eadd5ad867f134f393991 Mon Sep 17 00:00:00 2001 From: miya0001 Date: Thu, 28 Jul 2016 21:00:58 +0900 Subject: [PATCH 768/839] update japanese translation --- ja/index.md | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/ja/index.md b/ja/index.md index 92448dd5..a04430b2 100644 --- a/ja/index.md +++ b/ja/index.md @@ -93,8 +93,22 @@ WP-CLI project config: WP-CLI version: 0.23.0 ``` +## アップデート + WP-CLI をアップデートするには、`wp cli update` ([doc](https://wp-cli.org/commands/cli/update/)) を実行するか、上述のインストール方法を再度行う必要があります。 +もっととんがった生き方をしたい? `wp cli update --nightly` を実行すれば、最新の開発者向けバージョンの WP-CLI を使用することができます。開発者向けバージョンは、あなたの開発環境で使用するのに十分な信頼性があり、つねに最新の機能を使用することができます。 + +## タブ補完 + +WP-CL には、Bash 及び ZSH 用のタブ補完用のスクリプトがあります。 [wp-completion.bash](https://raw.githubusercontent.com/wp-cli/wp-cli/master/utils/wp-completion.bash) をダウンロードして、`~/.bash_profile` から読み込んでください。 + +``` +source /FULL/PATH/TO/wp-completion.bash +``` + +`source ~/.bash_profile` を実行するのを忘れないでください。 + ## サポート WP-CLI のメンテナーとプロジェクトの貢献者たちは、新しい Issue に対して、より迅速に返信したいと思っています。これらのボランティアの時間を節約するために、過去に同じ質問に対する回答がないかを確認してください。 @@ -113,6 +127,36 @@ WP-CLI のメンテナーとプロジェクトの貢献者たちは、新しい それぞれの **コマンド** は、WP-CLI の関数の一つとして定義されています。`wp plugin install` ([doc](https://wp-cli.org/commands/plugin/install/)) はそのうちのひとつであり、`wp plugin activate` ([doc](https://wp-cli.org/commands/plugin/activate/)) は別のもうひとつです。 +WP-CLI では、様々な実行可能なクラス、関数、クロージャをコマンドとして実行することが可能です。コマンドとして実行されるために必要な情報は、PHPdoc によって記述します。 `WP_CLI::add_command()` ([doc](https://wp-cli.org/docs/internal-api/wp-cli-add-command/)) は、内部コマンド及びサードパーティコマンドの登録に使用されています。 + +``` +/** + * Delete an option from the database. + * + * Returns an error if the option didn't exist. + * + * ## OPTIONS + * + * + * : Key for the option. + * + * ## EXAMPLES + * + * $ wp option delete my_option + * Success: Deleted 'my_option' option. + */ +$delete_option_cmd = function( $args ) { + list( $key ) = $args; + + if ( ! delete_option( $key ) ) { + WP_CLI::error( "Could not delete '$key' option. Does it exist?" ); + } else { + WP_CLI::success( "Deleted '$key' option." ); + } +}; +WP_CLI::add_command( 'option delete', $delete_option_cmd ); +``` + WP-CLI は、多くのコマンドにより構成されており、カスタムコマンドを作ることは意外と簡単です。[commands cookbook](https://wp-cli.org/docs/commands-cookbook/)を読んでください。 ## 貢献 From 275c57a87b51aa4736100dbdf363cbf8a2876fe6 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 28 Jul 2016 07:44:24 -0700 Subject: [PATCH 769/839] Update index.md --- docs/release-checklist/index.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/release-checklist/index.md b/docs/release-checklist/index.md index a6e1bd5c..92498e26 100644 --- a/docs/release-checklist/index.md +++ b/docs/release-checklist/index.md @@ -58,7 +58,12 @@ When done, use `sort .mailmap -f -u -o .mailmap` to only add new contributors. ### Updating the Homebrew formula -A pull request must be submitted to the Homebrew repo. See for background. +A pull request must be submitted to the Homebrew repo. This involves: + +* Updating the url and sha256 here: https://github.com/Homebrew/homebrew-php/blob/master/Formula/wp-cli.rb#L8-L9 +* Making the commit with format "wp-cli 0.24.0" + +See and for background. ### Updating the website From aafa1133bf8c93e677b6cabb38154904281037fc Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 1 Aug 2016 05:46:45 -0700 Subject: [PATCH 770/839] Remove `api-dump` from the list of commands on the website --- Phakefile.php | 8 ++++---- command.php | 4 +++- commands/cli/api-dump/index.md | 16 ---------------- commands/cli/cmd-dump/index.md | 4 +++- commands/cli/index.md | 4 ---- commands/theme/mod/index.md | 6 +++--- commands/theme/mod/remove/index.md | 10 +++++----- 7 files changed, 18 insertions(+), 34 deletions(-) delete mode 100644 commands/cli/api-dump/index.md diff --git a/Phakefile.php b/Phakefile.php index 7feea49d..78b45f76 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -29,7 +29,7 @@ function generate_synopsis( $command, $path = '' ) { echo $full_path . ' ' . $command['synopsis'] . "\n"; } else { foreach ( $command['subcommands'] as $subcommand ) { - if ( 'website' === $subcommand['name'] ) { + if ( in_array( $subcommand['name'], array( 'website', 'api-dump' ) ) ) { continue; } generate_synopsis( $subcommand, $full_path ); @@ -91,11 +91,11 @@ function gen_cmd_pages( $cmd, $parent = array() ) { $wp = invoke_wp_cli( 'wp --skip-packages cli cmd-dump', $app ); foreach( $wp['subcommands'] as $k => $cmd ) { - if ( 'website' === $cmd['name'] ) { + if ( in_array( $cmd['name'], array( 'website', 'api-dump' ) ) ) { unset( $wp['subcommands'][ $k ] ); - $wp['subcommands'] = array_values( $wp['subcommands'] ); } } + $wp['subcommands'] = array_values( $wp['subcommands'] ); // generate main page file_put_contents( '_includes/cmd-list.html', render( 'cmd-list.mustache', $wp ) ); @@ -149,7 +149,7 @@ function gen_cmd_pages( $cmd, $parent = array() ) { desc( 'Update the /docs/internal-api/ page.' ); task( 'internal-api-list', function( $app ) { - $apis = invoke_wp_cli( 'wp cli api-dump', $app ); + $apis = invoke_wp_cli( 'wp api-dump', $app ); $categories = array( 'Registration' => array(), 'Output' => array(), diff --git a/command.php b/command.php index 86e02646..fd4d7cd3 100644 --- a/command.php +++ b/command.php @@ -91,6 +91,8 @@ function generate_contributing() { * * Used to build user-facing docs of public APIs. * + * @when before_wp_load + * * @subcommand api-dump */ function api_dump() { @@ -121,7 +123,7 @@ function api_dump() { } echo json_encode( $apis ); } -\WP_CLI::add_command( 'cli api-dump', '\WP_CLI_Org\api_dump' ); +\WP_CLI::add_command( 'api-dump', '\WP_CLI_Org\api_dump' ); /** * Get a simple representation of a function or method diff --git a/commands/cli/api-dump/index.md b/commands/cli/api-dump/index.md deleted file mode 100644 index 4056f8a7..00000000 --- a/commands/cli/api-dump/index.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: default -title: 'wp cli api-dump' -display_global_parameters: true ---- - -`wp cli api-dump` - Dump the list of internal APIs, as JSON. - -Quick links: Github issues - -
    - -Used to build user-facing docs of public APIs. - - - diff --git a/commands/cli/cmd-dump/index.md b/commands/cli/cmd-dump/index.md index 1a7a4231..7cc59aa6 100644 --- a/commands/cli/cmd-dump/index.md +++ b/commands/cli/cmd-dump/index.md @@ -10,7 +10,9 @@ display_global_parameters: true
    -# Dump the list of installed commands +### EXAMPLES + + # Dump the list of installed commands $ wp cli cmd-dump {"name":"wp","description":"Manage WordPress through the command-line.","longdesc":"\n\n diff --git a/commands/cli/index.md b/commands/cli/index.md index 261e64ad..7a7fa3f1 100644 --- a/commands/cli/index.md +++ b/commands/cli/index.md @@ -43,10 +43,6 @@ display_global_parameters: true alias List available aliases. - - api-dump - Dump the list of internal APIs, as JSON. - check-update Check for update via Github API. Returns the available versions if there are updates, or empty if no update available. diff --git a/commands/theme/mod/index.md b/commands/theme/mod/index.md index f014f479..69fa6342 100644 --- a/commands/theme/mod/index.md +++ b/commands/theme/mod/index.md @@ -12,15 +12,15 @@ display_global_parameters: true ### EXAMPLES - # Set theme mod + # Set theme mod. $ wp theme mod set background_color 000000 Success: Theme mod background_color set to 000000 - # Get single theme mod in JSON format + # Get single theme mod in JSON format. $ wp theme mod get background_color --format=json [{"key":"background_color","value":"dd3333"}] - # Remove all theme mods + # Remove all theme mods. $ wp theme mod remove --all Success: Theme mods removed. diff --git a/commands/theme/mod/remove/index.md b/commands/theme/mod/remove/index.md index d9e0d113..b6db6145 100644 --- a/commands/theme/mod/remove/index.md +++ b/commands/theme/mod/remove/index.md @@ -16,19 +16,19 @@ display_global_parameters: true : One or more mods to remove. [\--all] -: Remove all theme mods +: Remove all theme mods. ### EXAMPLES - # Remove all theme mods + # Remove all theme mods. $ wp theme mod remove --all Success: Theme mods removed. - # Remove single theme mods + # Remove single theme mod. $ wp theme mod remove background_color - Success: 1 mods removed. + Success: 1 mod removed. - # Remove multiple theme mods + # Remove multiple theme mods. $ wp theme mod remove background_color header_textcolor Success: 2 mods removed. From e2d5c69c1b3f2f81cb5050bc52855b9ee1241c6a Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 1 Aug 2016 06:28:28 -0700 Subject: [PATCH 771/839] Update index.md --- restful/index.md | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/restful/index.md b/restful/index.md index 01d318e5..7faca19b 100644 --- a/restful/index.md +++ b/restful/index.md @@ -11,13 +11,32 @@ WP-CLI's mission is to be, quantitatively, the *fastest* interface for developer Wait a second, what does it mean to "unlock the potential of the WP REST API at the command line"? Pragmatically, it means any endpoints registered in plugins or themes are *automagically* accessible as WP-CLI commands. For instance, if you were to register an endpoint for `GET /my-plugin/v1/product/`, this endpoint is also accessible on the command line as (more or less) `wp @prod product get `. -For a summary of these features, check out [wp-cli/restful](https://github.com/wp-cli/restful). Or, read through the updates linked below for a broader overview of how the project progressed. +Quick links: [Highlights](#highlights) - [Milestones](#Milestones) - [Budget](#budget) - [Supporters](#supporters) -Quick links: [Achievements](#achievements) - [Budget](#budget) - [Supporters](#supporters) +*** + +## Highlights + +### RESTful WP-CLI + +RESTful WP-CLI is a [WP-CLI package](https://github.com/wp-cli/restful) that makes WP REST API endpoints available as WP-CLI commands. + +As WordPress becomes more of an application framework embedded into the web, RESTful WP-CLI enables WP-CLI users to interact with a given WordPress install through the higher-level, self-expressed abstraction of how WordPress understands itself. For instance, on an eCommerce website, instead of having to know data is stored as `wp post list --post_type=edd_product`, RESTful WP-CLI exposes the properly-modeled data at `wp rest product list`. + +First, RESTful WP-CLI auto-discovers WP REST API endpoints from any WordPress site running WordPress 4.4 or higher. These can be endpoints from the WP REST API v2 plugin, or custom endpoints you’ve registered yourself. You can target a specific WordPress install with `--path=`, `--ssh=`, or `--http=`. Then, it registers WP-CLI commands for the resource endpoints it understands, in the wp rest namespace. In addition to the standard list, get, create, update and delete commands, RESTful WP-CLI also registers commands for higher-level operations like edit, generate and diff. + +Try it yourself: + +``` +wp package install wp-cli/restful +wp --http=runcommand.io rest excerpt list +``` + +For a summary of these features, check out [wp-cli/restful](https://github.com/wp-cli/restful). *** -## Achievements +## Milestones Blog posts: From f23795f624f76c073c641e081122494a56f87bed Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 1 Aug 2016 10:54:06 -0700 Subject: [PATCH 772/839] Update index.md --- restful/index.md | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/restful/index.md b/restful/index.md index 7faca19b..e747c682 100644 --- a/restful/index.md +++ b/restful/index.md @@ -5,13 +5,13 @@ title: A more RESTful WP-CLI ## A more RESTful WP-CLI -*Landing page last updated: July 27, 2016* +*Landing page last updated: August 1, 2016* WP-CLI's mission is to be, quantitatively, the *fastest* interface for developers to manage WordPress. "A more RESTful WP-CLI" was a [Kickstarter-backed](https://www.kickstarter.com/projects/danielbachhuber/a-more-restful-wp-cli/description) project to unlock the potential of the [WordPress REST API](http://v2.wp-api.org/) at the command line. This funding supported 232.42 hours of [Daniel Bachhuber](http://danielbachhuber.com/)'s time towards making improvements to WP-CLI and the WP REST API. Wait a second, what does it mean to "unlock the potential of the WP REST API at the command line"? Pragmatically, it means any endpoints registered in plugins or themes are *automagically* accessible as WP-CLI commands. For instance, if you were to register an endpoint for `GET /my-plugin/v1/product/`, this endpoint is also accessible on the command line as (more or less) `wp @prod product get `. -Quick links: [Highlights](#highlights) - [Milestones](#Milestones) - [Budget](#budget) - [Supporters](#supporters) +Quick links: [Highlights](#highlights) - [Milestones](#milestones) - [Budget](#budget) - [Supporters](#supporters) *** @@ -23,7 +23,7 @@ RESTful WP-CLI is a [WP-CLI package](https://github.com/wp-cli/restful) that mak As WordPress becomes more of an application framework embedded into the web, RESTful WP-CLI enables WP-CLI users to interact with a given WordPress install through the higher-level, self-expressed abstraction of how WordPress understands itself. For instance, on an eCommerce website, instead of having to know data is stored as `wp post list --post_type=edd_product`, RESTful WP-CLI exposes the properly-modeled data at `wp rest product list`. -First, RESTful WP-CLI auto-discovers WP REST API endpoints from any WordPress site running WordPress 4.4 or higher. These can be endpoints from the WP REST API v2 plugin, or custom endpoints you’ve registered yourself. You can target a specific WordPress install with `--path=`, `--ssh=`, or `--http=`. Then, it registers WP-CLI commands for the resource endpoints it understands, in the wp rest namespace. In addition to the standard list, get, create, update and delete commands, RESTful WP-CLI also registers commands for higher-level operations like edit, generate and diff. +First, RESTful WP-CLI auto-discovers WP REST API endpoints from any WordPress site running WordPress 4.4 or higher. These can be endpoints from the WP REST API v2 plugin, or custom endpoints you’ve registered yourself. You can target a specific WordPress install with `--path=`, `--ssh=`, or `--http=`. Then, it registers WP-CLI commands for the resource endpoints it understands, in the wp rest namespace. In addition to the standard list, get, create, update and delete commands, RESTful WP-CLI also registers commands for higher-level operations like `edit`, `generate` and `diff`. Try it yourself: @@ -34,6 +34,29 @@ wp --http=runcommand.io rest excerpt list For a summary of these features, check out [wp-cli/restful](https://github.com/wp-cli/restful). +### Package management + +Just like WordPress has plugins, the future of WP-CLI is [packages of commands](https://wp-cli.org/package-index/). For this future, WP-CLI is working to proactively solve the problems WordPress has with plugins: + +* Where WordPress plugins are considered second-class to what’s included in core, WP-CLI packages should be considered first-class citizens amongst the commands in WP-CLI. +* All too often, WordPress plugins have just one author. Each WP-CLI package should have two or three active maintainers. + +In this model, WP-CLI becomes the common interface, and supporting application layer, to a rich ecosystem of features. Doing so opens more frontiers for innovation, which leads to a greater selection of ideas to choose from. And because more people are involved in authoring packages, WP-CLI benefits from a larger contributor pool. + +As a result of the Kickstarter project, you can install WP-CLI packages from the Package Index with `wp package install`, [read through the commands cookbook](http://wp-cli.org/docs/commands-cookbook/) for a thorough introduction to creating a WP-CLI command, or use `wp scaffold package` ([repo](https://github.com/wp-cli/scaffold-package-command)) for the easiest way to generate the boilerplate for your new WP-CLI package, complete with functional tests. + +### Documentation portal + +In the past, WP-CLI documentation lived in a poorly maintained, hard to search Github Wiki. Now, it’s been reincarnated as a [documentation portal on the website](https://wp-cli.org/docs/). + +Most notably: + +* Every existing tutorial was rewritten and cleaned up as they were moved over. +* Internal APIs you can use in your own commands are now [publicly documented](https://wp-cli.org/docs/internal-api/). These internal API pages are generated from the codebase, which greatly help maintenance efforts. +* On each command page, there’s a “Github issues” link to make it easier to find both open and closed issues for a given command. For instance, here are all of the outstanding issues for [wp package and its subcommands](https://github.com/wp-cli/wp-cli/issues?q=is%3Aopen+label%3Acommand%3Apackage+sort%3Aupdated-desc). + +Since relaunching the documentation portal in March, we’ve also [written a new contributing guide](https://wp-cli.org/docs/contributing/), and rewritten the WP-CLI homepage with translations to six languages other than English. + *** ## Milestones From 9dbeaaa6175d10c37a7a8aabf672fe403d71a2f1 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 3 Aug 2016 16:22:33 -0700 Subject: [PATCH 773/839] Update homepage from README.md --- index.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/index.md b/index.md index df7c4682..325251c5 100644 --- a/index.md +++ b/index.md @@ -107,6 +107,14 @@ source /FULL/PATH/TO/wp-completion.bash Don't forget to run `source ~/.bash_profile` afterwards. +If using zsh for your shell, you may need to load and start `bashcompinit` before sourcing. Put the following in your `.zshrc`: + +``` +autoload bashcompinit +bashcompinit +source /FULL/PATH/TO/wp-completion.bash +``` + ## Support WP-CLI's maintainers and project contributors do their best to respond to all new issues in a timely manner. To make the best use of their volunteered time, please first see if there may be an answer to your question in one of the following resources: From 5f81ecfb8ea7a3ffe2b9293a39c4e0ceff144c72 Mon Sep 17 00:00:00 2001 From: miya0001 Date: Fri, 5 Aug 2016 03:24:32 +0900 Subject: [PATCH 774/839] improve markdown --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index f16d60e4..3506b5d6 100644 --- a/README.md +++ b/README.md @@ -20,9 +20,7 @@ vendor/bin/phake *wp-cli.org/package-index is generated by the [package index repo](https://github.com/wp-cli/package-index), and won't be present in your local instance. -### Contribute - -## How to translate +### How to translate 1. Add your language to `[_config.yml](https://github.com/wp-cli/wp-cli.github.com/blob/master/_config.yml)`. 2. Create a folder under the name of your appropriate language code (IETF language tag). e.g. ja or pt_BR From 73efc1ff1111df2023d9a328c240019dc77feab3 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 5 Aug 2016 11:27:07 -0700 Subject: [PATCH 775/839] Update homepage to include new support policies --- index.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/index.md b/index.md index 325251c5..987172c2 100644 --- a/index.md +++ b/index.md @@ -117,15 +117,14 @@ source /FULL/PATH/TO/wp-completion.bash ## Support -WP-CLI's maintainers and project contributors do their best to respond to all new issues in a timely manner. To make the best use of their volunteered time, please first see if there may be an answer to your question in one of the following resources: +WP-CLI's maintainers and project contributors are volunteers, and have limited availability to address the variety of questions users might have. Before filing your support request, please first see if there is an answer in one of the following resources: - [Common issues and their fixes](https://wp-cli.org/docs/common-issues/) -- [Best practices for submitting a bug report](https://wp-cli.org/docs/bug-reports/) - [Documentation portal](https://wp-cli.org/docs/) - [Open or closed issues on Github](https://github.com/wp-cli/wp-cli/issues?utf8=%E2%9C%93&q=is%3Aissue) - [WordPress StackExchange forums](http://wordpress.stackexchange.com/questions/tagged/wp-cli) -If you can't find your answer in one of those existing resources, feel free to [create an issue](https://github.com/wp-cli/wp-cli/issues/new) with your question. +If you can't find your answer at one of those links, the [WordPress StackExchange](http://wordpress.stackexchange.com/) is the best place for general support questions. For bug reports, please review [best practices for submitting a bug report](https://wp-cli.org/docs/bug-reports/) before [creating a new issue](https://github.com/wp-cli/wp-cli/issues/new). Professional users may also consider [runcommand](https://runcommand.io/) for premium support. Please do not ask support questions on Twitter. Twitter isn't an acceptable venue for support because: 1) it's hard to hold conversations in under 140 characters, and 2) Twitter isn't a place where someone with your same question can search for an answer in a prior conversation. From 13def3a9a737093920ba85b0aafbf34f5bbdacea Mon Sep 17 00:00:00 2001 From: Ulrich Pogson Date: Sat, 6 Aug 2016 09:09:40 +0500 Subject: [PATCH 776/839] Close code comment --- docs/commands-cookbook/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/commands-cookbook/index.md b/docs/commands-cookbook/index.md index d7fac4d5..678fc5b0 100644 --- a/docs/commands-cookbook/index.md +++ b/docs/commands-cookbook/index.md @@ -319,7 +319,7 @@ $ wp example hello Joe Doe ``` WP_CLI::line( $args[0] ); // Joe WP_CLI::line( $args[1] ); // Doe - +``` `$assoc_args` variable will store all the arguments defined like `--key=value` or `--flag` or `--no-flag` From e5c09283196dce8cd0408cb60f162f0a8bba1012 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 8 Aug 2016 06:39:25 -0700 Subject: [PATCH 777/839] Add syntax highlighting --- index.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/index.md b/index.md index 987172c2..3e14aa8c 100644 --- a/index.md +++ b/index.md @@ -26,7 +26,7 @@ Quick links: [Using](#using) | [Installing](#installing) | [Support](# WP-CLI's goal is to provide a command-line interface for any action you might want to perform in the WordPress admin. For instance, `wp plugin install --activate` ([doc](https://wp-cli.org/commands/plugin/install/)) lets you install and activate a WordPress plugin: -``` +```bash $ wp plugin install rest-api --activate Installing WordPress REST API (Version 2) (2.0-beta13) Downloading install package from https://downloads.wordpress.org/plugin/rest-api.2.0-beta13.zip... @@ -39,7 +39,7 @@ Success: Plugin 'rest-api' activated. WP-CLI also includes commands for many things you can't do in the WordPress admin. For example, `wp transient delete-all` ([doc](https://wp-cli.org/commands/transient/delete-all/)) lets you delete one or all transients: -``` +```bash $ wp transient delete-all Success: 34 transients deleted from the database. ``` @@ -60,26 +60,26 @@ Before installing WP-CLI, please make sure your environment meets the minimum re Once you've verified requirements, download the [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar) file using `wget` or `curl`: -``` +```bash $ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar ``` Next, check if it is working: -``` +```bash $ php wp-cli.phar --info ``` To use WP-CLI from the command line by typing `wp`, make the file executable and move it to somewhere in your PATH. For example: -``` +```bash $ chmod +x wp-cli.phar $ sudo mv wp-cli.phar /usr/local/bin/wp ``` If WP-CLI was installed successfully, you should see something like this when you run `wp --info`: -``` +```bash $ wp --info PHP binary: /usr/bin/php5 PHP version: 5.5.9-1ubuntu4.14 @@ -101,7 +101,7 @@ Want to live life on the edge? Run `wp cli update --nightly` to use the latest n WP-CLI also comes with a tab completion script for Bash and ZSH. Just download [wp-completion.bash](https://github.com/wp-cli/wp-cli/raw/master/utils/wp-completion.bash) and source it from `~/.bash_profile`: -``` +```bash source /FULL/PATH/TO/wp-completion.bash ``` @@ -109,7 +109,7 @@ Don't forget to run `source ~/.bash_profile` afterwards. If using zsh for your shell, you may need to load and start `bashcompinit` before sourcing. Put the following in your `.zshrc`: -``` +```bash autoload bashcompinit bashcompinit source /FULL/PATH/TO/wp-completion.bash @@ -136,7 +136,7 @@ A **command** is an atomic unit of WP-CLI functionality. `wp plugin install` ([d WP-CLI supports registering any callable class, function, or closure as a command. It reads usage details from the callback's PHPdoc. `WP_CLI::add_command()` ([doc](https://wp-cli.org/docs/internal-api/wp-cli-add-command/)) is used for both internal and third-party command registration. -``` +```php /** * Delete an option from the database. * From df914d2286dc208723adca610b316efd55187548 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Viktor=20Sz=C3=A9pe?= Date: Mon, 8 Aug 2016 23:20:33 +0200 Subject: [PATCH 778/839] List all image URL-s in posts --- docs/shell-tips/index.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/shell-tips/index.md b/docs/shell-tips/index.md index 6004e7b4..bf7a87c2 100644 --- a/docs/shell-tips/index.md +++ b/docs/shell-tips/index.md @@ -59,3 +59,14 @@ When you need create a new wordpress install, call this function and specify the name of the directory where you want to create the site. This emulates the web-based install process. +## List all image URL-s in posts + +```bash +wp post list --field=ID|xargs -I % wp post get % --field=post_content|sed -ne 's;.*\(https\?\S\+\(jpe\?g\|png\|gif\)\).*;\1;gp' +``` + +Explanation + +- List all post ID-s +- Get each content (xargs) +- Display only image URL-s (sed) From 2d6d6f30071384f62ebfeae6454567f72d217688 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 9 Aug 2016 06:11:34 -0700 Subject: [PATCH 779/839] Blog post for v0.24.1 --- _posts/2016-08-09-version-0.24.1.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 _posts/2016-08-09-version-0.24.1.md diff --git a/_posts/2016-08-09-version-0.24.1.md b/_posts/2016-08-09-version-0.24.1.md new file mode 100644 index 00000000..3f0d5c91 --- /dev/null +++ b/_posts/2016-08-09-version-0.24.1.md @@ -0,0 +1,13 @@ +--- +layout: post +author: danielbachhuber +title: Version 0.24.1 released +--- + +Curious as to why you're getting a warning message when updating an option? Or why `--skip-plugins=` skips all of your network-activated plugins? + +These two bugs, regressions from v0.24.0, are fixed in v0.24.1. + +You can browse the full list of [resolved issues](https://github.com/wp-cli/wp-cli/issues?q=is%3Aclosed+milestone%3A0.24.1) on Github. + +Contributors to this release: [danielbachhuber](https://github.com/danielbachhuber) From c591af0ce7fae9f079804d490bcccd9cf2403c31 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 9 Aug 2016 06:11:52 -0700 Subject: [PATCH 780/839] Blog post documenting new support policy --- _posts/2016-08-09-support-policy.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 _posts/2016-08-09-support-policy.md diff --git a/_posts/2016-08-09-support-policy.md b/_posts/2016-08-09-support-policy.md new file mode 100644 index 00000000..94abfa31 --- /dev/null +++ b/_posts/2016-08-09-support-policy.md @@ -0,0 +1,11 @@ +--- +layout: post +author: danielbachhuber +title: Support policy updates +--- + +To help keep the maintenance burden manageable by volunteers, our support policies have changed: Github issues are now reserved for bug reports and enhancements of existing commands; they are no longer a venue for general support questions. + +Have a question about something related to WP-CLI? Try out the [WordPress StackExchange forums](http://wordpress.stackexchange.com/questions/tagged/wp-cli) or consider joining the `#cli` channel on the [WordPress.org Slack organization](https://make.wordpress.org/chat/). + +Using WP-CLI professionally? We encourage you to purchase support from someone who contributes to WP-CLI regularly. Libre != gratis; participating responsibly in the economic ecosystem around the open source tool you depend on helps to ensure the long-term health of the project. From a308dccb08cf9c6507d8aa56509c17335c422def Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 9 Aug 2016 06:16:23 -0700 Subject: [PATCH 781/839] Tweak closing --- _posts/2016-08-09-support-policy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-08-09-support-policy.md b/_posts/2016-08-09-support-policy.md index 94abfa31..5ace0c20 100644 --- a/_posts/2016-08-09-support-policy.md +++ b/_posts/2016-08-09-support-policy.md @@ -8,4 +8,4 @@ To help keep the maintenance burden manageable by volunteers, our support polici Have a question about something related to WP-CLI? Try out the [WordPress StackExchange forums](http://wordpress.stackexchange.com/questions/tagged/wp-cli) or consider joining the `#cli` channel on the [WordPress.org Slack organization](https://make.wordpress.org/chat/). -Using WP-CLI professionally? We encourage you to purchase support from someone who contributes to WP-CLI regularly. Libre != gratis; participating responsibly in the economic ecosystem around the open source tool you depend on helps to ensure the long-term health of the project. +Using WP-CLI professionally? We encourage you to purchase support from a [regular WP-CLI contributor](https://github.com/wp-cli/wp-cli/graphs/contributors). Libre != gratis; the open source license grants you the freedom to use and modify, but not commitments of other people's time. Participating responsibly in the economic ecosystem around an open source tool you depend upon helps to ensure the long-term health of the project. From febb4cb3976ac05b64fa579e0a8c5862ef99956a Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 9 Aug 2016 06:34:06 -0700 Subject: [PATCH 782/839] Clarify that StackExchange isn't general support --- _posts/2016-08-09-support-policy.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/_posts/2016-08-09-support-policy.md b/_posts/2016-08-09-support-policy.md index 5ace0c20..de6955c7 100644 --- a/_posts/2016-08-09-support-policy.md +++ b/_posts/2016-08-09-support-policy.md @@ -6,6 +6,14 @@ title: Support policy updates To help keep the maintenance burden manageable by volunteers, our support policies have changed: Github issues are now reserved for bug reports and enhancements of existing commands; they are no longer a venue for general support questions. -Have a question about something related to WP-CLI? Try out the [WordPress StackExchange forums](http://wordpress.stackexchange.com/questions/tagged/wp-cli) or consider joining the `#cli` channel on the [WordPress.org Slack organization](https://make.wordpress.org/chat/). +Have a question about something related to WP-CLI? You might find an answer in one of the following resources: + +- [Common issues and their fixes](https://wp-cli.org/docs/common-issues/) +- [Documentation portal](https://wp-cli.org/docs/) +- [Open or closed issues on Github](https://github.com/wp-cli/wp-cli/issues?utf8=%E2%9C%93&q=is%3Aissue) +- [runcommand Excerpts](https://runcommand.io/excerpts/) +- [WordPress StackExchange forums](http://wordpress.stackexchange.com/questions/tagged/wp-cli) + +If you can't find your answer at one of those links, the [WordPress StackExchange](http://wordpress.stackexchange.com/) can be used for development-related WP-CLI questions. Or, join the `#cli` channel on the [WordPress.org Slack organization](https://make.wordpress.org/chat/) to see if a community member might have an answer for you. Using WP-CLI professionally? We encourage you to purchase support from a [regular WP-CLI contributor](https://github.com/wp-cli/wp-cli/graphs/contributors). Libre != gratis; the open source license grants you the freedom to use and modify, but not commitments of other people's time. Participating responsibly in the economic ecosystem around an open source tool you depend upon helps to ensure the long-term health of the project. From dc559fee106c6083f69098b5007b0fde307b68b8 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 9 Aug 2016 06:36:44 -0700 Subject: [PATCH 783/839] Clarify StackExchange isn't meant for general support --- index.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/index.md b/index.md index 3e14aa8c..5426933c 100644 --- a/index.md +++ b/index.md @@ -117,18 +117,19 @@ source /FULL/PATH/TO/wp-completion.bash ## Support -WP-CLI's maintainers and project contributors are volunteers, and have limited availability to address the variety of questions users might have. Before filing your support request, please first see if there is an answer in one of the following resources: +WP-CLI's maintainers and project contributors are volunteers, and have limited availability to address general support questions. First, look for an answer in one of the following resources: - [Common issues and their fixes](https://wp-cli.org/docs/common-issues/) - [Documentation portal](https://wp-cli.org/docs/) - [Open or closed issues on Github](https://github.com/wp-cli/wp-cli/issues?utf8=%E2%9C%93&q=is%3Aissue) +- [runcommand Excerpts](https://runcommand.io/excerpts/) - [WordPress StackExchange forums](http://wordpress.stackexchange.com/questions/tagged/wp-cli) -If you can't find your answer at one of those links, the [WordPress StackExchange](http://wordpress.stackexchange.com/) is the best place for general support questions. For bug reports, please review [best practices for submitting a bug report](https://wp-cli.org/docs/bug-reports/) before [creating a new issue](https://github.com/wp-cli/wp-cli/issues/new). Professional users may also consider [runcommand](https://runcommand.io/) for premium support. +If you can't find your answer at one of those links, the [WordPress StackExchange](http://wordpress.stackexchange.com/) can be used for development-related WP-CLI questions. Or, join the `#cli` channel on the [WordPress.org Slack organization](https://make.wordpress.org/chat/) to see if a community member might have an answer for you. Professional users may also consider [runcommand](https://runcommand.io/) for premium support. -Please do not ask support questions on Twitter. Twitter isn't an acceptable venue for support because: 1) it's hard to hold conversations in under 140 characters, and 2) Twitter isn't a place where someone with your same question can search for an answer in a prior conversation. +For bug reports, please review [best practices for submitting a bug report](https://wp-cli.org/docs/bug-reports/) before [creating a new issue](https://github.com/wp-cli/wp-cli/issues/new). -If you have a WordPress.org account, you may also consider joining the `#cli` channel on the [WordPress.org Slack organization](https://make.wordpress.org/chat/). +Please do not ask support questions on Twitter. Twitter isn't an acceptable venue for support because: 1) it's hard to hold conversations in under 140 characters, and 2) Twitter isn't a place where someone with your same question can search for an answer in a prior conversation. ## Extending From b5b5e6e2932dda653037590605daa1c36b8ff713 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 9 Aug 2016 06:59:20 -0700 Subject: [PATCH 784/839] Include line about libre != gratis --- index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/index.md b/index.md index 5426933c..bbfc6ea0 100644 --- a/index.md +++ b/index.md @@ -131,6 +131,8 @@ For bug reports, please review [best practices for submitting a bug report](http Please do not ask support questions on Twitter. Twitter isn't an acceptable venue for support because: 1) it's hard to hold conversations in under 140 characters, and 2) Twitter isn't a place where someone with your same question can search for an answer in a prior conversation. +Remember, libre != gratis; the open source license grants you the freedom to use and modify, but not commitments of other people's time. Please be respectful, and set your expectations accordingly. + ## Extending A **command** is an atomic unit of WP-CLI functionality. `wp plugin install` ([doc](https://wp-cli.org/commands/plugin/install/)) is one command. `wp plugin activate` ([doc](https://wp-cli.org/commands/plugin/activate/)) is another. From 5712ac3440c3eaa87646fe5249b97e9af3ddfa01 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 10 Aug 2016 05:12:01 -0700 Subject: [PATCH 785/839] Clarify SSH usage --- _includes/global-parameters.html | 2 +- _includes/param-list.html | 4 ++-- config/index.md | 4 ++++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/_includes/global-parameters.html b/_includes/global-parameters.html index 94bb754d..4c60579f 100644 --- a/_includes/global-parameters.html +++ b/_includes/global-parameters.html @@ -4,7 +4,7 @@

    Global Parameters

    --path=<path> Path to the WordPress files.

    -

    --ssh=<ssh> +

    --ssh=[<user>@]<host>[:<port>][<path>] Perform operation against a remote server over SSH.

    --http=<http> Perform operation against a remote WordPress install over HTTP.

    diff --git a/_includes/param-list.html b/_includes/param-list.html index 2cdd3cd6..6d3fe8f6 100644 --- a/_includes/param-list.html +++ b/_includes/param-list.html @@ -18,10 +18,10 @@ Default value: null - --ssh=<ssh> + --ssh=[<user>@]<host>[:<port>][<path>] - ssh: <ssh> + ssh: [<user>@]<host>[:<port>][<path>] diff --git a/config/index.md b/config/index.md index 539213e4..fde76d40 100644 --- a/config/index.md +++ b/config/index.md @@ -89,3 +89,7 @@ Here's an annotated example `wp-cli.yml` file: ssh: wpcli@staging.wp-cli.org user: wpcli path: /srv/www/staging.wp-cli.org + @production + ssh: wpcli@wp-cli.org:2222 + user: wpcli + path: /srv/www/wp-cli.org From ac506b7322164e60a976f726aba362be438577fc Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 10 Aug 2016 06:19:08 -0700 Subject: [PATCH 786/839] Mark `WP_CLI::get_config()` as a public internal API --- _includes/internal-api-list.html | 3 + docs/internal-api/wp-cli-confirm/index.md | 3 + docs/internal-api/wp-cli-get-config/index.md | 59 +++++++++++++++++++ docs/internal-api/wp-cli-read-value/index.md | 3 + .../wp-cli-utils-get-flag-value/index.md | 3 + .../index.md | 3 + 6 files changed, 74 insertions(+) create mode 100644 docs/internal-api/wp-cli-get-config/index.md diff --git a/_includes/internal-api-list.html b/_includes/internal-api-list.html index 79b7877a..10a661d6 100644 --- a/_includes/internal-api-list.html +++ b/_includes/internal-api-list.html @@ -75,6 +75,9 @@
  • WP_CLI::read_value() - Read a value, from various formats.
  • +
  • WP_CLI::get_config() - Get values of global configuration parameters.
  • + + diff --git a/docs/internal-api/wp-cli-confirm/index.md b/docs/internal-api/wp-cli-confirm/index.md index 32d0106e..59f564bc 100644 --- a/docs/internal-api/wp-cli-confirm/index.md +++ b/docs/internal-api/wp-cli-confirm/index.md @@ -56,6 +56,9 @@ If 'y' is provided to the question, the script execution continues. If
  • WP_CLI::read_value() - Read a value, from various formats.
  • +
  • WP_CLI::get_config() - Get values of global configuration parameters.
  • + + diff --git a/docs/internal-api/wp-cli-get-config/index.md b/docs/internal-api/wp-cli-get-config/index.md new file mode 100644 index 00000000..58acb28f --- /dev/null +++ b/docs/internal-api/wp-cli-get-config/index.md @@ -0,0 +1,59 @@ +--- +layout: default +title: WP_CLI::get_config() +description: "Get values of global configuration parameters." +--- + +Docs » Internal API » Input + +## WP_CLI::get_config() + +Get values of global configuration parameters. + +*** + +### Usage + + WP_CLI::get_config( $key = null ) + +
    +$key (string) Get value for a specific global configuration parameter.
    +@return (mixed)
    +
    + + +*** + +### Notes + +Provides access to `--path=`, `--url=`, and other values of +the [global configuration parameters](https://wp-cli.org/config/). + + +*Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* + + +*** + +### Related + + + + diff --git a/docs/internal-api/wp-cli-read-value/index.md b/docs/internal-api/wp-cli-read-value/index.md index 4ac13795..323da9c4 100644 --- a/docs/internal-api/wp-cli-read-value/index.md +++ b/docs/internal-api/wp-cli-read-value/index.md @@ -42,6 +42,9 @@ Read a value, from various formats.
  • WP_CLI::confirm() - Ask for confirmation before running a destructive operation.
  • +
  • WP_CLI::get_config() - Get values of global configuration parameters.
  • + + diff --git a/docs/internal-api/wp-cli-utils-get-flag-value/index.md b/docs/internal-api/wp-cli-utils-get-flag-value/index.md index f5be4b15..7e9f775c 100644 --- a/docs/internal-api/wp-cli-utils-get-flag-value/index.md +++ b/docs/internal-api/wp-cli-utils-get-flag-value/index.md @@ -53,6 +53,9 @@ function provides a safer alternative to using
  • WP_CLI::read_value() - Read a value, from various formats.
  • +
  • WP_CLI::get_config() - Get values of global configuration parameters.
  • + + diff --git a/docs/internal-api/wp-cli-utils-launch-editor-for-input/index.md b/docs/internal-api/wp-cli-utils-launch-editor-for-input/index.md index 7025d853..aff78ff9 100644 --- a/docs/internal-api/wp-cli-utils-launch-editor-for-input/index.md +++ b/docs/internal-api/wp-cli-utils-launch-editor-for-input/index.md @@ -42,6 +42,9 @@ Launch system's $EDITOR for the user to edit some text.
  • WP_CLI::read_value() - Read a value, from various formats.
  • +
  • WP_CLI::get_config() - Get values of global configuration parameters.
  • + + From e3f550201a26fc57acb7d7d4b1390a7a2ac3f3b0 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 10 Aug 2016 06:21:50 -0700 Subject: [PATCH 787/839] Include an example --- docs/internal-api/wp-cli-get-config/index.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/internal-api/wp-cli-get-config/index.md b/docs/internal-api/wp-cli-get-config/index.md index 58acb28f..a3da50fc 100644 --- a/docs/internal-api/wp-cli-get-config/index.md +++ b/docs/internal-api/wp-cli-get-config/index.md @@ -30,6 +30,10 @@ Provides access to `--path=`, `--url=`, and other values of the [global configuration parameters](https://wp-cli.org/config/). + WP_CLI::log( 'The --url= value is: ' . WP_CLI::get_config( 'url' ) ); + + + *Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.* From a034ac54a46e4b767c3562b92e1fb0a87ae4abb6 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 16 Aug 2016 06:52:59 -0700 Subject: [PATCH 788/839] Add a blog post about the two remaining releases --- _posts/2016-08-16-remaining-releases-2016.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 _posts/2016-08-16-remaining-releases-2016.md diff --git a/_posts/2016-08-16-remaining-releases-2016.md b/_posts/2016-08-16-remaining-releases-2016.md new file mode 100644 index 00000000..1b2feae1 --- /dev/null +++ b/_posts/2016-08-16-remaining-releases-2016.md @@ -0,0 +1,12 @@ +--- +layout: post +author: danielbachhuber +title: Two more major releases in 2016 +--- + +Just a heads up there will be two more major releases in 2016: + +* v0.25.0 will be released on Tuesday, October 25th. +* v1.0.0 will be released on Tuesday, November 29th. + +Want to help out? We'll be focusing on framework refinement; in particular, there are a [number of improvements that can be made](https://github.com/wp-cli/wp-cli/issues?q=is%3Aopen+is%3Aissue+label%3Acommand%3Apackage) to the package management experience. From 05a0bc0d0186c13f5375d7f1ed44723240d470ae Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 17 Aug 2016 06:21:14 -0700 Subject: [PATCH 789/839] Update 2016-07-27-version-0.24.0.md --- _posts/2016-07-27-version-0.24.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-07-27-version-0.24.0.md b/_posts/2016-07-27-version-0.24.0.md index 0c0bd2c9..e934a746 100644 --- a/_posts/2016-07-27-version-0.24.0.md +++ b/_posts/2016-07-27-version-0.24.0.md @@ -9,7 +9,7 @@ As I [mentioned in my WordCamp Europe talk](https://runcommand.io/2016/06/26/my- > Just like WordPress has plugins, the future of WP-CLI is packages of commands. For this future, I’m trying to proactively solve the problems WordPress has with plugins: > > * Where WordPress plugins are considered second-class to what’s included in core, I’d like WP-CLI packages to be considered first-class citizens amongst the commands in WP-CLI. -> * All to often, WordPress plugins have just one author. I’d like for each WP-CLI package to have two or three active maintainers. +> * All too often, WordPress plugins have just one author. I’d like for each WP-CLI package to have two or three active maintainers. In this model, WP-CLI becomes the common interface, and supporting application layer, to a rich ecosystem of features. Doing so opens more frontiers for innovation, which leads to a greater selection of ideas to choose from. And because more people are involved in authoring packages, WP-CLI benefits from a larger contributor pool. From d675902acde203d2bfcac28b228e0ef68d0c8434 Mon Sep 17 00:00:00 2001 From: "Peter J. Herrel" Date: Fri, 19 Aug 2016 14:41:00 +0200 Subject: [PATCH 790/839] missing colon in wp-cli.yml annotated example --- config/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/index.md b/config/index.md index fde76d40..ac9b6d95 100644 --- a/config/index.md +++ b/config/index.md @@ -89,7 +89,7 @@ Here's an annotated example `wp-cli.yml` file: ssh: wpcli@staging.wp-cli.org user: wpcli path: /srv/www/staging.wp-cli.org - @production + @production: ssh: wpcli@wp-cli.org:2222 user: wpcli path: /srv/www/wp-cli.org From b6913512b82e857f41eadddf51010345c0b35454 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 22 Aug 2016 07:04:41 -0700 Subject: [PATCH 791/839] Remove StackExchange mention because it's being misused --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index bbfc6ea0..d5525acc 100644 --- a/index.md +++ b/index.md @@ -125,7 +125,7 @@ WP-CLI's maintainers and project contributors are volunteers, and have limited a - [runcommand Excerpts](https://runcommand.io/excerpts/) - [WordPress StackExchange forums](http://wordpress.stackexchange.com/questions/tagged/wp-cli) -If you can't find your answer at one of those links, the [WordPress StackExchange](http://wordpress.stackexchange.com/) can be used for development-related WP-CLI questions. Or, join the `#cli` channel on the [WordPress.org Slack organization](https://make.wordpress.org/chat/) to see if a community member might have an answer for you. Professional users may also consider [runcommand](https://runcommand.io/) for premium support. +If you can't find your answer at one of those links, join the `#cli` channel on the [WordPress.org Slack organization](https://make.wordpress.org/chat/) to see if a community member might have an answer for you. Professional users may also consider [runcommand](https://runcommand.io/) for premium support. For bug reports, please review [best practices for submitting a bug report](https://wp-cli.org/docs/bug-reports/) before [creating a new issue](https://github.com/wp-cli/wp-cli/issues/new). From bbdf0c5cd99bdc3d1382db380a9838835f339e18 Mon Sep 17 00:00:00 2001 From: Pete Nelson Date: Mon, 22 Aug 2016 14:03:59 -0500 Subject: [PATCH 792/839] added xargs example for creating post and adding post meta for the new post --- docs/shell-tips/index.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/shell-tips/index.md b/docs/shell-tips/index.md index bf7a87c2..192c581b 100644 --- a/docs/shell-tips/index.md +++ b/docs/shell-tips/index.md @@ -70,3 +70,11 @@ Explanation - List all post ID-s - Get each content (xargs) - Display only image URL-s (sed) + +## Create a page from a file and flag it with the file name + +```bash +wp post create new_page.html --post_type=page --post_title="New Page" --porcelain | xargs -I % wp post meta add % imported_from new_page.html +``` +- Create a page (--porcelain will return only the new post ID) +- Create post meta with xargs using "-I %" to signify the placeholder template for the new post ID From 1926dc4beb26d0a738056f26470ad7b131483c74 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 22 Aug 2016 14:17:12 -0700 Subject: [PATCH 793/839] Clarify the role of Github issues --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index d5525acc..1aae766a 100644 --- a/index.md +++ b/index.md @@ -127,7 +127,7 @@ WP-CLI's maintainers and project contributors are volunteers, and have limited a If you can't find your answer at one of those links, join the `#cli` channel on the [WordPress.org Slack organization](https://make.wordpress.org/chat/) to see if a community member might have an answer for you. Professional users may also consider [runcommand](https://runcommand.io/) for premium support. -For bug reports, please review [best practices for submitting a bug report](https://wp-cli.org/docs/bug-reports/) before [creating a new issue](https://github.com/wp-cli/wp-cli/issues/new). +Github issues are meant for tracking enhancements and bugs of existing commands, not general support. Before submitting a bug report, please [review our best practices](https://wp-cli.org/docs/bug-reports/) to help ensure your issue is addressed in a timely manner. Please do not ask support questions on Twitter. Twitter isn't an acceptable venue for support because: 1) it's hard to hold conversations in under 140 characters, and 2) Twitter isn't a place where someone with your same question can search for an answer in a prior conversation. From 63fbf28830a2bcb4a4a98a7fdee4ade97fac7b42 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 23 Aug 2016 05:18:25 -0700 Subject: [PATCH 794/839] Add `$_SERVER['document_root']` to common issues --- docs/common-issues/index.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/common-issues/index.md b/docs/common-issues/index.md index 67576895..727f0dd6 100644 --- a/docs/common-issues/index.md +++ b/docs/common-issues/index.md @@ -55,6 +55,14 @@ Before accessing a value on the `$_SERVER` superglobal, you should check if the $_SERVER['HTTPS']='on'; } +### Can't find wp-content directory / use of `$_SERVER['document_root']` + +`$_SERVER['document_root']` is defined by the webserver based on the incoming web request. Because this type of context is unavailable to PHP CLI, `$_SERVER['document_root']` is unavailable to WP-CLI. Furthermore, WP-CLI can't safely mock `$_SERVER['document_root']` as it does with `$_SERVER['http_host']` and a few other `$_SERVER` values. + +If you're using `$_SERVER['document_root']` in your `wp-config.php` file, you should instead use `dirname( __FILE__ )` or similar. + +See also: [#785](https://github.com/wp-cli/wp-cli/issues/785) + ### Warning: Some code is trying to do a URL redirect Most of the time, it's some plugin or theme code that disables wp-admin access to non-admins. From deb61e0d68c40dba3d17a5873cb36e7c83d37622 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 23 Aug 2016 05:26:07 -0700 Subject: [PATCH 795/839] Mention `$_SERVER['HTTP_HOST']` in common issues --- docs/common-issues/index.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/common-issues/index.md b/docs/common-issues/index.md index 727f0dd6..91bd9352 100644 --- a/docs/common-issues/index.md +++ b/docs/common-issues/index.md @@ -55,6 +55,14 @@ Before accessing a value on the `$_SERVER` superglobal, you should check if the $_SERVER['HTTPS']='on'; } +When using `$_SERVER['HTTP_HOST']` in your `wp-config.php`, you'll need to set a default value in WP-CLI context: + + if ( defined( 'WP_CLI' ) && WP_CLI ) && ! isset( $_SERVER['HTTP_HOST'] ) { + $_SERVER['HTTP_HOST'] = 'wp-cli.org'; + } + +See also: [#730](https://github.com/wp-cli/wp-cli/issues/730) + ### Can't find wp-content directory / use of `$_SERVER['document_root']` `$_SERVER['document_root']` is defined by the webserver based on the incoming web request. Because this type of context is unavailable to PHP CLI, `$_SERVER['document_root']` is unavailable to WP-CLI. Furthermore, WP-CLI can't safely mock `$_SERVER['document_root']` as it does with `$_SERVER['http_host']` and a few other `$_SERVER` values. From e0fd9617ba68aa90168ce559ced7e529440cf198 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 23 Aug 2016 06:08:31 -0700 Subject: [PATCH 796/839] Remove erroneous `## OPTIONS` from comment meta --- commands/comment/meta/index.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/commands/comment/meta/index.md b/commands/comment/meta/index.md index abab209f..e77bb0c8 100644 --- a/commands/comment/meta/index.md +++ b/commands/comment/meta/index.md @@ -10,11 +10,6 @@ display_global_parameters: true
    -### OPTIONS - -\--format=json -: Encode/decode values as JSON. - ### EXAMPLES # Set comment meta From 0b2ab4d8ca319f0b17caf63dbca550908d0ef053 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 24 Aug 2016 06:22:00 -0700 Subject: [PATCH 797/839] Mention distribution methods earlier in the commands cookbook --- docs/commands-cookbook/index.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/commands-cookbook/index.md b/docs/commands-cookbook/index.md index 678fc5b0..bc9ad556 100644 --- a/docs/commands-cookbook/index.md +++ b/docs/commands-cookbook/index.md @@ -17,7 +17,9 @@ Creating your own custom WP-CLI command can be easier than it looks — and you WP-CLI's goal is to offer a complete alternative to the WordPress admin; for any action you might want to perform in the WordPress admin, there should be an equivalent WP-CLI command. A **command** is an atomic unit of WP-CLI functionality. `wp plugin install` ([doc](/commands/plugin/install/)) is one such command, as is `wp plugin activate` ([doc](/commands/plugin/activate/)). Commands are useful to WordPress users because they can offer simple, precise interfaces for performing complex tasks. -_But_, the WordPress admin is a Swiss Army knife of infinite complexity. There's no way just this project could handle every use case. This is why WP-CLI includes a set of [common internal commands](/commands/), while also offering a rich API for third-parties to register and [distribute their own commands](/package-index/). There are also a [variety of internal APIs](/docs/internal-api/) you can use in your custom WP-CLI command. +_But_, the WordPress admin is a Swiss Army knife of infinite complexity. There's no way just this project could handle every use case. This is why WP-CLI includes a set of [common internal commands](/commands/), while also offering a [rich internal API](/docs/internal-api/) for third-parties to write and register their own commands. + +WP-CLI commands can be [distributed as standalone packages](/package-index/), or bundled with WordPress plugins or themes. For the former, you can use `wp scaffold package` ([repo](https://github.com/wp-cli/scaffold-package-command)) to dynamically generate everything but the command itself. #### Command types From d80e9a383ab5dda9d136f3926a168e72b362db8f Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 24 Aug 2016 06:40:42 -0700 Subject: [PATCH 798/839] Add section on environment variables to config page --- config/index.md | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/config/index.md b/config/index.md index ac9b6d95..2091de51 100644 --- a/config/index.md +++ b/config/index.md @@ -5,7 +5,7 @@ title: Configuration # Configuration -

    Quick links: Overview | Global parameters | Config files

    +

    Quick links: Overview | Global parameters | Config files | Environment variables

    ## Overview @@ -93,3 +93,23 @@ Here's an annotated example `wp-cli.yml` file: ssh: wpcli@wp-cli.org:2222 user: wpcli path: /srv/www/wp-cli.org + +## Environment variables + +WP-CLI's behavior can be changed at runtime through the use of environment variables: + +* `WP_CLI_CACHE_DIR` - Directory to store the WP-CLI file cache. Default is `~/.wp-cli/cache/`. +* `WP_CLI_CONFIG_PATH` - Path to the global `config.yml` file. Default is `~/.wp-cli/config.yml`. +* `WP_CLI_DISABLE_AUTO_CHECK_UPDATE` - Disable WP-CLI automatic checks for updates. +* `WP_CLI_PACKAGES_DIR` - Directory to store packages installed through WP-CLI's package management. Default is `~/.wp-cli/packages/`. +* `WP_CLI_SSH_PRE_CMD` - When using `--ssh=`, perform a command before WP-CLI calls WP-CLI on the remote server. + +To set an environment variable on demand, simply place the environment variable definition before the WP-CLI command you mean to run. + + # Use vim to edit a post + $ EDITOR=vim wp post edit 1 + +To set the same environment variable value for every shell session, you’ll need to include the environment variable definition in your `~/.bashrc` or `~/.zshrc` file + + # Always use vim to edit a post + export EDITOR=vim From 67cc70326032fec539aa45fa6d90d317405497fc Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 24 Aug 2016 07:02:03 -0700 Subject: [PATCH 799/839] Fix HTML --- config/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/index.md b/config/index.md index 2091de51..c49f16b3 100644 --- a/config/index.md +++ b/config/index.md @@ -5,7 +5,7 @@ title: Configuration # Configuration -

    Quick links: Overview | Global parameters | Config files | Environment variables

    +

    Quick links: Overview | Global parameters | Config files | Environment variables

    ## Overview From 4b3a0ed15c1b446ec35c75b123d9025a2fd301ff Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 24 Aug 2016 07:11:38 -0700 Subject: [PATCH 800/839] Document special arguments for `wp-cli.yml` --- config/index.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/config/index.md b/config/index.md index c49f16b3..a7a857b3 100644 --- a/config/index.md +++ b/config/index.md @@ -94,6 +94,13 @@ Here's an annotated example `wp-cli.yml` file: user: wpcli path: /srv/www/wp-cli.org + # '_' is a special value denoting configuration options for this wp-cli.yml + _: + # Merge subcommand defaults from the upstream config.yml, instead of overriding + merge: true + # Inherit configuration from an arbitrary YAML file + inhert: prod.yml + ## Environment variables WP-CLI's behavior can be changed at runtime through the use of environment variables: From c1e9061bc37c1550027fb402b06d17f8b822b9c1 Mon Sep 17 00:00:00 2001 From: Danilo Maccioni Date: Thu, 25 Aug 2016 09:07:19 +0200 Subject: [PATCH 801/839] _config.yml: added Italian language reference --- _config.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/_config.yml b/_config.yml index f12a3031..caeb7c8f 100644 --- a/_config.yml +++ b/_config.yml @@ -53,3 +53,6 @@ languages: - label: ελληνικά iso-alpha2: gr path: /gr/ +- label: Italiano + iso-alpha2: it + path: /it/ From f70e1eb3b761061d316e7602633b077e15baf89b Mon Sep 17 00:00:00 2001 From: Danilo Maccioni Date: Thu, 25 Aug 2016 09:59:00 +0200 Subject: [PATCH 802/839] Added Italian language folder and index.md --- it/index.md | 204 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 204 insertions(+) create mode 100644 it/index.md diff --git a/it/index.md b/it/index.md new file mode 100644 index 00000000..f0abec9b --- /dev/null +++ b/it/index.md @@ -0,0 +1,204 @@ +--- +layout: default +title: Interfaccia da linea di comando per WordPress +--- + +[WP-CLI](https://wp-cli.org/) è un insieme di strumenti da linea di comando per la gestione delle installazioni [WordPress](https://wordpress.org/). Potete aggiornare plugin, configurare installazioni multisito e molto altro, senza utilizzare un browser web. + +Per rimanere aggiornati, seguite [@wpcli su Twitter](https://twitter.com/wpcli) oppure [iscrivetevi alla nostra newsletter](http://wp-cli.us13.list-manage.com/subscribe?u=0615e4d18f213891fc000adfd&id=8c61d7641e). + +[![Build Status](https://travis-ci.org/wp-cli/wp-cli.png?branch=master)](https://travis-ci.org/wp-cli/wp-cli) [![Dependency Status](https://gemnasium.com/badges/github.com/wp-cli/wp-cli.svg)](https://gemnasium.com/github.com/wp-cli/wp-cli) [![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/wp-cli/wp-cli.svg)](http://isitmaintained.com/project/wp-cli/wp-cli "Average time to resolve an issue") [![Percentage of issues still open](http://isitmaintained.com/badge/open/wp-cli/wp-cli.svg)](http://isitmaintained.com/project/wp-cli/wp-cli "Percentage of issues still open") + +
    +

    Un orientamento RESTful di WP-CLI, mira a sbloccare le potenzialità WP REST API dalla linea di comando. Progetto sostenuto da Pressed, Chris Lema, Human Made, Pagely, Pantheon e molti altri. Scopri di più →

    +
    + +Collegamenti rapidi: [Utilizzo](#utilizzo) | [Installazione](#installazione) | [Supporto](#supporto) | [Estendere](#estendere) | [Contribuire](#contribuire) | [Crediti](#crediti) + +## Utilizzo + +L'obiettivo di WP-CLI è quello di fornire un interfaccia da linea di comando per le azioni che normalmente si possono effettuare attraverso l'area amministrativa. Per esempio, `wp plugin install --activate` ([doc](https://wp-cli.org/commands/plugin/install/)) vi permette di installare ed attivare un plugin di WordPress: + +```bash +$ wp plugin install rest-api --activate +Installing WordPress REST API (Version 2) (2.0-beta13) +Downloading install package from https://downloads.wordpress.org/plugin/rest-api.2.0-beta13.zip... +Unpacking the package... +Installing the plugin... +Plugin installed successfully. +Activating 'rest-api'... +Success: Plugin 'rest-api' activated. +``` + +WP-CLI include anche dei comandi per molte operazioni che normalmente non sarebbe possibile svolgere nell'area amministrativa di WordPress. Per esempio, `wp transient delete-all` ([doc](https://wp-cli.org/commands/transient/delete-all/)) vi permetterà di eliminare uno o tutti i transienti: + +```bash +$ wp transient delete-all +Success: 34 transients deleted from the database. +``` + +Per una più completa panoramica sull'utilizzo di WP-CLI, vi invitiamo a leggere la [Quick Start guide](https://wp-cli.org/docs/quick-start/). + +Vi sentite già a vostro agio con le basi? Andate dritti alla [lista completa dei comandi](https://wp-cli.org/commands/) per le informazioni dettagliate su come gestire temi e plugin, importare ed esportare dati, operare ricerche e sostituzioni nel database ed altro. + +## Installazione + +Come metodo di installazione, raccomandiamo di scaricare il Phar. Se vi occorre, leggete la nostra documentazione sui [metodi alternativi di installazione](https://wp-cli.org/docs/installing/). + +Prima di procedere con l'installazione di WP-CLI, vi preghiamo di assicurarvi che il vostro ambiente soddisfi i minimi requisiti richiesti: + +- Ambiente UNIX-like (OS X, Linux, FreeBSD, Cygwin); in ambienti Windows il supporto è limitato +- PHP 5.3.29 o successivo +- WordPress 3.7 o successivo + +Una volta che avrete verificato i requisiti, scaricate il file [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar) mediante `wget` o `curl`: + +```bash +$ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar +``` + +Successivamente, controllate il suo funzionamento: + +```bash +$ php wp-cli.phar --info +``` + +Per richiamare WP-CLI dalla linea di comando scrivendo `wp`, rendete il file eseguibile e spostatelo nel vostro PATH, ad esempio: + +```bash +$ chmod +x wp-cli.phar +$ sudo mv wp-cli.phar /usr/local/bin/wp +``` + +Se l'installazione di WP-CLI è andata a buon fine, lanciando il comando `wp --info`, dovreste vedere qualcosa di simile: + +```bash +$ wp --info +PHP binary: /usr/bin/php5 +PHP version: 5.5.9-1ubuntu4.14 +php.ini used: /etc/php5/cli/php.ini +WP-CLI root dir: /home/wp-cli/.wp-cli +WP-CLI packages dir: /home/wp-cli/.wp-cli/packages/ +WP-CLI global config: /home/wp-cli/.wp-cli/config.yml +WP-CLI project config: +WP-CLI version: 0.23.0 +``` + +### Aggiornamenti + +Potete aggiornare WP-CLI attraverso il comando `wp cli update` ([doc](https://wp-cli.org/commands/cli/update/)), oppure ripetendo i passi descritti per l'istallazione. + +Volete vivere sul filo del rasoio? Lanciate `wp cli update --nightly` per usare la versione quotidiana notturna di WP-CLI. La versione quotidiana notturna è sufficientemente stabile da essere utilizzata negli ambienti di sviluppo, e include sempre le ultime e migliori caratteristiche. + +### Autocompletamento + +WP-CLI inoltre mette a disposizione uno script per l'autocompletamento per Bash e ZSH. Basta scaricare [wp-completion.bash](https://github.com/wp-cli/wp-cli/raw/master/utils/wp-completion.bash) a attivarlo da `~/.bash_profile`: + +```bash +source /FULL/PATH/TO/wp-completion.bash +``` + +Alla fine del suo utilizzo, non dimenticate di reimpostare il profilo originale digitando `source ~/.bash_profile`. + +Se state usando la shell zsh, avrete bisogno di caricare ed avviare `bashcompinit` prima di impostare il profilo. Eseguite i seguenti comandi dalla vostra `.zshrc`: + +```bash +autoload bashcompinit +bashcompinit +source /FULL/PATH/TO/wp-completion.bash +``` + +## Supporto + +I manutentori e i contributori di WP-CLI sono volontari, hanno limitate disponibilità da dedicare al supporto generale. Primariamente, cercate delle risposte nelle seguenti risorse: + +- [Problemi comuni e le loro soluzioni](https://wp-cli.org/docs/common-issues/) +- [Portale della documentazione](https://wp-cli.org/docs/) +- [Problemi segnalati o estinti su Github](https://github.com/wp-cli/wp-cli/issues?utf8=%E2%9C%93&q=is%3Aissue) +- [Estratti di runcommand](https://runcommand.io/excerpts/) +- [Forum di WordPress su StackExchange](http://wordpress.stackexchange.com/questions/tagged/wp-cli) + +Se non trovare delle risposte in questi posti, entrate al canale `#cli` su [WordPress.org Slack organization](https://make.wordpress.org/chat/) per vedere se qualche membro della comunità può offrirvele. + +Le questioni su Github servono a tracciare migliorie e i bachi dei comandi esistenti, non per il supporto generico. Prima di sottoporre un rapporto su un baco, vi preghiamo di [rileggere le nostre procedure](https://wp-cli.org/docs/bug-reports/) per fare in modo che il vostro problema sia indirizzato in modo tempestivo. + +Vi preghiamo di non richiedere supporto su Twitter. Twitter non è un mezzo accettabile di supporto perché: 1) è difficile gestire una conversazione in meno di 140 caratteri, e 2) Twitter non è un luogo dove altre persone con il vostro stesso problema possano reperire facilmente la risposta tra le conversazioni. + +Ricordate, libero != gratis; la licenza di software libero vi garantisce la libertà di usare e di modificare, ma non di rubare tempo altrui. Per favore, siate rispettosi, e comportatevi di conseguenza. + +## Estendere + +Un **comando** è una funzionalità atomica di WP-CLI. `wp plugin install` ([doc](https://wp-cli.org/commands/plugin/install/)) è un comando. `wp plugin activate` ([doc](https://wp-cli.org/commands/plugin/activate/)) è un altro. + +WP-CLI supporta la dichiarazione di una qualsiasi classe richiamabile oppure una closure, come comando. Legge i dettagli attraverso la callback di PHPdoc. `WP_CLI::add_command()` ([doc](https://wp-cli.org/docs/internal-api/wp-cli-add-command/)) viene usata sia per le registrazioni dei comandi interni che per quelli di terze parti. + +```php +/** + * Cancella un opzione dal database. + * + * Restituisce un errore se l'opzione non esiste. + * + * ## OPZIONI + * + * + * : Key per l'opzione. + * + * ## ESEMPI + * + * $ wp option delete my_option + * Success: Opzione 'my_option' cancellata. + */ +$delete_option_cmd = function( $args ) { + list( $key ) = $args; + + if ( ! delete_option( $key ) ) { + WP_CLI::error( "Non posso eliminare l'opzione '$key'. Esiste?" ); + } else { + WP_CLI::success( "Opzione '$key' cancellata." ); + } +}; +WP_CLI::add_command( 'option delete', $delete_option_cmd ); +``` + +WP-CLI offre dozzine di comandi. Creare nuovi comandi personalizzati è più facile di quel che sembri. Leggete il [commands cookbook](https://wp-cli.org/docs/commands-cookbook/) per sapere di più. Consultate la [documentazione delle internal API](https://wp-cli.org/docs/internal-api/) per scoprire la varietà di utili funzioni disponibili per i vostri comandi WP-CLI. + +## Contribuire + +Benvenuti e grazie! + +Apprezziamo che vogliate prendere parte e contribuire a WP-CLI. È per merito vostro e della comunità che vi gravita attorno se WP-CLI è un grande progetto. + +**Contribuire non si limita soltanto alla programmazione** + +Vi incoraggiamo a contribuire nel modo che meglio rispecchia le vostre abilità, scrivendo tutorial, offrendo dimostrazioni durante i vostri incontri locali, prestare aiuto ad altri utenti riguardo le loro richieste di aiuto, o revisionando la documentazione. + +Vi preghiamo di riservare un po' di tempo da dedicare alla [lettura approfondita delle linee guida](https://wp-cli.org/docs/contributing/). Seguirle dimostra il rispetto dei tempi altrui sul progetto. + +## Coordinamento + +WP-CLI è guidato dai seguenti individui: + +* [Daniel Bachhuber](https://github.com/danielbachhuber/) - manutentore corrente +* [Cristi Burcă](https://github.com/scribu) - manutentore precedente +* [Andreas Creten](https://github.com/andreascreten) - fondatore + +Leggi di più riguardo la [politica del progetto](https://wp-cli.org/docs/governance/) e guarda la [lista completa dei contributori](https://github.com/wp-cli/wp-cli/contributors). + +## Crediti + +Oltre alle librerie definite in [composer.json](composer.json), abbiamo adottato codice o spunti dai seguenti progetti: + +* [Drush](http://drush.ws/) per... un mucchio di cose +* [wpshell](http://code.trac.wordpress.org/browser/wpshell) per `wp shell` +* [Regenerate Thumbnails](http://wordpress.org/plugins/regenerate-thumbnails/) per `wp media regenerate` +* [Search-Replace-DB](https://github.com/interconnectit/Search-Replace-DB) per `wp search-replace` +* [WordPress-CLI-Exporter](https://github.com/Automattic/WordPress-CLI-Exporter) per `wp export` +* [WordPress-CLI-Importer](https://github.com/Automattic/WordPress-CLI-Importer) per `wp import` +* [wordpress-plugin-tests](https://github.com/benbalter/wordpress-plugin-tests/) per `wp scaffold plugin-tests` From b5ef868737b744a4e8c982f12b22a7fb9145e037 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 25 Aug 2016 08:57:48 -0700 Subject: [PATCH 803/839] Update 2016-08-09-support-policy.md --- _posts/2016-08-09-support-policy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2016-08-09-support-policy.md b/_posts/2016-08-09-support-policy.md index de6955c7..e59f4cde 100644 --- a/_posts/2016-08-09-support-policy.md +++ b/_posts/2016-08-09-support-policy.md @@ -14,6 +14,6 @@ Have a question about something related to WP-CLI? You might find an answer in o - [runcommand Excerpts](https://runcommand.io/excerpts/) - [WordPress StackExchange forums](http://wordpress.stackexchange.com/questions/tagged/wp-cli) -If you can't find your answer at one of those links, the [WordPress StackExchange](http://wordpress.stackexchange.com/) can be used for development-related WP-CLI questions. Or, join the `#cli` channel on the [WordPress.org Slack organization](https://make.wordpress.org/chat/) to see if a community member might have an answer for you. +If you can’t find your answer at one of those links, join the `#cli` channel on the [WordPress.org Slack organization](https://make.wordpress.org/chat/) to see if a community member might have an answer for you. Professional users may also consider [runcommand](https://runcommand.io/) for premium support. Using WP-CLI professionally? We encourage you to purchase support from a [regular WP-CLI contributor](https://github.com/wp-cli/wp-cli/graphs/contributors). Libre != gratis; the open source license grants you the freedom to use and modify, but not commitments of other people's time. Participating responsibly in the economic ecosystem around an open source tool you depend upon helps to ensure the long-term health of the project. From 4a829ff27978e4aa28b09b49c398dee59563cfa1 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 25 Aug 2016 09:05:11 -0700 Subject: [PATCH 804/839] More clarity for using with MAMP --- docs/installing/index.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/installing/index.md b/docs/installing/index.md index 5880f753..a42880b0 100644 --- a/docs/installing/index.md +++ b/docs/installing/index.md @@ -199,15 +199,18 @@ On Debian or Ubuntu, just download and open one of the .deb packages: Date: Thu, 25 Aug 2016 09:11:14 -0700 Subject: [PATCH 805/839] Update index.md --- docs/installing/index.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/installing/index.md b/docs/installing/index.md index a42880b0..ba839a99 100644 --- a/docs/installing/index.md +++ b/docs/installing/index.md @@ -204,6 +204,12 @@ To use the latest PHP version provided by MAMP, you'll need to modify your `PATH PHP_VERSION=ls /Applications/MAMP/bin/php/ | sort -n | tail -1 export PATH=/Applications/MAMP/bin/php/${PHP_VERSION}/bin:$PATH +To use a specific PHP version provided by MAMP, you'll need to determine the path to the PHP version's executable, and modify your `PATH` environment variable with the following added to your `~/.bash_profile` or `~/.zsh_profile`: + + export PATH=/Applications/MAMP/bin/php/php5.5.26/bin:$PATH + +Note there's no assignment of the `PHP_VERSION` variable in this case, because we aren't dynamically looking up the latest PHP version. + Once you have added that and saved the file, reload the file with: source ~/.bash_profile From a80a78bdbb85bd6785d692345a44ff3f3127f46d Mon Sep 17 00:00:00 2001 From: Evan Mattson Date: Fri, 26 Aug 2016 23:41:57 +0400 Subject: [PATCH 806/839] fix typo --- config/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/index.md b/config/index.md index a7a857b3..78713644 100644 --- a/config/index.md +++ b/config/index.md @@ -99,7 +99,7 @@ Here's an annotated example `wp-cli.yml` file: # Merge subcommand defaults from the upstream config.yml, instead of overriding merge: true # Inherit configuration from an arbitrary YAML file - inhert: prod.yml + inherit: prod.yml ## Environment variables From 168e9f584ca205fb6b79d84b9bcfee9481e16605 Mon Sep 17 00:00:00 2001 From: Guillaume Molter Date: Thu, 1 Sep 2016 11:02:40 -0400 Subject: [PATCH 807/839] Removing extra parenthesis Closing https://github.com/wp-cli/wp-cli/issues/3366 --- docs/common-issues/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/common-issues/index.md b/docs/common-issues/index.md index 91bd9352..039fd180 100644 --- a/docs/common-issues/index.md +++ b/docs/common-issues/index.md @@ -57,7 +57,7 @@ Before accessing a value on the `$_SERVER` superglobal, you should check if the When using `$_SERVER['HTTP_HOST']` in your `wp-config.php`, you'll need to set a default value in WP-CLI context: - if ( defined( 'WP_CLI' ) && WP_CLI ) && ! isset( $_SERVER['HTTP_HOST'] ) { + if ( defined( 'WP_CLI' ) && WP_CLI && ! isset( $_SERVER['HTTP_HOST'] ) { $_SERVER['HTTP_HOST'] = 'wp-cli.org'; } From 152e149e3ca0c25c08779079094673e04d6e8c1e Mon Sep 17 00:00:00 2001 From: Guillaume Molter Date: Thu, 1 Sep 2016 11:47:01 -0400 Subject: [PATCH 808/839] Re-adding the parenthesis but at the correct spot Closing https://github.com/wp-cli/wp-cli/issues/3366 --- docs/common-issues/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/common-issues/index.md b/docs/common-issues/index.md index 039fd180..38fa6381 100644 --- a/docs/common-issues/index.md +++ b/docs/common-issues/index.md @@ -57,7 +57,7 @@ Before accessing a value on the `$_SERVER` superglobal, you should check if the When using `$_SERVER['HTTP_HOST']` in your `wp-config.php`, you'll need to set a default value in WP-CLI context: - if ( defined( 'WP_CLI' ) && WP_CLI && ! isset( $_SERVER['HTTP_HOST'] ) { + if ( defined( 'WP_CLI' ) && WP_CLI && ! isset( $_SERVER['HTTP_HOST'] ) ) { $_SERVER['HTTP_HOST'] = 'wp-cli.org'; } From 517f4c67eb1b1f26a9e2fcf56b537ae4bf8757f4 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 2 Sep 2016 05:56:41 -0700 Subject: [PATCH 809/839] Point users to using a custom PHP binary; move installation hangs down --- docs/common-issues/index.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/common-issues/index.md b/docs/common-issues/index.md index 38fa6381..d43a7cea 100644 --- a/docs/common-issues/index.md +++ b/docs/common-issues/index.md @@ -5,10 +5,6 @@ description: In case of fire, break glass. category: Guides --- -### The installation hangs - -If the installation seems to hang forever while trying to clone the resources from GitHub, please ensure that you are allowed to connect to Github using SSL (port 443) and Git (port 9418) for outbound connections. - ### Error: Can't connect to the database A few possibilities: @@ -17,7 +13,7 @@ a) you're using MAMP, but WP-CLI is not using the MAMP PHP binary. You can check which PHP WP-CLI is using by running `wp --info`. -Set or update the `WP_CLI_PHP` environment variable with the path to the MAMP PHP. +If you need to specify an alternate PHP binary, see [using a custom PHP binary](http://wp-cli.org/docs/installing/#using-a-custom-php-binary). b) it's a WordPress multisite install. @@ -79,6 +75,10 @@ Quick fix, other than disabling the protection, is to pass the user parameter: ` See also: [#477](https://github.com/wp-cli/wp-cli/issues/477) +### The installation hangs + +If the installation seems to hang forever while trying to clone the resources from GitHub, please ensure that you are allowed to connect to Github using SSL (port 443) and Git (port 9418) for outbound connections. + ### W3 Total Cache Error: some files appear to be missing or out of place. W3 Total Cache object caching can cause this problem. Disabling object caching and optionally removing `wp-content/object-cache.php` will allow WP-CLI to work again. From 46a8aee866dd1bf73f5a28cf1319314514915ea8 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 2 Sep 2016 06:15:26 -0700 Subject: [PATCH 810/839] Document how to solve conflict between global and local args --- config/index.md | 1 + docs/common-issues/index.md | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/config/index.md b/config/index.md index 78713644..e3f316fa 100644 --- a/config/index.md +++ b/config/index.md @@ -110,6 +110,7 @@ WP-CLI's behavior can be changed at runtime through the use of environment varia * `WP_CLI_DISABLE_AUTO_CHECK_UPDATE` - Disable WP-CLI automatic checks for updates. * `WP_CLI_PACKAGES_DIR` - Directory to store packages installed through WP-CLI's package management. Default is `~/.wp-cli/packages/`. * `WP_CLI_SSH_PRE_CMD` - When using `--ssh=`, perform a command before WP-CLI calls WP-CLI on the remote server. +* `WP_CLI_STRICT_ARGS_MODE` - Avoid ambiguity by telling WP-CLI to treat any arguments before the command as global, and after the command as local. To set an environment variable on demand, simply place the environment variable definition before the WP-CLI command you mean to run. diff --git a/docs/common-issues/index.md b/docs/common-issues/index.md index d43a7cea..d6dc9d39 100644 --- a/docs/common-issues/index.md +++ b/docs/common-issues/index.md @@ -67,6 +67,25 @@ If you're using `$_SERVER['document_root']` in your `wp-config.php` file, you sh See also: [#785](https://github.com/wp-cli/wp-cli/issues/785) +### Conflict between global parameters and command arguments + +All of the [global parameters](http://wp-cli.org/config/) (e.g. `--url=`) may conflict with the arguments you'd like to accept for your command. For instance, adding a RSS widget to a sidebar will not populate the feed URL for that widget: + + + $ wp widget add rss sidebar-1 1 --url="http://www.smashingmagazine.com/feed/" --items=3 + Success: Added widget to sidebar. + +* Expected result: widget has the feed URL set. +* Actual result: widget is added with the number of items set to 3, but with empty feed URL. + +Use the `WP_CLI_STRICT_ARGS_MODE` environment variable to tell WP-CLI to treat any arguments before the command as global, and after the command as local: + + WP_CLI_STRICT_ARGS_MODE=1 wp --url=wp.dev/site2 widget add rss sidebar-1 1 --url="http://wp-cli.org/feed/" + +In this example, `--url=wp.dev/site2` is the global argument, setting WP-CLI to run against 'site2' on a WP multisite install. `--url="http://wp-cli.org/feed/"` is the local argument, setting the RSS feed widget with the proper URL. + +See also: [#3128](https://github.com/wp-cli/wp-cli/pull/3128) + ### Warning: Some code is trying to do a URL redirect Most of the time, it's some plugin or theme code that disables wp-admin access to non-admins. From 58f67ccaf161734abaf1349b3be8838d2f94d919 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 2 Sep 2016 06:27:59 -0700 Subject: [PATCH 811/839] Document the `--allow-root` flag --- docs/common-issues/index.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/common-issues/index.md b/docs/common-issues/index.md index d6dc9d39..81287842 100644 --- a/docs/common-issues/index.md +++ b/docs/common-issues/index.md @@ -41,6 +41,14 @@ See also: [#1631](https://github.com/wp-cli/wp-cli/issues/1631) Please ensure you have the php-process extension installed. For example for Centos 6: `yum install php-process` +### Error: YIKES! It looks like you're running this as root. + +Running WP-CLI as root is extremely dangerous. When you execute WP-CLI as root, any code within your WordPress instance (including third-party plugins and themes you've installed) will have full privileges to the entire server. This can enable malicious code within the WordPress instance to compromise the entire server. + +The WP-CLI project strongly discourages running WP-CLI as root. + +See also: [#973](https://github.com/wp-cli/wp-cli/pull/973#issuecomment-35842969) + ### PHP notice: Undefined index on `$_SERVER` superglobal The `$_SERVER` superglobal is an array typically populated by a web server with information such as headers, paths, and script locations. PHP CLI doesn't populate this variable, nor does WP-CLI, because many of the variable details are meaningless at the command line. From a04f98de6ff95bd80c69f2c37fd48692ecfedcec Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 2 Sep 2016 09:10:04 -0700 Subject: [PATCH 812/839] Add breadcrumbs to command pages --- Phakefile.php | 10 ++++++++++ _layouts/doc.html | 2 +- _templates/internal-api.mustache | 2 +- _templates/subcmd-list.mustache | 2 ++ commands/cache/add/index.md | 2 ++ commands/cache/decr/index.md | 2 ++ commands/cache/delete/index.md | 2 ++ commands/cache/flush/index.md | 2 ++ commands/cache/get/index.md | 2 ++ commands/cache/incr/index.md | 2 ++ commands/cache/index.md | 2 ++ commands/cache/replace/index.md | 2 ++ commands/cache/set/index.md | 2 ++ commands/cache/type/index.md | 2 ++ commands/cap/add/index.md | 2 ++ commands/cap/index.md | 2 ++ commands/cap/list/index.md | 2 ++ commands/cap/remove/index.md | 2 ++ commands/cli/alias/index.md | 2 ++ commands/cli/check-update/index.md | 2 ++ commands/cli/cmd-dump/index.md | 2 ++ commands/cli/completions/index.md | 2 ++ commands/cli/index.md | 2 ++ commands/cli/info/index.md | 2 ++ commands/cli/param-dump/index.md | 2 ++ commands/cli/update/index.md | 2 ++ commands/cli/version/index.md | 2 ++ commands/comment/approve/index.md | 2 ++ commands/comment/count/index.md | 2 ++ commands/comment/create/index.md | 2 ++ commands/comment/delete/index.md | 2 ++ commands/comment/exists/index.md | 2 ++ commands/comment/generate/index.md | 2 ++ commands/comment/get/index.md | 2 ++ commands/comment/index.md | 2 ++ commands/comment/list/index.md | 2 ++ commands/comment/meta/add/index.md | 2 ++ commands/comment/meta/delete/index.md | 2 ++ commands/comment/meta/get/index.md | 2 ++ commands/comment/meta/index.md | 2 ++ commands/comment/meta/list/index.md | 2 ++ commands/comment/meta/update/index.md | 2 ++ commands/comment/recount/index.md | 2 ++ commands/comment/spam/index.md | 2 ++ commands/comment/status/index.md | 2 ++ commands/comment/trash/index.md | 2 ++ commands/comment/unapprove/index.md | 2 ++ commands/comment/unspam/index.md | 2 ++ commands/comment/untrash/index.md | 2 ++ commands/comment/update/index.md | 2 ++ commands/comment/url/index.md | 2 ++ commands/core/check-update/index.md | 2 ++ commands/core/config/index.md | 2 ++ commands/core/download/index.md | 2 ++ commands/core/index.md | 2 ++ commands/core/install/index.md | 2 ++ commands/core/is-installed/index.md | 2 ++ commands/core/language/activate/index.md | 2 ++ commands/core/language/index.md | 2 ++ commands/core/language/install/index.md | 2 ++ commands/core/language/list/index.md | 2 ++ commands/core/language/uninstall/index.md | 2 ++ commands/core/language/update/index.md | 2 ++ commands/core/multisite-convert/index.md | 2 ++ commands/core/multisite-install/index.md | 2 ++ commands/core/update-db/index.md | 2 ++ commands/core/update/index.md | 2 ++ commands/core/verify-checksums/index.md | 2 ++ commands/core/version/index.md | 2 ++ commands/cron/event/delete/index.md | 2 ++ commands/cron/event/index.md | 2 ++ commands/cron/event/list/index.md | 2 ++ commands/cron/event/run/index.md | 2 ++ commands/cron/event/schedule/index.md | 2 ++ commands/cron/index.md | 2 ++ commands/cron/schedule/index.md | 2 ++ commands/cron/schedule/list/index.md | 2 ++ commands/cron/test/index.md | 2 ++ commands/db/cli/index.md | 2 ++ commands/db/create/index.md | 2 ++ commands/db/drop/index.md | 2 ++ commands/db/export/index.md | 2 ++ commands/db/import/index.md | 2 ++ commands/db/index.md | 2 ++ commands/db/optimize/index.md | 2 ++ commands/db/query/index.md | 2 ++ commands/db/repair/index.md | 2 ++ commands/db/reset/index.md | 2 ++ commands/db/tables/index.md | 2 ++ commands/eval-file/index.md | 2 ++ commands/eval/index.md | 2 ++ commands/export/index.md | 2 ++ commands/help/index.md | 2 ++ commands/import/index.md | 2 ++ commands/media/import/index.md | 2 ++ commands/media/index.md | 2 ++ commands/media/regenerate/index.md | 2 ++ commands/menu/create/index.md | 2 ++ commands/menu/delete/index.md | 2 ++ commands/menu/index.md | 2 ++ commands/menu/item/add-custom/index.md | 2 ++ commands/menu/item/add-post/index.md | 2 ++ commands/menu/item/add-term/index.md | 2 ++ commands/menu/item/delete/index.md | 2 ++ commands/menu/item/index.md | 2 ++ commands/menu/item/list/index.md | 2 ++ commands/menu/item/update/index.md | 2 ++ commands/menu/list/index.md | 2 ++ commands/menu/location/assign/index.md | 2 ++ commands/menu/location/index.md | 2 ++ commands/menu/location/list/index.md | 2 ++ commands/menu/location/remove/index.md | 2 ++ commands/network/index.md | 2 ++ commands/network/meta/add/index.md | 2 ++ commands/network/meta/delete/index.md | 2 ++ commands/network/meta/get/index.md | 2 ++ commands/network/meta/index.md | 2 ++ commands/network/meta/list/index.md | 2 ++ commands/network/meta/update/index.md | 2 ++ commands/option/add/index.md | 2 ++ commands/option/delete/index.md | 2 ++ commands/option/get/index.md | 2 ++ commands/option/index.md | 2 ++ commands/option/list/index.md | 2 ++ commands/option/update/index.md | 2 ++ commands/package/browse/index.md | 2 ++ commands/package/index.md | 2 ++ commands/package/install/index.md | 2 ++ commands/package/list/index.md | 2 ++ commands/package/path/index.md | 2 ++ commands/package/uninstall/index.md | 2 ++ commands/plugin/activate/index.md | 2 ++ commands/plugin/deactivate/index.md | 2 ++ commands/plugin/delete/index.md | 2 ++ commands/plugin/get/index.md | 2 ++ commands/plugin/index.md | 2 ++ commands/plugin/install/index.md | 2 ++ commands/plugin/is-installed/index.md | 2 ++ commands/plugin/list/index.md | 2 ++ commands/plugin/path/index.md | 2 ++ commands/plugin/search/index.md | 2 ++ commands/plugin/status/index.md | 2 ++ commands/plugin/toggle/index.md | 2 ++ commands/plugin/uninstall/index.md | 2 ++ commands/plugin/update/index.md | 2 ++ commands/post-type/get/index.md | 2 ++ commands/post-type/index.md | 2 ++ commands/post-type/list/index.md | 2 ++ commands/post/create/index.md | 2 ++ commands/post/delete/index.md | 2 ++ commands/post/edit/index.md | 2 ++ commands/post/generate/index.md | 2 ++ commands/post/get/index.md | 2 ++ commands/post/index.md | 2 ++ commands/post/list/index.md | 2 ++ commands/post/meta/add/index.md | 2 ++ commands/post/meta/delete/index.md | 2 ++ commands/post/meta/get/index.md | 2 ++ commands/post/meta/index.md | 2 ++ commands/post/meta/list/index.md | 2 ++ commands/post/meta/update/index.md | 2 ++ commands/post/term/add/index.md | 2 ++ commands/post/term/index.md | 2 ++ commands/post/term/list/index.md | 2 ++ commands/post/term/remove/index.md | 2 ++ commands/post/term/set/index.md | 2 ++ commands/post/update/index.md | 2 ++ commands/rewrite/flush/index.md | 2 ++ commands/rewrite/index.md | 2 ++ commands/rewrite/list/index.md | 2 ++ commands/rewrite/structure/index.md | 2 ++ commands/role/create/index.md | 2 ++ commands/role/delete/index.md | 2 ++ commands/role/exists/index.md | 2 ++ commands/role/index.md | 2 ++ commands/role/list/index.md | 2 ++ commands/role/reset/index.md | 2 ++ commands/scaffold/_s/index.md | 2 ++ commands/scaffold/child-theme/index.md | 2 ++ commands/scaffold/index.md | 2 ++ commands/scaffold/plugin-tests/index.md | 2 ++ commands/scaffold/plugin/index.md | 2 ++ commands/scaffold/post-type/index.md | 2 ++ commands/scaffold/taxonomy/index.md | 2 ++ commands/search-replace/index.md | 2 ++ commands/server/index.md | 2 ++ commands/shell/index.md | 2 ++ commands/sidebar/index.md | 2 ++ commands/sidebar/list/index.md | 2 ++ commands/site/activate/index.md | 2 ++ commands/site/archive/index.md | 2 ++ commands/site/create/index.md | 2 ++ commands/site/deactivate/index.md | 2 ++ commands/site/delete/index.md | 2 ++ commands/site/empty/index.md | 2 ++ commands/site/index.md | 2 ++ commands/site/list/index.md | 2 ++ commands/site/spam/index.md | 2 ++ commands/site/unarchive/index.md | 2 ++ commands/site/unspam/index.md | 2 ++ commands/super-admin/add/index.md | 2 ++ commands/super-admin/index.md | 2 ++ commands/super-admin/list/index.md | 2 ++ commands/super-admin/remove/index.md | 2 ++ commands/taxonomy/get/index.md | 4 +++- commands/taxonomy/index.md | 2 ++ commands/taxonomy/list/index.md | 2 ++ commands/term/create/index.md | 2 ++ commands/term/delete/index.md | 2 ++ commands/term/generate/index.md | 2 ++ commands/term/get/index.md | 2 ++ commands/term/index.md | 2 ++ commands/term/list/index.md | 2 ++ commands/term/meta/add/index.md | 2 ++ commands/term/meta/delete/index.md | 2 ++ commands/term/meta/get/index.md | 2 ++ commands/term/meta/index.md | 2 ++ commands/term/meta/list/index.md | 2 ++ commands/term/meta/update/index.md | 2 ++ commands/term/recount/index.md | 2 ++ commands/term/update/index.md | 2 ++ commands/term/url/index.md | 2 ++ commands/theme/activate/index.md | 2 ++ commands/theme/delete/index.md | 2 ++ commands/theme/disable/index.md | 2 ++ commands/theme/enable/index.md | 2 ++ commands/theme/get/index.md | 2 ++ commands/theme/index.md | 2 ++ commands/theme/install/index.md | 2 ++ commands/theme/is-installed/index.md | 2 ++ commands/theme/list/index.md | 2 ++ commands/theme/mod/get/index.md | 2 ++ commands/theme/mod/index.md | 2 ++ commands/theme/mod/remove/index.md | 2 ++ commands/theme/mod/set/index.md | 2 ++ commands/theme/path/index.md | 2 ++ commands/theme/search/index.md | 2 ++ commands/theme/status/index.md | 2 ++ commands/theme/update/index.md | 2 ++ commands/transient/delete-all/index.md | 2 ++ commands/transient/delete-expired/index.md | 2 ++ commands/transient/delete/index.md | 2 ++ commands/transient/get/index.md | 2 ++ commands/transient/index.md | 2 ++ commands/transient/set/index.md | 2 ++ commands/transient/type/index.md | 2 ++ commands/user/add-cap/index.md | 2 ++ commands/user/add-role/index.md | 2 ++ commands/user/create/index.md | 2 ++ commands/user/delete/index.md | 2 ++ commands/user/generate/index.md | 2 ++ commands/user/get/index.md | 2 ++ commands/user/import-csv/index.md | 2 ++ commands/user/index.md | 2 ++ commands/user/list-caps/index.md | 2 ++ commands/user/list/index.md | 2 ++ commands/user/meta/add/index.md | 2 ++ commands/user/meta/delete/index.md | 2 ++ commands/user/meta/get/index.md | 2 ++ commands/user/meta/index.md | 2 ++ commands/user/meta/list/index.md | 2 ++ commands/user/meta/update/index.md | 2 ++ commands/user/remove-cap/index.md | 2 ++ commands/user/remove-role/index.md | 2 ++ commands/user/set-role/index.md | 2 ++ commands/user/term/add/index.md | 2 ++ commands/user/term/index.md | 2 ++ commands/user/term/list/index.md | 2 ++ commands/user/term/remove/index.md | 2 ++ commands/user/term/set/index.md | 2 ++ commands/user/update/index.md | 2 ++ commands/widget/add/index.md | 2 ++ commands/widget/deactivate/index.md | 2 ++ commands/widget/delete/index.md | 2 ++ commands/widget/index.md | 2 ++ commands/widget/list/index.md | 2 ++ commands/widget/move/index.md | 2 ++ commands/widget/reset/index.md | 2 ++ commands/widget/update/index.md | 2 ++ docs/internal-api/wp-cli-add-command/index.md | 2 +- docs/internal-api/wp-cli-add-hook/index.md | 2 +- docs/internal-api/wp-cli-add-wp-hook/index.md | 2 +- docs/internal-api/wp-cli-colorize/index.md | 2 +- docs/internal-api/wp-cli-confirm/index.md | 2 +- docs/internal-api/wp-cli-debug/index.md | 2 +- docs/internal-api/wp-cli-do-hook/index.md | 2 +- docs/internal-api/wp-cli-error-multi-line/index.md | 2 +- docs/internal-api/wp-cli-error/index.md | 2 +- docs/internal-api/wp-cli-get-config/index.md | 2 +- docs/internal-api/wp-cli-get-php-binary/index.md | 2 +- docs/internal-api/wp-cli-launch-self/index.md | 2 +- docs/internal-api/wp-cli-launch/index.md | 2 +- docs/internal-api/wp-cli-line/index.md | 2 +- docs/internal-api/wp-cli-log/index.md | 2 +- docs/internal-api/wp-cli-read-value/index.md | 2 +- docs/internal-api/wp-cli-run-command/index.md | 2 +- docs/internal-api/wp-cli-success/index.md | 2 +- docs/internal-api/wp-cli-utils-format-items/index.md | 2 +- docs/internal-api/wp-cli-utils-get-flag-value/index.md | 2 +- .../wp-cli-utils-get-named-sem-ver/index.md | 2 +- docs/internal-api/wp-cli-utils-get-temp-dir/index.md | 2 +- docs/internal-api/wp-cli-utils-http-request/index.md | 2 +- .../wp-cli-utils-launch-editor-for-input/index.md | 2 +- .../wp-cli-utils-make-progress-bar/index.md | 2 +- docs/internal-api/wp-cli-utils-parse-ssh-url/index.md | 2 +- docs/internal-api/wp-cli-utils-write-csv/index.md | 2 +- docs/internal-api/wp-cli-warning/index.md | 2 +- 307 files changed, 593 insertions(+), 31 deletions(-) diff --git a/Phakefile.php b/Phakefile.php index 78b45f76..41aed39a 100644 --- a/Phakefile.php +++ b/Phakefile.php @@ -46,6 +46,16 @@ function gen_cmd_pages( $cmd, $parent = array() ) { $binding = $cmd; $binding['synopsis'] = implode( ' ', $parent ); $binding['path'] = implode( '/', $parent ); + $path = '/commands/'; + $binding['breadcrumbs'] = '[Commands](' . $path . ')'; + foreach( $parent as $i => $p ) { + $path .= $p . '/'; + if ( $i < ( count( $parent ) - 1 ) ) { + $binding['breadcrumbs'] .= " » [{$p}]({$path})"; + } else { + $binding['breadcrumbs'] .= " » {$p}"; + } + } $binding['has-subcommands'] = isset( $cmd['subcommands'] ) ? array(true) : false; if ( $cmd['longdesc'] ) { diff --git a/_layouts/doc.html b/_layouts/doc.html index a35bfaf2..cf381e81 100644 --- a/_layouts/doc.html +++ b/_layouts/doc.html @@ -5,7 +5,7 @@ Edit {% if page_url != '/docs/' %} -Docs » {{ page.category }} +Docs » {{ page.category }} {% endif %}

    {{ page.title }}

    diff --git a/_templates/internal-api.mustache b/_templates/internal-api.mustache index 776a5804..4be04f9c 100644 --- a/_templates/internal-api.mustache +++ b/_templates/internal-api.mustache @@ -4,7 +4,7 @@ title: {{full_name}}() description: "{{phpdoc.short_description}}" --- -Docs » Internal API » {{category}} +Docs » Internal API » {{category}} ## {{full_name}}() diff --git a/_templates/subcmd-list.mustache b/_templates/subcmd-list.mustache index c7795a52..0a7ca364 100644 --- a/_templates/subcmd-list.mustache +++ b/_templates/subcmd-list.mustache @@ -4,6 +4,8 @@ title: 'wp {{synopsis}}' display_global_parameters: true --- +{{{breadcrumbs}}} + `wp {{synopsis}}` - {{description}} Quick links: Github issues diff --git a/commands/cache/add/index.md b/commands/cache/add/index.md index cbd85cf3..2c5688d5 100644 --- a/commands/cache/add/index.md +++ b/commands/cache/add/index.md @@ -4,6 +4,8 @@ title: 'wp cache add' display_global_parameters: true --- +[Commands](/commands/) » [cache](/commands/cache/) » add + `wp cache add` - Add a value to the object cache. Quick links: Github issues diff --git a/commands/cache/decr/index.md b/commands/cache/decr/index.md index 9e6ff792..d3f694c0 100644 --- a/commands/cache/decr/index.md +++ b/commands/cache/decr/index.md @@ -4,6 +4,8 @@ title: 'wp cache decr' display_global_parameters: true --- +[Commands](/commands/) » [cache](/commands/cache/) » decr + `wp cache decr` - Decrement a value in the object cache. Quick links: Github issues diff --git a/commands/cache/delete/index.md b/commands/cache/delete/index.md index 26a1332c..5071c756 100644 --- a/commands/cache/delete/index.md +++ b/commands/cache/delete/index.md @@ -4,6 +4,8 @@ title: 'wp cache delete' display_global_parameters: true --- +[Commands](/commands/) » [cache](/commands/cache/) » delete + `wp cache delete` - Remove a value from the object cache. Quick links: Github issues diff --git a/commands/cache/flush/index.md b/commands/cache/flush/index.md index 5c97fdcd..4144dff4 100644 --- a/commands/cache/flush/index.md +++ b/commands/cache/flush/index.md @@ -4,6 +4,8 @@ title: 'wp cache flush' display_global_parameters: true --- +[Commands](/commands/) » [cache](/commands/cache/) » flush + `wp cache flush` - Flush the object cache. Quick links: Github issues diff --git a/commands/cache/get/index.md b/commands/cache/get/index.md index b45c8cc9..5b84a6ae 100644 --- a/commands/cache/get/index.md +++ b/commands/cache/get/index.md @@ -4,6 +4,8 @@ title: 'wp cache get' display_global_parameters: true --- +[Commands](/commands/) » [cache](/commands/cache/) » get + `wp cache get` - Get a value from the object cache. Quick links: Github issues diff --git a/commands/cache/incr/index.md b/commands/cache/incr/index.md index 6f1aeaf7..d926f2ce 100644 --- a/commands/cache/incr/index.md +++ b/commands/cache/incr/index.md @@ -4,6 +4,8 @@ title: 'wp cache incr' display_global_parameters: true --- +[Commands](/commands/) » [cache](/commands/cache/) » incr + `wp cache incr` - Increment a value in the object cache. Quick links: Github issues diff --git a/commands/cache/index.md b/commands/cache/index.md index d0810a07..357e9557 100644 --- a/commands/cache/index.md +++ b/commands/cache/index.md @@ -4,6 +4,8 @@ title: 'wp cache' display_global_parameters: true --- +[Commands](/commands/) » cache + `wp cache` - Manage the object cache. Quick links: Github issues diff --git a/commands/cache/replace/index.md b/commands/cache/replace/index.md index 75dab07d..aa531cd1 100644 --- a/commands/cache/replace/index.md +++ b/commands/cache/replace/index.md @@ -4,6 +4,8 @@ title: 'wp cache replace' display_global_parameters: true --- +[Commands](/commands/) » [cache](/commands/cache/) » replace + `wp cache replace` - Replace a value in the object cache, if the value already exists. Quick links: Github issues diff --git a/commands/cache/set/index.md b/commands/cache/set/index.md index 8b4ef773..de3e6967 100644 --- a/commands/cache/set/index.md +++ b/commands/cache/set/index.md @@ -4,6 +4,8 @@ title: 'wp cache set' display_global_parameters: true --- +[Commands](/commands/) » [cache](/commands/cache/) » set + `wp cache set` - Set a value to the object cache, regardless of whether it already exists. Quick links: Github issues diff --git a/commands/cache/type/index.md b/commands/cache/type/index.md index 4af34e72..588ed9ad 100644 --- a/commands/cache/type/index.md +++ b/commands/cache/type/index.md @@ -4,6 +4,8 @@ title: 'wp cache type' display_global_parameters: true --- +[Commands](/commands/) » [cache](/commands/cache/) » type + `wp cache type` - Attempts to determine which object cache is being used. Quick links: Github issues diff --git a/commands/cap/add/index.md b/commands/cap/add/index.md index 256021a8..d5afff25 100644 --- a/commands/cap/add/index.md +++ b/commands/cap/add/index.md @@ -4,6 +4,8 @@ title: 'wp cap add' display_global_parameters: true --- +[Commands](/commands/) » [cap](/commands/cap/) » add + `wp cap add` - Add capabilities to a given role. Quick links: Github issues diff --git a/commands/cap/index.md b/commands/cap/index.md index 55b2a3de..0c278915 100644 --- a/commands/cap/index.md +++ b/commands/cap/index.md @@ -4,6 +4,8 @@ title: 'wp cap' display_global_parameters: true --- +[Commands](/commands/) » cap + `wp cap` - Manage user capabilities. Quick links: Github issues diff --git a/commands/cap/list/index.md b/commands/cap/list/index.md index eae0ab7e..022a4e8d 100644 --- a/commands/cap/list/index.md +++ b/commands/cap/list/index.md @@ -4,6 +4,8 @@ title: 'wp cap list' display_global_parameters: true --- +[Commands](/commands/) » [cap](/commands/cap/) » list + `wp cap list` - List capabilities for a given role. Quick links: Github issues diff --git a/commands/cap/remove/index.md b/commands/cap/remove/index.md index b661ff1c..80c4548c 100644 --- a/commands/cap/remove/index.md +++ b/commands/cap/remove/index.md @@ -4,6 +4,8 @@ title: 'wp cap remove' display_global_parameters: true --- +[Commands](/commands/) » [cap](/commands/cap/) » remove + `wp cap remove` - Remove capabilities from a given role. Quick links: Github issues diff --git a/commands/cli/alias/index.md b/commands/cli/alias/index.md index ae41855e..99e5b488 100644 --- a/commands/cli/alias/index.md +++ b/commands/cli/alias/index.md @@ -4,6 +4,8 @@ title: 'wp cli alias' display_global_parameters: true --- +[Commands](/commands/) » [cli](/commands/cli/) » alias + `wp cli alias` - List available aliases. Quick links: Github issues diff --git a/commands/cli/check-update/index.md b/commands/cli/check-update/index.md index 16efbb4f..0bd7b4be 100644 --- a/commands/cli/check-update/index.md +++ b/commands/cli/check-update/index.md @@ -4,6 +4,8 @@ title: 'wp cli check-update' display_global_parameters: true --- +[Commands](/commands/) » [cli](/commands/cli/) » check-update + `wp cli check-update` - Check for update via Github API. Returns the available versions if there are updates, or empty if no update available. Quick links: Github issues diff --git a/commands/cli/cmd-dump/index.md b/commands/cli/cmd-dump/index.md index 7cc59aa6..943ab8a9 100644 --- a/commands/cli/cmd-dump/index.md +++ b/commands/cli/cmd-dump/index.md @@ -4,6 +4,8 @@ title: 'wp cli cmd-dump' display_global_parameters: true --- +[Commands](/commands/) » [cli](/commands/cli/) » cmd-dump + `wp cli cmd-dump` - Dump the list of installed commands, as JSON. Quick links: Github issues diff --git a/commands/cli/completions/index.md b/commands/cli/completions/index.md index 56f9c1ab..cb2599e0 100644 --- a/commands/cli/completions/index.md +++ b/commands/cli/completions/index.md @@ -4,6 +4,8 @@ title: 'wp cli completions' display_global_parameters: true --- +[Commands](/commands/) » [cli](/commands/cli/) » completions + `wp cli completions` - Generate tab completion strings. Quick links: Github issues diff --git a/commands/cli/index.md b/commands/cli/index.md index 7a7fa3f1..e2f3c78d 100644 --- a/commands/cli/index.md +++ b/commands/cli/index.md @@ -4,6 +4,8 @@ title: 'wp cli' display_global_parameters: true --- +[Commands](/commands/) » cli + `wp cli` - Get information about WP-CLI itself. Quick links: Github issues diff --git a/commands/cli/info/index.md b/commands/cli/info/index.md index 5c336c0e..f9ca2d93 100644 --- a/commands/cli/info/index.md +++ b/commands/cli/info/index.md @@ -4,6 +4,8 @@ title: 'wp cli info' display_global_parameters: true --- +[Commands](/commands/) » [cli](/commands/cli/) » info + `wp cli info` - Print various data about the CLI environment. Quick links: Github issues diff --git a/commands/cli/param-dump/index.md b/commands/cli/param-dump/index.md index 43505952..ce82a8bf 100644 --- a/commands/cli/param-dump/index.md +++ b/commands/cli/param-dump/index.md @@ -4,6 +4,8 @@ title: 'wp cli param-dump' display_global_parameters: true --- +[Commands](/commands/) » [cli](/commands/cli/) » param-dump + `wp cli param-dump` - Dump the list of global parameters, as JSON or in var_export format. Quick links: Github issues diff --git a/commands/cli/update/index.md b/commands/cli/update/index.md index f94b4d98..0182bf7f 100644 --- a/commands/cli/update/index.md +++ b/commands/cli/update/index.md @@ -4,6 +4,8 @@ title: 'wp cli update' display_global_parameters: true --- +[Commands](/commands/) » [cli](/commands/cli/) » update + `wp cli update` - Fetch most recent update matching the requirements. Returns the available versions if there are updates, or empty if no update available. Quick links: Github issues diff --git a/commands/cli/version/index.md b/commands/cli/version/index.md index 6cd2e7ba..d2d13abb 100644 --- a/commands/cli/version/index.md +++ b/commands/cli/version/index.md @@ -4,6 +4,8 @@ title: 'wp cli version' display_global_parameters: true --- +[Commands](/commands/) » [cli](/commands/cli/) » version + `wp cli version` - Print WP-CLI version. Quick links: Github issues diff --git a/commands/comment/approve/index.md b/commands/comment/approve/index.md index 9ba7b3eb..1590fe07 100644 --- a/commands/comment/approve/index.md +++ b/commands/comment/approve/index.md @@ -4,6 +4,8 @@ title: 'wp comment approve' display_global_parameters: true --- +[Commands](/commands/) » [comment](/commands/comment/) » approve + `wp comment approve` - Approve a comment. Quick links: Github issues diff --git a/commands/comment/count/index.md b/commands/comment/count/index.md index 4dbec9f4..74c40bcb 100644 --- a/commands/comment/count/index.md +++ b/commands/comment/count/index.md @@ -4,6 +4,8 @@ title: 'wp comment count' display_global_parameters: true --- +[Commands](/commands/) » [comment](/commands/comment/) » count + `wp comment count` - Count comments, on whole blog or on a given post. Quick links: Github issues diff --git a/commands/comment/create/index.md b/commands/comment/create/index.md index b9bb40b3..781869f6 100644 --- a/commands/comment/create/index.md +++ b/commands/comment/create/index.md @@ -4,6 +4,8 @@ title: 'wp comment create' display_global_parameters: true --- +[Commands](/commands/) » [comment](/commands/comment/) » create + `wp comment create` - Insert a comment. Quick links: Github issues diff --git a/commands/comment/delete/index.md b/commands/comment/delete/index.md index 360a67e8..2b8deed4 100644 --- a/commands/comment/delete/index.md +++ b/commands/comment/delete/index.md @@ -4,6 +4,8 @@ title: 'wp comment delete' display_global_parameters: true --- +[Commands](/commands/) » [comment](/commands/comment/) » delete + `wp comment delete` - Delete a comment. Quick links: Github issues diff --git a/commands/comment/exists/index.md b/commands/comment/exists/index.md index 4c57065a..0a97d7a7 100644 --- a/commands/comment/exists/index.md +++ b/commands/comment/exists/index.md @@ -4,6 +4,8 @@ title: 'wp comment exists' display_global_parameters: true --- +[Commands](/commands/) » [comment](/commands/comment/) » exists + `wp comment exists` - Verify whether a comment exists. Quick links: Github issues diff --git a/commands/comment/generate/index.md b/commands/comment/generate/index.md index a04d7b53..d94d0041 100644 --- a/commands/comment/generate/index.md +++ b/commands/comment/generate/index.md @@ -4,6 +4,8 @@ title: 'wp comment generate' display_global_parameters: true --- +[Commands](/commands/) » [comment](/commands/comment/) » generate + `wp comment generate` - Generate comments. Quick links: Github issues diff --git a/commands/comment/get/index.md b/commands/comment/get/index.md index a89249db..f3154af9 100644 --- a/commands/comment/get/index.md +++ b/commands/comment/get/index.md @@ -4,6 +4,8 @@ title: 'wp comment get' display_global_parameters: true --- +[Commands](/commands/) » [comment](/commands/comment/) » get + `wp comment get` - Get a single comment. Quick links: Github issues diff --git a/commands/comment/index.md b/commands/comment/index.md index 05a7e1a9..b6dcf3d2 100644 --- a/commands/comment/index.md +++ b/commands/comment/index.md @@ -4,6 +4,8 @@ title: 'wp comment' display_global_parameters: true --- +[Commands](/commands/) » comment + `wp comment` - Manage comments. Quick links: Github issues diff --git a/commands/comment/list/index.md b/commands/comment/list/index.md index 9a783d0a..1722c9be 100644 --- a/commands/comment/list/index.md +++ b/commands/comment/list/index.md @@ -4,6 +4,8 @@ title: 'wp comment list' display_global_parameters: true --- +[Commands](/commands/) » [comment](/commands/comment/) » list + `wp comment list` - Get a list of comments. Quick links: Github issues diff --git a/commands/comment/meta/add/index.md b/commands/comment/meta/add/index.md index f7163451..bc658f2b 100644 --- a/commands/comment/meta/add/index.md +++ b/commands/comment/meta/add/index.md @@ -4,6 +4,8 @@ title: 'wp comment meta add' display_global_parameters: true --- +[Commands](/commands/) » [comment](/commands/comment/) » [meta](/commands/comment/meta/) » add + `wp comment meta add` - Add a meta field. Quick links: Github issues diff --git a/commands/comment/meta/delete/index.md b/commands/comment/meta/delete/index.md index aae8700d..afea2b7b 100644 --- a/commands/comment/meta/delete/index.md +++ b/commands/comment/meta/delete/index.md @@ -4,6 +4,8 @@ title: 'wp comment meta delete' display_global_parameters: true --- +[Commands](/commands/) » [comment](/commands/comment/) » [meta](/commands/comment/meta/) » delete + `wp comment meta delete` - Delete a meta field. Quick links: Github issues diff --git a/commands/comment/meta/get/index.md b/commands/comment/meta/get/index.md index 517b864a..f8955400 100644 --- a/commands/comment/meta/get/index.md +++ b/commands/comment/meta/get/index.md @@ -4,6 +4,8 @@ title: 'wp comment meta get' display_global_parameters: true --- +[Commands](/commands/) » [comment](/commands/comment/) » [meta](/commands/comment/meta/) » get + `wp comment meta get` - Get meta field value. Quick links: Github issues diff --git a/commands/comment/meta/index.md b/commands/comment/meta/index.md index e77bb0c8..345cc2a1 100644 --- a/commands/comment/meta/index.md +++ b/commands/comment/meta/index.md @@ -4,6 +4,8 @@ title: 'wp comment meta' display_global_parameters: true --- +[Commands](/commands/) » [comment](/commands/comment/) » meta + `wp comment meta` - Manage comment custom fields. Quick links: Github issues diff --git a/commands/comment/meta/list/index.md b/commands/comment/meta/list/index.md index bd4ddee2..4a8b0e2c 100644 --- a/commands/comment/meta/list/index.md +++ b/commands/comment/meta/list/index.md @@ -4,6 +4,8 @@ title: 'wp comment meta list' display_global_parameters: true --- +[Commands](/commands/) » [comment](/commands/comment/) » [meta](/commands/comment/meta/) » list + `wp comment meta list` - List all metadata associated with an object. Quick links: Github issues diff --git a/commands/comment/meta/update/index.md b/commands/comment/meta/update/index.md index aac00234..8d96f581 100644 --- a/commands/comment/meta/update/index.md +++ b/commands/comment/meta/update/index.md @@ -4,6 +4,8 @@ title: 'wp comment meta update' display_global_parameters: true --- +[Commands](/commands/) » [comment](/commands/comment/) » [meta](/commands/comment/meta/) » update + `wp comment meta update` - Update a meta field. Quick links: Github issues diff --git a/commands/comment/recount/index.md b/commands/comment/recount/index.md index 4d611cb9..3e1234de 100644 --- a/commands/comment/recount/index.md +++ b/commands/comment/recount/index.md @@ -4,6 +4,8 @@ title: 'wp comment recount' display_global_parameters: true --- +[Commands](/commands/) » [comment](/commands/comment/) » recount + `wp comment recount` - Recount the comment_count value for one or more posts. Quick links: Github issues diff --git a/commands/comment/spam/index.md b/commands/comment/spam/index.md index 584b1d7f..ced5ab51 100644 --- a/commands/comment/spam/index.md +++ b/commands/comment/spam/index.md @@ -4,6 +4,8 @@ title: 'wp comment spam' display_global_parameters: true --- +[Commands](/commands/) » [comment](/commands/comment/) » spam + `wp comment spam` - Spam a comment. Quick links: Github issues diff --git a/commands/comment/status/index.md b/commands/comment/status/index.md index a73fda69..a688a6d8 100644 --- a/commands/comment/status/index.md +++ b/commands/comment/status/index.md @@ -4,6 +4,8 @@ title: 'wp comment status' display_global_parameters: true --- +[Commands](/commands/) » [comment](/commands/comment/) » status + `wp comment status` - Get status of a comment. Quick links: Github issues diff --git a/commands/comment/trash/index.md b/commands/comment/trash/index.md index 3ae60e1f..0716cdc0 100644 --- a/commands/comment/trash/index.md +++ b/commands/comment/trash/index.md @@ -4,6 +4,8 @@ title: 'wp comment trash' display_global_parameters: true --- +[Commands](/commands/) » [comment](/commands/comment/) » trash + `wp comment trash` - Trash a comment. Quick links: Github issues diff --git a/commands/comment/unapprove/index.md b/commands/comment/unapprove/index.md index a798e4b5..efc4cf66 100644 --- a/commands/comment/unapprove/index.md +++ b/commands/comment/unapprove/index.md @@ -4,6 +4,8 @@ title: 'wp comment unapprove' display_global_parameters: true --- +[Commands](/commands/) » [comment](/commands/comment/) » unapprove + `wp comment unapprove` - Unapprove a comment. Quick links: Github issues diff --git a/commands/comment/unspam/index.md b/commands/comment/unspam/index.md index 63103d4e..11ea4f11 100644 --- a/commands/comment/unspam/index.md +++ b/commands/comment/unspam/index.md @@ -4,6 +4,8 @@ title: 'wp comment unspam' display_global_parameters: true --- +[Commands](/commands/) » [comment](/commands/comment/) » unspam + `wp comment unspam` - Unspam a comment. Quick links: Github issues diff --git a/commands/comment/untrash/index.md b/commands/comment/untrash/index.md index c6dd9f91..fe3caa81 100644 --- a/commands/comment/untrash/index.md +++ b/commands/comment/untrash/index.md @@ -4,6 +4,8 @@ title: 'wp comment untrash' display_global_parameters: true --- +[Commands](/commands/) » [comment](/commands/comment/) » untrash + `wp comment untrash` - Untrash a comment. Quick links: Github issues diff --git a/commands/comment/update/index.md b/commands/comment/update/index.md index 8ed977a3..93f2b593 100644 --- a/commands/comment/update/index.md +++ b/commands/comment/update/index.md @@ -4,6 +4,8 @@ title: 'wp comment update' display_global_parameters: true --- +[Commands](/commands/) » [comment](/commands/comment/) » update + `wp comment update` - Update one or more comments. Quick links: Github issues diff --git a/commands/comment/url/index.md b/commands/comment/url/index.md index 688ce557..c537963d 100644 --- a/commands/comment/url/index.md +++ b/commands/comment/url/index.md @@ -4,6 +4,8 @@ title: 'wp comment url' display_global_parameters: true --- +[Commands](/commands/) » [comment](/commands/comment/) » url + `wp comment url` - Get comment url Quick links: Github issues diff --git a/commands/core/check-update/index.md b/commands/core/check-update/index.md index 79fff1b3..8a3c9ecd 100644 --- a/commands/core/check-update/index.md +++ b/commands/core/check-update/index.md @@ -4,6 +4,8 @@ title: 'wp core check-update' display_global_parameters: true --- +[Commands](/commands/) » [core](/commands/core/) » check-update + `wp core check-update` - Check for update via Version Check API. Quick links: Github issues diff --git a/commands/core/config/index.md b/commands/core/config/index.md index d0ef1165..f02d8ae9 100644 --- a/commands/core/config/index.md +++ b/commands/core/config/index.md @@ -4,6 +4,8 @@ title: 'wp core config' display_global_parameters: true --- +[Commands](/commands/) » [core](/commands/core/) » config + `wp core config` - Generate a wp-config.php file. Quick links: Github issues diff --git a/commands/core/download/index.md b/commands/core/download/index.md index df680ebb..32c81f3c 100644 --- a/commands/core/download/index.md +++ b/commands/core/download/index.md @@ -4,6 +4,8 @@ title: 'wp core download' display_global_parameters: true --- +[Commands](/commands/) » [core](/commands/core/) » download + `wp core download` - Download core WordPress files. Quick links: Github issues diff --git a/commands/core/index.md b/commands/core/index.md index eac172da..37e58d1e 100644 --- a/commands/core/index.md +++ b/commands/core/index.md @@ -4,6 +4,8 @@ title: 'wp core' display_global_parameters: true --- +[Commands](/commands/) » core + `wp core` - Download, install, update and otherwise manage WordPress proper. Quick links: Github issues diff --git a/commands/core/install/index.md b/commands/core/install/index.md index 59a4a48f..91e6f928 100644 --- a/commands/core/install/index.md +++ b/commands/core/install/index.md @@ -4,6 +4,8 @@ title: 'wp core install' display_global_parameters: true --- +[Commands](/commands/) » [core](/commands/core/) » install + `wp core install` - Runs the standard WordPress installation process. Quick links: Github issues diff --git a/commands/core/is-installed/index.md b/commands/core/is-installed/index.md index d59de868..ecd6fdc2 100644 --- a/commands/core/is-installed/index.md +++ b/commands/core/is-installed/index.md @@ -4,6 +4,8 @@ title: 'wp core is-installed' display_global_parameters: true --- +[Commands](/commands/) » [core](/commands/core/) » is-installed + `wp core is-installed` - Determine if the WordPress tables are installed. Quick links: Github issues diff --git a/commands/core/language/activate/index.md b/commands/core/language/activate/index.md index 34ca5004..b857ed6a 100644 --- a/commands/core/language/activate/index.md +++ b/commands/core/language/activate/index.md @@ -4,6 +4,8 @@ title: 'wp core language activate' display_global_parameters: true --- +[Commands](/commands/) » [core](/commands/core/) » [language](/commands/core/language/) » activate + `wp core language activate` - Activate a given language. Quick links: Github issues diff --git a/commands/core/language/index.md b/commands/core/language/index.md index f807ff42..a6dd55c1 100644 --- a/commands/core/language/index.md +++ b/commands/core/language/index.md @@ -4,6 +4,8 @@ title: 'wp core language' display_global_parameters: true --- +[Commands](/commands/) » [core](/commands/core/) » language + `wp core language` - Manage core language. Quick links: Github issues diff --git a/commands/core/language/install/index.md b/commands/core/language/install/index.md index 4697e4cf..71ecc36c 100644 --- a/commands/core/language/install/index.md +++ b/commands/core/language/install/index.md @@ -4,6 +4,8 @@ title: 'wp core language install' display_global_parameters: true --- +[Commands](/commands/) » [core](/commands/core/) » [language](/commands/core/language/) » install + `wp core language install` - Install a given language. Quick links: Github issues diff --git a/commands/core/language/list/index.md b/commands/core/language/list/index.md index 442755a4..822a1800 100644 --- a/commands/core/language/list/index.md +++ b/commands/core/language/list/index.md @@ -4,6 +4,8 @@ title: 'wp core language list' display_global_parameters: true --- +[Commands](/commands/) » [core](/commands/core/) » [language](/commands/core/language/) » list + `wp core language list` - List all languages available. Quick links: Github issues diff --git a/commands/core/language/uninstall/index.md b/commands/core/language/uninstall/index.md index 8b4bc0d9..02dbd941 100644 --- a/commands/core/language/uninstall/index.md +++ b/commands/core/language/uninstall/index.md @@ -4,6 +4,8 @@ title: 'wp core language uninstall' display_global_parameters: true --- +[Commands](/commands/) » [core](/commands/core/) » [language](/commands/core/language/) » uninstall + `wp core language uninstall` - Uninstall a given language. Quick links: Github issues diff --git a/commands/core/language/update/index.md b/commands/core/language/update/index.md index 4376ae3e..a5f21ef9 100644 --- a/commands/core/language/update/index.md +++ b/commands/core/language/update/index.md @@ -4,6 +4,8 @@ title: 'wp core language update' display_global_parameters: true --- +[Commands](/commands/) » [core](/commands/core/) » [language](/commands/core/language/) » update + `wp core language update` - Updates the active translation of core, plugins, and themes. Quick links: Github issues diff --git a/commands/core/multisite-convert/index.md b/commands/core/multisite-convert/index.md index 5f1ff1e2..d3b5b42d 100644 --- a/commands/core/multisite-convert/index.md +++ b/commands/core/multisite-convert/index.md @@ -4,6 +4,8 @@ title: 'wp core multisite-convert' display_global_parameters: true --- +[Commands](/commands/) » [core](/commands/core/) » multisite-convert + `wp core multisite-convert` - Transform a single-site install into a multi-site install. Quick links: Github issues diff --git a/commands/core/multisite-install/index.md b/commands/core/multisite-install/index.md index 3a4d6860..37a252ba 100644 --- a/commands/core/multisite-install/index.md +++ b/commands/core/multisite-install/index.md @@ -4,6 +4,8 @@ title: 'wp core multisite-install' display_global_parameters: true --- +[Commands](/commands/) » [core](/commands/core/) » multisite-install + `wp core multisite-install` - Install multisite from scratch. Quick links: Github issues diff --git a/commands/core/update-db/index.md b/commands/core/update-db/index.md index 74b0c9b0..535161f1 100644 --- a/commands/core/update-db/index.md +++ b/commands/core/update-db/index.md @@ -4,6 +4,8 @@ title: 'wp core update-db' display_global_parameters: true --- +[Commands](/commands/) » [core](/commands/core/) » update-db + `wp core update-db` - Update the WordPress database. Quick links: Github issues diff --git a/commands/core/update/index.md b/commands/core/update/index.md index 06f6ec79..e5fe1102 100644 --- a/commands/core/update/index.md +++ b/commands/core/update/index.md @@ -4,6 +4,8 @@ title: 'wp core update' display_global_parameters: true --- +[Commands](/commands/) » [core](/commands/core/) » update + `wp core update` - Update WordPress. Quick links: Github issues diff --git a/commands/core/verify-checksums/index.md b/commands/core/verify-checksums/index.md index 2e9aad78..913060e9 100644 --- a/commands/core/verify-checksums/index.md +++ b/commands/core/verify-checksums/index.md @@ -4,6 +4,8 @@ title: 'wp core verify-checksums' display_global_parameters: true --- +[Commands](/commands/) » [core](/commands/core/) » verify-checksums + `wp core verify-checksums` - Verify WordPress files against WordPress.org's checksums. Quick links: Github issues diff --git a/commands/core/version/index.md b/commands/core/version/index.md index c2b929e1..c085ef44 100644 --- a/commands/core/version/index.md +++ b/commands/core/version/index.md @@ -4,6 +4,8 @@ title: 'wp core version' display_global_parameters: true --- +[Commands](/commands/) » [core](/commands/core/) » version + `wp core version` - Display the WordPress version. Quick links: Github issues diff --git a/commands/cron/event/delete/index.md b/commands/cron/event/delete/index.md index 03c5113c..b50b17d7 100644 --- a/commands/cron/event/delete/index.md +++ b/commands/cron/event/delete/index.md @@ -4,6 +4,8 @@ title: 'wp cron event delete' display_global_parameters: true --- +[Commands](/commands/) » [cron](/commands/cron/) » [event](/commands/cron/event/) » delete + `wp cron event delete` - Delete the next scheduled cron event for the given hook. Quick links: Github issues diff --git a/commands/cron/event/index.md b/commands/cron/event/index.md index f3b6f175..84722089 100644 --- a/commands/cron/event/index.md +++ b/commands/cron/event/index.md @@ -4,6 +4,8 @@ title: 'wp cron event' display_global_parameters: true --- +[Commands](/commands/) » [cron](/commands/cron/) » event + `wp cron event` - Manage WP-Cron events. Quick links: Github issues diff --git a/commands/cron/event/list/index.md b/commands/cron/event/list/index.md index 9d663630..aa4c7670 100644 --- a/commands/cron/event/list/index.md +++ b/commands/cron/event/list/index.md @@ -4,6 +4,8 @@ title: 'wp cron event list' display_global_parameters: true --- +[Commands](/commands/) » [cron](/commands/cron/) » [event](/commands/cron/event/) » list + `wp cron event list` - List scheduled cron events. Quick links: Github issues diff --git a/commands/cron/event/run/index.md b/commands/cron/event/run/index.md index 47413304..db612ee7 100644 --- a/commands/cron/event/run/index.md +++ b/commands/cron/event/run/index.md @@ -4,6 +4,8 @@ title: 'wp cron event run' display_global_parameters: true --- +[Commands](/commands/) » [cron](/commands/cron/) » [event](/commands/cron/event/) » run + `wp cron event run` - Run the next scheduled cron event for the given hook. Quick links: Github issues diff --git a/commands/cron/event/schedule/index.md b/commands/cron/event/schedule/index.md index 83dd9699..040f4e8a 100644 --- a/commands/cron/event/schedule/index.md +++ b/commands/cron/event/schedule/index.md @@ -4,6 +4,8 @@ title: 'wp cron event schedule' display_global_parameters: true --- +[Commands](/commands/) » [cron](/commands/cron/) » [event](/commands/cron/event/) » schedule + `wp cron event schedule` - Schedule a new cron event. Quick links: Github issues diff --git a/commands/cron/index.md b/commands/cron/index.md index 8f92114b..db7db4f5 100644 --- a/commands/cron/index.md +++ b/commands/cron/index.md @@ -4,6 +4,8 @@ title: 'wp cron' display_global_parameters: true --- +[Commands](/commands/) » cron + `wp cron` - Manage WP-Cron events and schedules. Quick links: Github issues diff --git a/commands/cron/schedule/index.md b/commands/cron/schedule/index.md index bc116c3b..0b1cf0dd 100644 --- a/commands/cron/schedule/index.md +++ b/commands/cron/schedule/index.md @@ -4,6 +4,8 @@ title: 'wp cron schedule' display_global_parameters: true --- +[Commands](/commands/) » [cron](/commands/cron/) » schedule + `wp cron schedule` - Manage WP-Cron schedules. Quick links: Github issues diff --git a/commands/cron/schedule/list/index.md b/commands/cron/schedule/list/index.md index 554b2171..aa555fa9 100644 --- a/commands/cron/schedule/list/index.md +++ b/commands/cron/schedule/list/index.md @@ -4,6 +4,8 @@ title: 'wp cron schedule list' display_global_parameters: true --- +[Commands](/commands/) » [cron](/commands/cron/) » [schedule](/commands/cron/schedule/) » list + `wp cron schedule list` - List available cron schedules. Quick links: Github issues diff --git a/commands/cron/test/index.md b/commands/cron/test/index.md index 524bb438..3e282792 100644 --- a/commands/cron/test/index.md +++ b/commands/cron/test/index.md @@ -4,6 +4,8 @@ title: 'wp cron test' display_global_parameters: true --- +[Commands](/commands/) » [cron](/commands/cron/) » test + `wp cron test` - Test the WP Cron spawning system and report back its status. Quick links: Github issues diff --git a/commands/db/cli/index.md b/commands/db/cli/index.md index d9206dcc..2620131f 100644 --- a/commands/db/cli/index.md +++ b/commands/db/cli/index.md @@ -4,6 +4,8 @@ title: 'wp db cli' display_global_parameters: true --- +[Commands](/commands/) » [db](/commands/db/) » cli + `wp db cli` - Open a MySQL console using credentials from wp-config.php Quick links: Github issues diff --git a/commands/db/create/index.md b/commands/db/create/index.md index 5089625f..58802b95 100644 --- a/commands/db/create/index.md +++ b/commands/db/create/index.md @@ -4,6 +4,8 @@ title: 'wp db create' display_global_parameters: true --- +[Commands](/commands/) » [db](/commands/db/) » create + `wp db create` - Create the database in MySQL. Quick links: Github issues diff --git a/commands/db/drop/index.md b/commands/db/drop/index.md index 3032effa..0d06a1ce 100644 --- a/commands/db/drop/index.md +++ b/commands/db/drop/index.md @@ -4,6 +4,8 @@ title: 'wp db drop' display_global_parameters: true --- +[Commands](/commands/) » [db](/commands/db/) » drop + `wp db drop` - Delete the database in MySQL. Quick links: Github issues diff --git a/commands/db/export/index.md b/commands/db/export/index.md index 17a39394..24de71be 100644 --- a/commands/db/export/index.md +++ b/commands/db/export/index.md @@ -4,6 +4,8 @@ title: 'wp db export' display_global_parameters: true --- +[Commands](/commands/) » [db](/commands/db/) » export + `wp db export` - Exports the MySQL database to a file or to STDOUT. Quick links: Github issues diff --git a/commands/db/import/index.md b/commands/db/import/index.md index c252db8b..6881d0d8 100644 --- a/commands/db/import/index.md +++ b/commands/db/import/index.md @@ -4,6 +4,8 @@ title: 'wp db import' display_global_parameters: true --- +[Commands](/commands/) » [db](/commands/db/) » import + `wp db import` - Import a MySQL database from a file or from STDIN. Quick links: Github issues diff --git a/commands/db/index.md b/commands/db/index.md index c5df6d53..66045e3d 100644 --- a/commands/db/index.md +++ b/commands/db/index.md @@ -4,6 +4,8 @@ title: 'wp db' display_global_parameters: true --- +[Commands](/commands/) » db + `wp db` - Perform basic database operations. Quick links: Github issues diff --git a/commands/db/optimize/index.md b/commands/db/optimize/index.md index a5a0b1c3..a8e67a10 100644 --- a/commands/db/optimize/index.md +++ b/commands/db/optimize/index.md @@ -4,6 +4,8 @@ title: 'wp db optimize' display_global_parameters: true --- +[Commands](/commands/) » [db](/commands/db/) » optimize + `wp db optimize` - Optimize the database in MySQL. Quick links: Github issues diff --git a/commands/db/query/index.md b/commands/db/query/index.md index f5481af1..5ba0de9d 100644 --- a/commands/db/query/index.md +++ b/commands/db/query/index.md @@ -4,6 +4,8 @@ title: 'wp db query' display_global_parameters: true --- +[Commands](/commands/) » [db](/commands/db/) » query + `wp db query` - Execute a MySQL query against the database. Quick links: Github issues diff --git a/commands/db/repair/index.md b/commands/db/repair/index.md index 5338158e..2280e92c 100644 --- a/commands/db/repair/index.md +++ b/commands/db/repair/index.md @@ -4,6 +4,8 @@ title: 'wp db repair' display_global_parameters: true --- +[Commands](/commands/) » [db](/commands/db/) » repair + `wp db repair` - Repair the database in MySQL. Quick links: Github issues diff --git a/commands/db/reset/index.md b/commands/db/reset/index.md index 984c8e1e..12809c45 100644 --- a/commands/db/reset/index.md +++ b/commands/db/reset/index.md @@ -4,6 +4,8 @@ title: 'wp db reset' display_global_parameters: true --- +[Commands](/commands/) » [db](/commands/db/) » reset + `wp db reset` - Remove all tables from the database in MySQL. Quick links: Github issues diff --git a/commands/db/tables/index.md b/commands/db/tables/index.md index a81aa390..7b29fc65 100644 --- a/commands/db/tables/index.md +++ b/commands/db/tables/index.md @@ -4,6 +4,8 @@ title: 'wp db tables' display_global_parameters: true --- +[Commands](/commands/) » [db](/commands/db/) » tables + `wp db tables` - List the MySQL database tables. Quick links: Github issues diff --git a/commands/eval-file/index.md b/commands/eval-file/index.md index 14b22176..dcd65a3e 100644 --- a/commands/eval-file/index.md +++ b/commands/eval-file/index.md @@ -4,6 +4,8 @@ title: 'wp eval-file' display_global_parameters: true --- +[Commands](/commands/) » eval-file + `wp eval-file` - Load and execute a PHP file. Quick links: Github issues diff --git a/commands/eval/index.md b/commands/eval/index.md index 37157bd1..82c1e2dd 100644 --- a/commands/eval/index.md +++ b/commands/eval/index.md @@ -4,6 +4,8 @@ title: 'wp eval' display_global_parameters: true --- +[Commands](/commands/) » eval + `wp eval` - Execute arbitrary PHP code. Quick links: Github issues diff --git a/commands/export/index.md b/commands/export/index.md index 19d47c0f..4323d9ca 100644 --- a/commands/export/index.md +++ b/commands/export/index.md @@ -4,6 +4,8 @@ title: 'wp export' display_global_parameters: true --- +[Commands](/commands/) » export + `wp export` - Export content to a WXR file. Quick links: Github issues diff --git a/commands/help/index.md b/commands/help/index.md index 91a1a9c1..67655a6a 100644 --- a/commands/help/index.md +++ b/commands/help/index.md @@ -4,6 +4,8 @@ title: 'wp help' display_global_parameters: true --- +[Commands](/commands/) » help + `wp help` - Get help on WP-CLI, or on a specific command. Quick links: Github issues diff --git a/commands/import/index.md b/commands/import/index.md index ab553a75..0407b50f 100644 --- a/commands/import/index.md +++ b/commands/import/index.md @@ -4,6 +4,8 @@ title: 'wp import' display_global_parameters: true --- +[Commands](/commands/) » import + `wp import` - Import content from a WXR file. Quick links: Github issues diff --git a/commands/media/import/index.md b/commands/media/import/index.md index abb84f61..07b987ea 100644 --- a/commands/media/import/index.md +++ b/commands/media/import/index.md @@ -4,6 +4,8 @@ title: 'wp media import' display_global_parameters: true --- +[Commands](/commands/) » [media](/commands/media/) » import + `wp media import` - Create attachments from local files or from URLs. Quick links: Github issues diff --git a/commands/media/index.md b/commands/media/index.md index 047df489..e37cf4f5 100644 --- a/commands/media/index.md +++ b/commands/media/index.md @@ -4,6 +4,8 @@ title: 'wp media' display_global_parameters: true --- +[Commands](/commands/) » media + `wp media` - Manage attachments. Quick links: Github issues diff --git a/commands/media/regenerate/index.md b/commands/media/regenerate/index.md index 3a46657b..96304f19 100644 --- a/commands/media/regenerate/index.md +++ b/commands/media/regenerate/index.md @@ -4,6 +4,8 @@ title: 'wp media regenerate' display_global_parameters: true --- +[Commands](/commands/) » [media](/commands/media/) » regenerate + `wp media regenerate` - Regenerate thumbnail(s). Quick links: Github issues diff --git a/commands/menu/create/index.md b/commands/menu/create/index.md index 393a1019..e969d684 100644 --- a/commands/menu/create/index.md +++ b/commands/menu/create/index.md @@ -4,6 +4,8 @@ title: 'wp menu create' display_global_parameters: true --- +[Commands](/commands/) » [menu](/commands/menu/) » create + `wp menu create` - Create a new menu. Quick links: Github issues diff --git a/commands/menu/delete/index.md b/commands/menu/delete/index.md index 894f5de1..45d095eb 100644 --- a/commands/menu/delete/index.md +++ b/commands/menu/delete/index.md @@ -4,6 +4,8 @@ title: 'wp menu delete' display_global_parameters: true --- +[Commands](/commands/) » [menu](/commands/menu/) » delete + `wp menu delete` - Delete one or more menus. Quick links: Github issues diff --git a/commands/menu/index.md b/commands/menu/index.md index 14031505..822644ee 100644 --- a/commands/menu/index.md +++ b/commands/menu/index.md @@ -4,6 +4,8 @@ title: 'wp menu' display_global_parameters: true --- +[Commands](/commands/) » menu + `wp menu` - List, create, assign, and delete menus. Quick links: Github issues diff --git a/commands/menu/item/add-custom/index.md b/commands/menu/item/add-custom/index.md index 0bdd8772..e0024f90 100644 --- a/commands/menu/item/add-custom/index.md +++ b/commands/menu/item/add-custom/index.md @@ -4,6 +4,8 @@ title: 'wp menu item add-custom' display_global_parameters: true --- +[Commands](/commands/) » [menu](/commands/menu/) » [item](/commands/menu/item/) » add-custom + `wp menu item add-custom` - Add a custom menu item. Quick links: Github issues diff --git a/commands/menu/item/add-post/index.md b/commands/menu/item/add-post/index.md index 6f186439..b29908f5 100644 --- a/commands/menu/item/add-post/index.md +++ b/commands/menu/item/add-post/index.md @@ -4,6 +4,8 @@ title: 'wp menu item add-post' display_global_parameters: true --- +[Commands](/commands/) » [menu](/commands/menu/) » [item](/commands/menu/item/) » add-post + `wp menu item add-post` - Add a post as a menu item. Quick links: Github issues diff --git a/commands/menu/item/add-term/index.md b/commands/menu/item/add-term/index.md index 1db91635..8c307ee8 100644 --- a/commands/menu/item/add-term/index.md +++ b/commands/menu/item/add-term/index.md @@ -4,6 +4,8 @@ title: 'wp menu item add-term' display_global_parameters: true --- +[Commands](/commands/) » [menu](/commands/menu/) » [item](/commands/menu/item/) » add-term + `wp menu item add-term` - Add a taxonomy term as a menu item. Quick links: Github issues diff --git a/commands/menu/item/delete/index.md b/commands/menu/item/delete/index.md index 0d551724..ff3d1218 100644 --- a/commands/menu/item/delete/index.md +++ b/commands/menu/item/delete/index.md @@ -4,6 +4,8 @@ title: 'wp menu item delete' display_global_parameters: true --- +[Commands](/commands/) » [menu](/commands/menu/) » [item](/commands/menu/item/) » delete + `wp menu item delete` - Delete one or more items from a menu. Quick links: Github issues diff --git a/commands/menu/item/index.md b/commands/menu/item/index.md index 80af7113..5d05eeda 100644 --- a/commands/menu/item/index.md +++ b/commands/menu/item/index.md @@ -4,6 +4,8 @@ title: 'wp menu item' display_global_parameters: true --- +[Commands](/commands/) » [menu](/commands/menu/) » item + `wp menu item` - List, add, and delete items associated with a menu. Quick links: Github issues diff --git a/commands/menu/item/list/index.md b/commands/menu/item/list/index.md index f3f6ebb1..d39ec53c 100644 --- a/commands/menu/item/list/index.md +++ b/commands/menu/item/list/index.md @@ -4,6 +4,8 @@ title: 'wp menu item list' display_global_parameters: true --- +[Commands](/commands/) » [menu](/commands/menu/) » [item](/commands/menu/item/) » list + `wp menu item list` - Get a list of items associated with a menu. Quick links: Github issues diff --git a/commands/menu/item/update/index.md b/commands/menu/item/update/index.md index 14389aae..3972cee0 100644 --- a/commands/menu/item/update/index.md +++ b/commands/menu/item/update/index.md @@ -4,6 +4,8 @@ title: 'wp menu item update' display_global_parameters: true --- +[Commands](/commands/) » [menu](/commands/menu/) » [item](/commands/menu/item/) » update + `wp menu item update` - Update a menu item. Quick links: Github issues diff --git a/commands/menu/list/index.md b/commands/menu/list/index.md index 20e491ee..75dd1c28 100644 --- a/commands/menu/list/index.md +++ b/commands/menu/list/index.md @@ -4,6 +4,8 @@ title: 'wp menu list' display_global_parameters: true --- +[Commands](/commands/) » [menu](/commands/menu/) » list + `wp menu list` - Get a list of menus. Quick links: Github issues diff --git a/commands/menu/location/assign/index.md b/commands/menu/location/assign/index.md index 1efe8b19..68000690 100644 --- a/commands/menu/location/assign/index.md +++ b/commands/menu/location/assign/index.md @@ -4,6 +4,8 @@ title: 'wp menu location assign' display_global_parameters: true --- +[Commands](/commands/) » [menu](/commands/menu/) » [location](/commands/menu/location/) » assign + `wp menu location assign` - Assign a location to a menu. Quick links: Github issues diff --git a/commands/menu/location/index.md b/commands/menu/location/index.md index ee4804ca..c261b752 100644 --- a/commands/menu/location/index.md +++ b/commands/menu/location/index.md @@ -4,6 +4,8 @@ title: 'wp menu location' display_global_parameters: true --- +[Commands](/commands/) » [menu](/commands/menu/) » location + `wp menu location` - Manage a menu's assignment to locations. Quick links: Github issues diff --git a/commands/menu/location/list/index.md b/commands/menu/location/list/index.md index fe601041..ffe112c3 100644 --- a/commands/menu/location/list/index.md +++ b/commands/menu/location/list/index.md @@ -4,6 +4,8 @@ title: 'wp menu location list' display_global_parameters: true --- +[Commands](/commands/) » [menu](/commands/menu/) » [location](/commands/menu/location/) » list + `wp menu location list` - List locations for the current theme. Quick links: Github issues diff --git a/commands/menu/location/remove/index.md b/commands/menu/location/remove/index.md index 9801794d..3f547937 100644 --- a/commands/menu/location/remove/index.md +++ b/commands/menu/location/remove/index.md @@ -4,6 +4,8 @@ title: 'wp menu location remove' display_global_parameters: true --- +[Commands](/commands/) » [menu](/commands/menu/) » [location](/commands/menu/location/) » remove + `wp menu location remove` - Remove a location from a menu. Quick links: Github issues diff --git a/commands/network/index.md b/commands/network/index.md index 9e56e209..13a77cdc 100644 --- a/commands/network/index.md +++ b/commands/network/index.md @@ -4,6 +4,8 @@ title: 'wp network' display_global_parameters: true --- +[Commands](/commands/) » network + `wp network` - Quick links: Github issues diff --git a/commands/network/meta/add/index.md b/commands/network/meta/add/index.md index f7e563a9..1a06333f 100644 --- a/commands/network/meta/add/index.md +++ b/commands/network/meta/add/index.md @@ -4,6 +4,8 @@ title: 'wp network meta add' display_global_parameters: true --- +[Commands](/commands/) » [network](/commands/network/) » [meta](/commands/network/meta/) » add + `wp network meta add` - Add a meta field. Quick links: Github issues diff --git a/commands/network/meta/delete/index.md b/commands/network/meta/delete/index.md index 19148438..5c17e072 100644 --- a/commands/network/meta/delete/index.md +++ b/commands/network/meta/delete/index.md @@ -4,6 +4,8 @@ title: 'wp network meta delete' display_global_parameters: true --- +[Commands](/commands/) » [network](/commands/network/) » [meta](/commands/network/meta/) » delete + `wp network meta delete` - Delete a meta field. Quick links: Github issues diff --git a/commands/network/meta/get/index.md b/commands/network/meta/get/index.md index a5bd10ae..253a5c02 100644 --- a/commands/network/meta/get/index.md +++ b/commands/network/meta/get/index.md @@ -4,6 +4,8 @@ title: 'wp network meta get' display_global_parameters: true --- +[Commands](/commands/) » [network](/commands/network/) » [meta](/commands/network/meta/) » get + `wp network meta get` - Get meta field value. Quick links: Github issues diff --git a/commands/network/meta/index.md b/commands/network/meta/index.md index 77c6f054..48cab1ef 100644 --- a/commands/network/meta/index.md +++ b/commands/network/meta/index.md @@ -4,6 +4,8 @@ title: 'wp network meta' display_global_parameters: true --- +[Commands](/commands/) » [network](/commands/network/) » meta + `wp network meta` - Manage network custom fields. Quick links: Github issues diff --git a/commands/network/meta/list/index.md b/commands/network/meta/list/index.md index fb6f69ef..58a3c681 100644 --- a/commands/network/meta/list/index.md +++ b/commands/network/meta/list/index.md @@ -4,6 +4,8 @@ title: 'wp network meta list' display_global_parameters: true --- +[Commands](/commands/) » [network](/commands/network/) » [meta](/commands/network/meta/) » list + `wp network meta list` - List all metadata associated with an object. Quick links: Github issues diff --git a/commands/network/meta/update/index.md b/commands/network/meta/update/index.md index 66f379d8..e2d2e492 100644 --- a/commands/network/meta/update/index.md +++ b/commands/network/meta/update/index.md @@ -4,6 +4,8 @@ title: 'wp network meta update' display_global_parameters: true --- +[Commands](/commands/) » [network](/commands/network/) » [meta](/commands/network/meta/) » update + `wp network meta update` - Update a meta field. Quick links: Github issues diff --git a/commands/option/add/index.md b/commands/option/add/index.md index 813018f7..8f9694d0 100644 --- a/commands/option/add/index.md +++ b/commands/option/add/index.md @@ -4,6 +4,8 @@ title: 'wp option add' display_global_parameters: true --- +[Commands](/commands/) » [option](/commands/option/) » add + `wp option add` - Add an option. Quick links: Github issues diff --git a/commands/option/delete/index.md b/commands/option/delete/index.md index d0a7a46a..a547809b 100644 --- a/commands/option/delete/index.md +++ b/commands/option/delete/index.md @@ -4,6 +4,8 @@ title: 'wp option delete' display_global_parameters: true --- +[Commands](/commands/) » [option](/commands/option/) » delete + `wp option delete` - Delete an option. Quick links: Github issues diff --git a/commands/option/get/index.md b/commands/option/get/index.md index 9f45fd06..778004b3 100644 --- a/commands/option/get/index.md +++ b/commands/option/get/index.md @@ -4,6 +4,8 @@ title: 'wp option get' display_global_parameters: true --- +[Commands](/commands/) » [option](/commands/option/) » get + `wp option get` - Get an option. Quick links: Github issues diff --git a/commands/option/index.md b/commands/option/index.md index 06551c6c..39b4fed1 100644 --- a/commands/option/index.md +++ b/commands/option/index.md @@ -4,6 +4,8 @@ title: 'wp option' display_global_parameters: true --- +[Commands](/commands/) » option + `wp option` - Manage options. Quick links: Github issues diff --git a/commands/option/list/index.md b/commands/option/list/index.md index e8cac5bb..6a8bf429 100644 --- a/commands/option/list/index.md +++ b/commands/option/list/index.md @@ -4,6 +4,8 @@ title: 'wp option list' display_global_parameters: true --- +[Commands](/commands/) » [option](/commands/option/) » list + `wp option list` - List options. Quick links: Github issues diff --git a/commands/option/update/index.md b/commands/option/update/index.md index 5aa96f99..b364d80b 100644 --- a/commands/option/update/index.md +++ b/commands/option/update/index.md @@ -4,6 +4,8 @@ title: 'wp option update' display_global_parameters: true --- +[Commands](/commands/) » [option](/commands/option/) » update + `wp option update` - Update an option. Quick links: Github issues diff --git a/commands/package/browse/index.md b/commands/package/browse/index.md index a38381c2..2cd20bda 100644 --- a/commands/package/browse/index.md +++ b/commands/package/browse/index.md @@ -4,6 +4,8 @@ title: 'wp package browse' display_global_parameters: true --- +[Commands](/commands/) » [package](/commands/package/) » browse + `wp package browse` - Browse WP-CLI packages available for installation. Quick links: Github issues diff --git a/commands/package/index.md b/commands/package/index.md index c14e54ca..a88e19ee 100644 --- a/commands/package/index.md +++ b/commands/package/index.md @@ -4,6 +4,8 @@ title: 'wp package' display_global_parameters: true --- +[Commands](/commands/) » package + `wp package` - Manage WP-CLI packages. Quick links: Github issues diff --git a/commands/package/install/index.md b/commands/package/install/index.md index a7f95cfe..d767921c 100644 --- a/commands/package/install/index.md +++ b/commands/package/install/index.md @@ -4,6 +4,8 @@ title: 'wp package install' display_global_parameters: true --- +[Commands](/commands/) » [package](/commands/package/) » install + `wp package install` - Install a WP-CLI package. Quick links: Github issues diff --git a/commands/package/list/index.md b/commands/package/list/index.md index 3a8eb69e..daa5fcf0 100644 --- a/commands/package/list/index.md +++ b/commands/package/list/index.md @@ -4,6 +4,8 @@ title: 'wp package list' display_global_parameters: true --- +[Commands](/commands/) » [package](/commands/package/) » list + `wp package list` - List installed WP-CLI packages. Quick links: Github issues diff --git a/commands/package/path/index.md b/commands/package/path/index.md index c3c20960..3de7cd68 100644 --- a/commands/package/path/index.md +++ b/commands/package/path/index.md @@ -4,6 +4,8 @@ title: 'wp package path' display_global_parameters: true --- +[Commands](/commands/) » [package](/commands/package/) » path + `wp package path` - Get the path to an installed WP-CLI package, or the package directory. Quick links: Github issues diff --git a/commands/package/uninstall/index.md b/commands/package/uninstall/index.md index cb5f0042..1ee0ce50 100644 --- a/commands/package/uninstall/index.md +++ b/commands/package/uninstall/index.md @@ -4,6 +4,8 @@ title: 'wp package uninstall' display_global_parameters: true --- +[Commands](/commands/) » [package](/commands/package/) » uninstall + `wp package uninstall` - Uninstall a WP-CLI package. Quick links: Github issues diff --git a/commands/plugin/activate/index.md b/commands/plugin/activate/index.md index 4c02f100..5f102ec1 100644 --- a/commands/plugin/activate/index.md +++ b/commands/plugin/activate/index.md @@ -4,6 +4,8 @@ title: 'wp plugin activate' display_global_parameters: true --- +[Commands](/commands/) » [plugin](/commands/plugin/) » activate + `wp plugin activate` - Activate a plugin. Quick links: Github issues diff --git a/commands/plugin/deactivate/index.md b/commands/plugin/deactivate/index.md index 6641edea..99eb8ca8 100644 --- a/commands/plugin/deactivate/index.md +++ b/commands/plugin/deactivate/index.md @@ -4,6 +4,8 @@ title: 'wp plugin deactivate' display_global_parameters: true --- +[Commands](/commands/) » [plugin](/commands/plugin/) » deactivate + `wp plugin deactivate` - Deactivate a plugin. Quick links: Github issues diff --git a/commands/plugin/delete/index.md b/commands/plugin/delete/index.md index f7379f7a..88687118 100644 --- a/commands/plugin/delete/index.md +++ b/commands/plugin/delete/index.md @@ -4,6 +4,8 @@ title: 'wp plugin delete' display_global_parameters: true --- +[Commands](/commands/) » [plugin](/commands/plugin/) » delete + `wp plugin delete` - Delete plugin files without deactivating or uninstalling. Quick links: Github issues diff --git a/commands/plugin/get/index.md b/commands/plugin/get/index.md index c197266d..05bba40a 100644 --- a/commands/plugin/get/index.md +++ b/commands/plugin/get/index.md @@ -4,6 +4,8 @@ title: 'wp plugin get' display_global_parameters: true --- +[Commands](/commands/) » [plugin](/commands/plugin/) » get + `wp plugin get` - Get a plugin. Quick links: Github issues diff --git a/commands/plugin/index.md b/commands/plugin/index.md index 844a1c38..9e33850b 100644 --- a/commands/plugin/index.md +++ b/commands/plugin/index.md @@ -4,6 +4,8 @@ title: 'wp plugin' display_global_parameters: true --- +[Commands](/commands/) » plugin + `wp plugin` - Manage plugins. Quick links: Github issues diff --git a/commands/plugin/install/index.md b/commands/plugin/install/index.md index 712c7e7a..d9e0e1ff 100644 --- a/commands/plugin/install/index.md +++ b/commands/plugin/install/index.md @@ -4,6 +4,8 @@ title: 'wp plugin install' display_global_parameters: true --- +[Commands](/commands/) » [plugin](/commands/plugin/) » install + `wp plugin install` - Install a plugin. Quick links: Github issues diff --git a/commands/plugin/is-installed/index.md b/commands/plugin/is-installed/index.md index 1f983de9..a776ebb6 100644 --- a/commands/plugin/is-installed/index.md +++ b/commands/plugin/is-installed/index.md @@ -4,6 +4,8 @@ title: 'wp plugin is-installed' display_global_parameters: true --- +[Commands](/commands/) » [plugin](/commands/plugin/) » is-installed + `wp plugin is-installed` - Check if the plugin is installed. Quick links: Github issues diff --git a/commands/plugin/list/index.md b/commands/plugin/list/index.md index 10487a56..a84b920e 100644 --- a/commands/plugin/list/index.md +++ b/commands/plugin/list/index.md @@ -4,6 +4,8 @@ title: 'wp plugin list' display_global_parameters: true --- +[Commands](/commands/) » [plugin](/commands/plugin/) » list + `wp plugin list` - Get a list of plugins. Quick links: Github issues diff --git a/commands/plugin/path/index.md b/commands/plugin/path/index.md index 9b75ff73..7e450b8d 100644 --- a/commands/plugin/path/index.md +++ b/commands/plugin/path/index.md @@ -4,6 +4,8 @@ title: 'wp plugin path' display_global_parameters: true --- +[Commands](/commands/) » [plugin](/commands/plugin/) » path + `wp plugin path` - Get the path to a plugin or to the plugin directory. Quick links: Github issues diff --git a/commands/plugin/search/index.md b/commands/plugin/search/index.md index 0702bfe4..20a44076 100644 --- a/commands/plugin/search/index.md +++ b/commands/plugin/search/index.md @@ -4,6 +4,8 @@ title: 'wp plugin search' display_global_parameters: true --- +[Commands](/commands/) » [plugin](/commands/plugin/) » search + `wp plugin search` - Search the wordpress.org plugin repository. Quick links: Github issues diff --git a/commands/plugin/status/index.md b/commands/plugin/status/index.md index db74574c..b362844e 100644 --- a/commands/plugin/status/index.md +++ b/commands/plugin/status/index.md @@ -4,6 +4,8 @@ title: 'wp plugin status' display_global_parameters: true --- +[Commands](/commands/) » [plugin](/commands/plugin/) » status + `wp plugin status` - See the status of one or all plugins. Quick links: Github issues diff --git a/commands/plugin/toggle/index.md b/commands/plugin/toggle/index.md index ebe674c2..acf41a9d 100644 --- a/commands/plugin/toggle/index.md +++ b/commands/plugin/toggle/index.md @@ -4,6 +4,8 @@ title: 'wp plugin toggle' display_global_parameters: true --- +[Commands](/commands/) » [plugin](/commands/plugin/) » toggle + `wp plugin toggle` - Toggle a plugin's activation state. Quick links: Github issues diff --git a/commands/plugin/uninstall/index.md b/commands/plugin/uninstall/index.md index d51bd1fd..d179c894 100644 --- a/commands/plugin/uninstall/index.md +++ b/commands/plugin/uninstall/index.md @@ -4,6 +4,8 @@ title: 'wp plugin uninstall' display_global_parameters: true --- +[Commands](/commands/) » [plugin](/commands/plugin/) » uninstall + `wp plugin uninstall` - Uninstall a plugin. Quick links: Github issues diff --git a/commands/plugin/update/index.md b/commands/plugin/update/index.md index 0c600422..392f94bd 100644 --- a/commands/plugin/update/index.md +++ b/commands/plugin/update/index.md @@ -4,6 +4,8 @@ title: 'wp plugin update' display_global_parameters: true --- +[Commands](/commands/) » [plugin](/commands/plugin/) » update + `wp plugin update` - Update one or more plugins. Quick links: Github issues diff --git a/commands/post-type/get/index.md b/commands/post-type/get/index.md index 72510f3d..5fa51a0b 100644 --- a/commands/post-type/get/index.md +++ b/commands/post-type/get/index.md @@ -4,6 +4,8 @@ title: 'wp post-type get' display_global_parameters: true --- +[Commands](/commands/) » [post-type](/commands/post-type/) » get + `wp post-type get` - Get a post type Quick links: Github issues diff --git a/commands/post-type/index.md b/commands/post-type/index.md index df5b9e78..7ae28759 100644 --- a/commands/post-type/index.md +++ b/commands/post-type/index.md @@ -4,6 +4,8 @@ title: 'wp post-type' display_global_parameters: true --- +[Commands](/commands/) » post-type + `wp post-type` - Manage post types. Quick links: Github issues diff --git a/commands/post-type/list/index.md b/commands/post-type/list/index.md index 9fb467ed..6e76f0b9 100644 --- a/commands/post-type/list/index.md +++ b/commands/post-type/list/index.md @@ -4,6 +4,8 @@ title: 'wp post-type list' display_global_parameters: true --- +[Commands](/commands/) » [post-type](/commands/post-type/) » list + `wp post-type list` - List post types. Quick links: Github issues diff --git a/commands/post/create/index.md b/commands/post/create/index.md index cf3be5a1..fe5c5a88 100644 --- a/commands/post/create/index.md +++ b/commands/post/create/index.md @@ -4,6 +4,8 @@ title: 'wp post create' display_global_parameters: true --- +[Commands](/commands/) » [post](/commands/post/) » create + `wp post create` - Create a post. Quick links: Github issues diff --git a/commands/post/delete/index.md b/commands/post/delete/index.md index 5986fb45..1051d6f5 100644 --- a/commands/post/delete/index.md +++ b/commands/post/delete/index.md @@ -4,6 +4,8 @@ title: 'wp post delete' display_global_parameters: true --- +[Commands](/commands/) » [post](/commands/post/) » delete + `wp post delete` - Delete a post by ID. Quick links: Github issues diff --git a/commands/post/edit/index.md b/commands/post/edit/index.md index 7c88f04a..b896367e 100644 --- a/commands/post/edit/index.md +++ b/commands/post/edit/index.md @@ -4,6 +4,8 @@ title: 'wp post edit' display_global_parameters: true --- +[Commands](/commands/) » [post](/commands/post/) » edit + `wp post edit` - Launch system editor to edit post content. Quick links: Github issues diff --git a/commands/post/generate/index.md b/commands/post/generate/index.md index fe7638bf..e6af0ec1 100644 --- a/commands/post/generate/index.md +++ b/commands/post/generate/index.md @@ -4,6 +4,8 @@ title: 'wp post generate' display_global_parameters: true --- +[Commands](/commands/) » [post](/commands/post/) » generate + `wp post generate` - Generate some posts. Quick links: Github issues diff --git a/commands/post/get/index.md b/commands/post/get/index.md index 9452a9e7..ec52d668 100644 --- a/commands/post/get/index.md +++ b/commands/post/get/index.md @@ -4,6 +4,8 @@ title: 'wp post get' display_global_parameters: true --- +[Commands](/commands/) » [post](/commands/post/) » get + `wp post get` - Get a post's content by ID. Quick links: Github issues diff --git a/commands/post/index.md b/commands/post/index.md index e45a0a95..7dc5fb3e 100644 --- a/commands/post/index.md +++ b/commands/post/index.md @@ -4,6 +4,8 @@ title: 'wp post' display_global_parameters: true --- +[Commands](/commands/) » post + `wp post` - Manage posts. Quick links: Github issues diff --git a/commands/post/list/index.md b/commands/post/list/index.md index 75c3ae15..a6b655d1 100644 --- a/commands/post/list/index.md +++ b/commands/post/list/index.md @@ -4,6 +4,8 @@ title: 'wp post list' display_global_parameters: true --- +[Commands](/commands/) » [post](/commands/post/) » list + `wp post list` - Get a list of posts. Quick links: Github issues diff --git a/commands/post/meta/add/index.md b/commands/post/meta/add/index.md index de8e67db..f15ff154 100644 --- a/commands/post/meta/add/index.md +++ b/commands/post/meta/add/index.md @@ -4,6 +4,8 @@ title: 'wp post meta add' display_global_parameters: true --- +[Commands](/commands/) » [post](/commands/post/) » [meta](/commands/post/meta/) » add + `wp post meta add` - Add a meta field. Quick links: Github issues diff --git a/commands/post/meta/delete/index.md b/commands/post/meta/delete/index.md index 17dd4566..079d58bf 100644 --- a/commands/post/meta/delete/index.md +++ b/commands/post/meta/delete/index.md @@ -4,6 +4,8 @@ title: 'wp post meta delete' display_global_parameters: true --- +[Commands](/commands/) » [post](/commands/post/) » [meta](/commands/post/meta/) » delete + `wp post meta delete` - Delete a meta field. Quick links: Github issues diff --git a/commands/post/meta/get/index.md b/commands/post/meta/get/index.md index e2043e33..cca1cf18 100644 --- a/commands/post/meta/get/index.md +++ b/commands/post/meta/get/index.md @@ -4,6 +4,8 @@ title: 'wp post meta get' display_global_parameters: true --- +[Commands](/commands/) » [post](/commands/post/) » [meta](/commands/post/meta/) » get + `wp post meta get` - Get meta field value. Quick links: Github issues diff --git a/commands/post/meta/index.md b/commands/post/meta/index.md index fbd43022..cb0ef06a 100644 --- a/commands/post/meta/index.md +++ b/commands/post/meta/index.md @@ -4,6 +4,8 @@ title: 'wp post meta' display_global_parameters: true --- +[Commands](/commands/) » [post](/commands/post/) » meta + `wp post meta` - Manage post custom fields. Quick links: Github issues diff --git a/commands/post/meta/list/index.md b/commands/post/meta/list/index.md index 32522fb5..e73d1295 100644 --- a/commands/post/meta/list/index.md +++ b/commands/post/meta/list/index.md @@ -4,6 +4,8 @@ title: 'wp post meta list' display_global_parameters: true --- +[Commands](/commands/) » [post](/commands/post/) » [meta](/commands/post/meta/) » list + `wp post meta list` - List all metadata associated with an object. Quick links: Github issues diff --git a/commands/post/meta/update/index.md b/commands/post/meta/update/index.md index 6beb719f..ccbb9b88 100644 --- a/commands/post/meta/update/index.md +++ b/commands/post/meta/update/index.md @@ -4,6 +4,8 @@ title: 'wp post meta update' display_global_parameters: true --- +[Commands](/commands/) » [post](/commands/post/) » [meta](/commands/post/meta/) » update + `wp post meta update` - Update a meta field. Quick links: Github issues diff --git a/commands/post/term/add/index.md b/commands/post/term/add/index.md index dfb2337f..b526a50b 100644 --- a/commands/post/term/add/index.md +++ b/commands/post/term/add/index.md @@ -4,6 +4,8 @@ title: 'wp post term add' display_global_parameters: true --- +[Commands](/commands/) » [post](/commands/post/) » [term](/commands/post/term/) » add + `wp post term add` - Add a term. Appends to existing set of terms on the object. Quick links: Github issues diff --git a/commands/post/term/index.md b/commands/post/term/index.md index db16d7f4..b1f58e09 100644 --- a/commands/post/term/index.md +++ b/commands/post/term/index.md @@ -4,6 +4,8 @@ title: 'wp post term' display_global_parameters: true --- +[Commands](/commands/) » [post](/commands/post/) » term + `wp post term` - Manage post terms. Quick links: Github issues diff --git a/commands/post/term/list/index.md b/commands/post/term/list/index.md index 8c380134..7486ec48 100644 --- a/commands/post/term/list/index.md +++ b/commands/post/term/list/index.md @@ -4,6 +4,8 @@ title: 'wp post term list' display_global_parameters: true --- +[Commands](/commands/) » [post](/commands/post/) » [term](/commands/post/term/) » list + `wp post term list` - List all terms associated with an object. Quick links: Github issues diff --git a/commands/post/term/remove/index.md b/commands/post/term/remove/index.md index 6cd4aa1d..55c373a0 100644 --- a/commands/post/term/remove/index.md +++ b/commands/post/term/remove/index.md @@ -4,6 +4,8 @@ title: 'wp post term remove' display_global_parameters: true --- +[Commands](/commands/) » [post](/commands/post/) » [term](/commands/post/term/) » remove + `wp post term remove` - Remove a term. Quick links: Github issues diff --git a/commands/post/term/set/index.md b/commands/post/term/set/index.md index bbe043cc..5b7e8105 100644 --- a/commands/post/term/set/index.md +++ b/commands/post/term/set/index.md @@ -4,6 +4,8 @@ title: 'wp post term set' display_global_parameters: true --- +[Commands](/commands/) » [post](/commands/post/) » [term](/commands/post/term/) » set + `wp post term set` - Set terms. Replaces existing terms on the object. Quick links: Github issues diff --git a/commands/post/update/index.md b/commands/post/update/index.md index 9d2c7c06..101b8a2a 100644 --- a/commands/post/update/index.md +++ b/commands/post/update/index.md @@ -4,6 +4,8 @@ title: 'wp post update' display_global_parameters: true --- +[Commands](/commands/) » [post](/commands/post/) » update + `wp post update` - Update one or more posts. Quick links: Github issues diff --git a/commands/rewrite/flush/index.md b/commands/rewrite/flush/index.md index 68469fb7..a4429b59 100644 --- a/commands/rewrite/flush/index.md +++ b/commands/rewrite/flush/index.md @@ -4,6 +4,8 @@ title: 'wp rewrite flush' display_global_parameters: true --- +[Commands](/commands/) » [rewrite](/commands/rewrite/) » flush + `wp rewrite flush` - Flush rewrite rules. Quick links: Github issues diff --git a/commands/rewrite/index.md b/commands/rewrite/index.md index 62a06f52..f0640224 100644 --- a/commands/rewrite/index.md +++ b/commands/rewrite/index.md @@ -4,6 +4,8 @@ title: 'wp rewrite' display_global_parameters: true --- +[Commands](/commands/) » rewrite + `wp rewrite` - Manage rewrite rules. Quick links: Github issues diff --git a/commands/rewrite/list/index.md b/commands/rewrite/list/index.md index 34d3e741..d2d9e72c 100644 --- a/commands/rewrite/list/index.md +++ b/commands/rewrite/list/index.md @@ -4,6 +4,8 @@ title: 'wp rewrite list' display_global_parameters: true --- +[Commands](/commands/) » [rewrite](/commands/rewrite/) » list + `wp rewrite list` - Print current rewrite rules. Quick links: Github issues diff --git a/commands/rewrite/structure/index.md b/commands/rewrite/structure/index.md index 0f247672..07f0e8ca 100644 --- a/commands/rewrite/structure/index.md +++ b/commands/rewrite/structure/index.md @@ -4,6 +4,8 @@ title: 'wp rewrite structure' display_global_parameters: true --- +[Commands](/commands/) » [rewrite](/commands/rewrite/) » structure + `wp rewrite structure` - Update the permalink structure. Quick links: Github issues diff --git a/commands/role/create/index.md b/commands/role/create/index.md index 5d5e708e..aacf501a 100644 --- a/commands/role/create/index.md +++ b/commands/role/create/index.md @@ -4,6 +4,8 @@ title: 'wp role create' display_global_parameters: true --- +[Commands](/commands/) » [role](/commands/role/) » create + `wp role create` - Create a new role. Quick links: Github issues diff --git a/commands/role/delete/index.md b/commands/role/delete/index.md index 74931d7a..3704ca37 100644 --- a/commands/role/delete/index.md +++ b/commands/role/delete/index.md @@ -4,6 +4,8 @@ title: 'wp role delete' display_global_parameters: true --- +[Commands](/commands/) » [role](/commands/role/) » delete + `wp role delete` - Delete an existing role. Quick links: Github issues diff --git a/commands/role/exists/index.md b/commands/role/exists/index.md index 9291edb2..38a94f6b 100644 --- a/commands/role/exists/index.md +++ b/commands/role/exists/index.md @@ -4,6 +4,8 @@ title: 'wp role exists' display_global_parameters: true --- +[Commands](/commands/) » [role](/commands/role/) » exists + `wp role exists` - Check if a role exists. Quick links: Github issues diff --git a/commands/role/index.md b/commands/role/index.md index 77d2f034..dbdf329b 100644 --- a/commands/role/index.md +++ b/commands/role/index.md @@ -4,6 +4,8 @@ title: 'wp role' display_global_parameters: true --- +[Commands](/commands/) » role + `wp role` - Manage user roles. Quick links: Github issues diff --git a/commands/role/list/index.md b/commands/role/list/index.md index 0255d268..92dab195 100644 --- a/commands/role/list/index.md +++ b/commands/role/list/index.md @@ -4,6 +4,8 @@ title: 'wp role list' display_global_parameters: true --- +[Commands](/commands/) » [role](/commands/role/) » list + `wp role list` - List all roles. Quick links: Github issues diff --git a/commands/role/reset/index.md b/commands/role/reset/index.md index d919e2dc..1f92dc7c 100644 --- a/commands/role/reset/index.md +++ b/commands/role/reset/index.md @@ -4,6 +4,8 @@ title: 'wp role reset' display_global_parameters: true --- +[Commands](/commands/) » [role](/commands/role/) » reset + `wp role reset` - Reset any default role to default capabilities. Quick links: Github issues diff --git a/commands/scaffold/_s/index.md b/commands/scaffold/_s/index.md index 4fd07fc9..48f05141 100644 --- a/commands/scaffold/_s/index.md +++ b/commands/scaffold/_s/index.md @@ -4,6 +4,8 @@ title: 'wp scaffold _s' display_global_parameters: true --- +[Commands](/commands/) » [scaffold](/commands/scaffold/) » _s + `wp scaffold _s` - Generate starter code for a theme. Quick links: Github issues diff --git a/commands/scaffold/child-theme/index.md b/commands/scaffold/child-theme/index.md index ee097ce8..d79f14e8 100644 --- a/commands/scaffold/child-theme/index.md +++ b/commands/scaffold/child-theme/index.md @@ -4,6 +4,8 @@ title: 'wp scaffold child-theme' display_global_parameters: true --- +[Commands](/commands/) » [scaffold](/commands/scaffold/) » child-theme + `wp scaffold child-theme` - Generate empty child theme. Quick links: Github issues diff --git a/commands/scaffold/index.md b/commands/scaffold/index.md index f8b5de98..e8eb6fec 100644 --- a/commands/scaffold/index.md +++ b/commands/scaffold/index.md @@ -4,6 +4,8 @@ title: 'wp scaffold' display_global_parameters: true --- +[Commands](/commands/) » scaffold + `wp scaffold` - Generate code for post types, taxonomies, etc. Quick links: Github issues diff --git a/commands/scaffold/plugin-tests/index.md b/commands/scaffold/plugin-tests/index.md index 8fe96ce4..e118cbfc 100644 --- a/commands/scaffold/plugin-tests/index.md +++ b/commands/scaffold/plugin-tests/index.md @@ -4,6 +4,8 @@ title: 'wp scaffold plugin-tests' display_global_parameters: true --- +[Commands](/commands/) » [scaffold](/commands/scaffold/) » plugin-tests + `wp scaffold plugin-tests` - Generate files needed for running PHPUnit tests. Quick links: Github issues diff --git a/commands/scaffold/plugin/index.md b/commands/scaffold/plugin/index.md index 37f74f48..dd23600f 100644 --- a/commands/scaffold/plugin/index.md +++ b/commands/scaffold/plugin/index.md @@ -4,6 +4,8 @@ title: 'wp scaffold plugin' display_global_parameters: true --- +[Commands](/commands/) » [scaffold](/commands/scaffold/) » plugin + `wp scaffold plugin` - Generate starter code for a plugin. Quick links: Github issues diff --git a/commands/scaffold/post-type/index.md b/commands/scaffold/post-type/index.md index 47b4bf39..a266da54 100644 --- a/commands/scaffold/post-type/index.md +++ b/commands/scaffold/post-type/index.md @@ -4,6 +4,8 @@ title: 'wp scaffold post-type' display_global_parameters: true --- +[Commands](/commands/) » [scaffold](/commands/scaffold/) » post-type + `wp scaffold post-type` - Generate PHP code for registering a custom post type. Quick links: Github issues diff --git a/commands/scaffold/taxonomy/index.md b/commands/scaffold/taxonomy/index.md index 937a045c..d427b4d1 100644 --- a/commands/scaffold/taxonomy/index.md +++ b/commands/scaffold/taxonomy/index.md @@ -4,6 +4,8 @@ title: 'wp scaffold taxonomy' display_global_parameters: true --- +[Commands](/commands/) » [scaffold](/commands/scaffold/) » taxonomy + `wp scaffold taxonomy` - Generate PHP code for registering a custom taxonomy. Quick links: Github issues diff --git a/commands/search-replace/index.md b/commands/search-replace/index.md index c8c19dd0..f6a365a5 100644 --- a/commands/search-replace/index.md +++ b/commands/search-replace/index.md @@ -4,6 +4,8 @@ title: 'wp search-replace' display_global_parameters: true --- +[Commands](/commands/) » search-replace + `wp search-replace` - Search/replace strings in the database. Quick links: Github issues diff --git a/commands/server/index.md b/commands/server/index.md index d3d471a4..c5536b42 100644 --- a/commands/server/index.md +++ b/commands/server/index.md @@ -4,6 +4,8 @@ title: 'wp server' display_global_parameters: true --- +[Commands](/commands/) » server + `wp server` - Launch PHP's built-in web server for this specific WordPress installation. Quick links: Github issues diff --git a/commands/shell/index.md b/commands/shell/index.md index c11ed343..3db5664a 100644 --- a/commands/shell/index.md +++ b/commands/shell/index.md @@ -4,6 +4,8 @@ title: 'wp shell' display_global_parameters: true --- +[Commands](/commands/) » shell + `wp shell` - Interactive PHP console. Quick links: Github issues diff --git a/commands/sidebar/index.md b/commands/sidebar/index.md index a1ef3a0c..a0b5cded 100644 --- a/commands/sidebar/index.md +++ b/commands/sidebar/index.md @@ -4,6 +4,8 @@ title: 'wp sidebar' display_global_parameters: true --- +[Commands](/commands/) » sidebar + `wp sidebar` - Manage sidebars. Quick links: Github issues diff --git a/commands/sidebar/list/index.md b/commands/sidebar/list/index.md index 6b30927d..26c7a394 100644 --- a/commands/sidebar/list/index.md +++ b/commands/sidebar/list/index.md @@ -4,6 +4,8 @@ title: 'wp sidebar list' display_global_parameters: true --- +[Commands](/commands/) » [sidebar](/commands/sidebar/) » list + `wp sidebar list` - List registered sidebars. Quick links: Github issues diff --git a/commands/site/activate/index.md b/commands/site/activate/index.md index 52c0f7a2..77c22199 100644 --- a/commands/site/activate/index.md +++ b/commands/site/activate/index.md @@ -4,6 +4,8 @@ title: 'wp site activate' display_global_parameters: true --- +[Commands](/commands/) » [site](/commands/site/) » activate + `wp site activate` - Activate one or more sites Quick links: Github issues diff --git a/commands/site/archive/index.md b/commands/site/archive/index.md index ddbe9015..06114164 100644 --- a/commands/site/archive/index.md +++ b/commands/site/archive/index.md @@ -4,6 +4,8 @@ title: 'wp site archive' display_global_parameters: true --- +[Commands](/commands/) » [site](/commands/site/) » archive + `wp site archive` - Archive one or more sites Quick links: Github issues diff --git a/commands/site/create/index.md b/commands/site/create/index.md index 78bd7bf1..13393adc 100644 --- a/commands/site/create/index.md +++ b/commands/site/create/index.md @@ -4,6 +4,8 @@ title: 'wp site create' display_global_parameters: true --- +[Commands](/commands/) » [site](/commands/site/) » create + `wp site create` - Create a site in a multisite install. Quick links: Github issues diff --git a/commands/site/deactivate/index.md b/commands/site/deactivate/index.md index cb4478c3..87e89fea 100644 --- a/commands/site/deactivate/index.md +++ b/commands/site/deactivate/index.md @@ -4,6 +4,8 @@ title: 'wp site deactivate' display_global_parameters: true --- +[Commands](/commands/) » [site](/commands/site/) » deactivate + `wp site deactivate` - Deactivate one or more sites Quick links: Github issues diff --git a/commands/site/delete/index.md b/commands/site/delete/index.md index 455c8fe4..54081263 100644 --- a/commands/site/delete/index.md +++ b/commands/site/delete/index.md @@ -4,6 +4,8 @@ title: 'wp site delete' display_global_parameters: true --- +[Commands](/commands/) » [site](/commands/site/) » delete + `wp site delete` - Delete a site in a multisite install. Quick links: Github issues diff --git a/commands/site/empty/index.md b/commands/site/empty/index.md index 241ab83c..9a84d739 100644 --- a/commands/site/empty/index.md +++ b/commands/site/empty/index.md @@ -4,6 +4,8 @@ title: 'wp site empty' display_global_parameters: true --- +[Commands](/commands/) » [site](/commands/site/) » empty + `wp site empty` - Empty a site of its content (posts, comments, and terms). Quick links: Github issues diff --git a/commands/site/index.md b/commands/site/index.md index d7428a59..9ed130fe 100644 --- a/commands/site/index.md +++ b/commands/site/index.md @@ -4,6 +4,8 @@ title: 'wp site' display_global_parameters: true --- +[Commands](/commands/) » site + `wp site` - Perform site-wide operations. Quick links: Github issues diff --git a/commands/site/list/index.md b/commands/site/list/index.md index e15a5b6b..784dfebd 100644 --- a/commands/site/list/index.md +++ b/commands/site/list/index.md @@ -4,6 +4,8 @@ title: 'wp site list' display_global_parameters: true --- +[Commands](/commands/) » [site](/commands/site/) » list + `wp site list` - List all sites in a multisite install. Quick links: Github issues diff --git a/commands/site/spam/index.md b/commands/site/spam/index.md index 7e935090..9dbf125e 100644 --- a/commands/site/spam/index.md +++ b/commands/site/spam/index.md @@ -4,6 +4,8 @@ title: 'wp site spam' display_global_parameters: true --- +[Commands](/commands/) » [site](/commands/site/) » spam + `wp site spam` - Mark one or more sites as spam Quick links: Github issues diff --git a/commands/site/unarchive/index.md b/commands/site/unarchive/index.md index 6779a618..f4f971ea 100644 --- a/commands/site/unarchive/index.md +++ b/commands/site/unarchive/index.md @@ -4,6 +4,8 @@ title: 'wp site unarchive' display_global_parameters: true --- +[Commands](/commands/) » [site](/commands/site/) » unarchive + `wp site unarchive` - Unarchive one or more sites Quick links: Github issues diff --git a/commands/site/unspam/index.md b/commands/site/unspam/index.md index 0201a2bc..97769e31 100644 --- a/commands/site/unspam/index.md +++ b/commands/site/unspam/index.md @@ -4,6 +4,8 @@ title: 'wp site unspam' display_global_parameters: true --- +[Commands](/commands/) » [site](/commands/site/) » unspam + `wp site unspam` - Remove one or more sites from spam Quick links: Github issues diff --git a/commands/super-admin/add/index.md b/commands/super-admin/add/index.md index 276eb021..cc4006f5 100644 --- a/commands/super-admin/add/index.md +++ b/commands/super-admin/add/index.md @@ -4,6 +4,8 @@ title: 'wp super-admin add' display_global_parameters: true --- +[Commands](/commands/) » [super-admin](/commands/super-admin/) » add + `wp super-admin add` - Grant super-admin privileges to one or more users. Quick links: Github issues diff --git a/commands/super-admin/index.md b/commands/super-admin/index.md index d5b08ee5..5819833f 100644 --- a/commands/super-admin/index.md +++ b/commands/super-admin/index.md @@ -4,6 +4,8 @@ title: 'wp super-admin' display_global_parameters: true --- +[Commands](/commands/) » super-admin + `wp super-admin` - List, add, and remove super admins from a network. Quick links: Github issues diff --git a/commands/super-admin/list/index.md b/commands/super-admin/list/index.md index 532b3302..08d93d65 100644 --- a/commands/super-admin/list/index.md +++ b/commands/super-admin/list/index.md @@ -4,6 +4,8 @@ title: 'wp super-admin list' display_global_parameters: true --- +[Commands](/commands/) » [super-admin](/commands/super-admin/) » list + `wp super-admin list` - Show a list of users with super-admin capabilities. Quick links: Github issues diff --git a/commands/super-admin/remove/index.md b/commands/super-admin/remove/index.md index d1679aa0..0af3a728 100644 --- a/commands/super-admin/remove/index.md +++ b/commands/super-admin/remove/index.md @@ -4,6 +4,8 @@ title: 'wp super-admin remove' display_global_parameters: true --- +[Commands](/commands/) » [super-admin](/commands/super-admin/) » remove + `wp super-admin remove` - Revoke super-admin privileges to one or more users. Quick links: Github issues diff --git a/commands/taxonomy/get/index.md b/commands/taxonomy/get/index.md index f311867c..c1e5a3fe 100644 --- a/commands/taxonomy/get/index.md +++ b/commands/taxonomy/get/index.md @@ -4,7 +4,9 @@ title: 'wp taxonomy get' display_global_parameters: true --- -`wp taxonomy get` - Get a taxonomy +[Commands](/commands/) » [taxonomy](/commands/taxonomy/) » get + +`wp taxonomy get` - Get a taxonomy. Quick links: Github issues diff --git a/commands/taxonomy/index.md b/commands/taxonomy/index.md index db24dbb0..f407197c 100644 --- a/commands/taxonomy/index.md +++ b/commands/taxonomy/index.md @@ -4,6 +4,8 @@ title: 'wp taxonomy' display_global_parameters: true --- +[Commands](/commands/) » taxonomy + `wp taxonomy` - Manage taxonomies. Quick links: Github issues diff --git a/commands/taxonomy/list/index.md b/commands/taxonomy/list/index.md index 41aa0502..84cf5cf2 100644 --- a/commands/taxonomy/list/index.md +++ b/commands/taxonomy/list/index.md @@ -4,6 +4,8 @@ title: 'wp taxonomy list' display_global_parameters: true --- +[Commands](/commands/) » [taxonomy](/commands/taxonomy/) » list + `wp taxonomy list` - List taxonomies. Quick links: Github issues diff --git a/commands/term/create/index.md b/commands/term/create/index.md index e8553526..f8ba6c6f 100644 --- a/commands/term/create/index.md +++ b/commands/term/create/index.md @@ -4,6 +4,8 @@ title: 'wp term create' display_global_parameters: true --- +[Commands](/commands/) » [term](/commands/term/) » create + `wp term create` - Create a term. Quick links: Github issues diff --git a/commands/term/delete/index.md b/commands/term/delete/index.md index eace2201..2139e123 100644 --- a/commands/term/delete/index.md +++ b/commands/term/delete/index.md @@ -4,6 +4,8 @@ title: 'wp term delete' display_global_parameters: true --- +[Commands](/commands/) » [term](/commands/term/) » delete + `wp term delete` - Delete a term. Quick links: Github issues diff --git a/commands/term/generate/index.md b/commands/term/generate/index.md index aa5a1b38..09e58600 100644 --- a/commands/term/generate/index.md +++ b/commands/term/generate/index.md @@ -4,6 +4,8 @@ title: 'wp term generate' display_global_parameters: true --- +[Commands](/commands/) » [term](/commands/term/) » generate + `wp term generate` - Generate some terms. Quick links: Github issues diff --git a/commands/term/get/index.md b/commands/term/get/index.md index 747df584..a9606a07 100644 --- a/commands/term/get/index.md +++ b/commands/term/get/index.md @@ -4,6 +4,8 @@ title: 'wp term get' display_global_parameters: true --- +[Commands](/commands/) » [term](/commands/term/) » get + `wp term get` - Get a taxonomy term Quick links: Github issues diff --git a/commands/term/index.md b/commands/term/index.md index 3355f657..644f3a2b 100644 --- a/commands/term/index.md +++ b/commands/term/index.md @@ -4,6 +4,8 @@ title: 'wp term' display_global_parameters: true --- +[Commands](/commands/) » term + `wp term` - Manage terms. Quick links: Github issues diff --git a/commands/term/list/index.md b/commands/term/list/index.md index 989cec9b..d5d1b9f9 100644 --- a/commands/term/list/index.md +++ b/commands/term/list/index.md @@ -4,6 +4,8 @@ title: 'wp term list' display_global_parameters: true --- +[Commands](/commands/) » [term](/commands/term/) » list + `wp term list` - List terms in a taxonomy. Quick links: Github issues diff --git a/commands/term/meta/add/index.md b/commands/term/meta/add/index.md index 981e19ae..f0b50836 100644 --- a/commands/term/meta/add/index.md +++ b/commands/term/meta/add/index.md @@ -4,6 +4,8 @@ title: 'wp term meta add' display_global_parameters: true --- +[Commands](/commands/) » [term](/commands/term/) » [meta](/commands/term/meta/) » add + `wp term meta add` - Add a meta field. Quick links: Github issues diff --git a/commands/term/meta/delete/index.md b/commands/term/meta/delete/index.md index 3bd75e6d..80065cbd 100644 --- a/commands/term/meta/delete/index.md +++ b/commands/term/meta/delete/index.md @@ -4,6 +4,8 @@ title: 'wp term meta delete' display_global_parameters: true --- +[Commands](/commands/) » [term](/commands/term/) » [meta](/commands/term/meta/) » delete + `wp term meta delete` - Delete a meta field. Quick links: Github issues diff --git a/commands/term/meta/get/index.md b/commands/term/meta/get/index.md index f438378f..7c630506 100644 --- a/commands/term/meta/get/index.md +++ b/commands/term/meta/get/index.md @@ -4,6 +4,8 @@ title: 'wp term meta get' display_global_parameters: true --- +[Commands](/commands/) » [term](/commands/term/) » [meta](/commands/term/meta/) » get + `wp term meta get` - Get meta field value. Quick links: Github issues diff --git a/commands/term/meta/index.md b/commands/term/meta/index.md index 29d151dc..ac207dc0 100644 --- a/commands/term/meta/index.md +++ b/commands/term/meta/index.md @@ -4,6 +4,8 @@ title: 'wp term meta' display_global_parameters: true --- +[Commands](/commands/) » [term](/commands/term/) » meta + `wp term meta` - Manage term custom fields. Quick links: Github issues diff --git a/commands/term/meta/list/index.md b/commands/term/meta/list/index.md index a34c8a8f..09a5cbe1 100644 --- a/commands/term/meta/list/index.md +++ b/commands/term/meta/list/index.md @@ -4,6 +4,8 @@ title: 'wp term meta list' display_global_parameters: true --- +[Commands](/commands/) » [term](/commands/term/) » [meta](/commands/term/meta/) » list + `wp term meta list` - List all metadata associated with an object. Quick links: Github issues diff --git a/commands/term/meta/update/index.md b/commands/term/meta/update/index.md index 6d43f09d..f6e33cde 100644 --- a/commands/term/meta/update/index.md +++ b/commands/term/meta/update/index.md @@ -4,6 +4,8 @@ title: 'wp term meta update' display_global_parameters: true --- +[Commands](/commands/) » [term](/commands/term/) » [meta](/commands/term/meta/) » update + `wp term meta update` - Update a meta field. Quick links: Github issues diff --git a/commands/term/recount/index.md b/commands/term/recount/index.md index c84ba35c..85aba19d 100644 --- a/commands/term/recount/index.md +++ b/commands/term/recount/index.md @@ -4,6 +4,8 @@ title: 'wp term recount' display_global_parameters: true --- +[Commands](/commands/) » [term](/commands/term/) » recount + `wp term recount` - Recalculate number of posts assigned to each term. Quick links: Github issues diff --git a/commands/term/update/index.md b/commands/term/update/index.md index 837c6b0c..917ca349 100644 --- a/commands/term/update/index.md +++ b/commands/term/update/index.md @@ -4,6 +4,8 @@ title: 'wp term update' display_global_parameters: true --- +[Commands](/commands/) » [term](/commands/term/) » update + `wp term update` - Update a term. Quick links: Github issues diff --git a/commands/term/url/index.md b/commands/term/url/index.md index 2eec3be6..6c8acc20 100644 --- a/commands/term/url/index.md +++ b/commands/term/url/index.md @@ -4,6 +4,8 @@ title: 'wp term url' display_global_parameters: true --- +[Commands](/commands/) » [term](/commands/term/) » url + `wp term url` - Get term url Quick links: Github issues diff --git a/commands/theme/activate/index.md b/commands/theme/activate/index.md index 7c15be0b..12cad5bb 100644 --- a/commands/theme/activate/index.md +++ b/commands/theme/activate/index.md @@ -4,6 +4,8 @@ title: 'wp theme activate' display_global_parameters: true --- +[Commands](/commands/) » [theme](/commands/theme/) » activate + `wp theme activate` - Activate a theme. Quick links: Github issues diff --git a/commands/theme/delete/index.md b/commands/theme/delete/index.md index b5a502cb..d82a2040 100644 --- a/commands/theme/delete/index.md +++ b/commands/theme/delete/index.md @@ -4,6 +4,8 @@ title: 'wp theme delete' display_global_parameters: true --- +[Commands](/commands/) » [theme](/commands/theme/) » delete + `wp theme delete` - Delete a theme. Quick links: Github issues diff --git a/commands/theme/disable/index.md b/commands/theme/disable/index.md index b3da8d2c..4a068166 100644 --- a/commands/theme/disable/index.md +++ b/commands/theme/disable/index.md @@ -4,6 +4,8 @@ title: 'wp theme disable' display_global_parameters: true --- +[Commands](/commands/) » [theme](/commands/theme/) » disable + `wp theme disable` - Disable a theme in a multisite install. Quick links: Github issues diff --git a/commands/theme/enable/index.md b/commands/theme/enable/index.md index 71f38ba2..c7a8fef3 100644 --- a/commands/theme/enable/index.md +++ b/commands/theme/enable/index.md @@ -4,6 +4,8 @@ title: 'wp theme enable' display_global_parameters: true --- +[Commands](/commands/) » [theme](/commands/theme/) » enable + `wp theme enable` - Enable a theme in a multisite install. Quick links: Github issues diff --git a/commands/theme/get/index.md b/commands/theme/get/index.md index e6e404d9..6aa98340 100644 --- a/commands/theme/get/index.md +++ b/commands/theme/get/index.md @@ -4,6 +4,8 @@ title: 'wp theme get' display_global_parameters: true --- +[Commands](/commands/) » [theme](/commands/theme/) » get + `wp theme get` - Get a theme Quick links: Github issues diff --git a/commands/theme/index.md b/commands/theme/index.md index 761d953d..1b0a31aa 100644 --- a/commands/theme/index.md +++ b/commands/theme/index.md @@ -4,6 +4,8 @@ title: 'wp theme' display_global_parameters: true --- +[Commands](/commands/) » theme + `wp theme` - Manage themes. Quick links: Github issues diff --git a/commands/theme/install/index.md b/commands/theme/install/index.md index 4b220bec..03bbed5f 100644 --- a/commands/theme/install/index.md +++ b/commands/theme/install/index.md @@ -4,6 +4,8 @@ title: 'wp theme install' display_global_parameters: true --- +[Commands](/commands/) » [theme](/commands/theme/) » install + `wp theme install` - Install a theme. Quick links: Github issues diff --git a/commands/theme/is-installed/index.md b/commands/theme/is-installed/index.md index 46cd4c1f..9a894a63 100644 --- a/commands/theme/is-installed/index.md +++ b/commands/theme/is-installed/index.md @@ -4,6 +4,8 @@ title: 'wp theme is-installed' display_global_parameters: true --- +[Commands](/commands/) » [theme](/commands/theme/) » is-installed + `wp theme is-installed` - Check if the theme is installed. Quick links: Github issues diff --git a/commands/theme/list/index.md b/commands/theme/list/index.md index e33c210d..dc8bacf6 100644 --- a/commands/theme/list/index.md +++ b/commands/theme/list/index.md @@ -4,6 +4,8 @@ title: 'wp theme list' display_global_parameters: true --- +[Commands](/commands/) » [theme](/commands/theme/) » list + `wp theme list` - Get a list of themes. Quick links: Github issues diff --git a/commands/theme/mod/get/index.md b/commands/theme/mod/get/index.md index 40757ce6..ff6760b3 100644 --- a/commands/theme/mod/get/index.md +++ b/commands/theme/mod/get/index.md @@ -4,6 +4,8 @@ title: 'wp theme mod get' display_global_parameters: true --- +[Commands](/commands/) » [theme](/commands/theme/) » [mod](/commands/theme/mod/) » get + `wp theme mod get` - Get theme mod(s). Quick links: Github issues diff --git a/commands/theme/mod/index.md b/commands/theme/mod/index.md index 69fa6342..a7d7b483 100644 --- a/commands/theme/mod/index.md +++ b/commands/theme/mod/index.md @@ -4,6 +4,8 @@ title: 'wp theme mod' display_global_parameters: true --- +[Commands](/commands/) » [theme](/commands/theme/) » mod + `wp theme mod` - Manage theme mods. Quick links: Github issues diff --git a/commands/theme/mod/remove/index.md b/commands/theme/mod/remove/index.md index b6db6145..eb0f58ce 100644 --- a/commands/theme/mod/remove/index.md +++ b/commands/theme/mod/remove/index.md @@ -4,6 +4,8 @@ title: 'wp theme mod remove' display_global_parameters: true --- +[Commands](/commands/) » [theme](/commands/theme/) » [mod](/commands/theme/mod/) » remove + `wp theme mod remove` - Remove theme mod(s). Quick links: Github issues diff --git a/commands/theme/mod/set/index.md b/commands/theme/mod/set/index.md index b276e5cf..adfdfc2d 100644 --- a/commands/theme/mod/set/index.md +++ b/commands/theme/mod/set/index.md @@ -4,6 +4,8 @@ title: 'wp theme mod set' display_global_parameters: true --- +[Commands](/commands/) » [theme](/commands/theme/) » [mod](/commands/theme/mod/) » set + `wp theme mod set` - Set a theme mod. Quick links: Github issues diff --git a/commands/theme/path/index.md b/commands/theme/path/index.md index 0ba95cb0..9878d003 100644 --- a/commands/theme/path/index.md +++ b/commands/theme/path/index.md @@ -4,6 +4,8 @@ title: 'wp theme path' display_global_parameters: true --- +[Commands](/commands/) » [theme](/commands/theme/) » path + `wp theme path` - Get the path to a theme or to the theme directory. Quick links: Github issues diff --git a/commands/theme/search/index.md b/commands/theme/search/index.md index 110d4af8..6d3348e4 100644 --- a/commands/theme/search/index.md +++ b/commands/theme/search/index.md @@ -4,6 +4,8 @@ title: 'wp theme search' display_global_parameters: true --- +[Commands](/commands/) » [theme](/commands/theme/) » search + `wp theme search` - Search the wordpress.org theme repository. Quick links: Github issues diff --git a/commands/theme/status/index.md b/commands/theme/status/index.md index af5ef9e0..4f27d1a3 100644 --- a/commands/theme/status/index.md +++ b/commands/theme/status/index.md @@ -4,6 +4,8 @@ title: 'wp theme status' display_global_parameters: true --- +[Commands](/commands/) » [theme](/commands/theme/) » status + `wp theme status` - See the status of one or all themes. Quick links: Github issues diff --git a/commands/theme/update/index.md b/commands/theme/update/index.md index a8ba534b..806d54ab 100644 --- a/commands/theme/update/index.md +++ b/commands/theme/update/index.md @@ -4,6 +4,8 @@ title: 'wp theme update' display_global_parameters: true --- +[Commands](/commands/) » [theme](/commands/theme/) » update + `wp theme update` - Update one or more themes. Quick links: Github issues diff --git a/commands/transient/delete-all/index.md b/commands/transient/delete-all/index.md index 294a2b53..95a7c795 100644 --- a/commands/transient/delete-all/index.md +++ b/commands/transient/delete-all/index.md @@ -4,6 +4,8 @@ title: 'wp transient delete-all' display_global_parameters: true --- +[Commands](/commands/) » [transient](/commands/transient/) » delete-all + `wp transient delete-all` - Delete all transients. Quick links: Github issues diff --git a/commands/transient/delete-expired/index.md b/commands/transient/delete-expired/index.md index b0b9ca66..401175ca 100644 --- a/commands/transient/delete-expired/index.md +++ b/commands/transient/delete-expired/index.md @@ -4,6 +4,8 @@ title: 'wp transient delete-expired' display_global_parameters: true --- +[Commands](/commands/) » [transient](/commands/transient/) » delete-expired + `wp transient delete-expired` - Delete all expired transients. Quick links: Github issues diff --git a/commands/transient/delete/index.md b/commands/transient/delete/index.md index e68345a5..e688757d 100644 --- a/commands/transient/delete/index.md +++ b/commands/transient/delete/index.md @@ -4,6 +4,8 @@ title: 'wp transient delete' display_global_parameters: true --- +[Commands](/commands/) » [transient](/commands/transient/) » delete + `wp transient delete` - Delete a transient value. Quick links: Github issues diff --git a/commands/transient/get/index.md b/commands/transient/get/index.md index 315836fb..8db11a7f 100644 --- a/commands/transient/get/index.md +++ b/commands/transient/get/index.md @@ -4,6 +4,8 @@ title: 'wp transient get' display_global_parameters: true --- +[Commands](/commands/) » [transient](/commands/transient/) » get + `wp transient get` - Get a transient value. Quick links: Github issues diff --git a/commands/transient/index.md b/commands/transient/index.md index 035ee4f9..2bbfc47e 100644 --- a/commands/transient/index.md +++ b/commands/transient/index.md @@ -4,6 +4,8 @@ title: 'wp transient' display_global_parameters: true --- +[Commands](/commands/) » transient + `wp transient` - Manage transients. Quick links: Github issues diff --git a/commands/transient/set/index.md b/commands/transient/set/index.md index 4b6f18e0..cd4a2fcd 100644 --- a/commands/transient/set/index.md +++ b/commands/transient/set/index.md @@ -4,6 +4,8 @@ title: 'wp transient set' display_global_parameters: true --- +[Commands](/commands/) » [transient](/commands/transient/) » set + `wp transient set` - Set a transient value. <expiration> is the time until expiration, in seconds. Quick links: Github issues diff --git a/commands/transient/type/index.md b/commands/transient/type/index.md index 0f0d91e6..5a0fa7d2 100644 --- a/commands/transient/type/index.md +++ b/commands/transient/type/index.md @@ -4,6 +4,8 @@ title: 'wp transient type' display_global_parameters: true --- +[Commands](/commands/) » [transient](/commands/transient/) » type + `wp transient type` - See whether the transients API is using an object cache or the options table. Quick links: Github issues diff --git a/commands/user/add-cap/index.md b/commands/user/add-cap/index.md index 1abfae07..94a6bb70 100644 --- a/commands/user/add-cap/index.md +++ b/commands/user/add-cap/index.md @@ -4,6 +4,8 @@ title: 'wp user add-cap' display_global_parameters: true --- +[Commands](/commands/) » [user](/commands/user/) » add-cap + `wp user add-cap` - Add a capability for a user. Quick links: Github issues diff --git a/commands/user/add-role/index.md b/commands/user/add-role/index.md index 749eb39b..9cc45321 100644 --- a/commands/user/add-role/index.md +++ b/commands/user/add-role/index.md @@ -4,6 +4,8 @@ title: 'wp user add-role' display_global_parameters: true --- +[Commands](/commands/) » [user](/commands/user/) » add-role + `wp user add-role` - Add a role for a user. Quick links: Github issues diff --git a/commands/user/create/index.md b/commands/user/create/index.md index f9016eb2..19a4ded2 100644 --- a/commands/user/create/index.md +++ b/commands/user/create/index.md @@ -4,6 +4,8 @@ title: 'wp user create' display_global_parameters: true --- +[Commands](/commands/) » [user](/commands/user/) » create + `wp user create` - Create a user. Quick links: Github issues diff --git a/commands/user/delete/index.md b/commands/user/delete/index.md index 18d38f1a..93f27da4 100644 --- a/commands/user/delete/index.md +++ b/commands/user/delete/index.md @@ -4,6 +4,8 @@ title: 'wp user delete' display_global_parameters: true --- +[Commands](/commands/) » [user](/commands/user/) » delete + `wp user delete` - Delete one or more users from the current site. Quick links: Github issues diff --git a/commands/user/generate/index.md b/commands/user/generate/index.md index c9d5ad61..7209dc4e 100644 --- a/commands/user/generate/index.md +++ b/commands/user/generate/index.md @@ -4,6 +4,8 @@ title: 'wp user generate' display_global_parameters: true --- +[Commands](/commands/) » [user](/commands/user/) » generate + `wp user generate` - Generate users. Quick links: Github issues diff --git a/commands/user/get/index.md b/commands/user/get/index.md index 27d95e91..b5c55efa 100644 --- a/commands/user/get/index.md +++ b/commands/user/get/index.md @@ -4,6 +4,8 @@ title: 'wp user get' display_global_parameters: true --- +[Commands](/commands/) » [user](/commands/user/) » get + `wp user get` - Get a single user. Quick links: Github issues diff --git a/commands/user/import-csv/index.md b/commands/user/import-csv/index.md index ed70d0be..4b25cae3 100644 --- a/commands/user/import-csv/index.md +++ b/commands/user/import-csv/index.md @@ -4,6 +4,8 @@ title: 'wp user import-csv' display_global_parameters: true --- +[Commands](/commands/) » [user](/commands/user/) » import-csv + `wp user import-csv` - Import users from a CSV file. Quick links: Github issues diff --git a/commands/user/index.md b/commands/user/index.md index 533f5df6..c9c4eed4 100644 --- a/commands/user/index.md +++ b/commands/user/index.md @@ -4,6 +4,8 @@ title: 'wp user' display_global_parameters: true --- +[Commands](/commands/) » user + `wp user` - Manage users. Quick links: Github issues diff --git a/commands/user/list-caps/index.md b/commands/user/list-caps/index.md index 05192a1f..0e266d01 100644 --- a/commands/user/list-caps/index.md +++ b/commands/user/list-caps/index.md @@ -4,6 +4,8 @@ title: 'wp user list-caps' display_global_parameters: true --- +[Commands](/commands/) » [user](/commands/user/) » list-caps + `wp user list-caps` - List all user's capabilities. Quick links: Github issues diff --git a/commands/user/list/index.md b/commands/user/list/index.md index 2e0c4266..2c7aca7c 100644 --- a/commands/user/list/index.md +++ b/commands/user/list/index.md @@ -4,6 +4,8 @@ title: 'wp user list' display_global_parameters: true --- +[Commands](/commands/) » [user](/commands/user/) » list + `wp user list` - List users. Quick links: Github issues diff --git a/commands/user/meta/add/index.md b/commands/user/meta/add/index.md index 78519dc1..c3dfbb24 100644 --- a/commands/user/meta/add/index.md +++ b/commands/user/meta/add/index.md @@ -4,6 +4,8 @@ title: 'wp user meta add' display_global_parameters: true --- +[Commands](/commands/) » [user](/commands/user/) » [meta](/commands/user/meta/) » add + `wp user meta add` - Add a meta field. Quick links: Github issues diff --git a/commands/user/meta/delete/index.md b/commands/user/meta/delete/index.md index fff954ca..195c07b9 100644 --- a/commands/user/meta/delete/index.md +++ b/commands/user/meta/delete/index.md @@ -4,6 +4,8 @@ title: 'wp user meta delete' display_global_parameters: true --- +[Commands](/commands/) » [user](/commands/user/) » [meta](/commands/user/meta/) » delete + `wp user meta delete` - Delete a meta field. Quick links: Github issues diff --git a/commands/user/meta/get/index.md b/commands/user/meta/get/index.md index e81c1089..5894d062 100644 --- a/commands/user/meta/get/index.md +++ b/commands/user/meta/get/index.md @@ -4,6 +4,8 @@ title: 'wp user meta get' display_global_parameters: true --- +[Commands](/commands/) » [user](/commands/user/) » [meta](/commands/user/meta/) » get + `wp user meta get` - Get meta field value. Quick links: Github issues diff --git a/commands/user/meta/index.md b/commands/user/meta/index.md index 1243b46a..6c6fdba4 100644 --- a/commands/user/meta/index.md +++ b/commands/user/meta/index.md @@ -4,6 +4,8 @@ title: 'wp user meta' display_global_parameters: true --- +[Commands](/commands/) » [user](/commands/user/) » meta + `wp user meta` - Manage user custom fields. Quick links: Github issues diff --git a/commands/user/meta/list/index.md b/commands/user/meta/list/index.md index 5b5267eb..f84f144a 100644 --- a/commands/user/meta/list/index.md +++ b/commands/user/meta/list/index.md @@ -4,6 +4,8 @@ title: 'wp user meta list' display_global_parameters: true --- +[Commands](/commands/) » [user](/commands/user/) » [meta](/commands/user/meta/) » list + `wp user meta list` - List all metadata associated with a user. Quick links: Github issues diff --git a/commands/user/meta/update/index.md b/commands/user/meta/update/index.md index 4da66d54..fe7dc68a 100644 --- a/commands/user/meta/update/index.md +++ b/commands/user/meta/update/index.md @@ -4,6 +4,8 @@ title: 'wp user meta update' display_global_parameters: true --- +[Commands](/commands/) » [user](/commands/user/) » [meta](/commands/user/meta/) » update + `wp user meta update` - Update a meta field. Quick links: Github issues diff --git a/commands/user/remove-cap/index.md b/commands/user/remove-cap/index.md index 8426fe20..d5999b50 100644 --- a/commands/user/remove-cap/index.md +++ b/commands/user/remove-cap/index.md @@ -4,6 +4,8 @@ title: 'wp user remove-cap' display_global_parameters: true --- +[Commands](/commands/) » [user](/commands/user/) » remove-cap + `wp user remove-cap` - Remove a user's capability. Quick links: Github issues diff --git a/commands/user/remove-role/index.md b/commands/user/remove-role/index.md index 15cccaff..c273039f 100644 --- a/commands/user/remove-role/index.md +++ b/commands/user/remove-role/index.md @@ -4,6 +4,8 @@ title: 'wp user remove-role' display_global_parameters: true --- +[Commands](/commands/) » [user](/commands/user/) » remove-role + `wp user remove-role` - Remove a user's role. Quick links: Github issues diff --git a/commands/user/set-role/index.md b/commands/user/set-role/index.md index a7d0e6aa..73a7a7e0 100644 --- a/commands/user/set-role/index.md +++ b/commands/user/set-role/index.md @@ -4,6 +4,8 @@ title: 'wp user set-role' display_global_parameters: true --- +[Commands](/commands/) » [user](/commands/user/) » set-role + `wp user set-role` - Set the user role (for a particular blog). Quick links: Github issues diff --git a/commands/user/term/add/index.md b/commands/user/term/add/index.md index 7a3e9f57..49e76f95 100644 --- a/commands/user/term/add/index.md +++ b/commands/user/term/add/index.md @@ -4,6 +4,8 @@ title: 'wp user term add' display_global_parameters: true --- +[Commands](/commands/) » [user](/commands/user/) » [term](/commands/user/term/) » add + `wp user term add` - Add a term. Appends to existing set of terms on the object. Quick links: Github issues diff --git a/commands/user/term/index.md b/commands/user/term/index.md index 6210350f..16b65338 100644 --- a/commands/user/term/index.md +++ b/commands/user/term/index.md @@ -4,6 +4,8 @@ title: 'wp user term' display_global_parameters: true --- +[Commands](/commands/) » [user](/commands/user/) » term + `wp user term` - Manage user terms. Quick links: Github issues diff --git a/commands/user/term/list/index.md b/commands/user/term/list/index.md index 18787ded..d0b19e68 100644 --- a/commands/user/term/list/index.md +++ b/commands/user/term/list/index.md @@ -4,6 +4,8 @@ title: 'wp user term list' display_global_parameters: true --- +[Commands](/commands/) » [user](/commands/user/) » [term](/commands/user/term/) » list + `wp user term list` - List all terms associated with an object. Quick links: Github issues diff --git a/commands/user/term/remove/index.md b/commands/user/term/remove/index.md index ae6e756c..5b033908 100644 --- a/commands/user/term/remove/index.md +++ b/commands/user/term/remove/index.md @@ -4,6 +4,8 @@ title: 'wp user term remove' display_global_parameters: true --- +[Commands](/commands/) » [user](/commands/user/) » [term](/commands/user/term/) » remove + `wp user term remove` - Remove a term. Quick links: Github issues diff --git a/commands/user/term/set/index.md b/commands/user/term/set/index.md index 6491014d..a4269a17 100644 --- a/commands/user/term/set/index.md +++ b/commands/user/term/set/index.md @@ -4,6 +4,8 @@ title: 'wp user term set' display_global_parameters: true --- +[Commands](/commands/) » [user](/commands/user/) » [term](/commands/user/term/) » set + `wp user term set` - Set terms. Replaces existing terms on the object. Quick links: Github issues diff --git a/commands/user/update/index.md b/commands/user/update/index.md index 92bfdec6..f6310d44 100644 --- a/commands/user/update/index.md +++ b/commands/user/update/index.md @@ -4,6 +4,8 @@ title: 'wp user update' display_global_parameters: true --- +[Commands](/commands/) » [user](/commands/user/) » update + `wp user update` - Update a user. Quick links: Github issues diff --git a/commands/widget/add/index.md b/commands/widget/add/index.md index db7d329c..8123b7ac 100644 --- a/commands/widget/add/index.md +++ b/commands/widget/add/index.md @@ -4,6 +4,8 @@ title: 'wp widget add' display_global_parameters: true --- +[Commands](/commands/) » [widget](/commands/widget/) » add + `wp widget add` - Add a widget to a sidebar. Quick links: Github issues diff --git a/commands/widget/deactivate/index.md b/commands/widget/deactivate/index.md index d740d941..a9a2ab8e 100644 --- a/commands/widget/deactivate/index.md +++ b/commands/widget/deactivate/index.md @@ -4,6 +4,8 @@ title: 'wp widget deactivate' display_global_parameters: true --- +[Commands](/commands/) » [widget](/commands/widget/) » deactivate + `wp widget deactivate` - Deactivate one or more widgets from an active sidebar. Quick links: Github issues diff --git a/commands/widget/delete/index.md b/commands/widget/delete/index.md index b448662e..a4727eab 100644 --- a/commands/widget/delete/index.md +++ b/commands/widget/delete/index.md @@ -4,6 +4,8 @@ title: 'wp widget delete' display_global_parameters: true --- +[Commands](/commands/) » [widget](/commands/widget/) » delete + `wp widget delete` - Delete one or more widgets from a sidebar. Quick links: Github issues diff --git a/commands/widget/index.md b/commands/widget/index.md index 316482a8..5d7ab5e9 100644 --- a/commands/widget/index.md +++ b/commands/widget/index.md @@ -4,6 +4,8 @@ title: 'wp widget' display_global_parameters: true --- +[Commands](/commands/) » widget + `wp widget` - Manage sidebar widgets. Quick links: Github issues diff --git a/commands/widget/list/index.md b/commands/widget/list/index.md index 6118882a..f56f455e 100644 --- a/commands/widget/list/index.md +++ b/commands/widget/list/index.md @@ -4,6 +4,8 @@ title: 'wp widget list' display_global_parameters: true --- +[Commands](/commands/) » [widget](/commands/widget/) » list + `wp widget list` - List widgets associated with a sidebar. Quick links: Github issues diff --git a/commands/widget/move/index.md b/commands/widget/move/index.md index e9fcdc84..687fd12d 100644 --- a/commands/widget/move/index.md +++ b/commands/widget/move/index.md @@ -4,6 +4,8 @@ title: 'wp widget move' display_global_parameters: true --- +[Commands](/commands/) » [widget](/commands/widget/) » move + `wp widget move` - Move a widget from one position on a sidebar to another. Quick links: Github issues diff --git a/commands/widget/reset/index.md b/commands/widget/reset/index.md index 62a99205..43ebe40f 100644 --- a/commands/widget/reset/index.md +++ b/commands/widget/reset/index.md @@ -4,6 +4,8 @@ title: 'wp widget reset' display_global_parameters: true --- +[Commands](/commands/) » [widget](/commands/widget/) » reset + `wp widget reset` - Reset sidebar. Quick links: Github issues diff --git a/commands/widget/update/index.md b/commands/widget/update/index.md index b6b167b0..01e544d0 100644 --- a/commands/widget/update/index.md +++ b/commands/widget/update/index.md @@ -4,6 +4,8 @@ title: 'wp widget update' display_global_parameters: true --- +[Commands](/commands/) » [widget](/commands/widget/) » update + `wp widget update` - Update a given widget's options. Quick links: Github issues diff --git a/docs/internal-api/wp-cli-add-command/index.md b/docs/internal-api/wp-cli-add-command/index.md index 9167c53d..3343d817 100644 --- a/docs/internal-api/wp-cli-add-command/index.md +++ b/docs/internal-api/wp-cli-add-command/index.md @@ -4,7 +4,7 @@ title: WP_CLI::add_command() description: "Register a command to WP-CLI." --- -Docs » Internal API » Registration +Docs » Internal API » Registration ## WP_CLI::add_command() diff --git a/docs/internal-api/wp-cli-add-hook/index.md b/docs/internal-api/wp-cli-add-hook/index.md index 07c124d7..f028c010 100644 --- a/docs/internal-api/wp-cli-add-hook/index.md +++ b/docs/internal-api/wp-cli-add-hook/index.md @@ -4,7 +4,7 @@ title: WP_CLI::add_hook() description: "Schedule a callback to be executed at a certain point." --- -Docs » Internal API » Registration +Docs » Internal API » Registration ## WP_CLI::add_hook() diff --git a/docs/internal-api/wp-cli-add-wp-hook/index.md b/docs/internal-api/wp-cli-add-wp-hook/index.md index 9244178f..7b66d272 100644 --- a/docs/internal-api/wp-cli-add-wp-hook/index.md +++ b/docs/internal-api/wp-cli-add-wp-hook/index.md @@ -4,7 +4,7 @@ title: WP_CLI::add_wp_hook() description: "Add a callback to a WordPress action or filter." --- -Docs » Internal API » Registration +Docs » Internal API » Registration ## WP_CLI::add_wp_hook() diff --git a/docs/internal-api/wp-cli-colorize/index.md b/docs/internal-api/wp-cli-colorize/index.md index 26cabdd3..2a561a47 100644 --- a/docs/internal-api/wp-cli-colorize/index.md +++ b/docs/internal-api/wp-cli-colorize/index.md @@ -4,7 +4,7 @@ title: WP_CLI::colorize() description: "Colorize a string for output." --- -Docs » Internal API » Output +Docs » Internal API » Output ## WP_CLI::colorize() diff --git a/docs/internal-api/wp-cli-confirm/index.md b/docs/internal-api/wp-cli-confirm/index.md index 59f564bc..eaae49cd 100644 --- a/docs/internal-api/wp-cli-confirm/index.md +++ b/docs/internal-api/wp-cli-confirm/index.md @@ -4,7 +4,7 @@ title: WP_CLI::confirm() description: "Ask for confirmation before running a destructive operation." --- -Docs » Internal API » Input +Docs » Internal API » Input ## WP_CLI::confirm() diff --git a/docs/internal-api/wp-cli-debug/index.md b/docs/internal-api/wp-cli-debug/index.md index 6e3fbbf1..e62d7cdb 100644 --- a/docs/internal-api/wp-cli-debug/index.md +++ b/docs/internal-api/wp-cli-debug/index.md @@ -4,7 +4,7 @@ title: WP_CLI::debug() description: "Display debug message prefixed with "Debug: " when `--debug` is used." --- -Docs » Internal API » Output +Docs » Internal API » Output ## WP_CLI::debug() diff --git a/docs/internal-api/wp-cli-do-hook/index.md b/docs/internal-api/wp-cli-do-hook/index.md index 00b6ba53..13d8ad13 100644 --- a/docs/internal-api/wp-cli-do-hook/index.md +++ b/docs/internal-api/wp-cli-do-hook/index.md @@ -4,7 +4,7 @@ title: WP_CLI::do_hook() description: "Execute callbacks registered to a given hook." --- -Docs » Internal API » Registration +Docs » Internal API » Registration ## WP_CLI::do_hook() diff --git a/docs/internal-api/wp-cli-error-multi-line/index.md b/docs/internal-api/wp-cli-error-multi-line/index.md index fb21afea..dab691b3 100644 --- a/docs/internal-api/wp-cli-error-multi-line/index.md +++ b/docs/internal-api/wp-cli-error-multi-line/index.md @@ -4,7 +4,7 @@ title: WP_CLI::error_multi_line() description: "Display a multi-line error message in a red box. Doesn't exit script." --- -Docs » Internal API » Output +Docs » Internal API » Output ## WP_CLI::error_multi_line() diff --git a/docs/internal-api/wp-cli-error/index.md b/docs/internal-api/wp-cli-error/index.md index 57df5b6d..802e842d 100644 --- a/docs/internal-api/wp-cli-error/index.md +++ b/docs/internal-api/wp-cli-error/index.md @@ -4,7 +4,7 @@ title: WP_CLI::error() description: "Display error message prefixed with "Error: " and exit script." --- -Docs » Internal API » Output +Docs » Internal API » Output ## WP_CLI::error() diff --git a/docs/internal-api/wp-cli-get-config/index.md b/docs/internal-api/wp-cli-get-config/index.md index a3da50fc..4cefdd19 100644 --- a/docs/internal-api/wp-cli-get-config/index.md +++ b/docs/internal-api/wp-cli-get-config/index.md @@ -4,7 +4,7 @@ title: WP_CLI::get_config() description: "Get values of global configuration parameters." --- -Docs » Internal API » Input +Docs » Internal API » Input ## WP_CLI::get_config() diff --git a/docs/internal-api/wp-cli-get-php-binary/index.md b/docs/internal-api/wp-cli-get-php-binary/index.md index 29b6039a..56259e6f 100644 --- a/docs/internal-api/wp-cli-get-php-binary/index.md +++ b/docs/internal-api/wp-cli-get-php-binary/index.md @@ -4,7 +4,7 @@ title: WP_CLI::get_php_binary() description: "Get the path to the PHP binary used when executing WP-CLI." --- -Docs » Internal API » System +Docs » Internal API » System ## WP_CLI::get_php_binary() diff --git a/docs/internal-api/wp-cli-launch-self/index.md b/docs/internal-api/wp-cli-launch-self/index.md index 7daad6bf..f1cd813e 100644 --- a/docs/internal-api/wp-cli-launch-self/index.md +++ b/docs/internal-api/wp-cli-launch-self/index.md @@ -4,7 +4,7 @@ title: WP_CLI::launch_self() description: "Run a WP-CLI command in a new process reusing the current runtime arguments." --- -Docs » Internal API » Execution +Docs » Internal API » Execution ## WP_CLI::launch_self() diff --git a/docs/internal-api/wp-cli-launch/index.md b/docs/internal-api/wp-cli-launch/index.md index b1804fbc..15ea2054 100644 --- a/docs/internal-api/wp-cli-launch/index.md +++ b/docs/internal-api/wp-cli-launch/index.md @@ -4,7 +4,7 @@ title: WP_CLI::launch() description: "Launch an arbitrary external process that takes over I/O." --- -Docs » Internal API » Execution +Docs » Internal API » Execution ## WP_CLI::launch() diff --git a/docs/internal-api/wp-cli-line/index.md b/docs/internal-api/wp-cli-line/index.md index 8d2f4e9e..a3088dce 100644 --- a/docs/internal-api/wp-cli-line/index.md +++ b/docs/internal-api/wp-cli-line/index.md @@ -4,7 +4,7 @@ title: WP_CLI::line() description: "Display informational message without prefix, and ignore `--quiet`." --- -Docs » Internal API » Output +Docs » Internal API » Output ## WP_CLI::line() diff --git a/docs/internal-api/wp-cli-log/index.md b/docs/internal-api/wp-cli-log/index.md index 00594925..486061ee 100644 --- a/docs/internal-api/wp-cli-log/index.md +++ b/docs/internal-api/wp-cli-log/index.md @@ -4,7 +4,7 @@ title: WP_CLI::log() description: "Display informational message without prefix." --- -Docs » Internal API » Output +Docs » Internal API » Output ## WP_CLI::log() diff --git a/docs/internal-api/wp-cli-read-value/index.md b/docs/internal-api/wp-cli-read-value/index.md index 323da9c4..6aa738f5 100644 --- a/docs/internal-api/wp-cli-read-value/index.md +++ b/docs/internal-api/wp-cli-read-value/index.md @@ -4,7 +4,7 @@ title: WP_CLI::read_value() description: "Read a value, from various formats." --- -Docs » Internal API » Input +Docs » Internal API » Input ## WP_CLI::read_value() diff --git a/docs/internal-api/wp-cli-run-command/index.md b/docs/internal-api/wp-cli-run-command/index.md index e37cfbda..5859ef67 100644 --- a/docs/internal-api/wp-cli-run-command/index.md +++ b/docs/internal-api/wp-cli-run-command/index.md @@ -4,7 +4,7 @@ title: WP_CLI::run_command() description: "Run a given command within the current process using the same global" --- -Docs » Internal API » Execution +Docs » Internal API » Execution ## WP_CLI::run_command() diff --git a/docs/internal-api/wp-cli-success/index.md b/docs/internal-api/wp-cli-success/index.md index 7f8efde3..f66dc95a 100644 --- a/docs/internal-api/wp-cli-success/index.md +++ b/docs/internal-api/wp-cli-success/index.md @@ -4,7 +4,7 @@ title: WP_CLI::success() description: "Display success message prefixed with "Success: "." --- -Docs » Internal API » Output +Docs » Internal API » Output ## WP_CLI::success() diff --git a/docs/internal-api/wp-cli-utils-format-items/index.md b/docs/internal-api/wp-cli-utils-format-items/index.md index df140238..dda47075 100644 --- a/docs/internal-api/wp-cli-utils-format-items/index.md +++ b/docs/internal-api/wp-cli-utils-format-items/index.md @@ -4,7 +4,7 @@ title: WP_CLI\Utils\format_items() description: "Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or count." --- -Docs » Internal API » Output +Docs » Internal API » Output ## WP_CLI\Utils\format_items() diff --git a/docs/internal-api/wp-cli-utils-get-flag-value/index.md b/docs/internal-api/wp-cli-utils-get-flag-value/index.md index 7e9f775c..acd44ab6 100644 --- a/docs/internal-api/wp-cli-utils-get-flag-value/index.md +++ b/docs/internal-api/wp-cli-utils-get-flag-value/index.md @@ -4,7 +4,7 @@ title: WP_CLI\Utils\get_flag_value() description: "Return the flag value or, if it's not set, the $default value." --- -Docs » Internal API » Input +Docs » Internal API » Input ## WP_CLI\Utils\get_flag_value() diff --git a/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md b/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md index 134f8350..d9e3c0be 100644 --- a/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md +++ b/docs/internal-api/wp-cli-utils-get-named-sem-ver/index.md @@ -4,7 +4,7 @@ title: WP_CLI\Utils\get_named_sem_ver() description: "Compare two version strings to get the named semantic version." --- -Docs » Internal API » Misc +Docs » Internal API » Misc ## WP_CLI\Utils\get_named_sem_ver() diff --git a/docs/internal-api/wp-cli-utils-get-temp-dir/index.md b/docs/internal-api/wp-cli-utils-get-temp-dir/index.md index 378c5513..89a351ff 100644 --- a/docs/internal-api/wp-cli-utils-get-temp-dir/index.md +++ b/docs/internal-api/wp-cli-utils-get-temp-dir/index.md @@ -4,7 +4,7 @@ title: WP_CLI\Utils\get_temp_dir() description: "Get the system's temp directory. Warns user if it isn't writable." --- -Docs » Internal API » System +Docs » Internal API » System ## WP_CLI\Utils\get_temp_dir() diff --git a/docs/internal-api/wp-cli-utils-http-request/index.md b/docs/internal-api/wp-cli-utils-http-request/index.md index 791995db..d867df14 100644 --- a/docs/internal-api/wp-cli-utils-http-request/index.md +++ b/docs/internal-api/wp-cli-utils-http-request/index.md @@ -4,7 +4,7 @@ title: WP_CLI\Utils\http_request() description: "Make a HTTP request to a remote URL." --- -Docs » Internal API » Misc +Docs » Internal API » Misc ## WP_CLI\Utils\http_request() diff --git a/docs/internal-api/wp-cli-utils-launch-editor-for-input/index.md b/docs/internal-api/wp-cli-utils-launch-editor-for-input/index.md index aff78ff9..3ba34bf1 100644 --- a/docs/internal-api/wp-cli-utils-launch-editor-for-input/index.md +++ b/docs/internal-api/wp-cli-utils-launch-editor-for-input/index.md @@ -4,7 +4,7 @@ title: WP_CLI\Utils\launch_editor_for_input() description: "Launch system's $EDITOR for the user to edit some text." --- -Docs » Internal API » Input +Docs » Internal API » Input ## WP_CLI\Utils\launch_editor_for_input() diff --git a/docs/internal-api/wp-cli-utils-make-progress-bar/index.md b/docs/internal-api/wp-cli-utils-make-progress-bar/index.md index 554ebb6c..4cd597a4 100644 --- a/docs/internal-api/wp-cli-utils-make-progress-bar/index.md +++ b/docs/internal-api/wp-cli-utils-make-progress-bar/index.md @@ -4,7 +4,7 @@ title: WP_CLI\Utils\make_progress_bar() description: "Create a progress bar to display percent completion of a given operation." --- -Docs » Internal API » Output +Docs » Internal API » Output ## WP_CLI\Utils\make_progress_bar() diff --git a/docs/internal-api/wp-cli-utils-parse-ssh-url/index.md b/docs/internal-api/wp-cli-utils-parse-ssh-url/index.md index 1eb0099d..6e68a9c0 100644 --- a/docs/internal-api/wp-cli-utils-parse-ssh-url/index.md +++ b/docs/internal-api/wp-cli-utils-parse-ssh-url/index.md @@ -4,7 +4,7 @@ title: WP_CLI\Utils\parse_ssh_url() description: "Parse a SSH url for its host, port, and path." --- -Docs » Internal API » Misc +Docs » Internal API » Misc ## WP_CLI\Utils\parse_ssh_url() diff --git a/docs/internal-api/wp-cli-utils-write-csv/index.md b/docs/internal-api/wp-cli-utils-write-csv/index.md index afb3d71b..d6c7891a 100644 --- a/docs/internal-api/wp-cli-utils-write-csv/index.md +++ b/docs/internal-api/wp-cli-utils-write-csv/index.md @@ -4,7 +4,7 @@ title: WP_CLI\Utils\write_csv() description: "Write data as CSV to a given file." --- -Docs » Internal API » Misc +Docs » Internal API » Misc ## WP_CLI\Utils\write_csv() diff --git a/docs/internal-api/wp-cli-warning/index.md b/docs/internal-api/wp-cli-warning/index.md index 8e02635e..bfccf1ca 100644 --- a/docs/internal-api/wp-cli-warning/index.md +++ b/docs/internal-api/wp-cli-warning/index.md @@ -4,7 +4,7 @@ title: WP_CLI::warning() description: "Display warning message prefixed with "Warning: "." --- -Docs » Internal API » Output +Docs » Internal API » Output ## WP_CLI::warning() From db4c81cad76757387a2c61a4878f54447fb76dd7 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 7 Sep 2016 05:20:23 -0700 Subject: [PATCH 813/839] Use a more direct maintainer link --- _includes/footer.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/footer.html b/_includes/footer.html index fe3a02d9..e88827a9 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -5,7 +5,7 @@ {% include global-parameters.html %} {% endif %} - + {% include analytics.html %} From b268a3972c76c6eb6d267d13c49fad13d96cb87a Mon Sep 17 00:00:00 2001 From: "RoseHosting.com" Date: Wed, 14 Sep 2016 06:16:45 -0500 Subject: [PATCH 814/839] Added our hosting services WP-CLI is installed by default on our WordPress One-Click-Install Servers https://www.rosehosting.com/cloud-server-oci-hosting.html And we'll install WP-CLI for free for any of our customers. --- docs/hosting-companies/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/hosting-companies/index.md b/docs/hosting-companies/index.md index cdca07ee..f5b1c4b0 100644 --- a/docs/hosting-companies/index.md +++ b/docs/hosting-companies/index.md @@ -25,6 +25,7 @@ In alphabetical order: * [Monarobase](https://monarobase.net/wordpress) * [NearlyFreeSpeech.NET](https://www.nearlyfreespeech.net/) * [Pantheon](https://pantheon.io) +* [RoseHosting](https://www.rosehosting.com) * [Site5](http://www.site5.com/) * [SiteGround](http://www.siteground.com/) * [Synthesis](http://websynthesis.com/) From 73b78e9de4abbc2f47e861570200acad70488c3a Mon Sep 17 00:00:00 2001 From: Pascal Birchler Date: Thu, 15 Sep 2016 09:38:10 +0200 Subject: [PATCH 815/839] Update URL to wp-completion.bash Avoids a redirect when someone just copies the URL and runs `curl` to download the script. --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index 2d38536f..3f64dbf4 100644 --- a/index.md +++ b/index.md @@ -99,7 +99,7 @@ Want to live life on the edge? Run `wp cli update --nightly` to use the latest n ### Tab completions -WP-CLI also comes with a tab completion script for Bash and ZSH. Just download [wp-completion.bash](https://github.com/wp-cli/wp-cli/raw/master/utils/wp-completion.bash) and source it from `~/.bash_profile`: +WP-CLI also comes with a tab completion script for Bash and ZSH. Just download [wp-completion.bash](https://raw.githubusercontent.com/wp-cli/wp-cli/master/utils/wp-completion.bash) and source it from `~/.bash_profile`: ``` source /FULL/PATH/TO/wp-completion.bash From 1a17e1eea3ff7b28b7dc875fdf3114a9fcf06b0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Till=20Kr=C3=BCss?= Date: Wed, 21 Sep 2016 16:00:54 -0700 Subject: [PATCH 816/839] Added `redis-cache` --- docs/tools/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/tools/index.md b/docs/tools/index.md index 8baeb46a..4e888fd9 100644 --- a/docs/tools/index.md +++ b/docs/tools/index.md @@ -57,6 +57,7 @@ The following table is an alphabetical list of known commands defined in WordPre | pdf-light-viewer | [PDF Light Viewer](https://github.com/antongorodezkiy/pdf-light-viewer) | post-gen | [Post Gen](https://github.com/trepmal/post-gen/) | rest-api-toolbox | [REST API Toolbox](https://github.com/petenelson/wp-rest-api-toolbox) +| redis-cache | [Redis Object Cache](http://wordpress.org/extend/plugins/redis-cache/) | revisions | [wp-revisions-cli](https://github.com/trepmal/wp-revisions-cli/) | revision-strike | [Revision Strike](https://wordpress.org/plugins/revision-strike/) | safe-redirect-manager | [Safe Redirect Manager](https://github.com/tlovett1/Safe-Redirect-Manager) From 15a4ff2aa6a7f267db07555176aab8d90360a6e2 Mon Sep 17 00:00:00 2001 From: Benjamin Cool Date: Thu, 29 Sep 2016 16:28:24 -0400 Subject: [PATCH 817/839] added A2 hosting --- docs/hosting-companies/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/hosting-companies/index.md b/docs/hosting-companies/index.md index f5b1c4b0..e280814b 100644 --- a/docs/hosting-companies/index.md +++ b/docs/hosting-companies/index.md @@ -10,6 +10,7 @@ The following is a list of hosting companies that have WP-CLI installed by defau In alphabetical order: * [1&1](http://1and1.com/) +* [A2 Hosting](https://www.a2hosting.com/) * [Amimoto](http://megumi-cloud.com/) * [Bluehost](http://www.bluehost.com/) * [Byte](https://www.byte.nl) From f4f058ae6e90ad522e07b2aa075b32b25e7b474f Mon Sep 17 00:00:00 2001 From: Iain Poulson Date: Mon, 10 Oct 2016 16:59:35 +0100 Subject: [PATCH 818/839] Update examples of `wp foo` instances Adds an example of creating a command using an instance of a class that has constructor arguments --- docs/commands-cookbook/index.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/commands-cookbook/index.md b/docs/commands-cookbook/index.md index bc9ad556..c68ea0f4 100644 --- a/docs/commands-cookbook/index.md +++ b/docs/commands-cookbook/index.md @@ -77,6 +77,19 @@ class Foo_Command { } } WP_CLI::add_command( 'foo', 'Foo_Command' ); + +// 4. Command is a method on a class with constructor arguments +class Foo_Command { + protected $bar; + public function __construct( $bar ) { + $this->bar = $bar; + } + public function __invoke( $args ) { + WP_CLI::success( $this->bar . ':' . $args[0] ); + } +} +$instance = new Foo_Command( 'Some text' ); +WP_CLI::add_command( 'foo', $instance ); ``` Importantly, classes behave a bit differently than functions and closures in that: From 93de9b6dc0b12e3b2b9e167d3d53b242e81c57fe Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Tue, 11 Oct 2016 06:37:09 -0700 Subject: [PATCH 819/839] Use https Disqus --- _includes/disqus.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/_includes/disqus.html b/_includes/disqus.html index adcf9e92..c2357dd9 100644 --- a/_includes/disqus.html +++ b/_includes/disqus.html @@ -6,9 +6,9 @@ /* * * DON'T EDIT BELOW THIS LINE * * */ (function() { var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; - dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js'; + dsq.src = 'https://' + disqus_shortname + '.disqus.com/embed.js'; (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); })(); - -comments powered by Disqus + +comments powered by Disqus From 966264f2a6aa54bb72db458657ef9cc526693734 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 14 Oct 2016 05:46:44 -0700 Subject: [PATCH 820/839] Stub out a website wish list --- _includes/doc-list.html | 1 + docs/wish-list/index.md | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 docs/wish-list/index.md diff --git a/_includes/doc-list.html b/_includes/doc-list.html index d3f31e09..ed7baf8d 100644 --- a/_includes/doc-list.html +++ b/_includes/doc-list.html @@ -36,5 +36,6 @@

    Misc

    diff --git a/docs/wish-list/index.md b/docs/wish-list/index.md new file mode 100644 index 00000000..003df784 --- /dev/null +++ b/docs/wish-list/index.md @@ -0,0 +1,21 @@ +--- +layout: doc +title: Website and Package Index wish list +description: A list of ideas and potential improvements for wp-cli.org +category: Misc +--- + +An ongoing list of ideas and potential improvements for wp-cli.org. + +### Website + +* Redesign! +* Produce command pages for the packages listed in the package index. +* Publish a set of suggested best practices for package maintainers to follow. + +### Package Index + +* Display download / installation counts for each package. +* Display number of Github stars for each package. +* Highlight packages in the index that are regularly updated, have multiple maintainers, or reflect some other quality we hold to be important. +* Run test suite for each package on a weekly basis ([from #3197](https://github.com/wp-cli/wp-cli/issues/3197#issuecomment-238946219)). From 7b209c4fe04c2dc624e188fd7a134bdab38abf72 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 14 Oct 2016 05:48:41 -0700 Subject: [PATCH 821/839] Update index.md --- docs/wish-list/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/wish-list/index.md b/docs/wish-list/index.md index 003df784..05a7297a 100644 --- a/docs/wish-list/index.md +++ b/docs/wish-list/index.md @@ -9,7 +9,7 @@ An ongoing list of ideas and potential improvements for wp-cli.org. ### Website -* Redesign! +* Redesign! And potentially move to WordPress from Github pages. * Produce command pages for the packages listed in the package index. * Publish a set of suggested best practices for package maintainers to follow. From fb2c91f7db900187eec44398181856a78f3f4e70 Mon Sep 17 00:00:00 2001 From: Gary Kovar Date: Fri, 14 Oct 2016 08:57:11 -0400 Subject: [PATCH 822/839] Add paragraph noting packages aren't plugins. https://github.com/binarygary/db-checkpoint/issues/6#issuecomment-253785111 --- docs/commands-cookbook/index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/commands-cookbook/index.md b/docs/commands-cookbook/index.md index c68ea0f4..059966dc 100644 --- a/docs/commands-cookbook/index.md +++ b/docs/commands-cookbook/index.md @@ -21,6 +21,8 @@ _But_, the WordPress admin is a Swiss Army knife of infinite complexity. There's WP-CLI commands can be [distributed as standalone packages](/package-index/), or bundled with WordPress plugins or themes. For the former, you can use `wp scaffold package` ([repo](https://github.com/wp-cli/scaffold-package-command)) to dynamically generate everything but the command itself. +Packages are to WP-CLI as plugins are to WordPress. There are distinct differences in the approach you should take to creating a WP-CLI package. While WP-CLI is an ever-growing alternative to /wp-admin it is important to note that you must first write your package to work with the WP-CLI internal API before considering how you work with WordPress APIs. + #### Command types Internal commands: From c16714ddfdc9a227017dfa28eefb3fe8bff3c6e0 Mon Sep 17 00:00:00 2001 From: Gary Kovar Date: Sat, 15 Oct 2016 11:45:54 -0400 Subject: [PATCH 823/839] Update index.md Changed @when references to after_wp_load. I think the propensity for package creators will be to assume WP functionality. If they copy and paste command parameters this will provide that default starting point. Changed text under @when heading to indicate it supports all WP-CLI hooks. Again, I think this is defensive wording for the devs that logically approach this from the plugin world. Finally, added authors example array to the composer.json file near the end of the page. --- docs/commands-cookbook/index.md | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/docs/commands-cookbook/index.md b/docs/commands-cookbook/index.md index 059966dc..d7c87f1a 100644 --- a/docs/commands-cookbook/index.md +++ b/docs/commands-cookbook/index.md @@ -148,7 +148,7 @@ class Example_Command extends WP_CLI_Command { * * wp example hello Newman * - * @when before_wp_load + * @when after_wp_load */ function hello( $args, $assoc_args ) { list( $name ) = $args; @@ -224,7 +224,7 @@ The longdesc is also displayed when calling the `help` command, for example, `wp This is the last section and it starts immediately after the longdesc: ``` - * @when before_wp_load + * @when after_wp_load */ ``` @@ -272,10 +272,10 @@ Success: Hello, Joe! **@when** -This is a special tag that tells WP-CLI when to execute the command. It supports [all registered hooks](/docs/internal-api/wp-cli-add-hook/). +This is a special tag that tells WP-CLI when to execute the command. It supports [all registered WP-CLI hooks](/docs/internal-api/wp-cli-add-hook/). ``` -@when before_wp_load +@when after_wp_load ``` Do keep in mind most WP-CLI hooks fire before WordPress is loaded. If your command is loaded from a plugin or theme, `@when` will be essentially ignored. @@ -309,7 +309,7 @@ WP_CLI::add_command( 'example hello', $hello_command, array( 'options' => array( 'success', 'error' ), ), ), - 'when' => 'before_wp_load', + 'when' => 'after_wp_load', ) ); ``` @@ -487,6 +487,13 @@ Here's a full composer.json example from the server command: "description": "Start a development server for WordPress", "homepage": "https://github.com/wp-cli/server-command", "license": "MIT", + "authors": [ + { + "name": "Package Maintainer", + "email": "packagemaintainer@homepage.com", + "homepage": "https://www.homepage.com" + } + ], "require": { "php": ">=5.4" }, From 037a6bbb3980360bbda8240d67217defe89d73b5 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 20 Oct 2016 06:14:27 -0700 Subject: [PATCH 824/839] Adopt "wp-cli-package" as the type of Composer project --- docs/commands-cookbook/index.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/commands-cookbook/index.md b/docs/commands-cookbook/index.md index d7c87f1a..cdd083e0 100644 --- a/docs/commands-cookbook/index.md +++ b/docs/commands-cookbook/index.md @@ -476,7 +476,7 @@ if ( defined( 'WP_CLI' ) && WP_CLI ) { ### Add to the package index -Standalone WP-CLI commands can be added to and installed from the [package index](/package-index/). The only technical requirement for being listed in the package index is to include a valid composer.json file with an autoload declaration. +Standalone WP-CLI commands can be added to and installed from the [package index](/package-index/). The only technical requirement for being listed in the package index is to include a valid composer.json file with an autoload declaration. We recommended including `"type": "wp-cli-package"` to distinguish your project explicitly as a WP-CLI package. Here's a full composer.json example from the server command: @@ -485,6 +485,7 @@ Here's a full composer.json example from the server command: { "name": "wp-cli/server-command", "description": "Start a development server for WordPress", + "type": "wp-cli-package", "homepage": "https://github.com/wp-cli/server-command", "license": "MIT", "authors": [ From 8b9ad034e58e94ab61f1927ee5c7397ddc4f4ed2 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Thu, 20 Oct 2016 06:47:30 -0700 Subject: [PATCH 825/839] Move package validation to the wish list From https://github.com/wp-cli/wp-cli/issues/3177 --- docs/wish-list/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/wish-list/index.md b/docs/wish-list/index.md index 05a7297a..80124196 100644 --- a/docs/wish-list/index.md +++ b/docs/wish-list/index.md @@ -19,3 +19,4 @@ An ongoing list of ideas and potential improvements for wp-cli.org. * Display number of Github stars for each package. * Highlight packages in the index that are regularly updated, have multiple maintainers, or reflect some other quality we hold to be important. * Run test suite for each package on a weekly basis ([from #3197](https://github.com/wp-cli/wp-cli/issues/3197#issuecomment-238946219)). +* Validate packages submitted to the package index ([previously #3177](https://github.com/wp-cli/wp-cli/issues/3177)) From 083349caf1862c8cc2b9c99605e0a831793e7bba Mon Sep 17 00:00:00 2001 From: miya0001 Date: Thu, 20 Oct 2016 23:41:38 +0900 Subject: [PATCH 826/839] fix menu was off the point --- ja/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ja/index.md b/ja/index.md index a04430b2..2182160d 100644 --- a/ja/index.md +++ b/ja/index.md @@ -21,7 +21,7 @@ title: Command line interface for WordPress

    A more RESTful WP-CLI は、コマンドラインによって WP REST API のポテンシャルを解放します。このプロジェクトは Pressed、Chris Lema、Human Made、Pagely、Pantheon、その他大勢の人たちによって支援されています。さらに詳しく →

    -Quick links: [使い方](#section) | [インストール方法](#section-1) | [サポート](#section-2) | [拡張](#section-3) | [貢献](#section-4) | [クレジット](#section-5) +Quick links: [使い方](#section) | [インストール方法](#section-1) | [サポート](#section-4) | [拡張](#section-5) | [貢献](#section-6) | [クレジット](#section-8) ## 使い方 From 9eec2baffda46fee98e49ba20b9dea771a8f1bfd Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 21 Oct 2016 09:22:37 -0700 Subject: [PATCH 827/839] Regenerate wp-cli.org homepage from README.md --- index.md | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/index.md b/index.md index 536bc657..bfacc4c0 100644 --- a/index.md +++ b/index.md @@ -9,17 +9,6 @@ To stay up to date, follow [@wpcli on Twitter](https://twitter.com/wpcli) or [si [![Build Status](https://travis-ci.org/wp-cli/wp-cli.png?branch=master)](https://travis-ci.org/wp-cli/wp-cli) [![Dependency Status](https://gemnasium.com/badges/github.com/wp-cli/wp-cli.svg)](https://gemnasium.com/github.com/wp-cli/wp-cli) [![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/wp-cli/wp-cli.svg)](http://isitmaintained.com/project/wp-cli/wp-cli "Average time to resolve an issue") [![Percentage of issues still open](http://isitmaintained.com/badge/open/wp-cli/wp-cli.svg)](http://isitmaintained.com/project/wp-cli/wp-cli "Percentage of issues still open") -
    -

    A more RESTful WP-CLI aims to unlocking the potential of the WP REST API at the command line. Project backed by Pressed, Chris Lema, Human Made, Pagely, Pantheon and many others. Learn more →

    -
    - Quick links: [Using](#using) | [Installing](#installing) | [Support](#support) | [Extending](#extending) | [Contributing](#contributing) | [Credits](#credits) ## Using @@ -37,10 +26,10 @@ Activating 'rest-api'... Success: Plugin 'rest-api' activated. ``` -WP-CLI also includes commands for many things you can't do in the WordPress admin. For example, `wp transient delete-all` ([doc](https://wp-cli.org/commands/transient/delete-all/)) lets you delete one or all transients: +WP-CLI also includes commands for many things you can't do in the WordPress admin. For example, `wp transient delete --all` ([doc](https://wp-cli.org/commands/transient/delete/)) lets you delete one or all transients: ```bash -$ wp transient delete-all +$ wp transient delete --all Success: 34 transients deleted from the database. ``` @@ -88,7 +77,7 @@ WP-CLI root dir: /home/wp-cli/.wp-cli WP-CLI packages dir: /home/wp-cli/.wp-cli/packages/ WP-CLI global config: /home/wp-cli/.wp-cli/config.yml WP-CLI project config: -WP-CLI version: 0.23.0 +WP-CLI version: 0.24.1 ``` ### Updating From 7f0d1b483072db419c5f4ffc8830f1b43be2bb1e Mon Sep 17 00:00:00 2001 From: Konstantinos Kouratoras Date: Fri, 21 Oct 2016 23:09:37 +0300 Subject: [PATCH 828/839] Update in Greek translation --- gr/index.md | 37 +++++++++++++++++-------------------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/gr/index.md b/gr/index.md index 6b770086..4e1aab4c 100644 --- a/gr/index.md +++ b/gr/index.md @@ -9,24 +9,13 @@ title: Διεπαφή γραμμής εντολών για το WordPress [![Build Status](https://travis-ci.org/wp-cli/wp-cli.png?branch=master)](https://travis-ci.org/wp-cli/wp-cli) [![Dependency Status](https://gemnasium.com/badges/github.com/wp-cli/wp-cli.svg)](https://gemnasium.com/github.com/wp-cli/wp-cli) [![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/wp-cli/wp-cli.svg)](http://isitmaintained.com/project/wp-cli/wp-cli "Average time to resolve an issue") [![Percentage of issues still open](http://isitmaintained.com/badge/open/wp-cli/wp-cli.svg)](http://isitmaintained.com/project/wp-cli/wp-cli "Percentage of issues still open") -
    -

    Ένα περισσότερο RESTful WP-CLI στοχεύει στην εκμετάλλευση της δυναμικής του WP REST API στη γραμμή εντολών. Το έργο υποστηρίχθηκε από τους Pressed, Chris Lema, Human Made, Pagely, Pantheon και πολλούς άλλους. Μάθετε περισσότερα →

    -
    - Γρήγοροι σύνδεσμοι: [Χρήση](#using) | [Εγκατάσταση](#installing) | [Υποστήριξη](#support) | [Επέκταση](#extending) | [Συνεισφορά](#contributing) | [Ευχαριστίες](#credits) ## Χρήση Ο σκοπός του WP-CLI είναι η παροχή μίας διεπαφής γραμμής εντολών για κάθε ενέργεια που μπορεί να θέλετε να εκτελέσετε στο διαχειριστικό περιβάλλον του WordPress. Για παράδειγμα, η εντολή `wp plugin install --activate` ([τεκμηρίωση](https://wp-cli.org/commands/plugin/install/)) σας επιτρέπει να εγκαταστήσετε και να ενεργοποιήσετε ένα πρόσθετο WordPress: -``` +```bash $ wp plugin install rest-api --activate Installing WordPress REST API (Version 2) (2.0-beta13) Downloading install package from https://downloads.wordpress.org/plugin/rest-api.2.0-beta13.zip... @@ -39,7 +28,7 @@ Success: Plugin 'rest-api' activated. Το WP-CLI περιλαμβάνει επίσης εντολές για πολλά πράγματα που δεν μπορείτε να κάνετε στο διαχειριστικό περιβάλλον του WordPress. Για παράδειγμα, η εντολή `wp transient delete-all` ([τεκμηρίωση](https://wp-cli.org/commands/transient/delete-all/)) σας επιτρέπει να διαγράψετε ένα ή όλα τα transients: -``` +```bash $ wp transient delete-all Success: 34 transients deleted from the database. ``` @@ -60,26 +49,26 @@ Success: 34 transients deleted from the database. Μόλις επιβεβαιώσετε τις απαιτήσεις, μεταφορτώστε το αρχείο [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar) χρησιμοποιώντας την εντολή `wget` ή `curl`: -``` +```bash $ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar ``` Μετά, ελέγξτε ότι δουλεύει: -``` +```bash $ php wp-cli.phar --info ``` Για να χρησιμοποιήσετε το WP-CLI από τη γραμμή εντολών πληκτρολογώντας `wp`, κάντε το αρχείο εκτελέσιμο και μετακινήστε το κάπου μέσα στο PATH σας. Για παράδειγμα: -``` +```bash $ chmod +x wp-cli.phar $ sudo mv wp-cli.phar /usr/local/bin/wp ``` Αν το WP-CLI έχει εγκατασταθεί επιτυχώς, όταν εκτελέσετε `wp --info` θα πρέπει να δείτε κάτι σαν αυτό: -``` +```bash $ wp --info PHP binary: /usr/bin/php5 PHP version: 5.5.9-1ubuntu4.14 @@ -88,7 +77,7 @@ WP-CLI root dir: /home/wp-cli/.wp-cli WP-CLI packages dir: /home/wp-cli/.wp-cli/packages/ WP-CLI global config: /home/wp-cli/.wp-cli/config.yml WP-CLI project config: -WP-CLI version: 0.23.0 +WP-CLI version: 0.24.1 ``` ### Ενημέρωση @@ -101,12 +90,20 @@ WP-CLI version: 0.23.0 Το WP-CLI έρχεται επίσης με ένα αρχείο για συμπλήρωση tab για το Bash και το ZSH. Απλά μεταφορτώστε το [wp-completion.bash](https://github.com/wp-cli/wp-cli/raw/master/utils/wp-completion.bash) και προσθέστε την παρακάτω γραμμή στο αρχείο `~/.bash_profile`: -``` +```bash source /FULL/PATH/TO/wp-completion.bash ``` Μην ξεχάσετε να εκτελέσετε την εντολή `source ~/.bash_profile` μετά. +Αν χρησιμοποιείτε zsh για κέλυφος, ίσως χρειαστεί να φορτώσετε και να εκκινήσετε το `bashcompinit` πριν το source. Τοποθετείστε το παρακάτων στο στο αρχείο σας `.zshrc`: + +```bash +autoload bashcompinit +bashcompinit +source /FULL/PATH/TO/wp-completion.bash +``` + ## Υποστήριξη Τα άτομα που συντηρούν το WP-CLI και συνεισφέρουν σε αυτό, κάνουν ότι καλύτερο μπορούν για να απαντάνε σε όλα τα νέα θέματα εγκαίρως. Για να κάνετε τη βέλτιστη χρήση του εθελοντικού τους χρόνου, παρακαλώ δείτε πρώτα μήπως υπάρχει απάντηση στην ερώτησή σας σε έναν από τους ακόλουθους συνδέσμους: @@ -129,7 +126,7 @@ source /FULL/PATH/TO/wp-completion.bash Το WP-CLI υποστηρίζει την καταχώρηση σαν μία εντολή κάθε κλάσης ή συνάρτησης που μπορεί να καλεστεί. Διαβάζει λεπτομέρειες χρήσης από το PHPdoc. Το `WP_CLI::add_command()` ([τεκμηρίωση](https://wp-cli.org/docs/internal-api/wp-cli-add-command/)) χρησιμοποιείται για εσωτερική καταχώρηση εντολής και καταχώρηση από τρίτους. -``` +```php /** * Delete an option from the database. * From 144d7342d866ea8ed4463a614ab9b39990438eb6 Mon Sep 17 00:00:00 2001 From: mustafauysal Date: Sat, 22 Oct 2016 03:05:31 +0300 Subject: [PATCH 829/839] Turkish homepage synced --- tr/index.md | 102 ++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 79 insertions(+), 23 deletions(-) diff --git a/tr/index.md b/tr/index.md index 2da680e8..04dede3d 100644 --- a/tr/index.md +++ b/tr/index.md @@ -12,25 +12,15 @@ Güncel kalmak için [@wpcli Twitter](https://twitter.com/wpcli) hesabını taki [![Build Status](https://travis-ci.org/wp-cli/wp-cli.png?branch=master)](https://travis-ci.org/wp-cli/wp-cli) [![Dependency Status](https://gemnasium.com/badges/github.com/wp-cli/wp-cli.svg)](https://gemnasium.com/github.com/wp-cli/wp-cli) [![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/wp-cli/wp-cli.svg)](http://isitmaintained.com/project/wp-cli/wp-cli "Average time to resolve an issue") [![Percentage of issues still open](http://isitmaintained.com/badge/open/wp-cli/wp-cli.svg)](http://isitmaintained.com/project/wp-cli/wp-cli "Percentage of issues still open") -
    -

    Daha RESTful WP-CLI, WP REST API'nin potansiyelini komut satırı üzerinde göstermeyi amaçlıyor. Proje Pressed, Chris Lema, Human Made, Pagely, Pantheon ve daha pek çokları tarafından desteklendi. Ayrıntılı bilgi için →

    -
    Bağlantılar: [Kullanım](#kullanm) | [Kurulum](#kurulum) | [Destek](#destek) | [Genişletmek](#geniletmek) | [Katkıda Bulunmak](#katkda-bulunmak) | [Katkıda Bulunanlar](#katkda-bulunanlar) ## Kullanım -WP-CLI, WordPress yönetim panelinden gerçekleştirebileceğiniz tüm işlemler için komut-satırı arabirimi sunmayı amaçlar. Örneğin `wp plugin install` ([belge](https://wp-cli.org/commands/plugin/install/)) bir WordPress eklentisini kurmanızı ve aktifleştirmenizi sağlar: +WP-CLI, WordPress yönetim panelinden gerçekleştirebileceğiniz tüm işlemler için komut-satırı arabirimi sunmayı amaçlar. Örneğin `wp plugin install --activate` ([belge](https://wp-cli.org/commands/plugin/install/)) bir WordPress eklentisini kurmanızı ve aktifleştirmenizi sağlar: -``` +```bash $ wp plugin install rest-api --activate Installing WordPress REST API (Version 2) (2.0-beta13) Downloading install package from https://downloads.wordpress.org/plugin/rest-api.2.0-beta13.zip... @@ -41,11 +31,11 @@ Activating 'rest-api'... Success: Plugin 'rest-api' activated. ``` -WP-CLI ayrıca WordPress yönetim panelinden gerçekleştiremeyeceğiniz komutları da barındırır. Örneğin, `wp transient delete-all` ([belge](https://wp-cli.org/commands/transient/delete-all/)) bir veya daha fazla transient'i silmenizi sağlar: +WP-CLI ayrıca WordPress yönetim panelinden gerçekleştiremeyeceğiniz komutları da barındırır. Örneğin, `wp transient delete --all` ([belge](https://wp-cli.org/commands/transient/delete/)) bir veya daha fazla transient'i silmenizi sağlar: -``` -$ wp transient delete-all +```bash +$ wp transient delete --all Success: 34 transients deleted from the database. ``` @@ -67,26 +57,26 @@ Lütfen WP-CLI'i kurmadan önce minimum ortam gereksinimlerin karşılandığın Gerensinimleri karşıladıktan sonra, [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar) dosyasını `wget` veya `curl` ile indirin: -``` +```bash $ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar ``` Sonra, çalışıp çalışmadığını kontrol edin: -``` +```bash $ php wp-cli.phar --info ``` WP-CLI'e komut satırından `wp` yazarak erişebilmek için dosyayı çalıştırılabilir hale getirin ve PATH'de tanımlı olan bir yere taşıyın. Örneğin: -``` +```bash $ chmod +x wp-cli.phar $ sudo mv wp-cli.phar /usr/local/bin/wp ``` Eğer kurulum başarılı bir şekilde tamamlandıysa, `wp --info` komutunu çalıştırdığınızda buna benzer birşey göreceksiniz: -``` +```bash $ wp --info PHP binary: /usr/bin/php5 PHP version: 5.5.9-1ubuntu4.14 @@ -95,11 +85,37 @@ WP-CLI root dir: /home/wp-cli/.wp-cli WP-CLI packages dir: /home/wp-cli/.wp-cli/packages/ WP-CLI global config: /home/wp-cli/.wp-cli/config.yml WP-CLI project config: -WP-CLI version: 0.23.0 +WP-CLI version: 0.24.1 ``` + +### Güncelleme + WP-CLI'i `wp cli update` komutu ([belge](https://wp-cli.org/commands/cli/update/)) ile veya kurulum adımlarını tekrarlayarak güncelleyebilirsiniz. +Sınırda yaşamayı seviyor musunuz? `wp cli update --nightly` komutu ile nightly build sürümüne güncelleyebilirsiniz. Geliştirme ortamınız için nightly build sürümler daha çok yada az stabil olabilir ve her zaman en son ve yeni WP-CLI özelliklerini içerir. + +### Sekme tamamlama + +WP-CLI ayrıca, Bash ve ZSH için sekme tamamlama scripti sunar. Yapmanız gereken sadece [wp-completion.bash](https://raw.githubusercontent.com/wp-cli/wp-cli/master/utils/wp-completion.bash) dosyasını indirmek ve kaynak olarak `~/.bash_profile` dosyanıza tanımlamak: + + + +```bash +source /FULL/PATH/TO/wp-completion.bash +``` + +Ekledikten sonra `source ~/.bash_profile` komutunu çalıştırmayı unutmayın. + +Shell için zsh kullanıyorsanız, kaynak olarak tanımlamadan önce `bashcompinit` i yükleyip çalıştırmanız gerekebilir. Aşağıdaki kodları `.zshrc` dosyanıza ekleyin: + +```bash +autoload bashcompinit +bashcompinit +source /FULL/PATH/TO/wp-completion.bash +``` + + ## Destek @@ -107,24 +123,64 @@ WP-CLI bakımcıları ve katılımcıları tüm yeni gelen soruları cevaplamak - [Ortak sorunlar ve çözümleri](https://wp-cli.org/docs/common-issues/) -- [Hata bildirimi](https://wp-cli.org/docs/bug-reports/) - [Dökümantasyon](https://wp-cli.org/docs/) - [Github üzerindeki açık veya kapalı konular](https://github.com/wp-cli/wp-cli/issues?utf8=%E2%9C%93&q=is%3Aissue) +- [runcommand Excerpts](https://runcommand.io/excerpts/) - [WordPress StackExchange forumları](http://wordpress.stackexchange.com/questions/tagged/wp-cli) -Eğer bu kaynaklarda sorularınıza cevap bulamazsanız, [hata bildirimi](https://github.com/wp-cli/wp-cli/issues/new) göndermekten çekinmeyiniz. +Eğer bu kaynaklarda sorularınıza cevap bulamazsanız, [WordPress.org Slack organizasyonu](https://make.wordpress.org/chat/) üzerinden `#cli` kanalına katılın, topluluk üyelerinden birisi yardımcı olabilir. Profesyonel kullanıcılar, premium destek için ayrıca [runcommand](https://runcommand.io/) 'ı düşünebilirler. + +Github konuları mevcut komutlar için yenilik ve hata takibi icin kullanılmaktadır, genel destek için değildir. Hata bildirimi göndermeden önce, sorununuz zamanında ele alınması için lütfen [hata bildirimi yöntemini](ttps://wp-cli.org/docs/bug-reports/) gözden geçirin. + +Lütfen Twitter üzerinden destek soruları sormayın. Twitter destek için iyi bir yer değildir çünkü: 1) Yazışmaları 140 karakterin altında tutmak zor, ve 2) Twitter sizinle aynı soruna sahip birisinin önceki cevabı arayarak bulabileceği bir yer değil. + + +Unutmayın, özgür != ücretsiz; açık kaynak lisansı size özgürce kullanma ve değiştirme hakkı verir, başkalarının zamanını değil. Lütfen buna saygı duyun ve beklentilerinizi buna göre ayarlayın. + -WordPress.org hesabınız varsa, [WordPress.org Slack organizasyonu](https://make.wordpress.org/chat/) üzerinden `#cli` kanalına katılabilirsiniz. ## Genişletmek **Komutlar** WP-CLI'nin atomik birimleridir. `wp plugin install` ([belge](https://wp-cli.org/commands/plugin/install/)) bir komuttur. `wp plugin activate` ([belge](https://wp-cli.org/commands/plugin/activate/)) başka bir komuttur. +WP-CLI çağrılabilen herhangi bir sınıfı, fonksiyonu yada anonim fonksiyonu komut olarak kaydetmeyi destekler. Kullanım detaylarını callback'in PHP dökümanından (PHPdoc) okur. `WP_CLI::add_command()` ([belge](https://wp-cli.org/docs/internal-api/wp-cli-add-command/)) dahili ve üçüncü-parti komutların kaydedilmesi için kullanılmaktadır. + +```php +/** + * Delete an option from the database. + * + * Returns an error if the option didn't exist. + * + * ## OPTIONS + * + * + * : Key for the option. + * + * ## EXAMPLES + * + * $ wp option delete my_option + * Success: Deleted 'my_option' option. + */ +$delete_option_cmd = function( $args ) { + list( $key ) = $args; + + if ( ! delete_option( $key ) ) { + WP_CLI::error( "Could not delete '$key' option. Does it exist?" ); + } else { + WP_CLI::success( "Deleted '$key' option." ); + } +}; +WP_CLI::add_command( 'option delete', $delete_option_cmd ); +``` + + WP-CLI onlarca komutla hazır olarak gelir. Özel bir WP-CLI komutu oluşturmak görünenden daha kolaydir. Detaylar için [komutlar belgesine](https://wp-cli.org/docs/commands-cookbook/) bakabilirsiniz. [Dahili API dökümantasyonunu](https://wp-cli.org/docs/internal-api/) gözden geçirerek kendi WP-CLI komutunuzda kullanabileceğiniz faydalı foksyionları keşfedebilirsiniz. ## Katkıda Bulunmak +Hoşgeldiniz ve teşekkürler! + WP-CLI'e katkıda bulunmak istediğiniz için teşekkür ederiz. WP-CLI siz ve sizin gibi topluluk üyeleri sayesinde bu kadar büyük bir proje olmayı başarabildi. **Katkıda bulunmak sadece kod yazmakla sınırlı değildir.** kendinize yeteneklerinize uygun olacak şekilde; tanıtım yazıları yazarak, yerel etkinliklerde demo göstererek, başkalarının sorunlarına yardımcı olarak veya dökümantasyonumuzu gözden geçirerek katkıda bulunabilirsiniz. From 4cf58a5ce7d9da3dcb172f5e0816de3030d8f9d7 Mon Sep 17 00:00:00 2001 From: miya0001 Date: Sun, 23 Oct 2016 05:13:52 +0900 Subject: [PATCH 830/839] update ja --- ja/index.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ja/index.md b/ja/index.md index 2182160d..80da6abe 100644 --- a/ja/index.md +++ b/ja/index.md @@ -123,6 +123,12 @@ WP-CLI のメンテナーとプロジェクトの貢献者たちは、新しい もしあなたが WordPress.org のアカウントを持っているなら、[WordPress.org Slack organization](https://make.wordpress.org/chat/) の`#cli`チャンネルに参加することもできます。 +GitHub Issues は、既存のコマンドの改良やバグを追跡するために使用されており、一般的なサポートのためには使用されていません。バグレポートを投稿する際には、[ベストプラクティス](https://wp-cli.org/docs/bug-reports/)を確認して、あなたが抱える問題が適時確実に伝わるように心がけてください。 + +Twitterでサポート用の質問をたずねるのはおやめください。Twitterは、文字数が140文字以下であり会話を行うのが難しい、過去の会話から他の人の同じ質問を検索することが難しい、等の理由によりサポートを行う場としてふさわしくありません。 + +自由は無料とは違います。オープンソースはあなたに自由に使ったり編集したりする権利を保証しますが、他の誰かの時間を浪費することを保証しているわけではありません。敬意をもって、過度な期待をしないように心がけてください。 + ## 拡張 それぞれの **コマンド** は、WP-CLI の関数の一つとして定義されています。`wp plugin install` ([doc](https://wp-cli.org/commands/plugin/install/)) はそのうちのひとつであり、`wp plugin activate` ([doc](https://wp-cli.org/commands/plugin/activate/)) は別のもうひとつです。 From d7256862e44219b5516a6dc9b7c6079ac7d48739 Mon Sep 17 00:00:00 2001 From: ernilambar Date: Sun, 23 Oct 2016 12:10:21 +0545 Subject: [PATCH 831/839] Update nepali translation --- ne/index.md | 63 ++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 45 insertions(+), 18 deletions(-) diff --git a/ne/index.md b/ne/index.md index b4ad4474..e2d4d040 100644 --- a/ne/index.md +++ b/ne/index.md @@ -9,18 +9,7 @@ title: वर्डप्रेसको लागि कमाण्ड ला [![Build Status](https://travis-ci.org/wp-cli/wp-cli.png?branch=master)](https://travis-ci.org/wp-cli/wp-cli) [![Dependency Status](https://gemnasium.com/badges/github.com/wp-cli/wp-cli.svg)](https://gemnasium.com/github.com/wp-cli/wp-cli) [![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/wp-cli/wp-cli.svg)](http://isitmaintained.com/project/wp-cli/wp-cli "समस्या समाधान गर्न लाग्ने औसत समय") [![Percentage of issues still open](http://isitmaintained.com/badge/open/wp-cli/wp-cli.svg)](http://isitmaintained.com/project/wp-cli/wp-cli "खुला मुद्दाहरू प्रतिशतमा") -
    -

    A more RESTful WP-CLI कमाण्ड लाइनमा WP REST API को सम्भावित शक्ति अनलक गर्न लक्षित छ । परियोजना Pressed, Chris Lema, Human Made, Pagely, Pantheon र धेरै अन्य द्वारा समर्थित छ । सिक्नुहोस् →

    -
    - -द्रुत लिंकहरु: [प्रयोग](#section) | [स्थापना](#section-1) | [सहायता](#section-2) | [विस्तार](#section-3) | [योगदान](#section-4) | [श्रेय](#section-5) +द्रुत लिंकहरु: [प्रयोग](#section) | [स्थापना](#section-1) | [सहायता](#section-4) | [विस्तार](#section-5) | [योगदान](#section-6) | [श्रेय](#section-8) ## प्रयोग @@ -37,10 +26,10 @@ Activating 'rest-api'... Success: Plugin 'rest-api' activated. ``` -WP-CLI मा अन्य कमाण्डहरु पनि उपलब्ध छ जुन वर्डप्रेस व्यवस्थापन प्यानलमा हुँदैन । जस्तै, `wp transient delete-all` ([doc](https://wp-cli.org/commands/transient/delete-all/)) ले सबै ट्रान्जियन्टहरु मेटाउछ: +WP-CLI मा अन्य कमाण्डहरु पनि उपलब्ध छ जुन वर्डप्रेस व्यवस्थापन प्यानलमा हुँदैन । जस्तै, `wp transient delete --all` ([doc](https://wp-cli.org/commands/transient/delete/)) ले सबै ट्रान्जियन्टहरु मेटाउछ: ``` -$ wp transient delete-all +$ wp transient delete --all Success: 34 transients deleted from the database. ``` @@ -70,7 +59,7 @@ $ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.p $ php wp-cli.phar --info ``` -WP-CLI लाई कमाण्ड लाइनबाट `wp` टाइप गरि प्रयोग गर्नकार्यान्वयन योग्य बनाउनु होस् अनि कतै तपाईको PATH मा सार्नुहोस् । जस्तै: +WP-CLI लाई कमाण्ड लाइनबाट `wp` टाइप गरि प्रयोग गर्न कार्यान्वयन योग्य बनाउनु होस् अनि कतै तपाईको PATH मा सार्नुहोस् । जस्तै: ``` $ chmod +x wp-cli.phar @@ -88,7 +77,7 @@ WP-CLI root dir: /home/wp-cli/.wp-cli WP-CLI packages dir: /home/wp-cli/.wp-cli/packages/ WP-CLI global config: /home/wp-cli/.wp-cli/config.yml WP-CLI project config: -WP-CLI version: 0.23.0 +WP-CLI version: 0.25.0 ``` ### अद्यावधिक @@ -107,6 +96,14 @@ source /FULL/PATH/TO/wp-completion.bash तत्पश्चात `source ~/.bash_profile` कमाण्ड हान्न नबिर्सनुहोस् । +यदि तपाईं सेलको लागि ZSH प्रयोग गर्नु हुन्छ भने सोर्स गर्नु भन्दा अगि `bashcompinit` लोड गरेर सुरु गर्नु पर्छ । `.zshrc` मा तलको कोड राख्नुहोस्: + +```bash +autoload bashcompinit +bashcompinit +source /FULL/PATH/TO/wp-completion.bash +``` + ## सहायता सबै नयाँ मुद्दाहरुमा समयमै जवाफ दिन WP-CLI का मर्मतकर्ता तथा परियोजना योगदानकर्ताहरु हरदम तत्पर रहन्छन् । ती स्वयंसेवकहरुको समयको उत्तम उपयोग गर्न कृपया पहिला तलका स्रोतहरूमा जांच गर्नुहोस् तपाईको प्रश्नको उत्तर छ कि भनेर: @@ -117,14 +114,44 @@ source /FULL/PATH/TO/wp-completion.bash - [Github मा खुल्ला तथा बन्द समस्याहरु](https://github.com/wp-cli/wp-cli/issues?utf8=%E2%9C%93&q=is%3Aissue) - [वर्डप्रेस StackExchange फोरम](http://wordpress.stackexchange.com/questions/tagged/wp-cli) -यदि तपाईंले ती स्रोतहरूमा आफ्नो जवाफ पाउन सक्नुभएन भने, आफ्नो प्रश्न समावेश गरि [मुद्दा सिर्जना](https://github.com/wp-cli/wp-cli/issues/new) गर्न सक्नुहुन्छ । +यदि तपाईंले ती स्रोतहरूमा आफ्नो जवाफ पाउन सक्नुभएन भने [WordPress.org Slack organization](https://make.wordpress.org/chat/) मा `#cli` च्यानलमा सामेल भई प्रश्न सोध्न सक्नुहुन्छ। व्यावसायिक प्रयोगकर्ताहरुले प्रिमियम सहायताको लागि [runcommand](https://runcommand.io/) मा पनि सम्पर्क गर्न सक्नुहुन्छ । -यदि तपाईंसंग WordPress.org अकाउन्ट छ भने [WordPress.org Slack organization](https://make.wordpress.org/chat/) मा `#cli` च्यानलमा सामेल हुन सक्नुहुन्छ । +गिटहब मुद्धा भनेको उन्नति तथा अबस्थित कमाण्डका बगहरुको लागि मात्र हो, साधारण सहायताको लागि हैन । मुद्धा दर्ता गर्नु अगि कृपया [राम्रो अभ्यासहरू](https://wp-cli.org/docs/bug-reports/) हेर्नुहोस् ताकी तपाईंको मुद्धा समयबद्ध ढंगमा सम्बोधन होस् । + +कृपया टुइटरमा सहायता प्रश्न नसोध्नु होला । किनकि १) १४० अक्षरमा सम्बाद गर्न अप्ठ्यारो हुन्छ २) अघिल्ला सम्बादका प्रश्नहरु खोजी गर्न सकिदैन । ## विस्तार **कमाण्ड** WP-CLI कार्यक्षमताको एक परमाणु एकाइ हो । `wp plugin install` ([डक](https://wp-cli.org/commands/plugin/install/)) एउटा कमाण्ड हो । `wp plugin activate` ([डक](https://wp-cli.org/commands/plugin/activate/)) अर्को कमाण्ड हो । +```php +/** + * Delete an option from the database. + * + * Returns an error if the option didn't exist. + * + * ## OPTIONS + * + * + * : Key for the option. + * + * ## EXAMPLES + * + * $ wp option delete my_option + * Success: Deleted 'my_option' option. + */ +$delete_option_cmd = function( $args ) { + list( $key ) = $args; + + if ( ! delete_option( $key ) ) { + WP_CLI::error( "Could not delete '$key' option. Does it exist?" ); + } else { + WP_CLI::success( "Deleted '$key' option." ); + } +}; +WP_CLI::add_command( 'option delete', $delete_option_cmd ); +``` + WP-CLI मा दर्जनौं कमाण्डहरू छन् । कस्टम WP-CLI कमाण्ड सिर्जना गर्न सजिलो छ । अरु जान्न [कमाण्ड पाकपुस्तिका](https://wp-cli.org/docs/commands-cookbook/) पढ्नुहोस् । कस्टम WP-CLI कमाण्डमा प्रयोग गर्न सकिने सहयोगी प्रकार्यहरु पत्ता लगाउन [आन्तरिक API दस्तावेजहरु](https://wp-cli.org/docs/internal-api/) ब्राउज गर्नुहोस् । ## योगदान From 5c06c37cde069191912b729c98e3c472948e4374 Mon Sep 17 00:00:00 2001 From: Pascal Birchler Date: Sun, 23 Oct 2016 09:28:16 +0200 Subject: [PATCH 832/839] Update German translation of the homepage --- de/index.md | 67 +++++++++++++++++++++++++++++++++++------------------ 1 file changed, 45 insertions(+), 22 deletions(-) diff --git a/de/index.md b/de/index.md index d530639a..e0d9ed2e 100644 --- a/de/index.md +++ b/de/index.md @@ -9,24 +9,13 @@ Um stets auf dem Laufenden zu bleiben, folge [@wpcli auf Twitter](https://twitte [![Build Status](https://travis-ci.org/wp-cli/wp-cli.png?branch=master)](https://travis-ci.org/wp-cli/wp-cli) [![Abhängigkeiten Status](https://gemnasium.com/badges/github.com/wp-cli/wp-cli.svg)](https://gemnasium.com/github.com/wp-cli/wp-cli) [![Durchschnittliche Zeit bis zur Lösung eines Issues](http://isitmaintained.com/badge/resolution/wp-cli/wp-cli.svg)](http://isitmaintained.com/project/wp-cli/wp-cli "Durchschnittliche Zeit bis zur Lösung eines Issues") [![Prozentsatz noch offener Issues](http://isitmaintained.com/badge/open/wp-cli/wp-cli.svg)](http://isitmaintained.com/project/wp-cli/wp-cli "Prozentsatz noch offener Issues") -
    -

    A more RESTful WP-CLI versucht das Potenzial der WP REST API auf der Kommandozeile auszuschöpfen. Das Projekt wird unterstützt von Pressed, Chris Lema, Human Made, Pagely, Pantheon und vielen mehr. Mehr erfahren →

    -
    - Quick links: [Benutzung](#benutzung) | [Installation](#installation) | [Support](#support) | [Erweitern](#erweitern) | [Mitwirken](#mitwirken) | [Credits](#credits) ## Benutzung Das Ziel von WP-CLI ist es, für jede Aktion ein Kommandozeilen-Interface zur Verfügung zu stellen, die man auch über den Adminbereich ausführen kann. Mit `wp plugin install --activate` ([doc](https://wp-cli.org/commands/plugin/install/)) kann man zum Beispiel ein WordPress Plugin installieren und aktivieren: -``` +```bash $ wp plugin install rest-api --activate Installing WordPress REST API (Version 2) (2.0-beta13) Downloading install package from https://downloads.wordpress.org/plugin/rest-api.2.0-beta13.zip... @@ -39,7 +28,7 @@ Success: Plugin 'rest-api' activated. WP-CLI enthält auch Befehle für viele Dinge, die man im Adminbereich nicht tun kann. Mit `wp transient delete-all` ([doc](https://wp-cli.org/commands/transient/delete-all/)) kannst du z.B. bestimmte oder alle Transients löschen: -``` +```bash $ wp transient delete-all Success: 34 transients deleted from the database. ``` @@ -58,28 +47,28 @@ Bevor du WP-CLI installierst, stell bitte sicher, dass dein System die Mindestan - PHP 5.3.29 oder höher - WordPress 3.7 oder höher -Wenn du das erledigt hast, lade die [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar) Datei mittels `wget` oder `curl` herunter: +Sobald du die Mindestanforderungen geprüft hast, lade die [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar) Datei mittels `wget` oder `curl` herunter: -``` +```bash $ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar ``` Prüfe als nächstes, ob es funktioniert: -``` +```bash $ php wp-cli.phar --info ``` Um WP-CLI auf der Kommandozeile durch blosses Tippen von `wp` zu nutzen, mache die Datei ausführbar und verschiebe es irgendwo hin innerhalb deines PATH. Zum Beispiel: -``` +```bash $ chmod +x wp-cli.phar $ sudo mv wp-cli.phar /usr/local/bin/wp ``` Wenn WP-CLI erfolgreich installiert wurde, solltest du bei der Ausführung von `wp --info` etwas wie hier sehen: -``` +```bash $ wp --info PHP binary: /usr/bin/php5 PHP version: 5.5.9-1ubuntu4.14 @@ -101,7 +90,7 @@ Lebst du gerne gefährlich? Führe `wp cli update --nightly` aus um den aktuells Für WP-CLI gibt es auch ein Skript zur Autovervollständigung von Befehlen für Bash und ZSH. Lade einfach [wp-completion.bash](https://github.com/wp-cli/wp-cli/raw/master/utils/wp-completion.bash) herunter und referenziere es in der `~/.bash_profile` Datei: -``` +```bash source /FULL/PATH/TO/wp-completion.bash ``` @@ -109,7 +98,7 @@ Vergiss nicht, danach `source ~/.bash_profile` auszuführen. ## Support -Die Betreuer und Mitwirkenden hinter WP-CLI tun ihr bestes um schnellstmöglich auf neue Issues zu antworten. Um ihre Arbeit zu erleichtern, prüfe zunächst ob es bereits an einem dieser Orte eine Antwort auf deine Frage gibt: +Die Betreuer und Mitwirkenden hinter WP-CLI sind Freiwillige und haben nur begrenzt Zeit um generelle Supportanfragen zu beantworten. Prüfe zunächst, ob es bereits an einem dieser Orte eine Antwort auf deine Frage gibt: - [Gängige Fehler und deren Lösungen](https://wp-cli.org/docs/common-issues/) - [Best Practices beim Erstellen eines Bug Reports](https://wp-cli.org/docs/bug-reports/) @@ -117,14 +106,48 @@ Die Betreuer und Mitwirkenden hinter WP-CLI tun ihr bestes um schnellstmöglich - [Offene oder geschlossene Issues auf Github](https://github.com/wp-cli/wp-cli/issues?utf8=%E2%9C%93&q=is%3Aissue) - [WordPress StackExchange Foren](http://wordpress.stackexchange.com/questions/tagged/wp-cli) -Wenn du deine Antwort auf keiner dieser Seiten finden kannst, [erstelle ein Issue](https://github.com/wp-cli/wp-cli/issues/new) mit deiner Frage. +Wenn du auf keiner dieser Seiten eine Antwort finden kannst, trete dem `#cli` Channel des [WordPress.org Slack Teams](https://make.wordpress.org/chat/) bei um zu sehen, ob ein Community-Mitglied dir weiterhelfen kann. Professionelle Benutzer können auch [runcommand](https://runcommand.io/) für Premium Support in Betracht ziehen. + +GitHub Issues sind nur für das Verwalten von Erweiterungen und Bugs existierender Befehle gedacht, nicht allgemeinen Support. Schau dir [unsere Best Practices](https://wp-cli.org/docs/bug-reports/) an, bevor du einen Bug meldest, damit dein Issue in angemessener Zeit bearbeitet werden kann. -Falls du einen WordPress.org Account hast, ziehe in Erwägung dem `#cli` Channel des [WordPress.org Slack Teams](https://make.wordpress.org/chat/) beizutreten. +Bitte stell keine Supportfragen auf Twitter. Twitter ist kein akzeptabler Ort für Support weil: 1) es ist schwierig Konversationen unter 140 Zeichen zu führen und 2) Twitter ist kein Ort, wo jemand mit der gleichen Frage frühere Antworten in einer Konversation finden kann. + +Denk daran, frei != gratis. Die Open Source Lizenz garantiert dir die Freiheit zur Nutzung und Bearbeitung, aber nicht anderer Leute Zeit. Bitte sei respektvoll und setze deine Erwartungen dementsprechend. ## Erweitern Ein **Befehl** ist die atomare Einheit der WP-CLI Funktionalität. `wp plugin install` ([doc](https://wp-cli.org/commands/plugin/install/)) ist ein solcher Befehl. `wp plugin activate` ([doc](https://wp-cli.org/commands/plugin/activate/)) ein anderer. +WP-CLI unterstützt das Registrieren jeder aufrufbaren Klasse, Funktion oder Closure als Befehl. Es liest die Informationen zur Nutzung aus der PHPdoc des Callbacks aus. `WP_CLI::add_command()` ([doc](https://wp-cli.org/docs/internal-api/wp-cli-add-command/)) wird sowohl für die Registration interner Befehle als auch für Befehle von Dritten verwendet. + +```php +/** + * Delete an option from the database. + * + * Returns an error if the option didn't exist. + * + * ## OPTIONS + * + * + * : Key for the option. + * + * ## EXAMPLES + * + * $ wp option delete my_option + * Success: Deleted 'my_option' option. + */ +$delete_option_cmd = function( $args ) { + list( $key ) = $args; + + if ( ! delete_option( $key ) ) { + WP_CLI::error( "Could not delete '$key' option. Does it exist?" ); + } else { + WP_CLI::success( "Deleted '$key' option." ); + } +}; +WP_CLI::add_command( 'option delete', $delete_option_cmd ); +``` + WP-CLI enthält Dutzende Befehle. Es ist auch sehr einfach eigene Befehle zu erstellen. Lies dazu das [Commands Cookbook](https://wp-cli.org/docs/commands-cookbook/) um mehr zu erfahren. Stöbere in der [internen API-Dokumentation](https://wp-cli.org/docs/internal-api/) um eine Vielzahl hilfreicher Funktionen zu entdecken, welche du in deinem eigenen WP-CLI Befehl nutzen kannst. ## Mitwirken From d65e3f9bcab9a3c48fbd06881391b9f616d90d62 Mon Sep 17 00:00:00 2001 From: miya0001 Date: Sun, 23 Oct 2016 18:05:49 +0900 Subject: [PATCH 833/839] improve japanese translation --- ja/index.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ja/index.md b/ja/index.md index 80da6abe..2e7bbeac 100644 --- a/ja/index.md +++ b/ja/index.md @@ -119,9 +119,7 @@ WP-CLI のメンテナーとプロジェクトの貢献者たちは、新しい - [Open or closed issues on Github](https://github.com/wp-cli/wp-cli/issues?utf8=%E2%9C%93&q=is%3Aissue) - [WordPress StackExchange forums](http://wordpress.stackexchange.com/questions/tagged/wp-cli) -もしこれらのリソースから回答を見つけられなかった場合、ご自由にあなたの質問を[Issueを書いてください](https://github.com/wp-cli/wp-cli/issues/new)。 - -もしあなたが WordPress.org のアカウントを持っているなら、[WordPress.org Slack organization](https://make.wordpress.org/chat/) の`#cli`チャンネルに参加することもできます。 +もし、あなたの疑問に対する回答がこれらのサイトから見つからなければ、[WordPress.org Slack organization](https://make.wordpress.org/chat/) の`#cli`チャンネルに参加するとコミュニティメンバーが答えを知っているかもしれません。起業ユーザーのみなさんは [runcommand](https://runcommand.io/) でプレミアムサポートをうけることもできます。 GitHub Issues は、既存のコマンドの改良やバグを追跡するために使用されており、一般的なサポートのためには使用されていません。バグレポートを投稿する際には、[ベストプラクティス](https://wp-cli.org/docs/bug-reports/)を確認して、あなたが抱える問題が適時確実に伝わるように心がけてください。 From faa5419d2c3d168220a10973c32534f31903e5fa Mon Sep 17 00:00:00 2001 From: miya0001 Date: Sun, 23 Oct 2016 21:13:13 +0900 Subject: [PATCH 834/839] some fix --- ja/index.md | 25 +++++++------------------ 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/ja/index.md b/ja/index.md index 2e7bbeac..46d13c67 100644 --- a/ja/index.md +++ b/ja/index.md @@ -10,17 +10,6 @@ title: Command line interface for WordPress [![Build Status](https://travis-ci.org/wp-cli/wp-cli.png?branch=master)](https://travis-ci.org/wp-cli/wp-cli) [![Dependency Status](https://gemnasium.com/badges/github.com/wp-cli/wp-cli.svg)](https://gemnasium.com/github.com/wp-cli/wp-cli) [![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/wp-cli/wp-cli.svg)](http://isitmaintained.com/project/wp-cli/wp-cli "Average time to resolve an issue") [![Percentage of issues still open](http://isitmaintained.com/badge/open/wp-cli/wp-cli.svg)](http://isitmaintained.com/project/wp-cli/wp-cli "Percentage of issues still open") -
    -

    A more RESTful WP-CLI は、コマンドラインによって WP REST API のポテンシャルを解放します。このプロジェクトは Pressed、Chris Lema、Human Made、Pagely、Pantheon、その他大勢の人たちによって支援されています。さらに詳しく →

    -
    - Quick links: [使い方](#section) | [インストール方法](#section-1) | [サポート](#section-4) | [拡張](#section-5) | [貢献](#section-6) | [クレジット](#section-8) ## 使い方 @@ -28,7 +17,7 @@ Quick links: [使い方](#section) | [インストール方法](#section-1) WP-CLI のゴールは、みなさんが WordPress の管理画面でやりたいと思うことをコマンドラインで提供することです。 たとえば、`wp plugin install --activate` ([ドキュメント](https://wp-cli.org/commands/plugin/install/)) は、プラグインをインストールし有効化します。 -``` +```bash $ wp plugin install rest-api --activate Installing WordPress REST API (Version 2) (2.0-beta13) Downloading install package from https://downloads.wordpress.org/plugin/rest-api.2.0-beta13.zip... @@ -41,7 +30,7 @@ Success: Plugin 'rest-api' activated. さらに WP-CLI は、WordPress の管理画面ではできない多くのことが可能です。たとえば、`wp transient delete-all` ([doc](https://wp-cli.org/commands/transient/delete-all/)) は、Transient に保存されているすべてのデータを削除することを可能にしています。 -``` +```bash $ wp transient delete-all Success: 34 transients deleted from the database. ``` @@ -62,26 +51,26 @@ WP-CLI をインストールする前に、動作環境を確認してくださ 動作条件を再度確認してから、`wget`または`curl`を使用して [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar) をダウンロードしてください。 -``` +```bash $ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar ``` 次に、それが動作しているかを確認してください。 -``` +```bash $ php wp-cli.phar --info ``` WP-CLI コマンドを`wp`で実行するには、それに実行権限があることと環境変数`PATH`に登録されていることが必要です。 -``` +```bash $ chmod +x wp-cli.phar $ sudo mv wp-cli.phar /usr/local/bin/wp ``` もし、WP-CLI のインストールが成功していれば、`wp --info`を実行したら以下のように出力されるはずです。 -``` +```bash $ wp --info PHP binary: /usr/bin/php5 PHP version: 5.5.9-1ubuntu4.14 @@ -133,7 +122,7 @@ Twitterでサポート用の質問をたずねるのはおやめください。T WP-CLI では、様々な実行可能なクラス、関数、クロージャをコマンドとして実行することが可能です。コマンドとして実行されるために必要な情報は、PHPdoc によって記述します。 `WP_CLI::add_command()` ([doc](https://wp-cli.org/docs/internal-api/wp-cli-add-command/)) は、内部コマンド及びサードパーティコマンドの登録に使用されています。 -``` +```php /** * Delete an option from the database. * From d8d778a809bab1b14a7cc92a3e994cc77842813e Mon Sep 17 00:00:00 2001 From: taianunes Date: Sun, 23 Oct 2016 12:21:59 -0200 Subject: [PATCH 835/839] pt-BR tranlation update on `br/index.md` --- br/index.md | 32 ++++++++++---------------------- 1 file changed, 10 insertions(+), 22 deletions(-) diff --git a/br/index.md b/br/index.md index 75a6421c..c830afa0 100644 --- a/br/index.md +++ b/br/index.md @@ -9,25 +9,13 @@ Para manter-se atualizado, siga [@wpcli no Twitter](https://twitter.com/wpcli) o [![Build Status](https://travis-ci.org/wp-cli/wp-cli.png?branch=master)](https://travis-ci.org/wp-cli/wp-cli) [![Dependency Status](https://gemnasium.com/badges/github.com/wp-cli/wp-cli.svg)](https://gemnasium.com/github.com/wp-cli/wp-cli) [![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/wp-cli/wp-cli.svg)](http://isitmaintained.com/project/wp-cli/wp-cli "Tempo médio para resolver um issue") [![Percentage of issues still open](http://isitmaintained.com/badge/open/wp-cli/wp-cli.svg)](http://isitmaintained.com/project/wp-cli/wp-cli "Percentual de issues ainda abertos") -
    - -

    O projeto "WP-CLI mais RESTful" visa proporcionar todo o potencial da linha de comando para a WP REST API e é apoiado por Pressed, Chris Lema, Human Made, Pagely, Pantheon e muitos outros. Saiba mais →

    -
    - Links rápidos: [Usando](#usando) | [Instalando](#instalando) | [Suporte](#suporte) | [Extendendo](#extendendo) | [Contribuindo](#contribuindo) | [Créditos](#creditos) ## Usando O objetivo da WP-CLI é fornecer uma interface em linha de comando para qualquer ação que você queira executar na administração do WordPress. Por exemplo `wp plugin install --activate` ([doc](https://wp-cli.org/commands/plugin/install/)) permite a instação e ativação de um plugin WordPress: -``` +```bash $ wp plugin install rest-api --activate Installing WordPress REST API (Version 2) (2.0-beta13) Downloading install package from https://downloads.wordpress.org/plugin/rest-api.2.0-beta13.zip... @@ -38,10 +26,10 @@ Activating 'rest-api'... Success: Plugin 'rest-api' activated. ``` -WP-CLI também inclui muitos comandos para ações que não são possíveis através da administração do WordPress. Por exemplo, `wp transient delete-all` ([doc](https://wp-cli.org/commands/transient/delete-all/)) permite deletar uma ou todas as transients: +WP-CLI também inclui muitos comandos para ações que não são possíveis através da administração do WordPress. Por exemplo, `wp transient delete --all` ([doc](https://wp-cli.org/commands/transient/delete-all/)) permite deletar uma ou todas as transients: -``` -$ wp transient delete-all +```bash +$ wp transient delete --all Success: 34 transients deleted from the database. ``` @@ -61,26 +49,26 @@ Antes instalar a WP-CLI, certifique-se que seu ambiente possua os requesitos mí Após verificar os requesitos, faça o download do arquivo [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar) usando `wget` ou `curl`: -``` +```bash $ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar ``` Em seguida, verifique se está funcionando: -``` +```bash $ php wp-cli.phar --info ``` Digite `wp` para utilizar WP-CLI a partir da linha de comando, torne o arquivo executável e mova-o para algum diretório presente em sua variável de ambiente PATH. For example: -``` +```bash $ chmod +x wp-cli.phar $ sudo mv wp-cli.phar /usr/local/bin/wp ``` Se WP-CLI foi instalado com sucesso, ao executar `wp --info` você deverá ver algo como: -``` +```bash $ wp --info PHP binary: /usr/bin/php5 PHP version: 5.5.9-1ubuntu4.14 @@ -102,7 +90,7 @@ _Quer viver a vida no limite?_ Execute `wp cli update --nightly` para usar a úl WP-CLI também acompanha scripts de auto-completar para Bash ou ZSH. Faça o download [wp-completion.bash](https://github.com/wp-cli/wp-cli/raw/master/utils/wp-completion.bash) e carregue o arquivo para `~/.bash_profile`: -``` +```bash source /FULL/PATH/TO/wp-completion.bash ``` @@ -129,7 +117,7 @@ Um **commando** é uma unidade singular de uma funcionalidade WP-CLI. `wp plugin A WP-CLI suporta o registro de qualquer classe ou função como um comando, lendo os detalhes de uso através de _PHPdoc Callback_. `WP_CLI::add_command()` ([doc](https://wp-cli.org/docs/internal-api/wp-cli-add-command/)) é utilizado para registo de comandos internos e de terceiros. -``` +```php /** * Delete an option from the database. * From bb359af98aa160f96c508ef852b7263149304e6e Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Sun, 23 Oct 2016 07:41:21 -0700 Subject: [PATCH 836/839] Mention getting docs contributors --- docs/release-checklist/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/release-checklist/index.md b/docs/release-checklist/index.md index 92498e26..467d29ef 100644 --- a/docs/release-checklist/index.md +++ b/docs/release-checklist/index.md @@ -71,7 +71,7 @@ See ### Writing the release post -Use `./utils/contrib-list -l` to generate the list of contributors. +Use `./utils/contrib-list -l` to generate the list of code contributors. Documentation contributors will need to be identified by pull requests against the wp-cli.org repository. ### Announcing @@ -79,7 +79,7 @@ In addition to publishing the release post, a new release is announced in a few * WP-CLI Twitter account (with some scheduled follow-up tweets). * `/announce` slash command in the `#cli` Slack room. -* Mailchimp email announcement list. +* Mailchimp email announcement list (copy and paste the entire release post). ### Bumping WP-CLI version again @@ -111,6 +111,6 @@ Because patch releases should just be used for bug fixes, you should first fix t php -dphar.readonly=0 utils/make-phar.php wp-cli.phar --quiet -When you do so, make sure you're using the appropriate Composer dependency versions for the release, not the master branch you normally work from. Once you've verified the built Phar, you'll need to copy it over to the builds repo. +When you do so, run `composer install` to make sure you're using the appropriate Composer dependency versions for the release, not the master branch you normally work from. Once you've verified the built Phar, you'll need to copy it over to the builds repo. 5) Follow all of the other relevant release steps. From 566f5e959ab6ff29cadd333da1b03ebd2d0e61c3 Mon Sep 17 00:00:00 2001 From: miya0001 Date: Sun, 23 Oct 2016 23:45:52 +0900 Subject: [PATCH 837/839] update japanese translation #227 --- ja/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ja/index.md b/ja/index.md index 46d13c67..c8a48306 100644 --- a/ja/index.md +++ b/ja/index.md @@ -28,10 +28,10 @@ Activating 'rest-api'... Success: Plugin 'rest-api' activated. ``` -さらに WP-CLI は、WordPress の管理画面ではできない多くのことが可能です。たとえば、`wp transient delete-all` ([doc](https://wp-cli.org/commands/transient/delete-all/)) は、Transient に保存されているすべてのデータを削除することを可能にしています。 +さらに WP-CLI は、WordPress の管理画面ではできない多くのことが可能です。たとえば、`wp transient delete --all` ([doc](https://wp-cli.org/commands/transient/delete-all/)) は、Transient に保存されているすべてのデータを削除することを可能にしています。 ```bash -$ wp transient delete-all +$ wp transient delete --all Success: 34 transients deleted from the database. ``` @@ -79,7 +79,7 @@ WP-CLI root dir: /home/wp-cli/.wp-cli WP-CLI packages dir: /home/wp-cli/.wp-cli/packages/ WP-CLI global config: /home/wp-cli/.wp-cli/config.yml WP-CLI project config: -WP-CLI version: 0.23.0 +WP-CLI version: 0.24.1 ``` ## アップデート From aeb445da1cb196eb6a7bd78711c686aedfbc84f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20HULARD?= Date: Sat, 22 Oct 2016 08:29:23 +0100 Subject: [PATCH 838/839] Update french translations from `index.md` updates English `index.md` has been updated with new details, all translations must be updated too, here is the french update. --- fr/index.md | 97 +++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 75 insertions(+), 22 deletions(-) diff --git a/fr/index.md b/fr/index.md index 054a5360..6ef7dc7f 100644 --- a/fr/index.md +++ b/fr/index.md @@ -9,24 +9,13 @@ Pour rester à jour, suivez [@wpcli sur Twitter](https://twitter.com/wpcli) ou [ [![Statut du build](https://travis-ci.org/wp-cli/wp-cli.png?branch=master)](https://travis-ci.org/wp-cli/wp-cli) [![Statut des dépendances](https://gemnasium.com/badges/github.com/wp-cli/wp-cli.svg)](https://gemnasium.com/github.com/wp-cli/wp-cli) [![Temps moyen pour traiter un ticket](http://isitmaintained.com/badge/resolution/wp-cli/wp-cli.svg)](http://isitmaintained.com/project/wp-cli/wp-cli "Temps moyen pour traiter un ticket") [![Pourcentage de tickets encore ouverts](http://isitmaintained.com/badge/open/wp-cli/wp-cli.svg)](http://isitmaintained.com/project/wp-cli/wp-cli "Pourcentage de tickets encore ouverts") -
    -

    Un WP-CLI orienté RESTful vise à rendre utilisable la WP REST API en ligne de commande. Ce projet est soutenu par Pressed, Chris Lema, Human Made, Pagely, Pantheon et plein d'autres. En savoir plus →

    -
    - Liens rapides: [Utilisation](#utilisation) | [Installation](#installation) | [Support](#support) | [Étendre](#tendre) | [Contribuer](#contribuer) | [Crédits](#crdits) ## Utilisation L'objectif de WP-CLI est de fournir une interface en ligne de commande pour toute action qu'il serait utile de faire dans l'administration WordPress. Par exemple, `wp plugin install --activate` ([doc](https://wp-cli.org/commands/plugin/install/)) vous permet d'installer et activer une extension WordPress : -``` +```bash $ wp plugin install rest-api --activate Installing WordPress REST API (Version 2) (2.0-beta13) Downloading install package from https://downloads.wordpress.org/plugin/rest-api.2.0-beta13.zip... @@ -39,7 +28,7 @@ Success: Plugin 'rest-api' activated. WP-CLI inclut aussi des commandes pour d'autres choses que vous ne pouvez pas faire dans l'administration WordPress. Par exemple, `wp transient delete-all` ([doc](https://wp-cli.org/commands/transient/delete-all/)) permet de supprimer un ou tous les "transients" : -``` +```bash $ wp transient delete-all Success: 34 transients deleted from the database. ``` @@ -60,26 +49,26 @@ Avant d'installer WP-CLI, veuillez vous assurer que votre environnement réponds Une fois que vous avez vérifier ces exigences, téléchargez le fichier [wp-cli.phar](https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar) en utilisant `wget` ou `curl` : -``` +```bash $ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar ``` Ensuite, vérifiez que tout fonctionne : -``` +```bash $ php wp-cli.phar --info ``` Pour utiliser WP-CLI à partir de la ligne de commande en tapant `wp`, rendez le fichier exécutable et déplacez le quelque part dans votre `PATH`. Par exemple : -``` +```bash $ chmod +x wp-cli.phar $ sudo mv wp-cli.phar /usr/local/bin/wp ``` Si WP-CLI a été installé correctement, vous devez voir quelque chose comme ça quand vous exécutez `wp --info`: -``` +```bash $ wp --info PHP binary: /usr/bin/php5 PHP version: 5.5.9-1ubuntu4.14 @@ -88,13 +77,33 @@ WP-CLI root dir: /home/wp-cli/.wp-cli WP-CLI packages dir: /home/wp-cli/.wp-cli/packages/ WP-CLI global config: /home/wp-cli/.wp-cli/config.yml WP-CLI project config: -WP-CLI version: 0.23.0 +WP-CLI version: 0.24.1 ``` -Vous pouvez mettre à jour WP-CLI avec `wp cli update` ([doc](https://wp-cli.org/commands/cli/update/)), ou en répétant les étapes d'installation. +### Mise à jour + +Vous pouvez mettre à jour WP-CLI avec la commande `wp cli update` ([doc](https://wp-cli.org/commands/cli/update/)), ou en répétant les étapes d'installation. Vous voulez vivre dangereusement ? Exécutez `wp cli update --nightly` pour installer les derniers nightly build de WP-CLI. Un nightly build est relativement stable pour être utilisé dans votre environnement de développement et inclut toujours les fonctionnalités de WP-CLI les plus récentes. +### Tab completions + +WP-CLI contient des scripts d'autocomplétion pour Bash et ZSH. Il suffit de télécharger [wp-completion.bash](https://raw.githubusercontent.com/wp-cli/wp-cli/master/utils/wp-completion.bash) et de l'importer dans votre fichier `~/.bash_profile`: + +```bash +source /FULL/PATH/TO/wp-completion.bash +``` + +Si vous voulez l'utiliser directement sans redémarrer votre session de terminal, n'oubliez pas de lancer `source ~/.bash_profile`. + +Si vous utiliser le shell zsh, vous devrez probablement charger et démarrer `bashcompinit` avant d'utiliser la commande `source`. Ajouter ces lignes dans votre fichier `.zshrc`: + +```bash +autoload bashcompinit +bashcompinit +source /FULL/PATH/TO/wp-completion.bash +``` + ## Support Les mainteneurs de WP-CLI et les contributeurs du projet font de leur mieux pour répondre à tous les nouveaux tickets en temps opportun. Pour utiliser au mieux leur temps bénévole, merci de vérifier s'il n'existe pas déjà une réponse à votre question dans l'une des ressources suivantes : @@ -105,19 +114,63 @@ Les mainteneurs de WP-CLI et les contributeurs du projet font de leur mieux pour - [Tickets ouvert ou fermés sur Github](https://github.com/wp-cli/wp-cli/issues?utf8=%E2%9C%93&q=is%3Aissue) - [Forum StackExchange WordPress](http://wordpress.stackexchange.com/questions/tagged/wp-cli) -Si vous avez un compte WordPress.org, vous pouvez également rejoindre le canal `#cli` sur [l'organisation Slack WordPress.org](https://make.wordpress.org/chat/). +Si vous n'arrivez pas à trouver une réponse en utilisant un de ces liens, rejoignez le canal `#cli` sur [l'organisation Slack WordPress.org](https://make.wordpress.org/chat/) pour voir si un membre de la communauté peut avoir une réponse pour vous. Les professionnels doivent savoir que [runcommand](https://runcommand.io/) fournit du support premium. + +Les tickets Github, permettent de suivre l'évolution des bugs et améliorations sur les commandes existantes. Ils ne sont pas utilisés pour faire du support. Avant de soumettre un nouveau rapport de bug, merci de passer en revue [nos bonnes pratiques](https://wp-cli.org/docs/bug-reports/) pour vous assurer que votre ticket les respectent. + +Merci de ne pas demander du support sur Twitter. Twitter n'est pas un endroit convenable pour faire du support : 1) c'est compliqué d'avoir une conversation en moins de 140 caractères et 2) Twitter n'est pas un endroit ou quelqu'un avec la même question peut chercher et obtenir une réponse avant de la poser à nouveau. + +Souvenez-vous, libre != gratuit; la licence open source vous donne la liberté d'utiliser et modifier, mais pas au dépend du temps d'autres personnes. Merci d'être respectueux et de définir vos attentes en conséquence. ## Étendre Une **commande** est une unité atomique de fonctionnalité WP-CLI. `wp plugin install` ([doc](https://wp-cli.org/commands/plugin/install/)) est une commande. `wp plugin activate` ([doc](https://wp-cli.org/commands/plugin/activate/)) en est une autre. +WP-CLI permet d'enregister n'importe quelle classe, fonction ou closure comme une commande. Les informations d'utilisation sont lues à partir du bloc PHPdoc de la fonction de rappel. `WP_CLI::add_command()` ([doc](https://wp-cli.org/docs/internal-api/wp-cli-add-command/)) est utilisé aussi bien pour l'enregistrement des commandes interne ou externe. + +```php +/** + * Delete an option from the database. + * + * Returns an error if the option didn't exist. + * + * ## OPTIONS + * + * + * : Key for the option. + * + * ## EXAMPLES + * + * $ wp option delete my_option + * Success: Deleted 'my_option' option. + */ +$delete_option_cmd = function( $args ) { + list( $key ) = $args; + + if ( ! delete_option( $key ) ) { + WP_CLI::error( "Could not delete '$key' option. Does it exist?" ); + } else { + WP_CLI::success( "Deleted '$key' option." ); + } +}; +WP_CLI::add_command( 'option delete', $delete_option_cmd ); +``` + WP-CLI est livré avec des douzaines de commandes. Il est plus facile qu'il n'y parait de créer vos propres commandes WP-CLI. Lisez le [commands cookbook](https://wp-cli.org/docs/commands-cookbook/) pour en apprendre d'avantage. Parcourez la [documentation sur l'API interne](http://wp-cli.org/docs/internal-api/) pour découvrir une variété de fonctions utiles que vous pouvez utiliser dans votre commande WP-CLI personnalisée. ## Contribuer -Pour participer, merci de d'abord lire les pages [créer un ticket (en)](https://wp-cli.org/docs/bug-reports/) ou [soumettre une pull request (en)](https://wp-cli.org/docs/pull-requests/). +Bienvenue et merci ! + +Nous apprécions que vous preniez l'iniative de contribuer à WP-CLI. C'est grâce à vous et à la communauté autour de vous que WP-CLI est un project aussi important. + +**Contribuer n'est pas limité uniquement à l'écriture de code.** Nous vous encourageons à contribuer de la façon qui vous correspond le mieux, en écrivant des didactitiels, en faisant des démonstrations dans votre groupe d'utilisateur local, à aider les autres avec leurs questions de support, ou en relisant notre documentation. + +Merci de prendre un moment pour [lire le guide du contributeur en profondeur](https://wp-cli.org/docs/contributing/). Suivre ces règles aide à communiquer avec le respect du temps des autres contributeurs du projet. En retour, ils feront de leur mieux pour travailler avec ce même respect, à travers les fuseaux horaires et dans le monde lorsque vous en aurez besoin. + +## Leadership -### Leadership +WP-CLI est dirigié par ces personnes : * [Daniel Bachhuber](https://github.com/danielbachhuber/) - mainteneur actuel * [Cristi Burcă](https://github.com/scribu) - mainteneur précédent From ce63dbb01655f8a4624a2203c2f6ca357516355a Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Mon, 24 Oct 2016 05:10:36 -0700 Subject: [PATCH 839/839] Update index.md --- docs/release-checklist/index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/release-checklist/index.md b/docs/release-checklist/index.md index 467d29ef..37788a59 100644 --- a/docs/release-checklist/index.md +++ b/docs/release-checklist/index.md @@ -69,6 +69,8 @@ See a See +Please also tag a release of the website, so it's easy to correlate versions of the website. + ### Writing the release post Use `./utils/contrib-list -l` to generate the list of code contributors. Documentation contributors will need to be identified by pull requests against the wp-cli.org repository.