クリアメモリ

プログラミングやガジェットレビュー、便利なアプリケーションなど雑多に記録するブログ

【はてなブログ】記事のカテゴリーでn個目以降を非表示にする方法!

f:id:clrmemory:20170704172724p:plain

先日、サイドバーのカテゴリーに表示数制限を追加する方法という記事を公開しました。

その記事では、デザインから追加したサイドバーのカテゴリーでのみ動作するものだったので、今回は記事内に表示されるカテゴリーの数を調整する方法を紹介します。

 

はじめに

 

今回紹介する方法は、記事内に表示されるカテゴリーボックスの表示数を調整する方法です。

自分の記事を見てみると、カテゴリーに指定した項目が以下のように表示されますよね。

 

f:id:clrmemory:20170704163450p:plain

 

3つくらいなら問題ないのですが、もしこれが30個あったらどうでしょう。

 

f:id:clrmemory:20170704163741p:plain

 

かなり極端な例ですが、このようにカテゴリーが表示される欄の高さが変わってしまうと、レイアウトに影響が出てくる可能性があります。

そこで、前回と似たような方法を使って、カテゴリーのn個目以降を非表示にしてみましょう。

 

前回の記事はこちらから

 

前回紹介した記事はこちらから確認してください。

 

www.clrmemory.com

 

今回の方法も、こちらで紹介している内容と似た方法になっているので、あらかじめ確認しておくとイメージしやすくなるかもしれません。

では実際にカテゴリーを非表示にしていきましょう。

 

コードでカテゴリーを非表示にする

 

今回のコードは、表示されるカテゴリーを指定した数だけ表示させるというものです。いくつのカテゴリーを表示させるかについては、サイトごとに変わってくると思うので各自調整してみてください。

 

では実際にデザインCSSにコードを追加しましょう。先ほどは極端な例を出しましたが、記事内のカテゴリーが1列に収まるように5つだけ表示させてみます。

 

.entry-categories a:nth-child(n + 6) {
    display: none;
}

 

このように記述することで、記事内に表示されるカテゴリーボックスの数を調整できました。コードでは6個目以降を非表示(5個目までを表示)させているので(n + 6)になっています。

 

f:id:clrmemory:20170704171514p:plain

 

注意点

 

今回のカスタマイズには幾つか注意点があるので確認してください。

 

文字数によって変わる

 

一つ目は文字数です。

先ほどカテゴリーの表示数を1列に収まるように変更しましたが、これはカテゴリーの文字数によって変わってくるんですよね。例えばカテゴリー名が20文字だった場合は以下のようになります。

 

f:id:clrmemory:20170704165208p:plain

 

さっきまで収まっていたはずのカテゴリーボックスが2列になってしまいましたね。

このように、カテゴリーの文字数によっては、同じ数でも幅が変わってくる可能性があるので、そのあたりに注意して調整してください。

 

display: noneは是か非か

 

SEO(Search Engine Optimization) の観点からいうと、display: none;を使うのは、あまり良くないと言われていたり、問題ないと言われていたりします。

これは、検索エンジンの話になってくるので一概にどちらが良いとは言い切れないのですが、display: none;を使ったことで、なにかしらの不具合が発生した場合は、直ちに使用を辞めることをお勧めします。

 

コンテンツが減る

 

こちらもSEOの話になってきてしまうのですが、display: noneを使った場合、クローラーはそのコンテンツを評価しないらしいです。つまり、カテゴリーを隠してしまうと、本来のコンテンツ量より少ない状態で評価されることになります。

ですので、無理に隠す必要がないのであれば、使わないほうが良いのかもしれません。

 

まとめ

 

今回紹介した方法を使えば、簡単に記事内に表示されるカテゴリーの数を調整させることができました。注意点はあるものの、これでカテゴリーを追加しすぎてもレイアウトが崩れることはなくなりました。

同様の方法を使えば、要素のn番目以降だけにスタイルを追加できるのでぜひ覚えておきましょう。

 

ではまた。

新着記事