WordPress: how to separate comments and trackbacks
Today I read an interesting article on NETTUTS which claims to unravel the Secrets of WordPress & Comments.php File. This is actually pretty true, the author did a good job at explaining the different functions, comment loops, and form elements.
The one thing I really missed was an explanation on how to separate comments from trackbacks. Discussing on a blog with tons of trackback posts between the ongoing discussion is really annoying.
Admin login on your front page
Last week I showed you how to create a menu which reveals itself only to logged in users, utilizing the WordPress function current_user_can(). Today we will take this one step further and create a Login form for your users, which can be placed in your sidebar, footer or anywhere else on your page.
Frontend Admin Menu in WordPress
Here is a short tutorial on how to create an additional WordPress menu that only shows up if a user is logged in. I use this technique to create admin front end interface menus for the most used tasks: writing and editing posts and pages, editing the current post , a direct link to the “manage” Section of the WordPress admin Interface etc.
How to modify your WordPress RSS Feed
I for myself really enjoy using WordPress as a Content Management System, since most of the time its really easy to adapt to my needs. I usually use the different categories on my sites to display the various sections of the sites. For example, kriesi.at uses the category “tutorials” to feed the resources page and the “portfolio” category to feed my online portfolio.
This is easily accomplished by using the query_posts() function of WordPress which i won’t discuss in detail since the documentations are pretty comprehensive.
The problem I recently encountered is that the WordPress generated rss feed must be modified as well, otherwise it will display every post in each category. A user subscribing to my blog feed doesn’t want to be bothered with portfolio entrys, so I searched for a way to exclude categories from the main feed. There are basically two solutions I could find:
- Exclude the Categories via URL
- Exclude the Categories through using a small function
Both ways are really simple:
If you want to exclude a category you first have to know the ID of course. In WordPress versions prior to 2.5 you could just get it in your admin panels “manage” -> “categories” section. Post 2.5 versions do not display the category ID anymore but you can get it by hovering over the category name and extracting it from the link URL. Its the cat_ID attribute.
Say you want to exclude category 20 you just append ?cat=-20 to your feed url.
Example:
- normal feed: http://www.kriesi.at/feed
- modified feed: http://www.kriesi.at/feed?cat=-20
- want to exclude more categories: http://www.kriesi.at/feed?cat=-20&cat=-21&cat=-22
Well these URLs are not what i would consider beautiful so you might use a service like feedburner to create a nice looking feed out of it. But beware, feedburner expects a slightly different syntax; insted of using ampersands you have to use commas:
So if you want to exclude a WordPress category from the Feedburner feed do it this way:
http://www.kriesi.at/feed?cat=-20,-21,-22
If you dont’t like this way of excluding you can use a small function instead. Just add the following code anywhere to your templates functions.php:
function my_cat_exclude($query) {
if ($query->is_feed) {
$query->set('cat','-20,-21,-22');
}
return $query;
}
add_filter('pre_get_posts','my_cat_exclude');
This function will strip the categories you define out of your RSS Feed without the need of adjusting your url.
A clean and simple way but not as flexible as using URLs if you want to provide more than one feed.
Hope this helps you if you ever need to modify your feed.









