今回ご紹介するのはCocoonの『ナビカード』。
自分のサイトに、特定の記事やコンテンツを目立たせるためにピックアップ記事を表示する方法です。Cocoonの標準機能ですが、使ったことがない方も多いのはでないでしょうか。
- 表示する記事をピップアップできる 便利
- 斜めがけリボンをつけられる(5種類あり)
- ショートコード、またはウィジェットどちらでも表示できる
Cocoonには新着記事や人気記事を簡単に表示できる機能がありますが、ざっくりとしたグループ分けではなく、特に表示したい記事をピンポイントで選べるのはとても便利です。
今回のカスタマイズをすると、このように自分で選んだ記事を横に並べられます。(何枚でもよいのですが、リボンが5種類あるのでここでは5枚すべて表示しています)
ちなみに、当サイトのトップページの記事はこのナビカードを使って表示しています。
Pickup
可愛いリボンが簡単につけられて便利♪リボンの色や形はCSSで変更することもできます。
この記事では設定方法の他に、カードを横並びにする方法、リボンのデザインとテキストを変える方についても書いていきますのでご覧ください。
Cocoonナビカードを作成する手順
- Step1メニューを作成する(表示する記事を登録)
「外観」→「メニュー」画面で「新しいメニューを作成しましょう」リンクから新規メニューを作成します。
- Step2ナビカードをショートコードで呼び出す、またはウィジェットを利用する
オプションで表示する記事数、カード形式などを指定します。
- Step3カードを横並びにする
必要がある場合のみCSSを追加します
- Complete完成
注意点として、Cocoonの「おすすめカード」機能を使ってナビカード用のメニューを選択した場合、記事は表示されますがリボンが表示されません。呼び出すにはショートコードかウィジェットの[C]ナビカードを利用しましょう。
それではひとつずつ手順を書いていきますね。
メニューを作成する/Cocoonナビカードで表示する記事とリボンの種類を設定
管理画面→「外観」→「メニュー」→「新しいメニューを作成しましょう」をクリックし新規に作成します。
- メニュー名(英字がベスト)
- 「投稿」から表示させたい記事を選択(今回は5記事)
- リボンを表示させるにはCSS class(オプション)に1~5いずれかの数字を入れます。(リボンの種類は次で解説)
CSS class(オプション)欄がない場合は、画面右上にある表示オプションを開いて「CSS クラス」にチェック✓を入れれば表示されます。
使えるリボンの種類
メニューのCSS class(オプション)に入力する数字は下記の通り。リボンを表示しないときは空白でOKです。
- おすすめ→「1」
- 新着→「2」
- 注目→「3」
- 必見→「4」
- お得→「5」
設定方法やオプションの詳細はCocoon公式「ナビカードの使い方」をご覧ください。
Cocoonナビカードを呼び出す方法は2つ
上記でメニュー設定したナビカードを表示するためには2つの方法があります。
- ショートコードで呼び出す
- ウィジェットの[C]ナビカードを利用する
ショートコードで呼び出す
ナビカードを呼び出すショートコードはこのように表記します。
[navi_list name="navi-card"]
“”の中に作成したメニュー名を入れます
カスタムHTMLに直接入力するか、ツールバーから簡単にショートコードを呼び出すこともできます。
- 投稿編集画面のツールバーでショートコードのアイコンをクリック
- ドロップダウンメニューから「ナビカード一覧」を選択
- ショートコードが表示されるので、必要なオプションを設定する
このようなコードが自動的に呼び出されます。
メニュー名は必須、その他カードタイプや表示オプションを設定できるようになっています。
[navi_list name="メニュー名" type="default" bold="0" arrow="0"]
小さいカードを表示するには
デフォルトの設定が小さいカードになっているためオプションはこのままのコードで表示されます。(オプションtype="default
を入れた場合と同じです)
大きいカードを表示するには
(navi_listの次に半角スペースをあけて)オプションtype="large_thumb"
を追加することで大きなカードで表示できます。
[navi_list name="navi-card" type="large_thumb"]
ウィジェットの[C]ナビカードを利用する
ショーコードの他にウィジェットでも利用できます。(こちらの方が操作は簡単ですが、なぜか表示設定が効かないためショートコードをおすすめします。)
「外観」→「ウィジェット」→「[C]ナビカード」
記事を表示したい場所へ追加します。
(例えばページ上部に表示するときは「コンテンツ上部」に追加)
設定画面上で選択するだけで簡単にオプション設定ができます。
- メニュー名:ドロップダウンから選択する
- 表示タイプ
- タイトルを太字にする
- 矢印を表示する
例)Cocoonナビカードをトップページの上部に表示する場合
- Step1ウィジェットでカスタムHTMLを追加
外観→ウィジェット→「カスタムHTML」を「コンテンツ上部」に追加。
- Step2カスタムHTMLにショートコードを記述
[ navi_list name=”メニュー名” ]のコードを記述します
- Step3表示方法を設定する
そのままだと全てのページに表示されてしまうのでトップページに限定します。
表示設定:「チェック・入力したページで表示」→「トップページのみ」にチェックを入れる
これで設定はおしまい。カードを横に並べたいなー。
Cocoonナビカードの大きなカードを横並びにする方法
表示できたけどそのままでは縦一列に並んでいます。これを横並びにするにはCSSを使う、またはブロック機能のカラムを使う方法があります。
CSSを使って横並びにする
まずはCSSを追加する方法。(※子テーマのスタイルシートを使用しましょう)
Cocoon公式にこの方法は載っていませんので参考にしてみてください。
/*ナビカード(大きなカード)を横並びにする*/
.widget-entry-cards.large-thumb{
display: flex;
flex-wrap: wrap;
justify-content: center;./*中央寄せにする*/
}
.navi-entry-cards.large-thumb a{
width:calc(100% / 5);/*パソコンでは均等に5枚並べる*/
}
/*834px以下*/
@media screen and (max-width: 834px){
.navi-entry-cards.large-thumb a{
width:calc(100% / 2 );/*スマホでは横2列に並べる*/
}
}
CSSでflexプロパティを使って横並びにし、幅100%の中で均等にカードを並べるように計算しています。
モバイルで2列にするときは偶数の方がすっきり収まるのでカード数を調整してくださいね。
ブロックメニューの「カラム」を使って横並びにする(CSS不要)
こちらは、当サイトのトップページにも使っている方法です。
- Step1メニューを作成/1記事ごと
管理画面→「外観」→「メニュー」→「新しいメニューを作成しましょう」をクリックし新規に作成します。
カラムを使う場合は1記事ごと別々にメニューを登録するのがポイント。
- Step2ブロックメニューから「カラム」を選択
投稿編集画面→ブロックメニューから「カラム」を選択します。
- Step3カラムの中にナビカードを表示する
1カラムに1メニューのナビカードを表示させ、カラムの数だけつくります。
例として3カラムに大きなサムネイルだとこのように表示されます。
以上で完成です。お疲れさまでした。
Cocoonナビカードのリボンの色を変更する方法
CSSを使うことで、デフォルトのリボンからお好みで色を変えることもできます。
こちらのCSSを子テーマのスタイルシートに追加、#に続く6桁のカラーコードを変えることで変更できます。自分のサイトカラーに合わせると良いですね。
/*ナビカード リボン色変更*/
.ribbon-color-1 span {
background-color: #ea7e7e;/*①おすすめ*/
}
.ribbon-color-2 span {
background-color: #7e95ea;/*②新着*/
}
.ribbon-color-3 span {
background-color: #f7c114;/*③注目*/
}
.ribbon-color-4 span {
background-color: #dc669b;/*④必見*/
}
.ribbon-color-5 span {
background-color: #e9546b;/*⑤お得*/
}
カラコードを調べるにはこちらが便利です→ Web色見本 原色大辞典
Cocoonナビカードのリボンのテキストを変更する方法
リボンに表示されている「おすすめ」「新着」「注目」「必見」「お得」のテキストを変更したいというケースもあるかもしれません。
その場合はPHPを使いますが、CSSと同じく子テーマへの上書きで変更可能です。
Cocoonのフォーラムに詳細が記載されていますので参考にされてください。
この記事にも具体的なコードを記載しておきます。
フォーラム内のコードはget_navi_card_ribbon_tag
関数を子テーマでオーバーライドする方法ですが、Cocoonに設定されているget_navi_card_ribbon_caption
というフィルターフックを用いる方法がスマートです。(ご指摘いただき、コード入れ替えしました)
PHPを貼り付ける場所は「外観」→「テーマファイルエディター」→「テーマのための関数(functions.php)」
//ナビカードのキャプション変更
add_filter('get_navi_card_ribbon_caption', function($caption, $ribbon_no) {
$new_caption = [
'おすすめ',
'新着',
'注目',
'必見',
'お得',
];
if (count($new_caption) >= $ribbon_no) {
$caption = $new_caption[$ribbon_no - 1];
}
return $caption;
},2,10);
キャプション部分を変更したいテキストに変更します。(”シングルクォーテーションは消さないでください)
このコードは、フックシステムを使用し、ナビカードのリボンのキャプションを指定されたテキストに置き換えるための仕組みを追加しています。
CSSもPHPもデリケートな部分なので、慎重に作業をおこない、カスタマイズは自己責任でお願いします。
Cocoonナビカード/リボンの形を可愛くカスタマイズ
リボンの形をシンプルなデフォルトから、CSSを変更して可愛くカスタマイズしてみます。
適当にいじって作ったもので綺麗なCSSではないかもしれません。デフォルトからスタイルを変更するために必要な部分だけを抜粋しています。
2パターンのCSSを掲載しますね。
右向きリボン(左寄せ)
/*ナビカードリボンスタイル変更-1*/
.ribbon:before,
.ribbon:after {
content: none;
}
.ribbon{
width: 100%;
height:30px;
}
.card-large-image .ribbon-top-left{
left: 0;
top:.5em;
}
.ribbon span{
transform: none;
right:initial;
top: initial;
width:auto;
padding:10px 30px 10px 20px;
clip-path: polygon(0 0, 100% 0, 90% 50%, 100% 100%, 0 100%);
-webkit-clip-path: polygon(0 0, 100% 0, 90% 50%, 100% 100%, 0 100%);
}
下向きリボン(左寄せ)
/*ナビカードリボンスタイル変更-2*/
.ribbon:before,
.ribbon:after {
content: none;
}
.ribbon {
width: 100%;
height: 50px;
}
.card-large-image .ribbon-top-left {
left: 15px;
}
.ribbon span {
transform: none;
right:initial;
top: initial;
width:auto;
padding:15px 15px 20px;
-webkit-clip-path: polygon(100% 0%, 100% 100%, 50% 80%, 0% 100%, 0% 0%);
clip-path: polygon(100% 0%, 100% 100%, 50% 80%, 0% 100%, 0% 0%);
}
うん、可愛さアップ♪
さいごに
ナビカードは見てほしいピックアップ記事を抜粋して表示させたり使い方はいろいろ、便利機能です。使いこなしてサイトを充実させましょう。
特に、固定ページを使ったオリジナルトップページにしているサイトにはオススメです。
Comment コメントはこちらへ