Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I have this specific tag I need to assign to my posts but I need to hide it from regular visitors so that only logged in people can see it. How do I go about it? What WordPress function/hook should I be looking into?

I know that I could use is_user_logged_in() and I am also looking into is_tag(), but how do I put this together? Currently I'm having it displayed in my single template with the_tags(), but it doesn't seem to offer a parameter to exclude a particular tag.

Pseudo code would be: if user is logged in then show all tags except a specific tag.

share|improve this question
    
So, solution if fine but how do I make the solution to work for two or more tags ? Anyone or should I be asking this in a new question. ? –  gurung Mar 22 at 10:30
    
got it. if($tag->slug=='tag_one' OR $tag->slug=='tag_two'){ –  gurung Mar 22 at 11:54
add comment

1 Answer 1

up vote 3 down vote accepted

Add the add_filter to your theme's functions.php file

function myTags() {
$posttags = get_the_tags();
if ($posttags) {
  foreach($posttags as $tag) {
      if($tag->slug=='your specific tag slug'){
        if(is_user_logged_in() ) {
    echo '<a href='.get_tag_link($tag->term_id).' >'.$tag->name . '</a> '; 
        }
    } else {
         echo '<a href='.get_tag_link($tag->term_id).'>'.$tag->name . '</a> '; 
    }
  }
}
}
add_filter('the_tags', 'myTags');
share|improve this answer
    
Works perfectly. What changes will be made if there are two or more tags to be exluded ? –  gurung Mar 22 at 9:48
    
@gurung add more tags in if condition with OR operator –  dipali Mar 22 at 9:52
    
@DipaliDhole if($tag->slug=='tag_one' OR 'tag_two') { does not work. also how come the code works with the same if statement, amazing. –  gurung Mar 22 at 10:14
1  
It is the same but the first <a> is echoed only for logged users, so it won't be visible for not logged users (but not logged users can still access to the tag archive URL if they know it). –  cybmeta Mar 22 at 10:16
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.