当日話したこと以外も追加情報随時更新しています
2020年7月11日に開催のSnow Monkey ミートアップで自分がどうMy Snow Monkeyの使っているのかをお話させていただきました。
資料
当日話した内容
My Snow Monkeyって何?
Snow Monkey テーマカスタマイズ用のプラグインです。
- これまで子テーマを用意してカスタマイズしていた部分をこのプラグインに記述していくことで、カスタマイズ対応していく
- デフォルトは何の処理も入っていない
- 別にMy Snow Monkeyプラグインではなく、オリジナルプラグインでも可能
カスタマイズ用プラグインを「おれのゴリラ」にしてしまってもなんら問題がない!
ということで、もしちょっと遊び心をつけてサイトカスタマイズしたいな〜という場合は、プラグインの名前を「おれのゴリラ」とか「あなたのプチモンチー」などにしてしまうのもありです。
(※公式フォーラムに質問するときに「おれのゴリラ」がうまく動かないんですが・・・ってなるとあれがあれなので、その点だけご注意ください)
くわしくはこちらにまとめました
ゴリラ育成にとても役立つ飼育本
- 公式フォーラム
- gitリポジトリーのwiki
- アクションフック
- ここの部分に追加でなにかを突っ込みたい!という要望系
- アクションフックについての解説記事
ベクトルさんの解説記事!とてもわかりやすく解説していて、10年前にこの記事みたかった!!!ってなってます。
- アクションフックについての解説記事
- ここの部分に追加でなにかを突っ込みたい!という要望系
- フィルターフック
- 出力しているここをこちらに差し替えたいなという要望系
- アクションフック
- HAPPY SNOW MONKEY
- オレインさんのSnow Monkeyカスタマイズ情報サイト。サイトの各ページにここでなにかしたいときはこのフック使うんだよ〜というのがビジュアル化されているのがとにかく素晴らしい
- 逆引きゴリラ
- Kmical Lightsさんがやっているカスタマイズ情報サイト。機械学習などでコンテンツを作られている部分もありサイトの仕組み自体がすごすぎる。特に逆引きのコンテンツはゴリラ飼育する私達にとってとてもありがたい
くわしくはこちらにまとめました
ゴリラらしい見た目にしていこう
人は見た目が9割、きっとゴリラも9割(CSS)
- Sass使用しています
- FLOCSS ですすめてましたが・・・
現在はFOOルールでまとめてます(正しいかは悩んでいる)- foundation(FLOCSSのと一緒、mixinとか変数とかこちらに入れている)
- override(既存のスタイルに対して上書きしてスタイル変更したいものをこちらに入れている)
- original(オリジナルのもの)
!important 祭りにどう立ち向かっていくのか
- 変更したい部分が現在とても長いセレクタで指定されている
- 長いセレクタは使いたくない
- けど短いセレクタで指定すると上書きできない。
- そんなときは.hoge:not(:root) といった疑似セレクタを使用すると短いセレクタ かつ 上書きできることが多い(だが、HTML直書き・!importantには当然勝てないが)
- やはり同じセレクタで上書きが最強
ときには整形もいとわない
Snow Monkeyには、既存で出力しているものを書き換えることができるフックが沢山あります。
CSSでゴリラらしく見える服装・メイクをしていくのもいいですが、フックを利用してもう根本から整形してしまうのも手です。
- snow_monkey_use_auto_custom_logo_size
- snow_monkey_display_contents_outline
- snow_monkey_entry_summary_title_num_words
強靭な肉体を手に入れよう(テンプレートの改修)
子テーマのような感覚でさくさくできるフック
snow_monkey_template_part_root_hierarchy (簡単)
- デザイナーなどでもわかりやすい(ここに元ファイルを同じ階層で設置して、カスタマイズしたいところだけ直してねでいける)
- このプラグインでテーマのどこをなおしているかがディレクトリ構成だけで把握しやすい
2020.12.10 追記
範囲を指定(or条件指定)せずに使うと処理速度が落ちることを知りました(当たり前なのですが)
こちらのhook使うときは、ご注意ください
必要な部分だけ適宜変えていくフック
snow_monkey_template_part_render(ここだけこうしたい!というとき用 合理的)
- 好きな箇所・ファイル・クラス内に入れられるので目的などでまとめられる
- プログラムや状況によって色々変化させたい!というときはこちらのほうが良さそう
snow_monkey_pre_template_part_render (このテンプレートパーツごそっと変えたいとき用)
- 上と同じメリットあり
- テーマがアップデートされても破綻することが少なく安心
余談
なんと、つい先日まで非推奨のフックめっちゃ使ってました(時代に乗り遅れてしまってました)
頭を良くしていこう(他のプラグインのカスタマイズ、オリジナルの機能・ショートコードなど追加)
- functions.phpにこのコード追加してくださーい 系はこのプラグインにペタリと貼っていこう
- 独自機能もこちらに追加できるよ(※テーマに関わるもの)
- テーマに依存しないものだったら別プラグインでの対応のほうが良いかも(テーマが変わっても動作してくれる)
ゴリラ育成に常日頃悩んでます
- snow_monkey_template_part_root_hierarchy VS snow_monkey_template_part_render どちらを使用してテンプレート改修してけばいいの?
- どちらもいい面あるし、一番スマートかつ長期的運用もできるのはどちらなのかと悩んでいる
みんながどうMy Snow Monkeyってるか知りたい
- 今日の会の登壇きっかけ
- よかったらSNSなどでどう使ってるか聞かせてください
おことわりごと
自分の現在知っていることを踏襲してなるべくベストな形でできるようにしていますが、知識不足などから間違った点、効率が悪い点あるかと思います。
正確性とかもなるべく担保をしたいと心がけていますが、間違っている箇所などありましたらごめんなさい。