現在のページでカテゴリー名またはタクソノミー名を取得する方法
ループ内でカテゴリー名またはタクソノミー名を取得する方法。
ループ外は
// $taxs = get_the_terms($post->ID, $taxonomy);
$taxs = get_terms($taxonomy);
に変更すれば取得可能。
// 現在のカテゴリー(タクソノミー)名を取得 function the_cattax_names($taxonomy = 'category', $before = '', $between = '', $after = ''){ echo get_cattax_names($taxonomy, $before, $between, $after); } function get_cattax_names($taxonomy = 'category', $before = '', $between = '', $after = ''){ global $post; $str = ''; $taxs = get_the_terms($post->ID, $taxonomy); if(!is_wp_error($taxs) && $taxs): $value = ''; $first = true; foreach($taxs as $tax): $value.= ($first == false? $between: '').$tax->name; $first = false; endforeach; $str = $before.$value.$after; endif; return $str; }
リンク付きで表示
// 現在のカテゴリー(タクソノミー)名をリンク付きで取得 function the_cattax_links($taxonomy = 'category', $before = '', $between = '', $after = ''){ echo get_cattax_links($taxonomy, $before, $between, $after); } function get_cattax_links($taxonomy = 'category', $before = '', $between = '', $after = ''){ global $post; $str = ''; $taxs = get_the_terms($post->ID, $taxonomy); if(!is_wp_error($taxs) && $taxs): $value = ''; $first = true; foreach($taxs as $tax): $value.= ($first == false? $between: '').'<a href="'.get_tag_link($tax->"term_id).'">'.$tax->name.'</a>'; $first = false; endforeach; $str = $before.$value.$after; endif; return $str; }
ループ内でカテゴリー名またはタクソノミー名を最初の一つだけ取得する方法。
// 現在の親カテゴリー(タクソノミー)名を最初の一つだけ取得 function the_cattax_name($taxonomy = 'category', $before = '', $after = ''){ echo get_cattax_name($taxonomy, $before, $after); } function get_cattax_name($taxonomy = 'category', $before = '', $after = ''){ global $post; $str = ''; $taxs = get_the_terms($post->ID, $taxonomy); if(!is_wp_error($taxs) && $taxs): $tax = current($taxs); if($tax->parent !== 0) { $value = array(); foreach($taxs as $tax): if($tax->parent == 0) { $value[] = $tax; } endforeach; $tax = current($value); } $str = esc_html($before).esc_html($tax->name).esc_html($after); endif; return $str; }
リンク付きで表示
// 現在の親カテゴリー(タクソノミー)名を最初の一つだけリンク付きで取得 function the_cattax_link($taxonomy = 'category', $before = '', $after = ''){ echo get_cattax_link($taxonomy, $before, $after); } function get_cattax_link($taxonomy = 'category', $before = '', $after = ''){ global $post; $str = ''; $taxs = get_the_terms($post->ID, $taxonomy); if(!is_wp_error($taxs) && $taxs): $tax = current($taxs); if($tax->parent !== 0) { $value = array(); foreach($taxs as $tax): if($tax->parent == 0) { $value[] = $tax; } endforeach; $tax = current($value); } $str = '<a href="'.get_tag_link($tax->"term_id).'">'.esc_html($tax->name).'</a>'; $str = esc_html($before).esc_html($str).esc_html($after); endif; return $str; }