WordPressでカスタム投稿を利用していると、特定のカテゴリーに基づいてデザインを変更したいことがあります。例えば、カテゴリーごとに背景色を変更するなど。その際、カテゴリースラッグを取得してクラス名として使用する方法をご紹介します。
カテゴリースラッグの取得方法
以下のコードを使用すると、カスタム投稿のカテゴリースラッグを取得できます。このスラッグをCSSクラス名として使用することで、カテゴリーごとに異なるデザインを適用することができます。
PHP
<?php
// 現在の投稿のIDを取得
$post_id = get_the_ID();
// 投稿に紐づくタクソノミーのタームを取得
$terms = get_the_terms($post_id, 'タクソノミー');
// 取得したタームが存在するかチェック
if ($terms && !is_wp_error($terms)) {
// 最初のタームのスラッグを出力
echo esc_html($terms[0]->slug);
}
?>
実際の使用例
例えば、上記のスクリプトを使って特定のカテゴリーに属する投稿にクラスを追加し、CSSでスタイリングを行います。
PHPコード
以下のようにカテゴリースラッグをクラス名に追加します。
PHP
<?php
$post_id = get_the_ID();
$terms = get_the_terms($post_id, 'category');
if ($terms && !is_wp_error($terms)) {
$category_slug = esc_html($terms[0]->slug);
}
?>
<div class="post <?php echo $category_slug; ?>">
<!-- 投稿の内容 -->
</div>
CSSコード
各カテゴリーに対するスタイルを定義します。
CSS
.category-one {
background-color: #f0f0f0;
}
.category-two {
background-color: #e0e0e0;
}
この方法で、特定のカテゴリーに基づいて投稿のデザインを簡単にカスタマイズすることができます。
まとめ
WordPressでカスタム投稿を使用する際に、カテゴリースラッグを取得してクラス名に使用する方法についてご紹介しました。この技術を利用することで、カテゴリーごとに異なるデザインを適用したウェブサイトを作成することが可能です。