admin管理员组

文章数量:1130349

I have post tags that must always display. I want to change the color of the tag if there are no posts. I am looking for guidance on how to find the count and change the color of the post tag link depending on the post number. If the number is zero I'd like to change the tag link to be gray.

<div class="container">

<?php 
  $tags = get_tags(array(
   'hide_empty' => false,
   'count' => true
));

foreach ($tags as $tag) :?>
   <a href="<?php echo esc_url( get_tag_link( $tag->term_id ) ); ?>" title="<?php echo esc_attr( $tag->name ); ?>"><?php echo esc_html( $tag->name ); ?></a>

<!-- Ideally I could add a class to that <a> tag if the post count equals zero. Open to other solutions -->

<?php endforeach; ?>
</div><!-- END CONTAINER -->

I have post tags that must always display. I want to change the color of the tag if there are no posts. I am looking for guidance on how to find the count and change the color of the post tag link depending on the post number. If the number is zero I'd like to change the tag link to be gray.

<div class="container">

<?php 
  $tags = get_tags(array(
   'hide_empty' => false,
   'count' => true
));

foreach ($tags as $tag) :?>
   <a href="<?php echo esc_url( get_tag_link( $tag->term_id ) ); ?>" title="<?php echo esc_attr( $tag->name ); ?>"><?php echo esc_html( $tag->name ); ?></a>

<!-- Ideally I could add a class to that <a> tag if the post count equals zero. Open to other solutions -->

<?php endforeach; ?>
</div><!-- END CONTAINER -->
Share Improve this question asked Jan 3, 2019 at 23:12 user5854648user5854648 16317 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 1

Here you go. I just added a class using $tag->count. Tested and works.

<div class="container">
    <?php $tags = get_tags(array(
       'hide_empty' => false,
       'count' => true
    ));

    foreach ($tags as $tag) :?>
        <a class="count-<?php echo $tag->count; ?>" href="<?php echo esc_url( get_tag_link( $tag->term_id ) ); ?>" title="<?php echo esc_attr( $tag->name ); ?>"><?php echo esc_html( $tag->name ); ?></a>
    <?php endforeach; ?>
</div><!-- END CONTAINER -->

This will add the class count-0 if there are no posts. so just add something similar to this CSS.

.count-0 {
    color: grey;
}

I have post tags that must always display. I want to change the color of the tag if there are no posts. I am looking for guidance on how to find the count and change the color of the post tag link depending on the post number. If the number is zero I'd like to change the tag link to be gray.

<div class="container">

<?php 
  $tags = get_tags(array(
   'hide_empty' => false,
   'count' => true
));

foreach ($tags as $tag) :?>
   <a href="<?php echo esc_url( get_tag_link( $tag->term_id ) ); ?>" title="<?php echo esc_attr( $tag->name ); ?>"><?php echo esc_html( $tag->name ); ?></a>

<!-- Ideally I could add a class to that <a> tag if the post count equals zero. Open to other solutions -->

<?php endforeach; ?>
</div><!-- END CONTAINER -->

I have post tags that must always display. I want to change the color of the tag if there are no posts. I am looking for guidance on how to find the count and change the color of the post tag link depending on the post number. If the number is zero I'd like to change the tag link to be gray.

<div class="container">

<?php 
  $tags = get_tags(array(
   'hide_empty' => false,
   'count' => true
));

foreach ($tags as $tag) :?>
   <a href="<?php echo esc_url( get_tag_link( $tag->term_id ) ); ?>" title="<?php echo esc_attr( $tag->name ); ?>"><?php echo esc_html( $tag->name ); ?></a>

<!-- Ideally I could add a class to that <a> tag if the post count equals zero. Open to other solutions -->

<?php endforeach; ?>
</div><!-- END CONTAINER -->
Share Improve this question asked Jan 3, 2019 at 23:12 user5854648user5854648 16317 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 1

Here you go. I just added a class using $tag->count. Tested and works.

<div class="container">
    <?php $tags = get_tags(array(
       'hide_empty' => false,
       'count' => true
    ));

    foreach ($tags as $tag) :?>
        <a class="count-<?php echo $tag->count; ?>" href="<?php echo esc_url( get_tag_link( $tag->term_id ) ); ?>" title="<?php echo esc_attr( $tag->name ); ?>"><?php echo esc_html( $tag->name ); ?></a>
    <?php endforeach; ?>
</div><!-- END CONTAINER -->

This will add the class count-0 if there are no posts. so just add something similar to this CSS.

.count-0 {
    color: grey;
}

本文标签: Changing Post Tag Color Based On Post Count