よもやまチョモランマ

CSSのためのテンプレートタグ3

WordPresssサイトの制作において、「このカテゴリーのときはこの見出し」「投稿ページのときは余白多めに」なんてことはよくある話です。

そんなとき、CSSをあてるためにclass名をつけるわけですが、ワードプレスではそのクラスが「自分で設定する」というより「勝手に吐き出されるものを使う」ことが多くなります。IDとかスラッグとか。

今回はその「クラスを吐き出させるためのタグ」を少しまとめておきたいと思います。

bodyタグにクラスをつけてテンプレートごとにデザインする【body_class】

<body <?php body_class(); ?>>

【出力例】<body class=”page page-id-34 page-template page-template-default logged-in”>
こうしておくと固定ページの場合は「page」、アーカイブページの場合は「archive」、投稿ページの場合は「single」、IDやスラッグが自動で吐き出されるようになる。
ページごとにデザインを変えたい時はこのクラスを使用してCSSをあてる。

ループにクラスをつけてカテゴリーごとにデザインする【post_class】

<div <?php post_class(); ?>>

【出力例】<div class=”post post-123 category-news”>
index.php、single.php、archive.php など、ループにクラスをつけることができる。
カテゴリーやタグごと、あるいはカスタム投稿タイプごとにデザインを変えたい時に。

投稿のIDを取得してデザインする【the_ID】

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

【出力例】<article id=”post-123″ class=”post post-4564 category-news”>
わざわざIDを吐き出させて、それにCSSをあてることはあまりないとは思うけど。
特定の投稿だけデザインを変えたい時に。

まとめ

静的サイトは「クラス名を自分でつける」→「CSSをあてる」
動的サイトは「クラス名を自動でつける」→「吐き出されたクラス名を把握」→「CSSをあてる」
この概念、手順の違いに慣れるのにも一苦労ですよね・・・