WordPress.org

Support

Support » How-To and Troubleshooting » [Resolved] Tag archive from a single category – Is this possible?

[Resolved] Tag archive from a single category – Is this possible?

  • Hi all,

    Does anyone know if it’s possible to show tag archives from a single category?

    I run a magazine website using WordPress as a CMS. Most posts are tagged for use in meta keywords.

    However I would like to show the tags in the ‘Blog’ category only, and if people view /tag/snow/ for example, they only see posts tagged with ‘snow’ in the ‘Blog’ category…even if otehr posts throughout the site are tagged with this term.

    Any help with this would be massively appreciated.

    You can view my site here:
    http://www.huckmagazine.com

    Thank you!
    Alex

Viewing 15 replies - 1 through 15 (of 33 total)
  • Hmm, the problem is I can’t really see how you built your site. I really like it.

    The links at the top, do they call categories?
    category “blog”, category “features” etc?

    Then you can use category-#.php (where # is the category number) to make the blog category show tags and the other categories do not show them.
    Now, how to edit the tag-link to remain in that one “blog” category is something I haven’t actually tried yet. But according to this post, you can create a tag.php file and handle the display of tags. So, if you take this tag.php and make it look only in the “blog” category, you’d be all set.

    PS: your site is invisible when using safari for mac.

    Hi Mores

    Yes most of the links at the top are categories (well the ones that have /content/categoryname/ structure. The rest are pages.

    I tried making a tag.php and then putting query posts for the blog category in the loop but when i went to /tag/snow/ for example, it just showed up all posts in the blog category not the ones tagged with certain words.

    Example here:
    http://www.huckmagazine.com/tag/snow/

    The code for my tag.php is:

    <?php get_header(); ?>
    <?php query_posts('category_name=blog');
    ?>
    
    	<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <h2 class="heading">Blog posts tagged with '<?php single_tag_title(); ?>'<span></span></h2>
    <div class="post">
    	<h3><a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h3>
    	<div class="credits">Written by <?php the_author(); ?>  |  <?php the_time('l, F jS, Y') ?></div>
    <?php echo c2c_get_custom('Image URL', '<span class="clear-space2"></span><img src="', '" width="421" alt="blog post image" /><span class="clear"></span>
    '); ?>
    <div class="postentryblog">
    					<?php the_content() ?>
    </div>
    	</div>
    <?php endwhile; else : ?>
    
    	<div class="post">
    
    		<h4><?php _e('Not Found'); ?></h4>
    
    <div class="postentry">
    
    		<p><?php _e('Sorry, but the page you requested cannot be found.'); ?></p>
    
    		</div>
    
    		</div>
    	<?php endif; ?>
    <?php get_sidebar(); ?>
    <?php get_footer(); ?>

    Any ideas?

    PS. I”ve been messing with the site so maybe you looked at the site in Safari when it was briefly down. Can you try again? works fine for me (both Safari 3 and Safari 2)

    Alex

    try using the category number instead of writing it.
    that’s what they do here: http://codex.wordpress.org/Template_Tags/query_posts

    PS: yes, huckmagazine.com works in Safari again 🙂

    I still get the same thing if I use:

    <?php get_header(); ?>
    
    <?php
    query_posts('cat=24'); ?>
    
    		<?php while (have_posts()) : the_post(); ?>
    <div class="post">
    	<h3><a>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h3>
    	<div class="credits">Written by <?php the_author(); ?>  |  <?php the_time('l, F jS, Y') ?></div>
    <?php echo c2c_get_custom('Image URL', '<span class="clear-space2"></span><img src="', '" width="421" alt="blog post image" /><span class="clear"></span>
    '); ?>
    <div class="postentryblog">
    					<?php the_content() ?>
    </div>
    	</div>
    		<?php endwhile; ?>
    
    <?php get_sidebar(); ?>
    
    <?php get_footer(); ?>

    It just lists all posts from category 24 (the blog category) and not the posts tagged with specific words.

    Ah, i think i misunderstood. I ignored the fact that you don’t get the tag you want.

    According to this page, you can use tags as well in the query_string thing.
    Like query_posts('tag=cooking');
    But since you don’t know what tag you’re using when you’re on http://www.huckmagazine.com/tag/snow/ for example, try using the single_tag_title function.

    Something like <?php query_posts('category_name=blog&tag='.single_tag_title) ?>

    Not sure how to add the single_tag_title to the parameters of query_posts.

    I think we’re getting closer to a solution! Thank you for your time Mores.

    Just need to work out how to add the single tag title to the query_posts…

    Does anyone out there in WordPress land have the answer?

    Try something like this:

    <?php
    $current_tag = single_tag_title("", false);
    query_posts('category_name=blog&tag=$current_tag')
    ?>

    Inspired by one of these examples

    argh the page is coming up blank – looks like single_tag_title won’t work inside query_posts.


    http://www.huckmagazine.com/tag/fashion/

    Any ideas how we could get round that…I’m sure we’re so close!

    shameless bump – we nearly got this resolved, anyone got any suggestions?

    – Alex

    Hi huckmag.

    I don’t know if I understand well.

    But, from what I can tell, you want to display posts from one category then, from this category, only posts with a certain tag.

    In english : show post from category ABC tagged with XYZ.

    I discussed this issue here :
    http://wordpress.org/support/topic/146199?replies=6

    With no solution…

    In wordpredss language, it should be :

    query_posts(‘cat=ABC&tag=XYZ’);

    But it don’t works… From what I can tell, and I don’t understand why, you can’t use “cat” AND “tag” in the same query… I remove “cat” or “tag”, I have a result, but with both, it returns a blank result. Nothing appears.

    The same problem is exposed here, still with no solution :
    http://wordpress.org/support/topic/152261?replies=5

    So, if a wordpress master could explain if it’s possible to use “tag” AND “cat” in the same query, it would be very helpful..

    S.

    <?php
    $current_tag = single_tag_title("", false);
    query_posts('category_name=blog&tag=$current_tag')
    ?>

    That won’t work. Change those single quotes to double quotes. Like this:

    <?php
    $current_tag = single_tag_title("", false);
    query_posts("category_name=blog&tag=$current_tag");
    ?>

    Also, I see no reason that you cannot combine a category and tag query. Should work fine. However, every thread I’m seeing, this one, the one linked to above, they all seem to misunderstand the parameters for query_posts.

    cat= the NUMBER of the category (multiples separated by commas).
    tag= the NAME of the tag.

    So query_posts('cat=3&tag=bob'); should work fine.

    Otto42 : “I see no reason that you cannot combine a category and tag query. Should work fine.”

    Thanks for your reply Otto42. Like you, I don’t see any reason, but it don’t works and from what I can read on the forum, I’m not alone.. 😉

    Just try it if you have some time to do so… Make a simple loop with a query_posts with tag & cat, and tell me your result. I’m really in a dead end on that issue.

    Thanks!

    S.

    EDIT : Otto42 : “cat= the NUMBER of the category (multiples separated by commas).
    tag= the NAME of the tag.”

    :-)… Belive me, I have dozens of loops with query_posts and I always use the cat ID number… All I do is to add &tag=’wathever’… And It don’t works…

    My first guess was that the problem is that category and tags are both “terms”…

    S.

    Otto42 – I’ve tried doing what you stated and put

    <?php
    $current_tag = single_tag_title("", false);
    query_posts("category_name=blog&tag=$current_tag");
    ?>

    This simply comes up with a blank page.
    As you can see here:

    http://www.huckmagazine.com/tag/surf/

    Ahhh! Okay, yes, I see the problem..

    It’s a problem in the query processing logic. Specifying a tag and a category at the same time will always result in no results.

    The reason is that the query gets these added to it:

    ...AND $wpdb->term_taxonomy.taxonomy = 'category'
    AND $wpdb->term_taxonomy.taxonomy = 'post_tag'...

    Both of those cannot be true.

    This is a bug, I’ll put it into trac.

    Thanks for your help Otto42 – would love to have this fixed at some point.

    – Alex

Viewing 15 replies - 1 through 15 (of 33 total)
  • The topic ‘[Resolved] Tag archive from a single category – Is this possible?’ is closed to new replies.
Skip to toolbar