最近、サイドバーのカラムが、スクロールに追従するサイトが多い気がします。
一定のところまでスクロールすると、サイドバーだけ自動的に固定になるやつです。
以前からありましたが、最近はスタンダードのようになりつつあるような。

まだ、お客さんからの要望は一度もないのですが、要望があったらすぐに実装できるようにしておきたいので、とりあえずこのmorilogでも実装しておく事にしました。

なかなか良い方法が見つからず…

とりあえずjQueryで自作するところから始めました。
しかし、サイドバーの下端をウインドウの下端に揃えるとすると、ブラウザのウインドウサイズなどにも依存するので、計算がけっこう厄介。

そこで、既存のjQueryプラグインを探す事にしました。
Googleで検索してみると、数年前の記事などが多く、ちょっと不安に。とりあえず、試しに導入してみましたが、自分が使用したプラグインは、動作が安定するまでに数秒のブランクがあったり、動きもなんとなく不安定な感じでした。

結局はWordPressプラグインに頼ることに

そこで、新たに見つけた情報によると、WordPressのStandard Widget Extensionsというプラグインが良さそう。

早速インストールしてみると、テーマファイルを解析して、自動的に設定を完了してくれている模様。

スクリーンショット 2014-09-05 16.25.46

このプラグインは、サイドバーの追従 (Sticky Sidebar)と、ウィジェットのアコーディオン化 (Accordion Widgets)という2つの機能があるようですが、ここではAccordion Widgetsをオフに。

サイトを表示してみたところ、問題無く動作をしました。しかも動きの感じも安定感があって良い感じ。
まさか、こんな簡単に実装できてしまうとは、という感じです。

WordPress.org プラグインページ » Standard Widget Extensions

しかし、これでは本末転倒か??

しかし、実装方法をマスターしておくために始めたこの作業を、結局プラグインに頼ってしまったのでは、本末転倒なのでは?

あと、テーマ作成の基礎〜その1 WordPressのカスタマイズとテーマの役割という記事で、「機能はできるだけプラグインに頼らず、テーマ側で実装したほうがいい」というような事を書いたばかりだし。。

まあ、有っても無くても成立するような機能は、効率優先でプラグインもOK、とも書いた気がするので、この場合はまさにそれに当たるとは思いますが、やはりプラグインに頼らない実装方法も勉強しておかなければ、と思う次第であります。