WordPressで、スラッグやカスタム投稿の投稿タイプを取得する方法のまとめ

2014年もIMAGINATION DESIGN をよろしくお願い申し上げます。

新年一発目の記事にしては今更感のある内容で恐縮ですが…

WordPress で投稿記事が属している「カテゴリのスラッグ」「固定ページのスラッグ」「カスタム投稿タイプの投稿タイプ」を取得する方法をまとめました。

スラッグや投稿タイプを「class」や「id」として使い、ページ別にCSSでデザイン調整するなど、ブログや企業サイトを問わずよくやるカスタマイズだと思います。

カテゴリのスラッグを取得

まずはカテゴリの「スラッグ」を取得してクラスとして使う方法から。
[php] <?php
$cat = get_the_category();
$catslug = $cat[0]->slug;
$catid = $cat[0];
?>
<div class="<?php echo esc_html($catslug); ?>">
[/php]
ついでに「カテゴリ名」も取得する場合は、以下のように7 行目の記述を追加します。
[php] <?php
$cat = get_the_category();
$catslug = $cat[0]->slug;
$catid = $cat[0];
?>
<div class="<?php echo esc_html($catslug); ?>">
<h1><?php echo esc_html(get_cat_name($catid->term_id)); ?></h1>
[/php]

固定ページのスラッグを取得

続いて、固定ページのスラッグを取得する方法です。
[php] <div class="<?php echo esc_attr($post->post_name); ?>">
<h1><?php the_title(); ?></h1>
[/php] 2 行目のタイトルは、固定ページの投稿タイトルを取得しています。


カスタム投稿の投稿タイプを取得

最後に、カスタム投稿の投稿タイプ取得する方法です。
[php] <div class="
<?php echo esc_html(get_post_type_object(get_post_type())->name); ?>
">
[/php]
カスタム投稿タイプのラベル(表示名)も取得する場合は、以下のように5 行目の記述を追加します。
[php] <div class="
<?php echo esc_html(get_post_type_object(get_post_type())->name); ?>
">
<h1>
<?php echo esc_html(get_post_type_object(get_post_type())->label ); ?>
</h1>
[/php]

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください