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

  • 58744
    views
  • このエントリーをはてなブックマークに追加
  • follow us in feedly

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

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

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

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

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

まずはカテゴリの「スラッグ」を取得してクラスとして使う方法から。
<?php
$cat = get_the_category();
$catslug = $cat[0]->slug;
$catid = $cat[0];
?>
<div class="<?php echo esc_html($catslug); ?>">

ついでに「カテゴリ名」も取得する場合は、以下のように7 行目の記述を追加します。
<?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>


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

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


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

最後に、カスタム投稿の投稿タイプ取得する方法です。
<div class="
<?php echo esc_html(get_post_type_object(get_post_type())->name); ?>
">

カスタム投稿タイプのラベル(表示名)も取得する場合は、以下のように5 行目の記述を追加します。
<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>

  • 58744
    views
  • このエントリーをはてなブックマークに追加
  • follow us in feedly

この投稿と関連する記事一覧

この記事に関するコメント

コメントを残す