WordPress 5.0 にアップデートしてみました

ナッシュビルからこんにちは。WordPress 5.0がリリースされました。USロケールがまずリリースされています。このブログは日本語版ですが、ダッシュボードからUS版でアップデートできるのでしてみました。

このブログではひとまず特に問題はなさそうですが、まずはローカルやテスト環境でアップデートしてから、本番環境をアップデートしてください。

日本語の言語ファイルのアップデートはまだのようです。

2017年後半に撮った写真

TIF – The Next Step

TIF – Salary Men Soft Spot

TIF – Never Changes

Going up the Inari-san

Tako-Nyudo

Looking 634m up — Tokyo Sky Tree

Niku Kizami Udon

0 – 2

untitled

Ginza

From Shinkansen window

Highly recommended Koffee Mameya

Stretch #1

Playing

Fumikiri

Stretch #2

Some exhibition at Ueno Park

2016年12月のWordBench Tokyoにて、プラグイン情報のLTをしてきました

先月、年末に開催されたWordBench Tokyoの12月の会で、ライトニングトークに登壇しました。ネタはプラグインの紹介で、「2016年にお世話になったプラグインと年末年始に試したいプラグイン」です。

「地味だけど改めてお世話になったプラグイン」は以前から知っている、または使ってるけど、仕事の中で今年改めてお世話になったプグインです。その中から、日本のコミュニティではあまり聞かない地味〜なプラグインを紹介しました。「2017年に向けて試したいプグイン」は、まだローカルで試した程度ですが、比較的信頼のおける情報源からだったので紹介しました。

2016年、地味だけど改めてお世話になったプラグイン(と、その作者たち)

Public Post Preview

Public Post Preview
Public Post Preview

Public Post Previewは、サイトに未登録のユーザーでも投稿のプレビュー確認を可能にしてくれるプラグインです。投稿毎に一時利用のURLを作成することで実現しています。いわゆる「このURLを知ってる人のみアクセスできるリンク共有」です。 Continue reading

WordCamp Kansai 2016 に登壇しました #wck2016

WordCamp Kansaiの1日目に「大学におけるWordPressサイトのインハウス開発」というセッションで登壇しました。

セッション概要とスライドは下記。

大学のウェブサイトをインハウスで開発、運営しており、一部にWordPressを採用しています。これまでの開発経験の中から、主に機能追加の要望に対して「できなくはない」ケースや、「シングルサイトかマルチサイトかの選択」においての意思決定についてお話します。日々の更新業務を遂行しつつ、インハウス開発を行うヒントになればと思います。

「こういう話を共有したい」と自分から応募していながら、技術の話ではなく、正解もない話を、どのようにセッションとして纏めるか難しく、かなり悩みました。伝えたかったことがきちんと伝えられたか…終わっても不安だったりします。

スタッフの方によると、参加してくださった方は14名だったそう。皆さんの環境でも参考になりうる、何かしらのヒントを得た方がいらっしゃったら幸いです。ありがとうございました。

余談

WordCampの登壇は今回が3回目です。過去のスライドはSlideShareにアップしてましたが、今回を機に全てSpeaker Deckにアップし直しました

WordPress 4.6から管理画面はネイティブフォント

WordPress 4.6から管理画面に指定されていたフォントがOpen Sansからネイティブ・フォントに変更されます。下記の記事を参考に、変更内容を調べてみました。

Open Sansからネイティブへ

3.8で管理画面のUIが一新された時からOpen Sansが指定されるようになりました。

body {
    font-family: "Open Sans", sans-serif;
}

しかし、幾つか問題点もあり、その1つがGoogle Fontsからフォントをロードせざるをえないことです。

<link rel="stylesheet" id="open-sans-css" href="https://fonts.googleapis.com/css?family=Open+Sans%3A300italic%2C400italic%2C600italic%2C300%2C400%2C600&amp;subset=latin%2Clatin-ext&amp;ver=5bf5a1af710ddc76d9b7fe8a90fede2c" type="text/css" media="all">

そこで、解決策として4.6からネイティブフォントが採用されることになりました。

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

ネイティブフォントの採用により:

  • より速いロード時間(特にオフライン時)
  • サードパーティー依存の解消
  • より”ネイティブ感”(ウェブとネイティブアプリの境界がなくなってきている)

が期待されます。

日本語の環境で確認してみました

Mac OS (El Capitan) で、 左から下記の組み合わせです。

  • 4.5.3 / Chrome
  • 4.6 beta 2 / Chrome
  • 4.6 beta 2 / Safari

Wordpress 4.5.xと4.6 beta 2のダッシュボード比較

ダッシュボード

Wordpress 4.5.xと4.6 beta 2の投稿一覧比較

投稿一覧

どうでしょうか?El CapitanなのでSan Franciscoになっていると思います。日本語では違いをあまり感じないですね。むしろ英語の方がウェイトが若干違うような。Matt Miklicさんの記事で、彼がOpen Sans とシステムフォントの表示比較のページを作っているので、それも参考に。

一番気になるのはWindowsの方ですね。Segoe UIらしいですが、どうなんでしょう…キャプチャとれなかったので、とれる方はぜひシェアしてください。

ソニーα7+キットレンズ+Sonnar T* FE 55mmのモニターをやってます #αアンバサダーモニター

去年の暮れから、α アンバサダープログラムのモニター企画でα7(ILCE-7K)とα7のズームキットレンズFE 28-70mm F3.5-5.6 OSS(SEL2870)、そしてSonnar T* FE 55mm F1.8 ZA (SEL55F18Z)をお借りしています。

α7は2年前に発売された機種でして、まだ併売されているとはいえ、後継のα7IIが発売されているので「1つ前の古いやつ」感が少し…でも個人的にフルサイズは使ったことがないのでなかなか楽しみ。加えて、カールツァイスのレンスが使える!という楽しみが…いや、ボディ以上にレンズの方が楽しみかもしれない。

そんなわけで、年末からずっとα7ばかり使っています。ほぼFE55mmがつけっぱの状態です。ひとまず、ここまで使ってみた感想を簡単に書き留めておきます。なお、画像は全て撮って出しです。

Riverside baseball ground #1

Continue reading

Jetpack等のプラグインのWP-CLIコマンドと、WP-CLI開発に関するWordCamp動画

この記事はWP-CLI Advent Calendar 2014 – Adventarの23日目の記事です。1日遅れてしまい、スミマセン…

1つの記事にするほどでもないので(汗)、今回は2つを1つにしました。

  • プラグインに含まれているコミュニティ・コマンド
  • A Journey To The Center Of WP-CLI

プラグインに含まれているコミュニティ・コマンド

WP-CLIのコミュニティ・コマンドを追加するには、コミュニティ・パッケージをインストールして追加する方法と、プラグインを有効化することによって追加する方法の2通りがあって、両方ともすでに今回のAdvent Calendarで取り上げられています。

既存のプラグインの場合、すでにWP-CLIコマンドに対応しているプラグインがあり、WP-CLIのGitHubページで確認できます。

List of community commands · wp-cli/wp-cli Wiki

Advanced Custom FieldsやBackWPup、Jetpack、WP Super Cache、W3 Total Cacheなど、すでに対応しているポピュラーなプラグインが幾つかあります。WP Migrate DB Pro のように、有料版でのみ対応している場合もあります。

JetpackのWP-CLI

その中から、JetpackのWP-CLIコマンドを見てみました。wp jetpack helpで確認すると下記コマンドがあることが分かります。

  • wp jetpack disconnect [blog|[user <user_id>]]

  • wp jetpack module [list|activate|deactivate|toggle [<module_name>]]

  • wp jetpack status

statusはこんな感じ。

$ wp jetpack status
Success: 現在 Jetpack は WordPress.com アカウントに連携済みです
Jetpack バージョンは 3.3 です
WordPress.com blog_id は 1076823 です

残念ながら、サブ・サブコマンド([~]の中)がバグで使えなくなっています。周知のバグでfixする予定ではあるみたい。

$ wp jetpack module list
<span style="line-height: 1.6471;">Warning: The `wp jetpack module` command has an invalid synopsis part: [list|activate|deactivate|toggle
</span><span style="line-height: 1.6471;">Warning: The `wp jetpack module` command has an invalid synopsis part: [&lt;module_name&gt;]]
</span><span style="line-height: 1.6471;">Error: Too many positional arguments: list

A Journey To The Center Of WP-CLI

WordCamp.tvに、現在リポジトリをメインテインしているDaniel BachhuberさんのWCNY2014の時のセッション動画を見つけたので紹介。

Daniel Bachhuber: A Journey To The Center Of WP-CLI | WordPress.tv

内容は、DanielさんがWP-CLIを使い、プルリクを送るようになったきっかけから、ユニットテストなどを用いたWP-CLIそのものの開発について語っています。

WP-CLIとCronの合わせ技でテーマの有効を予約設定する

この記事はWP-CLI Advent Calendar 2014の16日目の記事です。

WP-CLIのwp theme activateをCronと組み合わせて、テーマの有効を予約設定してみました。

Cron設定の仕方

Cronの設定については下記などを参照。

Cronを設定するには2通りの方法があるということを、実は今回知りました。crontab -eでCrontab画面を立ち上げて指定する方法と、/etc/crontab を直接編集する方法です。今回はcrontab -e方法だとうまくいかなかった(※)ので、vi /etc/crontabで直接編集しました。

※たぶんコマンドが間違えてたとかそういうのだと思われ。とはいえ、/etc/crontabを直接編集する方が分かりやすいと思いました。

例えば、12月16日13時45分に設定をするには下記の様に記述。user-nameには実行するユーザー名が入ります。

45 13 16 12 * user-name 何かの処理

なお、これだと実際は毎年12月16日13時45分に処理を行うという設定なので、1回だけであれば実行された後に手動で削除する必要があります。

VCCWを使ったローカル環境で試してみる

まずはローカルのVCCWで試してみました。VCCWは現在の日付・時刻をdateで確認するとUS時間でした。なぜだろう…en_US設定だからかな。ともかく、今回はテストなのでその時間に合わせてCronを設定。下記は12月15日17時14分にTwenty Fifteenを有効化する設定です。

47 17 15 12 * vagrant /usr/local/bin/wp --path=/var//var/www theme activate twentyfifteen

なお、vagrantユーザーでは/etc/crontabの編集はできなかったで、suする必要があります。実行するユーザー名はvagrantでも問題なかったです。

本番環境で試してみる

ローカルでうまくいったので、実際に本番環境、つまりこのブログ、で試してみました。

“`0 2 16 12 * /usr/local/bin/wp –path=/path/to/wordpress theme activate wilson

1 2 16 12 * root /usr/local/bin/wp –path=/path/to/wordpress nginx flush“`

これも問題なく有効化。2行目はNginx Cache ControllerのWP-CLIコマンドで、Wilsonというテーマをactivateした1分後にNginxのキャッシュをフラッシュしています。

/usr/local/bin/wpはWP-CLIの場所。/path/to/wordpressはWordPressのインストール場所。環境/サーバーによって違うので、正しく設定する。ここが一番注意するところかもしれません。僕も何回か間違えて設定し直しました。また、path=〜パラメータは wpの直後に記述する必要がありました。下記のように記述するとうまくいきません。

0 2 16 12 * /usr/local/bin/wp theme activate wilson --path=/path/to/wordpress

12月16日に試したこと

テストがうまくいったので、12月16日(つまりAdvent Calendar16日目…)にこういう設定をしておきました。

0 8 16 12 * root /usr/local/bin/wp --path=/path/to/wordpress theme activate highwind
0 13 16 12 * root /usr/local/bin/wp --path=/path/to/wordpress theme activate wilson
0 19 16 12 * root /usr/local/bin/wp --path=/path/to/wordpress theme activate twentyfifteen
1 8,13,19 16 12 * root /usr/local/bin/wp --path=/path/to/wordpress nginx flush

8時にHighwindを、13時にはWilsonを、そして19時にはTwenty Fifteenが有効化されるように設定し、さらにそれぞれその1分後にはキャッシュをフラッシュ。

それぞれの時間に職場からアクセスしてチェックしてみたのですが、うまくいっていたようです。

実際に仕事で使える?

サイドバーやウィジェットの設定はテーマを変更するとそのテーマに合わせて設定し直す必要があるので、いきなり新しいテーマを予約設定するのは現実的ではないかもしれません。良いデベロッパーならば、ステージングですべてテストしている上に、ファイルとDB(もしくはそれらの差分)を簡単にデプロイできるようにしているでしょうから、実際にはそのデプロイをスクリプトにしてCron設定しますよね。

WordPressのありとあらゆる設定がWP-CLIから変更できるようになると…

WP-CLIの(特に初めての人向け)紹介でよく目にするwp theme activateですが、「1行のコマンドで新しいテーマを有効化できて便利ですよ〜」と解説しても、日常的に黒い画面を使っていない人であれば「テーマの有効化なんて管理画面からできるし、GUIで楽」ってなるかと思うんです。でも、CLIでWordPressの設定変更ができるようになることのミソは「1行で便利〜」ではなく、コマンドという文字列(スクリプト)に書き出せることです。スクリプトにさえできれば活用の幅が広がります。

たとえば、今回のようにCronと組み合わせることで、いろいろな「予約」ができるようになります。WP-CLIを使わない場合、デフォルトでできるのは投稿の予約ぐらいです。ローカル開発用にWordPressを立ち上げる時に毎回行っている設定などはスクリプトとして保存しておき、必要な時に実行すると、あとはパソコンがすべて処理してくれます。たとえばMemo: wp-cli commands for the theme reviewers. | Days in Thailand

そんなワクワク感がいいなと思ってます。

VersionPress:ファイルもDBもWordPressサイト全体をバージョン管理するプラグイン

WordPressサイト全体をGitなどのバージョン管理下におく場合、いっそのことメディアファイルとDBも併せてバージョン管理したい、と思ってしまいます。そんな要望に応えてくれそうなプラグインが先日WP Tavernでピックアップされていたので紹介。

VersionPressのサイトには開発中のキャプチャが。リビジョンのIDとコメント、"Undo" リンクに注目。

VersionPressのサイトには開発中のキャプチャが。リビジョンのIDとコメント、”Undo” リンクに注目。

チェコのデベロッパー2人が現在開発中&クラウドファンディングで資金集め中のVersionPressというプラグインです。Version Pressはインストールして有効化するだけで、後は自動的にサイト上の全ての変更をバージョン管理してくれます。全ての変更、というのは投稿や固定ページの公開、変更、削除はもちろん、設定変更など全てです。バージョン管理されているので特定のリビジョンまでロールバックしたり、リビジョンを指定しての削除もできます。更に差分だけローカル、ステージング、プロダクション間で同期もしてくれるとか…

バージョン管理に使われるのはGitです。WP Tavernのポッドキャストに開発者の1人がゲスト出演しているのですが、その中ではDBの差分を出力してGitで管理する、と言っていました。また開発者ブログの方には、初期のリリースではリモートサーバーにGitがインストール済みであることが動作条件になるが、多くのホスティングサービスはGitをサポートしていない為、できる限り早い段階でPHP版のGitを実装すると書いています

まだ開発が発表されたばかりなので、ライセンスはどうなるのか?(後日100%GPLを発表)、調達した資金は具体的に何に使われるのか?仕様は?販売形態は?など多くの疑問が飛び交っていますが、期待通りの出来に仕上がっていればとても注目されるプラグインになりそうです。

先日の登壇後にコンテンツのデプロイメントに関する質問を受けました。コードのみではなく、DBを含むコンテンツも併せた包括的なバージョン管理+デプロイメントができないだろうか?デザイナーでも扱える仕組みで何かないだろうか?ー日本でも需要がありそうですね。

リリースは2014年の後半を予定しているそうです。気になる方は定期チェックしておいては?