サイトアイコン Capital P

WP-CLI 1.5.0がリリースされました!

筆者がコミッターの一人として関わっているWP-CLIの最新バージョン 1.5.0 がリリースされました。

Version 1.5.0 released

リリースリードと新コミッターについて

今回のバージョンでは、アイルランド在住のエンジニアである Martin Burke (@gitlost) さんが初めてリリースリードを努めました。

彼は、コンピューター全般に対してとても詳しく、なにかエッジケースな不具合が報告されるとPHPやOSのソースコードを引用してくる強者です。

また、スイス在住でWordPress本体のコミッターも務める Pascal (@swisspidy) さんが新コミッターとして加わりました。彼は wp embed や現在開発中の wp i18n などで頑張っていて、現在はなんと学生さんです。

新機能

プラグインのチェックサム

新たなコマンドとしてWordPressプラグインの改ざんをチェックするためのコマンド wp plugin verify-checksums が追加されました。

# Verify the files of all installed plugins against their official checksums.
$ wp plugin verify-checksums --all
+-------------+---------------+-------------------------+
| plugin_name | file          | message                 |
+-------------+---------------+-------------------------+
| gutenberg   | backdoor.php  | File was added          |
| gutenberg   | gutenberg.php | Checksum does not match |
+-------------+---------------+-------------------------+
Error: Only verified 1 of 2 plugins (1 failed).

このコマンドは、プラグイン内に含まれるすべてのファイルのハッシュ値を WordPress の公式ディレクトリ上にホストされているプラグインのハッシュ値と比較し、違いがあればエラーを出すというもので、これによってプラグインの改ざんを検知するわけですが、現状では最新バージョンのハッシュ値としかチェックしませんのでご注意ください。

今後は実際のユースケースにあわせて少しずつ改善されていく予定です。

wp config コマンドがパワーアップ

wp-config.php を取り扱うためのコマンド wp config が大幅に改善され、以下のような方法等で wp-config.php の内容をチェックすることが可能になりました。

# Get the table_prefix as defined in wp-config.php file.
$ wp config get table_prefix
wp_

# Check whether the DB_PASSWORD constant exists in the wp-config.php file.
$ wp config has DB_PASSWORD
(return exit code)

# List only database user and password from wp-config.php file.
$ wp config list DB_USER DB_PASSWORD --strict
+-------------+-------+----------+
| key         | value | type     |
+-------------+-------+----------+
| DB_USER     | root  | constant |
| DB_PASSWORD | root  | constant |
+-------------+-------+----------+

また以下のような感じで wp-config.php に追加できるようになりました。

$ wp config set hello dolly --type=constant

上のコマンドによって以下のような記述が wp-config.php に追加されます。

define( 'hello', 'dolly' );

wp embed コマンド

WordPressには投稿の本文内に Youtube などの URL を入力すると自動的に動画に変換されたり、他のWordPressサイトのURLをはるとカードが表示されたりします。

これは、oEmbed という機能なんですが、この oEmbed を取り扱うためのコマンドが追加されました。

たとえば、以下のコマンドでは oEmbed のキャッシュをフラッシュすることができます。

$ wp embed cache clear 123
Success: Cleared oEmbed cache.

また、以下のコマンドでは、URLがどんな値に変換されるかを確認することができます。これはプラグインディベロッパー向けな機能で Gutenberg が導入されたときにはかなり便利なはず。

$ wp embed fetch https://www.youtube.com/watch?v=dQw4w9WgXcQ
[youtube https://www.youtube.com/watch?v=dQw4w9WgXcQ?feature=oembed&w=525&h=295]

配列のサポート

現状はまだカスタムフィールド(post meta)だけが対象ですが、引数に JSON を使用できるようになり、配列の取扱も可能になりました。

$ wp post create --post_title='Title' --post_content='Content.' --meta_input='{"key1":"value1","key2":"value2"}
Success: Created post 123.

後方互換性のない変更

これまで、wp db searchwp search-replace などのいくつかのコマンドでは、同じデータベース内に存在するWordPressとは関係のないテーブルも対象としていました。

今回のバージョンから wp-config.php に記述されたテーブルプレフィックス(例: wp_)を持つテーブルだけが対象となる様に修正されました。

その他

その他にもたくさんの修正が行われました。もし大きな不具合がなければ次にリリースされるバージョンはメジャーアップデートとなる2.0です。

この2.0では、フレームワーク等の大幅な改善が予定されています。

モバイルバージョンを終了