先日、トップページにカルーセルを設置してみました。
デフォルトから簡単なカスタマイズを行いましたが、なんだか物足りず…。
今回は、
- 表示数を6記事から3記事にする
- 1枚ずつスライドさせる
- スライドの動きをヌルっとした滑らかな動きに変える
- カルーセルが動く速さを変更する
という点を重点的に考えながら設置した結果、なんとも言えない感じに仕上がったのでご紹介します。
カスタマイズの方法
Cocoon*カルーセルを簡単にカスタマイズする方法ではスタイルシートにCSSコードを追加してカスタマイズしましたが、今回はphpファイルを変更します。

- 外観→テーマファイルエディターを開く
- テーマのための関数(functions.php)
- 追記したいコードを書く

phpファイルは特に、エラーが起こりやすくリスクが伴いますので必ず子テーマ(cocoon-child)で更新します。
functions.phpに記載したコード
ゆっくり滑らかに、ぬるぬる動くカルーセルのコードです。
サクッと記載しておきます。
//カルカルカルーセル
if ( !function_exists( 'wp_enqueue_slick' ) ):
function wp_enqueue_slick(){
if (is_carousel_visible()) {
wp_enqueue_style( 'slick-theme-style', get_template_directory_uri() . '/plugins/slick/slick-theme.css' );
//Slickスクリプトの呼び出し
wp_enqueue_script( 'slick-js', get_template_directory_uri() . '/plugins/slick/slick.min.js', array( 'jquery' ), false, true );
$autoplay = null;
if (is_carousel_autoplay_enable()) {
$autoplay = 'autoplay: true,';
}
$data = minify_js('
(function($){
$(".carousel-content").slick({
dots: true,'.
$autoplay.
'autoplaySpeed: '.strval(intval(get_carousel_autoplay_interval())*0).',
infinite: true,
slidesToShow: 3, //表示枚数
slidesToScroll: 1, //移動枚数
autoplay: true,
speed: 20000, //スピード
cssEase: "linear", //ぬるぬる感
responsive: [
{
breakpoint: 1240,
settings: {
slidesToShow: 3,
slidesToScroll: 1
}
},
{
breakpoint: 1023,
settings: {
slidesToShow: 3,
slidesToScroll: 1
}
},
{
breakpoint: 834,
settings: {
slidesToShow: 3,
slidesToScroll: 1
}
},
{
breakpoint: 480,
settings: {
slidesToShow: 2,
slidesToScroll: 1
}
}
]
});
})(jQuery);
');
wp_add_inline_script( 'slick-js', $data, 'after' ) ;
}
}
endif;
せっかくなので少し解説
ちょっと変更するだけで変わる部分がたくさんあるので、少し解説してみたいと思います。
カルーセルの表示数を変える
デフォルトでは6枚ずつ表示されていますね。

カルーセルの表示数を変更したい場合は、 『slidesToShow: 』の数字を変更します。
slidesToShow:3 で、3枚ずつ表示。
slidesToShow:4 で、4枚、5で5枚ずつ表示されます。
デスクトップで1枚表示にするとレイアウトが崩れるので、さらなる改造が必要です。
スライドする枚数を変更する
デフォルトのカルーセルは、スライドするときに一気に6枚が切り替わります。
それを一枚ずつスライドさせたい場合、
『slidesToScroll:』の数字を変更します。
slidesToScroll:1, で1枚ずつ移動。
slidesToScroll:3, で3枚ずつ移動…という感じ。
レスポンシブでは、breakpointによって表示枚数を変更すると良いかもしれません。
(上記コードでは、タブレットで見てもデスクトップと同じく3枚ずつの表示となっています。)
少し注意したいところが、
ここの数を変更すると、カルーセルの下に表示されているドットの数が変わります。
ドッド数の仕組み
カルーセルの枚数を最小の12枚で設定している場合。
デフォルトでは、『6枚ずつ表示×6枚ずつ移動』なので、ドットの数は2つ。
『3枚ずつ表示×3枚ずつ移動』だと、ドットの数は4つになり、『1枚ずつ移動』にするとドットの数は10個表示されます。
滑らかなスライドにさせる
カルーセルがスライドするときは、cocoon設定で設定した秒数の間ストップして、次の表示へと切り替わりながら動きます。
この数秒の間に、私はアイキャッチの文字をじーっと読むのですが(多分みなさんそうだと思いますが)、急にアイキャッチが動くとあわわーー!となってしまうタイプの人間なので、
急に動き出す衝動的なカルーセルより、流れに身を任せているカルーセルの方が見やすいなーと思った次第です。
この辺のコードが動きのポイント
'autoplaySpeed: '.strval(intval(get_carousel_autoplay_interval())*0).',
speed: 20000, //スピード
cssEase: "linear", //ぬるぬる感
インターバルを0にすることでタイムラグがなくなり、cssEase: “linear”でスライドの動きを一定にしています。
なんとなくスピードを 20000 にしてみましたが、せっかちな人にはイライラさせちゃうスピード感かもしれませんね。
10000くらいでもいいかもしれません。
20000=20秒間かけて1記事分の範囲が動きます。10000だと10秒、5000だと5秒といった感じです。
さいごに一言
スマホで表示するとアイキャッチが追い付かないことがあり、タイトルのみ流れてくることがあります。。
その辺の改善、解りかねますので、
あまりいじるのも推奨はしません。
なんとなくぬるぬる動くカルーセルにしてみたい方のみ自己責任でご参考くださいませ。
