最近、サイドバーのカラムが、スクロールに追従するサイトが多い気がします。
一定のところまでスクロールすると、サイドバーだけ自動的に固定になるやつです。
以前からありましたが、最近はスタンダードのようになりつつあるような。
まだ、お客さんからの要望は一度もないのですが、要望があったらすぐに実装できるようにしておきたいので、とりあえずこのmorilogでも実装しておく事にしました。
なかなか良い方法が見つからず…
とりあえずjQueryで自作するところから始めました。
しかし、サイドバーの下端をウインドウの下端に揃えるとすると、ブラウザのウインドウサイズなどにも依存するので、計算がけっこう厄介。
そこで、既存のjQueryプラグインを探す事にしました。
Googleで検索してみると、数年前の記事などが多く、ちょっと不安に。とりあえず、試しに導入してみましたが、自分が使用したプラグインは、動作が安定するまでに数秒のブランクがあったり、動きもなんとなく不安定な感じでした。
結局はWordPressプラグインに頼ることに
そこで、新たに見つけた情報によると、WordPressのStandard Widget Extensionsというプラグインが良さそう。
早速インストールしてみると、テーマファイルを解析して、自動的に設定を完了してくれている模様。
このプラグインは、サイドバーの追従 (Sticky Sidebar)と、ウィジェットのアコーディオン化 (Accordion Widgets)という2つの機能があるようですが、ここではAccordion Widgetsをオフに。
サイトを表示してみたところ、問題無く動作をしました。しかも動きの感じも安定感があって良い感じ。
まさか、こんな簡単に実装できてしまうとは、という感じです。
WordPress.org プラグインページ » Standard Widget Extensions
しかし、これでは本末転倒か??
しかし、実装方法をマスターしておくために始めたこの作業を、結局プラグインに頼ってしまったのでは、本末転倒なのでは?
あと、テーマ作成の基礎〜その1 WordPressのカスタマイズとテーマの役割という記事で、「機能はできるだけプラグインに頼らず、テーマ側で実装したほうがいい」というような事を書いたばかりだし。。
まあ、有っても無くても成立するような機能は、効率優先でプラグインもOK、とも書いた気がするので、この場合はまさにそれに当たるとは思いますが、やはりプラグインに頼らない実装方法も勉強しておかなければ、と思う次第であります。