2014年04月19日

カテゴリID、カテゴリスラッグ、カテゴリ名からカテゴリリンク

WPタグのget_term_byを使うと便利。

例) カテゴリIDが3、カテゴリスラッグがproducts、カテゴリ名が商品

HTML表示

<a href="http://www.yourdomein.com/products">商品</a>

上記のように出力したい場合。

カテゴリIDからカテゴリのリンクとカテゴリ名

<?php 
$cat = get_term_by('id',3,'category');
?>
<a href="<?php echo get_category_link($cat->term_id); ?>"><?php echo $cat->name ; ?></a>

カテゴリスラッグからカテゴリのリンクとカテゴリ名

<?php 
$cat = get_term_by('slug','products','category');
?>
<a href="<?php echo get_category_link($cat->term_id); ?>"><?php echo $cat->name ; ?></a>

カテゴリ名からカテゴリのリンクとカテゴリ名

<?php 
$cat = get_term_by('name','商品','category');
?>
<a href="<?php echo get_category_link($cat->term_id); ?>"><?php echo $cat->name ; ?></a>

get_term_byについて

タームの情報を取得するWPタグ

書式

<?php get_term_by( $field, $value, $taxonomy, $output, $filter ) ?>
  • $fieldには ‘id’, ‘slug’, ‘name’, ‘term_taxonomy_id’のどれかを入れる。デフォルトだとid。
  • $valueには$fieldで指定したものの任意の値を入れる
  • $taxonomyには’category’、’post_tag’、’link_category’のどれかを入れる
  • $outputには、OBJECT, ARRAY_A, or ARRAY_Nのどれか。省略可。デフォルトではOBJECT
  • $filterは省略可。デフォルトだと ‘raw’

$outputのデフォルト時(OBJECT)のパラメーター。

  • term_id (See warning below)・・・ID
  • name・・・名前
  • slug・・・スラッグ
  • term_group・・・グループID
  • term_taxonomy_id・・・タクソノミーID
  • taxonomy・・・・・・タクソノミー名。カテゴリーの場合は’category’、タグの場合は’post_tag’となる
  • description・・・タクソノミーの説明
  • parent・・・親タクソノミーのID
  • count・・・投稿数

参考サイト

Function Reference/get term by