Excluding tags from Posts in WordPress

Excluding tags from Posts in WordPress

If you are using the wordpress the_tags function and you want to exclude certain tags from showing up with associated posts you can use the following function in place of the_tags:

function pk_the_tags( $before = ‘Tags: ‘, $sep = ‘, ‘, $after = , $exclude = ) {
        $tags = get_the_tags();

        if ( empty( $tags ) )
                return false;
        $tag_list = $before;
           
        foreach ( $tags as $tag ) {
                 if (!empty($exclude))  
                        $pos = stripos( $exclude, $tag->name);
                 else
                        $pos = false;
                 if ($pos=== false)
                        $tag_links[] = ‘<a href="’ . get_tag_link($tag->term_id) . ‘">’ . $tag->name . ‘</a>’
        }
        if (empty($tag_links))
           return false;
        $tag_links = join( $sep, $tag_links );
        $tag_links = apply_filters( ‘the_tags’, $tag_links );
        $tag_list .= $tag_links;

        $tag_list .= $after;

        echo $tag_list;
}
 

So if you want to exclude all tags with the word featured in the tag name you could call it as follows:

<?php if (get_the_tags()) pk_the_tags(‘, ‘, ‘, ‘, , ‘featured’); ?>
 

9 Comments

  1. This is a really handy tip, but one thing isn’t clear to me: where does the function code go? Does it go in function.php? Thanks!

  2. Miriam – you can put it in function.php. That will allow you to call it from any template within your theme.

  3. Hey, this code looks good, but are you talking about functions.php of Theme Folder or WP-include folder?. I can’t make it works

  4. It does not work in WP 2.9.1..

    Any other solution?

    Thanks :)

    Lily, I’m running this code fine in 2.9.1. There are no version issues that I’m aware of. If you are having issues it may be related to something else (i.e. your theme).

  5. I have just tried this function on default theme, and again I got blank page :-)

    Above I put above function in functions.php in theme folder, and later call with code above..

  6. LoL :D I wanted to say that I put above function in functions.php in theme folder, and later call it as mentioned.

Leave a Reply

Your email address will not be published. Required fields are marked *