この記事は Snow Monkey アドベントカレンダー 2018 11日目の記事です。
先日オンラインコミュニティでは先に案内をしましたが、現在、v4.4.30 で下記環境に対応しているのを、v5 は WordPress 5.0 以上対応、v4.4.x で WordPress 4.9.x 対応という形にしたいと思います。
ページ下部にメンバー限定で 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 などめっちゃ聞きたいので、よろしければぜひ!