bxSliderを使ってWPカスタムヘッダー画像をスライドショー表示する
こんにちは。今回は、WordPressのカスタムヘッダー画像を順にスライドショー表示する方法について紹介します。
目次
githubにテンプレートを公開しています。
jQueryプラグイン・bxSliderを使ってスライドショー表示する
スライドショー表示するjavascriptは巷に多く存在しますが、今回はbxSlider(jQueryプラグイン)を選択しました。選んだ理由は、「簡単」「カッコイイ」「Responsiveに対応」です!
デモはこちら
カスタムヘッダーとスライドショーを対応づけておくといいこと
今回はWordPressテーマの機能・カスタムヘッダーの画像を使って、スライドショー表示を行うようにします。具体的には、カスタムヘッダー画像として複数の画像をアップロード(or メディアライブラリから選択)しておき、bxSliderがそれらのヘッダー画像を順番に再生するようにします。
このようにすることで、スライドショー表示する画像をWP管理画面メニューから簡単に変更できるようになります。
テーマを編集する
次のような流れでカスタマイズしていきます。
- functions.phpに、テーマのカスタムヘッダー機能を有効にするコードを書く
- ダッシュボード>外観>ヘッダーメニューから、複数の画像を登録する
- スライド表示するテンプレートに画像を読み込むコードを書く
- bxSliderを呼び出すjsスクリプトを作成する
- functions.phpに、bxSliderと#4のスクリプトを読み込むコードを書く
- header.phpに、bxSlider用cssを読み込むコードを書く
#1 テーマのカスタムヘッダー機能を有効にする
functions.phpに次のコードを挿入します。なお、カスタムヘッダーについてよく分からないという場合は、過去の記事「カスタムヘッダーを設置する」で書きましたので参考にしてください。
functions.php
ここでは、900 x 200pxのサイズの倍解像度画像を表示するべく、1800x400pxを指定しました。
補足:デスクトップサイズの高解像度ディスプレイユーザーの割合はまだまだ少ないと思うので、元のサイズ900x200pxでも十分かもしれません。
#2 ヘッダー画像をアップロードする
#1の編集をした後でダッシュボードを再読み込みすると、新たに外観>ヘッダーのメニューが追加されます。
画像を選択メニューから、スライドショー表示したい画像を複数登録して、最後に「変更を保存」ボタンを押しておきます。
#3 スライド表示するテンプレートに画像を読み込むコードを書く
ヘッダー画像として登録した画像へのURLを読み込み、bxSliderでのHTMLマークアップ方法に合わせて出力します。
bxSliderのHTMLの書き方は次の通りです。
<ul class="bxslider"> <li><img src="/images/pic1.jpg" /></li> <li><img src="/images/pic2.jpg" /></li> <li><img src="/images/pic3.jpg" /></li> <li><img src="/images/pic4.jpg" /></li> </ul>
上のように、画像をリストで書き出すようにコードを記述します。
frontpage4categories.php(スライドショーを表示したいテンプレート)に挿入
念のためにヘッダー画像が1枚も登録されていない場合を想定して、デフォルト画像をimgフォルダに入れておき、<img>タグを出力する処理を記述しておきます。
補足:ちなみに、もしもここまで実装したテーマを反映してサイト実行すると、スライドショーは動きませんが、スライドショーする予定の画像(ヘッダー画像)が全て縦に並べて表示されるハズです。
#4 bxSliderを呼び出すjsスクリプトを作成する
次にbxSliderを実行する、小さいスクリプトを作成します。
mybxslider.js
ここではbxslider.comのStep3で紹介されているスクリプトに、画面幅を変えたときにbxSliderをリロードする処理を追加しました。bxSlider()の中には、bxSliderのオプション値を書きます。スライドショーの効果や速度などを指定できます。詳しくはbxSliderのExamplesページを見てみてください。
#5 bxSliderとその実行スクリプトをWordPressで読み込むコードを書く
WordPressでjavascriptを読み込むには、それらをfunctions.phpで下記のような方法で指定する必要があります。2つのスクリプトは/jsフォルダに入れます。
functions.phpから抜粋
jQueryと、bxSliderと、bxSliderの実行スクリプトをそれぞれ読み込みます(途中記載のpageslideは別目的のプラグインで、この記事にWordPressでのjavascriptの読み込み方について書いています)。
bxSliderの実行スクリプトは、wp_enqueue_script()の第5引数をtrue指定し、footerで出力するようにしました。
#6 bxSliderのCSSを読み込む
bxSliderと同梱されているcssをWPテーマフォルダに入れて、他のcssファイルと同様に読み込みます。
header.phpに挿入
<link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/css/jquery.bxslider.css" type="text/css" />
以上で、スライドショーの設置が終わりました。如何でしょうか?貴方のサイトにもカッコイイスライドショーを実装してみてくださいね。