Tags and Categories
Introduction
The easiest way to determine the exact content of your index is to use tags and/or categories to limit the blog posts which appear there. There are two main settings available for doing that:
- Include/exclude posts in these categories
- Include/exclude posts with these tags
As the names suggest, this is where you can type in the name of any valid categories and tags to restrict the type of blog posts you want in each index. For example, suppose I have a site full of book reviews, and I have already them divided into two main categories: fiction and non-fiction. I could just create an regular index of all reviews (posts), but the non-fiction reviews would be mixed in with the fiction reviews, making it harder to people to find the reviews they want. Well, instead I can create two separate indexes, one for each category. In one I would specify fiction as the include category, and in the other I can specify non-fiction, and the two sets of reviews would be nices separated. Now, suppose I have another site where I blog about all sorts of stuff, but every so often I post a service announcement about the blog, which is of no interest to anyone within a couple of weeks later. I want an index of all my posts, but I don’t want those boring announcements cluttering up the index. Fortunately I have already tagged those posts with the tag the boring stuff, and I can use that tag in the index settings to exclude all of them. I just enter ~the boring stuff into the include/exclude tags field (note the little “not” sign (“~”) in front of the tag name), which tells the index to exclude only the posts with that tag. Note, I can use either the name or the “slug” (the unique internal name) or a tag or category, but it has to be valid. The settings page will give you back an error if you type in a name or slug that doesn’t exist.
Using Tags
The rules for tags are very simple:
- If you leave the text box blank, all post are included.
- If you add one or more tag names or slugs (separated by a commas) to the text box
tag-1, tag-2
then the posts included in the index would have the tags:
WITH (tag-1 OR tag-2) - If you add one or more tags names or slugs with the ~ sign in front of them
~tag-a, ~tag-b
then all posts are excluded from the index except those with the tags:
NOT WITH (tag-a OR tag-b) - You can combine the included tags and excluded tags together like this
tag-1, tag-2, ~tag-a, ~tag-b
and posts are included in index according to the following rules:
WITH (tag-1 OR tag-2) AND NOT WITH (tag-a OR tag-b)
The rules for categories are basically the same for tags, but with one extra twist. It is possible to have child categories in WordPress. So you might have a category of book reviews called Non-Fiction and then a series of child categories such as History, Economics, Astronomy, and so on. You can add a post to a child category (e.g. Astronomy) and even though you did not explicitly put it in the Non-Fiction category, it is in there by the fact that Astronomy is a child of the Non-Fiction
Using Categories
Therefore you would assume that if you specified Non-Fiction in the include/exclude categories text box, all the posts categorized in History, Economics, Astronomy, would also show up. But, you would be wrong! By default, posts in the child categories of the categories you entered into the text box are not included. But do not fret, there is an option to include all the child categories in the index too:
- Include child categories
Here is a summary of the rules for including/excluding categories in the index:
- If you leave the text box blank, all post are included.
- If you add one or more tag names or slugs (separated by a commas) to the text box
cat-1, cat-2
then the posts included in the index would have the tags:
IN (cat-1 OR cat-2) - If you add one or more tags names or slugs with the ~ sign in front of them
~cat-a, ~cat-b
then all posts are excluded from the index except those with the tags:
NOT IN (cat-a OR cat-b) - You can combine the included tags and excluded tags together like this
cat-1, cat-2, ~cat-a, ~cat-b
and posts are included in index according to the following rules:
IN (cat-1 OR cat-2) AND NOT IN (cat-a OR cat-b) - When you have the Include child categories option selected you can do something like this:
parent-cat, ~child-cat-2
thus including all posts in parent-cat and its descendant, except for the posts in child-cat-2:
IN (parent-cat) AND NOT IN (child-cat-2)
Using Tags and Categories Together
There is nothing to stop you from using both tags and categories to determine which posts will appear in your index. In fact, depending on how you tag and categorize your blog, it can prove extremely useful. Suppose you have a popular, multi-purpose blog with posts in a wide range of categories and you decide that you want to publish an index of your greatest hits—your most popular posts—in a couple of the categories. All you need to do is go through the blog and tag each of the posts you want in the index (there are plenty of other plugins to help you do this, like Simple Tags) and then add the tag name into the index settings along with the categories you want.
For example, if you have two categories Politics and Current Affairs you could tag your most popular articles with the popular tag like so:
| Categories: |
Politics, Current Affairs
|
| Tags: |
popular
|
and the resulting set of posts to be displayed in the index would be calculated as follows:
In general, the following set of categories and tags:
| Categories: |
cat-1, cat-2, ~cat-a, ~cat-b
|
| Tags: |
tag-1, tag2, ~tag-a, ~tagb
|
results in the following rules being applied to the posts in the index:
(WITH (tag-1 OR tag-2) AND NOT WITH (tag-a OR tag-b))
and don’t forget that child categories could be implicitly included or excluded if you have the Include child categories option selected.
Additional Notes
- You can type the included and excluded tag and category names in any order. The results will be always be the same.
- You can use the category or tag’s slug name instead, but the next time you open the settings page, you will see the titles, not the slugs.
- I have recently noticed that there is a problem with tag and category names with a comma in them. Because commas are used by the plugin to separate the terms, if you try to add a name that has a comma, the plugin will refuse to accept it. The work around (for now) is to use the slug name instead since they never have commas. You can find out the slug of a tag or category by going to Posts » Tags and Posts » Categories respectively. Note: you will have to do this every time you edit the settings for the index (until the problem is fixed, anyway), so try to avoid using tag and category names with commas in your index settings, if you can.
- If you are sorting the index by tags or categories, there are some more inclusion/exclusion rules to be aware of in some cases. Please see the Sorting page for more details.
- If you want to have an index of pages in your blog, but want to use tags to include or exclude some of them, you can add tags to pages using Simple Tags or other plugins that add tagging to pages.
- If you delete a tag or category that’s being used in an index, the next time you edit the settings if you see an error message informing you that the settings are no longer valid.
- AZIndex stores tags and categories using their internal term ids, so renaming tags or categories will not affect the operation of index since the term ids will not change.
Best Masters Degrees said:
This is so helpful to me! I have such trouble messing with Wordpress themes…
Will Writer Portsmouth said:
Thank you a lot for sharing this with all folks you actually recognize what you’re talking about! Bookmarked. Please additionally talk over with my website =). We will have a hyperlink exchange arrangement among us!
Will Writer Portsmouth said:
I not to mention my friends were viewing the best pointers on your web blog and then quickly got a terrible feeling I never expressed respect to you for those strategies. All the men had been so joyful to learn them and have now quite simply been enjoying those things. Thanks for genuinely quite helpful and then for opting for varieties of helpful useful guides most people are really desperate to be informed on. My personal honest apologies for not saying thanks to you sooner.
Will Writer Portsmouth said:
I would like to thank you for the efforts you have put in writing this site. I’m hoping the same high-grade site post from you in the upcoming as well. Actually your creative writing abilities has inspired me to get my own site now. Actually the blogging is spreading its wings fast. Your write up is a good example of it.
rent cheap textbooks said:
I don’t even understand how I finished up here, however I assumed this post was great. I do not recognize who you are however definitely you are going to a well-known blogger when you aren’t already
Cheers!
Body Massage Spa said:
I’ve been exploring for a little for any high-quality articles or blog posts on this kind of area . Exploring in Yahoo I ultimately stumbled upon this web site. Studying this info So i am happy to convey that I have an incredibly just right uncanny feeling I discovered just what I needed. I so much indubitably will make certain to don’t overlook this site and provides it a glance on a relentless basis.
gossip said:
Outstanding article once again! Thumbs up;)