今回ご紹介するのはCocoonの『ナビカード』。
自分のサイトに、特定の記事やコンテンツを目立たせるためにピックアップ記事を表示する方法です。Cocoonの標準機能ですが、使ったことがない方も多いのはでないでしょうか。
- 表示する記事をピップアップできる 便利
- 斜めがけリボンをつけられる(5種類あり)
- ショートコード、またはウィジェットどちらでも表示できる
Cocoonには新着記事や人気記事を簡単に表示できる機能がありますが、ざっくりとしたグループ分けではなく、特に表示したい記事をピンポイントで選べるのはとても便利です。
今回のカスタマイズをすると、このように自分で選んだ記事を横に並べられます。(何枚でもよいのですが、リボンが5種類あるのでここでは5枚すべて表示しています)
ちなみに、当サイトのトップページの記事はこのナビカードを使って表示しています。リボンのデザインはカスタマイズしたもので、当記事でも作り方でも紹介しています。
Pickup
可愛いリボンが簡単につけられて便利♪リボンの色や形はCSSで変更することもできます。
この記事では設定方法の他に、カードを横並びにする方法、リボンのデザインとテキストを変える方について、具体的に解説しますのでご覧ください。
Cocoonナビカードを作成する手順
- Step1メニューを作成する(表示する記事を登録)
「外観」→「メニュー」画面で「新しいメニューを作成しましょう」リンクから新規メニューを作成します。
- Step2ナビカードを呼び出す
オプションで表示する記事数、カード形式などを指定します。
- Step3カードを横並びにする
必要がある場合のみCSSを追加します
- Complete完成
注意点として、Cocoonの「おすすめカード」機能を使ってナビカード用のメニューを選択した場合、記事は表示されますがリボンが表示されません。呼び出すにはブロック、ショートコード、ウィジェットの[C]ナビカードのいずれかを利用しましょう。
それではひとつずつ手順を書いていきますね。
メニューを作成する/Cocoonナビカードで表示する記事とリボンの種類を設定
ナビカードを使う事前準備として、メニュー登録が必要です。
管理画面→「外観」→「メニュー」→「新しいメニューを作成しましょう」をクリックし新規作成します。
- メニュー名(英字がベスト)
- 表示する記事を「投稿」から選択(今回は5記事)
- リボンを表示させるにはCSS class(オプション)に1~5いずれかの数字を入れます。(リボンの種類は次で解説)
使えるリボンの種類
メニューのCSS class(オプション)に入力する数字は下記の通り。リボンを表示しないときは空白でOKです。
- おすすめ→「1」
- 新着→「2」
- 注目→「3」
- 必見→「4」
- お得→「5」
設定方法やオプションの詳細はCocoon公式「ナビカードの使い方」をご覧ください。
Cocoonナビカードを表示する方法
上記でメニュー設定したナビカードを表示するためには3つの方法があります。
- ブロック
- ショートコード
- ウィジェットの[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ナビカードの大きなカードを横並びにする方法
表示できたけどそのままでは縦一列に並んでいます。これを横並びにするには2つの方法があります。
Cocoon設定
ナビカードを「ブロック」で表示した場合のみ、サイドバーの設定で「横並び表示」設定ができます。
横にはみ出したカードは、矢印が表示されて右にスライドできる仕様になっています。
CSSを使う
こちらはCSSを追加する方法です(※子テーマのスタイルシートを使用しましょう)
スライドではなく、カラム数を設定してすべての記事を表示したい場合はこちらがおすすめです。
子テーマのスタイルシートを使用します。
- 管理画面の「外観」から「テーマファイルエディター」をクリック
- Cocoon Child: スタイルシート (style.css) のページが開きます
- 元から書いているコード(テーマ情報)は消さずにCSSを記述します
- /* 子テーマ用のスタイルを書く*/から下の行に追加しましょう
/*ナビカード(大きなカード)を横並びにする*/
.navi-entry-cards.large-thumb{
display: grid;/* グリッドレイアウトを適用 */
grid-template-columns: repeat(3, 1fr);/* 3列でレイアウトを構成、各列が同じ幅で1frずつ分配 */
}
/* 768px以下の画面幅のとき */
@media (max-width: 768px) {
.navi-entry-cards.large-thumb{
grid-template-columns: repeat(2, 1fr);
}
}
横並びにするためにdisplay: grid
(グリッドレイアウト)を使い、2カラム・3カラムとも各列が同じ幅になるように均等配置しています。
モバイルで2列にするときは偶数の方がすっきり収まるのでカード数を調整してくださいね。
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 コメントはこちらへ