前の投稿で、Wordpressのテーマ「Stinger5」でサイドバーを固定するため、テーマ内のJavascript「scroll.js」に変更を加えました。その日は上手く動作しましたがすぐに追随が利かなくなり、いろいろ試しても直りませんでした。
プラグイン「Standard Widget Extensions」でサイドバーを作ったところ、問題なくなりましたので記事にしておきます。今使っているテーマ「Simplicity」では追随サイドバーをまだ使っていないので、試していません。
Standard Widget Extensions
作者がHirokazu Matsuiさんという方で日本語のウェブサイトを持っておられるので、日本人のようです。感謝です。使用バージョンは1.7.4です。
プラグインをインストールすると、「設定」の中に「Standard WE」という項目が出来ます。
設定画面に入ったら、「一般」タブで、メインカラム、サイドバー、ウィジェットのクラス名をセットして、Sticky sidebarをオンにすればOKです。
Stinger5の場合はメインカラムのクラス名は「content」、サイドバーは「side」、ウィジェットは(標準のスクロール広告は)「scrollad」です。
サイドバーとウィジェットを逆にセットしても一応動作しますが挙動不審です。きちんとセットしないと、「Sticky sidebar」タブのQuick switchback機能が動きません。
Quick Switchback機能
Quick switchback機能を使うと、上にスクロールしていく際にサイドバーの上部を早く見ることが出来ます。具体的には、
- 下がっていく時には、サイドバーもメインコンテンツと一緒に下がっていく
- 固定ウィジェットが表示されるまで下がったら、サイドバーはそれ以上下がらない
- あがっていく時には、サイドバーも一緒にあがっていく
- サイドバーの上部がコンテンツの最上部よりも先に表示される
ようになりました。Quick switchbackなしの場合では、
- 下がっていく時には、サイドバーもメインコンテンツと一緒に下がっていく
- 固定ウィジェットが表示されるまで下がったら、サイドバーはそれ以上下がらない
- あがっていく時には、サイドバーはしばらく上がらない
- メインコンテンツの上部に近づくと、サイドバーが動き始める
という挙動でした。(私の環境では)
サイドバーの上部に意味があるウィジェットを貼っている(大抵貼っていると思いますが)場合には役立ちます。
ただし、サイドバーすべてを固定表示させてしまいますので、Quick Switchbackを使うときにはGoogle Adsenseを表示させてはいけません!(規約違反になると思われます)
scroll.jsを編集した結果との違い
私の環境で動作していたときの話になりますが、scroll.jsを編集してサイドバーを固定した場合には、スクロールダウンすると、固定したいウィジェットのみが表示される状態になっていました。(次の日には、追随しなくなってしまいました)
「Standard widget extensions」を使ったほうが見せられる情報が増えますので、好みだと思いますが、私はこのプラグインで実現できるサイドバー固定のほうが好きです。
コメント