Snow Monkey がメジャーアップデートして v5 になります!子テーマを使っている方は要注意!

この記事は Snow Monkey アドベントカレンダー 2018 11日目の記事です。

先日オンラインコミュニティでは先に案内をしましたが、現在、v4.4.30 で下記環境に対応しているのを、v5 は WordPress 5.0 以上対応、v4.4.x で WordPress 4.9.x 対応という形にしたいと思います。

Snow Monkey v5ベータ版ダウンロード

ページ下部にメンバー限定で v5 のベータ版ダウンロードも用意しておりますので、v5へアップデートをしようと思われている方はぜひ早めにダウンロードしてテストしてみてください!

v4.4.30 現在のサポート状況

  • WP4.9 + Gutenberg プラグイン
  • WP4.9 + クラシックエディター
  • WP5.0 + ブロックエディター
  • WP5.0 + クラシックエディター

今後のサポート

v5〜

  • WP5.0 + ブロックエディター
  • 今までどおり機能追加や WordPress に追従したアップデートをおこなう
  • 今までどおりダッシュボードからアップデート

v4.4.30〜

  • WP4.9 + クラシックエディター
  • 報告ベースでの修正アップデートのみで機能追加は無し
  • 手動で zip をダウンロードしてアップデート

v5 での変更点

この変更にあわせて、これまで継ぎ足し継ぎ足しで溜まってきた膿を整理したいなと思いまして、下記の変更を進めています。

HTMLコンポーネント挿入機能をオプション扱いに変更

WordPress 5.0 からブロックエディターが標準となりましたので、クラシックエディター専用だった HTML コンポーネント挿入機能をデフォルトでは無効に変更します。

使いたい人はフックで有効化できるようにしておきます。

add_filter( 'snow_monkey_use_awesome_components', '__return_true' );

one-column-fluid、blank-fluid テンプレートを削除

イマイチ使い所のはっきりしなかった「1カラム(フル幅左右余白あり)」「ランディングページ(左右余白あり)」のテンプレートを廃止します。現在使用中の方は別テンプレートに変更が必要です。

/template-parts ディレクトリの整理

テンプレートパーツを格納している template-parts ディレクトリの中身が増えてきて煩雑になってきたので、ディレクトリの整理を進めています。

子テーマで template-parts 内のテンプレートを上書きしている場合は変更が効かなくなりますので再配置が必要です。

/app/template-tags ディレクトリの変更

Snow Monkey 独自の関数を格納していた /app/template-tags ディレクトリを廃止し、新たに Framework/Helper.php というヘルパークラスに変更します。

子テーマで /app/template-tags 内の関数を上書きしていた場合はその上書きが無効になるのと、/app/template-tags 内の関数を使用しているテンプレートを子テーマで上書きしている場合は Fatal Error(いわゆる画面真っ白)になる可能性が高いです。

/app/model ディレクトリの変更

/app/model ディレクトリを /Framework/Model ディレクトリに変更します。あわせて、その中のクラスの名前空間も変更されますので、デザインスキンを作成されている方はクラス呼び出しの変更が必要になります。

これまで

add_action( 'after_setup_theme', function() {
	if ( class_exists( '\Snow_Monkey\app\model\Design_Skin' ) ) {
		new \Snow_Monkey\app\model\Design_Skin( __FILE__ );
	}
} );

これから

add_action( 'after_setup_theme', function() {
	if ( class_exists( '\Snow_Monkey\app\model\Design_Skin' ) ) {
		new \Snow_Monkey\app\model\Design_Skin( __FILE__ );
	}

	if ( class_exists( '\Framework\Model\Design_Skin' ) ) {
		new \Framework\Model\Design_Skin( __FILE__ );
	}
} );

get_template_part()、wpvc_get_template_part() 関数の変更

テンプレート内の全ての get_template_part()wpvc_get_template_part() が、\Framework\Helper::get_template_part() に変更になります。

v5 での機能追加

画像の非同期読み込み

「カスタマイザー > ページ速度最適化 > 画像の非同期読み込み」から、画像の非同期読み込み設定がおこなえるようになりました。

img 要素の decoding 属性を使っているのでブラウザによっては対応していないことがあるかもしれませんが、JavaScript は使っていないため重くならない利点があります。

【まとめ】v5 へのアップデートで注意が必要な方

Snow Monkey をそのまま使っている方

まず問題ありません。

子テーマは使っているけど functions.php を追加しているだけ、CSS を追加しているだけ

ほとんど問題ないはずです。

子テーマを使っていて、テンプレートを上書きしている方

ほぼ100%修正が必要になるはずです

テンプレートを上書きされている場合は、そのまま v4.4.x 系で手動アップデートを続けるか、v5 に合わせて子テーマもご自身で見直してアップデートさせるかが必要となります。

個人的には今後のことを考えるとv5にアップデートしたほうが良いと思いますし、サポートフォーラムでサポートはいたしますので、ぜひアップデートに挑戦してみてください!

子テーマでばりばりカスタマイズされている方にとってはちょっと大変なアップデートになるかもしれませんが、今後のメンテナンスや機能追加を見据えたアップデートになりますのでご理解頂けますと幸いです。

Snow Monkey アドベントカレンダーにご参加ください!

参加しても良いよーという方がいましたらぜひご参加くださいませ。ユーザーさんの声や、他業者さんからみた Snow Monkey などめっちゃ聞きたいので、よろしければぜひ!

ベータ版ダウンロード&チェンジログ一覧

ここから先は Snow Monkey サブスクリプションユーザー特典です。継続課金されている方はログインして閲覧できます。ご購入がまだの方はこちらから購入できます。

この記事を書いた人

キタジマ タカシ

長崎県長崎市在住。地元のWeb制作会社でWebデザイナー/エンジニアとして従事した後、2015年にフリーランス [ モンキーレンチ ] として独立。WordPress のテーマやプラグイン、ライブラリ、CSS フレームワーク等、多数のプロダクトをオープンソースで開発・公開しています。

Snow Monkey オンラインコミュニティ

Snow Monkey をより良いテーマにするために、今後の機能開発等について情報共有したりディスカッションをしたりする場所です。より多くのユーザーの交流があったほうがより良いプロダクトに育っていくと思いますので、ぜひご参加ください!