[Ha-Basic] Revised the category display design for posts registered in multiple categories

【ha-Basic】複数カテゴリーに登録している投稿のカテゴリー表示デザインを見直しました

公開日: 制作備忘録
Knowledge Base Wordpress ha-Basic テーマ

何度も表示チェックをしてリリースしたつもりでいましたが、普段1記事に1カテゴリーしか設定しないように記事を作成していた癖で、1記事に複数カテゴリーの紐づけがあるという形でのチェックをしていなかったため、複数カテゴリーを選択した際に

  • 別々のカテゴリーというのが分かりにくい
  • 一覧表示時に1つしかカテゴリーが表示されない

というところに気づいていませんでした。今回ふと「複数カテゴリーを選択した場合にはどうなるんだろう?」という疑問が湧いて設定してみたら・・・で気づいたこの不具合の対処方法を開発記録として残しておきます。

☆☆ この機能は【ha-Basic】テーマ バージョン1.1で実装(対応)済みです ☆☆
※バージョン1.1をお使いの方で2019年9月9日以前にダウンロードされた方は以下の処置が必要です

【ha-Basic】テーマでの変更手順(バージョン1.0および2019年9月9日以前にダウンロードいただいた方向け)

手順に従ってファイルの記述を書き換えることで、投稿の一覧と投稿の表示(単独の投稿表示)で複数のカテゴリーが登録されている記事の全カテゴリー表示とデザインの調整ができます。

編集は管理画面から外観→テーマエディタを開き、「」内に記載しているファイルのリンクをクリックして行います

「home.php」の記述変更

42行目付近にある

<span class="cat-data">
<?php $postcat=get_the_category(); echo $postcat[0]->name; ?>
</span>
のコードを以下に置き換えます
<ul class="cat-list">
<?php foreach((get_the_category()) as $cat){
    echo '<li>' . $cat->cat_name . '</li>'; } ?>
</ul>
【注意】コードをコピーして使用する前に必ずお読みください

この記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。

使用については自己責任でお願いします

コードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。

万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いません

コードの変換エラーなどにより動作しない場合、更新エラーが出る場合があります

コードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがあります

その場合には以下の方法で修正を行ってみてください

  1. コードの中に全角の記号が入っていませんか?
  2. 半角にすることで解消できます
  3. コードの中に全角の空白(スペース)がありませんか?
  4. 半角にすることで解決できます
  5. コードは合っているはずなのに更新できないときは
  6. 特にエラーの出た行内に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があり、Wordpressのエディタチェックではこれを「’」や「)」など閉じ子のエラーとして認識され更新できないことがあります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。
  7. 「何かが間違っています...」と表示され、更新できないときは
  8. このエラーは本当に何がエラーなのかをWordpressのチェックが判断できない場合に発生します。解決策としてはその画面を開き直すことなのですが、その際希に元のコードがすべて削除されてしまう場合がありますので、今表示されているコードを一旦どこかへコピーしてからページの再読み込みをするようにしてやり直します。
    ※このエラーは不明なエラーなので予期せぬ動きをする可能性がありますので特に慎重な対処が必要です
これらのエラー対処については以下のページが参考になるかも知れません

コードを転載する場合には

ご自身のサイトで当ページで紹介しているコードを転載される場合には当ページへのリンクを入れていただきますようお願いいたします

「index.php」の記述変更

60行目付近にある

<span class="cat-data">
<?php $postcat=get_the_category(); echo $postcat[0]->name; ?>
</span>
のコードを以下に置き換えます
<ul class="cat-list">
<?php foreach((get_the_category()) as $cat){
    echo '<li>' . $cat->cat_name . '</li>'; } ?>
</ul>

「style.css」の記述変更

136行目付近にある

.cat-data {font-size: .6em;padding: 3px 5px;text-align: center;white-space: nowrap;color: #fff;border-radius: 3px;background-color: #464646;}
のコードを以下に置き換えます
※「style.css」の末尾へ単純に追記してもいいのですが、上書きができるだけ繰り返されないように置き換えをおすすめします。
/** single.phpのカテゴリー表示 **/
span.cat-data a {background-color: #464646;border-radius: 5px;padding-left: 10px;padding-right: 10px;padding-top: 5px;padding-bottom: 5px;}
.cat-data {font-size: .8em;padding: 3px 5px;text-align: center;white-space: nowrap;color: #fff;border-radius: 0px;background-color: #fff;}
/** index.php home.phpのカテゴリー表示 **/
ul.cat-list {margin: 0;padding: 0;}
ul.cat-list li {list-style: none;display: inline-block;background-color: #464646;color:#fff;margin-right: 5px;padding:3px;border-radius:5px;font-size:0.6em;}

「a-color-style.css」の記述変更

156行目付近にある

.cat-data {color: #fff;background-color: #464646;}
のコードを以下に置き換えます
※「color-style.css」の末尾へ単純に追記してもいいのですが、上書きができるだけ繰り返されないように置き換えをおすすめします。
/** single.phpのカテゴリー表示 **/
span.cat-data a {background-color: #464646;}
.cat-data {color: #fff;background-color: #fff;}
/** index.php home.phpのカテゴリー表示 **/
ul.cat-list li {background-color: #464646;color:#fff;}

【ha-Basic】json-LDを使った構造化データについて

【ha-Basic】OGPタグの出力方法見直し

【ha-Basic】投稿・固定ページ本文のH2タグ前に定型文(広告など)を挿入できるようにしました


どんな変更をしているのかの簡単な解説

まずPHPコードについてですが、リスト表示では変更前のコードだと複数のカテゴリーに紐づいた投稿でも、一番IDの若いものを1つだけ表示するようになっていましたので、リストとしてすべて取得し表示する形にしました。個別投稿(single.php)はもともと正しい仕様でしたので今回は変更していません。

次にCSSについてですが、個別投稿(single.php)でそのまま表示すると紐づいているカテゴリーすべてに背景色が付き、別のカテゴリーだということが分からないため、それぞれのカテゴリーごとに背景を付けるようにしました。リスト表示の方はもともと個別記事と共通のセレクタを使用していましたがリストタグで出力するようにしましたので専用のCSSコードを追加しました。

ひまあーと(管理人)
  • 記事の作者: ひまあーと(管理人)

  • ☆最後までお読みいただきありがとうございました。記事作者のひまあーとです。
    ☆Wordpressでサイトをカスタマイズしていく上で有用な情報を配信しつつ、「ココナラ」でサイトカスタマイズのお手伝い、不具合の修復、サイト引っ越し代行などをさせていただいております。
    ☆Wordpressネタが多いですが、趣味の「園芸」「卓球」などの情報や日々の出来事などもどんどん増やしていきますのでよろしくお願いいたします。


いつでもご相談・サイトカスタマイズの依頼を受け付けています

Wordpressのカスタマイズ、不具合解消のご相談はすべてココナラのダイレクトメッセージからお受けしております。まずはこちらのバナーからお気軽にお問い合わせください。

※一度もココナラを使ったことがない方はココナラへの無料登録が必要です。こちらから登録後、上のリンクをクリックする、またはココナラトップページから「ひまあーと」を検索してお問い合わせください。


【スポンサーリンク】


記事の拡散にご協力をお願いします

閲覧いただきありがとうございました。役に立つ情報でしたら是非SNSでシェアをお願いします

関連情報