当サイトに実際に導入しているカスタマイズ。トップページ作成の作業効率が格段に上がったので紹介します!
今回は、ワードプレスのCocoonテーマにおいて「新着記事」「人気記事」のカラム数をサイドバーで切り替える方法を紹介します。
Cocoonでは、ブロック機能で簡単に「新着記事」や「人気記事」を表示でき、特に固定ページを使ったトップページ作成に役立ちます。
当サイトで紹介しているサイト型トップページでも使っています。
その際、記事カードを「横並びにしたい」「カラム数を変えたい」ことはないでしょうか。Cocoon設定の「横並び表示(横スライド固定)」を使う以外、もっと自由にレイアウトするには自分でCSSを追加する必要があります。
この記事では、サイドバーで簡単にカラム数を選択できるようにカスタマイズします。
ブロックのデザイン切り替えシリーズ、他にも紹介しています。
実装イメージ/新着記事・人気記事のカラム数をサイドバーで切り替える
このカスタマイズでは、サイドバーから「新着記事」や「人気記事」のカラム数を4種類のスタイルから選択できるようにします。
レイアウトのバリエーションは以下の通りです。
- デフォルト(縦並びになっています)
- 2カラム(モバイルでも2カラム)
- 2カラム(モバイルで1カラム)
- 3カラム(モバイルで1カラム)
- 3カラム(モバイルで2カラム)
操作イメージの動画をご覧ください。サイドバーをクリックするだけで、デフォルト→2カラム→3カラムを切り替えています。
カラムレイアウト例
- 横並びにするために
display: grid
(グリッドレイアウト)を使い、2カラム・3カラムとも各列が同じ幅になるように均等配置しています - PC表示のみ、カード間に16pxの余白を設定しています(CSSで調整できます)
2カラム(モバイルでも2カラム)
/* 2列 */
.widget-entry-cards {
display: grid; /* グリッドレイアウトを適用 */
grid-template-columns: repeat(2, 1fr); /* 2列に分け、各列の幅を均等(1fr)に設定 */
gap: 16px; /* 各グリッドアイテムの間に16pxの隙間を設定 */
}
/* 768px以下の画面幅のとき */
@media (max-width: 768px) {
.widget-entry-cards {
gap: 0; /* 隙間を0にする */
}
}
このコードでは、.widget-entry-cards
にグリッドレイアウトが適用され、幅768px以下の画面ではアイテム間の隙間が0になります。
2カラム(モバイルで1カラム)
/* 2列(モバイルで1列) */
.widget-entry-cards {
display: grid;
grid-template-columns: repeat(2, 1fr); /* 2列に分け、各列の幅を均等(1fr)に設定 */
gap: 16px; /* 各グリッドアイテムの間に16pxの隙間を設定 */
}
@media (max-width: 768px) {
.widget-entry-cards {
grid-template-columns: 1fr; /* モバイルでは1列にする */
gap: 0; /* 隙間を0にする */
}
}
このコードでは、通常は2列レイアウトですが、768px以下の画面幅では1列レイアウトに変更され、隙間が0になります。
3カラム(モバイルで1カラム)
/* 3列(モバイルで1列) */
.widget-entry-cards {
display: grid;
grid-template-columns: repeat(3, 1fr); /* 3列に分け、各列の幅を均等(1fr)に設定 */
gap: 16px; /* 各グリッドアイテムの間に16pxの隙間を設定 */
}
@media (max-width: 768px) {
.widget-entry-cards {
grid-template-columns: 1fr; /* モバイルでは1列にする */
gap: 0; /* 隙間を0にする */
}
}
このコードでは、通常は3列レイアウトで、768px以下の画面幅では1列レイアウトに変更され、隙間も0に設定されます。
3カラム(モバイルで2カラム)
/* 3列(モバイルで2列) */
.widget-entry-cards {
display: grid;
grid-template-columns: repeat(3, 1fr); /* 3列に分け、各列の幅を均等(1fr)に設定 */
gap: 16px; /* 各グリッドアイテムの間に16pxの隙間を設定 */
}
@media (max-width: 768px) {
.widget-entry-cards {
grid-template-columns: repeat(2, 1fr); /* モバイルでは2列にする */
gap: 0; /* 隙間を0にする */
}
}
このコードでは、通常は3列レイアウトで、768px以下の画面幅では2列レイアウトに変更され、隙間が0になります。
カラム数を変えたいときに、毎回手動でCSSを追加せずにクリック一つで切り替えできます。モバイルユーザーとPCユーザーそれぞれに最適なレイアウトになります。
同じページ内で、2カラム、3カラムを分けたレイアウトも可能です。トップページ作りに便利!
Cocoon「新着記事」「人気記事」ブロックの使い方
「新着記事」および「人気記事」ブロックの使い方は、サイドバーでスタイル選択が追加されている他は通常のブロック操作と同様です。
- Step1ブロックメニューを選択
投稿ページ、または固定ページのブロックエディタで「新着記事」ブロックを選択します。
人気記事を表示する場合は「人気記事」ブロックを選択します。
- Step2お好みのスタイルを選ぶ
サイドバー「ブロック」タブ→「スタイル」からお好みのスタイルを選んでクリックします。
- 表示する記事の数
- 表示タイプ
- 通常のリスト(小さなカードです)
- 大きなサムネイル表示(当カスタマイズを使う場合はこちらを推奨します)
- Step3カラムスタイルを選択(当カスタマイズで追加)
サイドバーからお好みのスタイルをクリックします。
- デフォルト(縦並びになっています)
- 2カラム(モバイルでも2カラム)
- 2カラム(モバイルで1カラム)
- 3カラム(モバイルで1カラム)
- 3カラム(モバイルで2カラム)
- Step4表示確認
プレビューで表示確認できたら完成です。
当カスタマイズの注意点と特徴
- 子テーマを使うため、比較的安全におこなえます
- 当カスタマイズが不要になったときは追加したコードを削除すれば元に戻ります
- PHPでエラーがでる場合は下記をご確認ください
- サーバー側でベーシック認証(アクセス制限)を設定していないか
- →エラーが表示され編集できません
- サーバー側でWAF設定をONにしていないか
- →エックスサーバーではONにしていても影響ないようです
どちらも一時的に解除の上、作業後は設定を元に戻すことで対応可能です。
実装方法/Cocoon新着記事・人気記事ブロックのカラム数をサイドバーで切り替える
実装手順は以下の2ステップ。2ヶ所にコードを設定するだけなので作業時間は5分ほどです。
PHPの設定
スタイル切り替えをエディタに追加
PHPを貼り付ける場所は、ダッシュボード→「外観」→「テーマファイルエディター」→Cocoon Child: テーマのための関数 (functions.php)です。
CSSの設定
各スタイルを指定する
CSSを貼り付ける場所は、ダッシュボード→「外観」→「テーマファイルエディター」→Cocoon Child: スタイルシート (style.css)です。
ここから先は有料公開です。コピペで実装できる具体的なコードを掲載します。
特定商取引法に基づく表記 | |
---|---|
サイト名 | Turicco |
サイトURL | https://turicco.com/ |
お問い合わせ | https://turicco.com/contact/ |
購入方法 | コンテンツ販売サービス、codoc(コードク)を利用しています。 詳しくは購入者向けFAQをご覧ください。 |
納品方法 | 記事公開 |
販売価格 | 500円 |
お支払い 方法 | クレジットカード、デビットカード、プリペイド型クレジットカード、Apple Pay、Google Pay、コンビニ決済 |
※クレジットカード情報はSSLで暗号化され、決済システムサービスを提供するStripe社に直接送信されます。管理人が知ることはありませんのでご安心ください。 | |
返金・キャンセルについて | codoc株式会社利用規約 第10条(返金)に基づき、原則として購入いただいた記事のキャンセル、返金等を受けられないことを了承ください。 |
Comment コメントはこちらへ