注意!! この投稿は4年くらい前に公開したものです。
そのため正常に動作しないかもしれないので、ご注意ください。

WordPressの状態(設定情報など)をYAMLファイルにエクスポートしたりそのファイルからインポートしたりできるWP-CLIのコミュニティパッケージのDictatorってのを試してみた。 ( WP-CLI Advent Calendar 2014 12日目 )

やあどうも! 西川(自称)です。ひゃっっっっっっほーーー!

なんだか月曜な気分ですが、誰がなんと言おうと今日は2014年の12月12日金曜日なのよ。なのでこの記事は、WP-CLI アドベントカレンダー 2014 の第12日目の記事というわけね。昨日の @wokamoto さんによる 自作のプラグインに wp-cli コマンドを追加しよう ( WP-CLI Advent Calendar 2014 11日目 ) に続きまして、頑張らせていただくわ!

ところで最近、こういう面白そうな情報を流してくるのがたいてい宮さんなのでちょっと悔しいわ(・ω<)。

で、師曰く、

とのことなんで、Dictatorを試してみたわよ。

まずはインストールからよ。なんだかWP-CLIのComposerが壊れているみたいの。なのでここではComposerを使わない方法を書くわね。

サードパーティのコマンドはcommandsサブフォルダに入れるので、なければ作ってね。そしてね、クローンするのよ。

mkdir -p ~/.wp-cli/commands
git clone git@github.com:danielbachhuber/dictator.git ~/.wp-cli/commands/dictator

次に ~/.wp-cli/config.yml ファイルを作成、もしくはすでにあれば編集して以下のようにしてちょうだいね:

require:
  - commands/dictator/dictator.php

ここまではいいかしら?

じゃあ適当なWordPressのディレクトリまでcdしたら、設定情報を書き出してみるわよ。

$ wp dictator export site site-state.yml
Success: State written to file.

どうかしら? cdしたディレクトリにsite-state.ymlっていうファイルができてない? できてたらそのファイルをテキストエディタで開いてみてくださる? こんなふうになってるはずよ。何となく分かるわよね?

state: site
settings:
  title: WP stable ja
  description: Just another WordPress site
  admin_email: tekapo+localmac@gexample.com
  timezone: Asia/Tokyo
  date_format: Y年n月j日
  time_format: g:i A
  public: false
  posts_per_page: 10
  posts_per_feed: 10
  feed_uses_excerpt: false
  show_on_front: posts
  page_on_front: 0
  page_for_posts: 0
  allow_comments: true
  allow_pingbacks: true
  notify_comments: true
  notify_moderation: true
  permalink_structure:
  category_base:
  tag_base:
  active_theme: kotetsu
  active_plugins:
    - presenpress/presenpress.php
    - show-current-template/show-current-template.php
    - wordpress-importer/wordpress-importer.php
    - wp-jquery-lightbox/wp-jquery-lightbox.php
users:
  admin:
    display_name: admin
    first_name:
    last_name:
    email: tekapo+localmac@example.com
    role: administrator
  bren:
    display_name: bren
    first_name: けんけん
    last_name: なっかーもと
    email: nakamoto@example.com
    role: subscriber

じゃあ今度はこの書きだしたファイルをちょっと変えてみるわよ。

title: WP stable ja

title: WP 自称西川

にして、WordPressに読み込ませてみるわね。

$ wp dictator impose site-state.yml
settings:
  option:
  - title: WP stable ja
  + title: WP 自称西川
    active_plugins:
Success: The Dictator has imposed upon the State of WordPress.

ちゃんとdiffを表示してくれるのよ! なんてわかりやすいの!

あとは、、、分かるわよね?

明日はyuji.takehiroさんね! 楽しみだわ!

ひゃっっっっっっほっほっほーー!