WordPress 現在のカテゴリーIDやカテゴリー名、スラッグ、説明文、親カテゴリー等を取得表示する方法
どうもこんばんは。今回のtipsは【Wordpress 現在のカテゴリーIDやカテゴリー名、スラッグ、説明文等を取得表示する方法】です。この方法は現在表示中のページと同カテゴリーの記事一覧を表示する際やカテゴリーの名称を表示する際等に使用します。Wordpressをカスタマイズする際には意外と使いますのでメモしておこうかと思いました。
カテゴリーIDやカテゴリー名、スラッグ等の取得表示
下の例では、カテゴリー名、カテゴリーID、スラッグ名、ターム名、タームID、該当カテゴリーでの投稿数、カテゴリーの説明文、親カテゴリー名を取得表示しています。詳細はWordPress.org Codexをご参照ください。
<?php
$cat = get_the_category();
$cat = $cat[0]; $cat_name = $cat->name;
$cat_id = $cat->cat_ID;
$cat_slug = $cat->slug;
$cat_term = $cat->term_id;
$cat_termid = $cat->term_taxonomy_id;
$cat_taxonomy = $cat->taxonomy;
$cat_count = $cat->count;
$cat_description = $cat->category_description;
$parent_id = $cat->category_parent;
$parent = get_category($cat->category_parent);
$parent_catname = $parent->cat_name;
echo $cat_name;
echo $cat_slug;
echo $cat_id;
echo $cat_term;
echo $cat_termid;
echo $cat_taxonomy;
echo $cat_count;
echo $cat_description;
echo $parent_id;
echo $parent_catname;
?>
プロパティ | 内容 | 指定 |
name | カテゴリー名 | $cat_name = $cat->name; |
cat_ID | カテゴリーID | $cat_id = $cat->cat_ID; |
slug | カテゴリースラッグ | $cat_slug = $cat->slug; |
term_id | タームID | $cat_term = $cat->term_id; |
term_taxonomy_id | タクソノミーID | $cat_termid = $cat->term_taxonomy_id; |
taxonomy | タクソノミー名 | $cat_taxonomy = $cat->taxonomy; |
count | 投稿数 | $cat_count = $cat->count; |
category_description | カテゴリー説明文 | $cat_description = $cat->category_description; |
parent_id | 親カテゴリーID | $parent_id = $cat->category_parent; |
parent_catname | 親カテゴリー名 | $parent_catname = $parent->cat_name; |
特定カテゴリーの記事一覧の表示方法
特定カテゴリーの記事一覧の表示及び、さきほど取得しましたカテゴリーIDを使って同一カテゴリーの記事一覧を表示させる方法です。
カテゴリーID「5」の記事一覧表示
<?php $posts = get_posts(‘numberposts=30&category=5’); ?>
<?php if($posts): foreach($posts as $post): setup_postdata($post); ?>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<?php endforeach; endif; ?>
表示中記事と同カテゴリーの記事一覧表示
<?php $posts = get_posts(‘numberposts=30&category=$cat_id’); ?>
<?php if($posts): foreach($posts as $post): setup_postdata($post); ?>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<?php endforeach; endif; ?>
以上になります。