打印分类术语的图标

时间:2018-03-14 13:26:00

标签: php wordpress taxonomy

在我的wordpress主题Taxonomy = my-category&自定义帖子类型的类别为AB,AC,AD等。

我想打印自定义类别的图标,并在if & else wp_query下面的index.php语句是我的代码。

 $args = array(
 'post_type'      => 'mycpt',
 'posts_per_page' => 10,
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) {
  while( $query->have_posts() ) {
    $query->the_post(); 
    the_content();

if ($term_id === 10){
    echo '<p class="icon-gear"></p>';
}
else if ($term_id === 11){
    echo '<p class="icon-star"></p>';
}
else if ($term_id === 12){
    echo '<p class="icon-tv"></p>';
}   
 //and continuous  ..............
}
}

CSS

 .icon-gear:before { background:url('gear.svg') no-repeat; }
 .icon-star:before { background:url('star.svg') no-repeat; }
 .icon-tv:before { background:url('tv.svg') no-repeat; }

如何打印分类法类别的svg图标?

2 个答案:

答案 0 :(得分:0)

我认为这是错误的做法,而且无法维持。

就个人而言,我会考虑使用自定义字段向您的类别添加文本字段,您可以通过仪表板为每个字段设置图标。然后你只需要在循环期间回显一个自定义字段,如果它是空的,可以默认为空白/默认图标。

如果您尚未使用它,请查看高级自定义字段插件。

答案 1 :(得分:0)

经测试的代码,试试这个

 $args = array(
 'post_type'      => 'mycpt',
 'posts_per_page' => 10,
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) {
  while( $query->have_posts() ) {
    $query->the_post(); 
    the_content();

$terms = get_the_terms( $post->ID, 'my-category');
foreach ( $terms as $term ) {
    $termID[] = $term->term_id;
}
if ($termID[0] === 10){
    echo '<p class="icon-gear"></p>';
}
else if ($termID[0] === 11){
    echo '<p class="icon-star"></p>';
}
else if ($termID[0] === 12){
    echo '<p class="icon-tv"></p>';
}   
 //and continuous  ..............
}
}