[VCCW] VCCW 環境で WP-CLI をつかう
VCCW は WP-CLI ready なので、そのまま利用できます。
[markdown]
## インストール
インストールは、下記を参考ください。
> * [WordPress 用の Vagrant 環境 VCCW を利用する | deadwood](https://www.d-wood.com/blog/2014/08/27_6674.html)
試しにサンプルコマンドを実行してみます。
“`prettyprinted
% vagrant ssh
[vagrant@wordpress ~]$ pwd
/home/vagrant
[vagrant@wordpress ~]$ cd /var/www/
[vagrant@wordpress www]$ wp term create category Apple –description=”A type of fruit”
Error: This does not seem to be a WordPress install.
Pass –path=`path/to/wordpress` or run `wp core download`.
“`
/wordpress ディレクトリで `wp` コマンドを実行する必要があるんですね。
ということで、ログインから利用前の段階まではこんな感じですね。
“`prettyprinted
% vagrant ssh
$ cd /var/www/html
“`
## 参考資料
こちらを確認しながら必要なコマンドを実行してみます。
> * [Built-in Commands | WP-CLI](http://wp-cli.org/commands/)
どうもオプションで渡す引数は WP_Query で扱うもののようです。
> * [関数リファレンス/WP Query – WordPress Codex 日本語版](http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/WP_Query#.E6.8A.95.E7.A8.BF.EF.BC.86.E5.9B.BA.E5.AE.9A.E3.83.9A.E3.83.BC.E3.82.B8.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF)
こちらが参考になりました。
> * [wp-cli | admin note](http://admnote.paix.jp/2014/06/wp-cli/)
## プラグインの有効化
VCCW の Vagrantfile でプラグイン foo をインストール。
下記で有効化。
> * [wp plugin activate | WP-CLI](http://wp-cli.org/commands/plugin/activate/)
“`prettyprinted
$ wp plugin activate foo
“`
## テーマの有効化
foo というテーマに切り替える。
> * [wp theme activate | WP-CLI](http://wp-cli.org/commands/theme/activate/)
“`prettyprinted
$ wp theme activate foo
“`
## パーマリンクを設定する
> * [wp rewrite structure | WP-CLI](http://wp-cli.org/commands/rewrite/structure/)
“`prettyprinted
$ wp rewrite structure ‘/%category%/%post_id%.html’ –category-base=’.’
“`
## ユーザーのプロフィールを更新する
「ビジュアルリッチエディターを使用しない」にチェックを入れたかったんですが、ぱっとみてどこか分からないのでとりあえず保留。
コメント欄で教えて頂きました。ありがとうございます。
> * [wp user meta | WP-CLI](http://wp-cli.org/commands/user/meta/)
例えば admin アカウントを変更したい場合。
“`prettyprinted
$ wp user meta update admin rich_editing false
“`
設定画面に対応する他項目も、下記で確認できました。
“`prettyprinted
$ wp user meta list 1
“`
## カテゴリーを登録する
こんな形で slug を指定。日本語もいけるんですね。
> * [wp term create | WP-CLI](http://wp-cli.org/commands/term/create/)
“`prettyprinted
$ wp term create category ‘テスト’ –slug=test
“`
更新はこんな形。
“`prettyprinted
$ wp term update category 4 –name=Sample –slug=sample
“`
## 投稿を登録する
投稿と固定ページは、同じ `wp post create` コマンド。
> * [wp post create | WP-CLI](http://wp-cli.org/commands/post/create/)
オプションで渡せる args が分からないので、こちらを見てみました。
> * [wp-cli/post.php at master · wp-cli/wp-cli](https://github.com/wp-cli/wp-cli/blob/master/php/commands/post.php)
公開、カテゴリ、タイトル、コンテンツを指定し、投稿を作成します。
“`prettyprinted
$ wp post create –post_status=publish –post_category=2 –post_title=’sample post’ –post_content=’Lorem ipsum dolor sit amet.’
“`
ファイルも渡せます。
“`prettyprinted
$ wp post create ./sample.txt –post_status=publish –post_category=2 –post_title=’sample post from .txt’
“`
## 固定ページを登録する
上記に `–post_type=page` を追加すると、固定ページの登録になります。
“`prettyprinted
$ wp post create ./sample.txt –post_type=page –post_status=publish –post_title=’sample page from .txt’
“`
### スラッグ
ただ `page slug` の指定方法が見当たらなくて困りました。
最初に上記の `–post_title=` で slug を指定し作成、さらに `update` すれば良いけれども、最新の post_id が必要。
> * [wp post update | WP-CLI](http://wp-cli.org/commands/post/update/)
“`prettyprinted
$ wp post update 8 –post_title=’日本語のタイトル’
“`
まっさらな状態からであれば、id=1 がサンプルの投稿、id=2 がサンプルのページなので、id=3 から決めうちすれば良いですが。
id のリストはこの辺で手に入りそうです。
> * [wp post list | WP-CLI](http://wp-cli.org/commands/post/list/)
シェルスクリプトで実行すると想定して、こんな関数を用意すればいけそうかな。
“`bash
function latest_id() {
ARRAY=(`wp post list –post_type=page,post –format=ids`)
echo $ARRAY
}
wp post create ./sample.txt –post_type=page –post_status=publish –post_title=’sample’ –post_parent=21
ID=`latest_id`
wp post update $ID –post_title=’サンプル’
wp post meta set $ID _wp_page_template sample.php
“`
要研究。
### 親ページ
親ページの設定は `–post_parent=2` オプションで指定可能でした。
### テンプレート
テンプレートの設定は、`meta` コマンドでした。
> * [wp post meta | WP-CLI](http://wp-cli.org/commands/post/meta/)
“`prettyprinted
$ wp post meta set 11 _wp_page_template menu.php
“`
## 投稿にアイキャッチ画像を登録する
> * [wp media import | WP-CLI](http://wp-cli.org/commands/media/import/)
“`prettyprinted
$ wp media import ./thumbnails/01.jpg –post_id=1 –featured_image
“`
## DBを操作する
この辺は試してないですが、インポート・エクスポートなど。
> * [wp db | WP-CLI](http://wp-cli.org/commands/db/)
> * [wp import | WP-CLI](http://wp-cli.org/commands/import/)
> * [wp export | WP-CLI](http://wp-cli.org/commands/export/)
DB内のテキストの検索・置換。
> * [wp search-replace | WP-CLI](http://wp-cli.org/commands/search-replace/)
[/markdown]