Prepend and Append Text to WordPress Titles

By  on  

I was thinking about little ways to improve my blog and one small enhancement I wanted to make was adding more information to post titles when they show up in RSS feeds.  Something about notifying the user via title outside of the site itself seemed like a good idea.  For example, some posts are just small "quick tips", and more readers may take the time to peruse it quickly because they know it won't take too long.  Here's how I accomplished that feat with WordPress.

The PHP

The first step is creating a function, which is provided the post title and ID, that does a category check and prepends text accordingly:

function show_as_tip_in_feed($title, $id) {
	if(is_feed() && in_category('tips', $id)) {
		$title = 'Quick Tip: '.$title;
	}
	return $title;
}

Once the function is there, the add_filter hook enables the original function:

if(function_exists('add_filter')) {
	add_filter('the_title', 'show_as_tip_in_feed', 10, 2);
}

Of course you don't need to do the category check or RSS feed check -- you can append or prepend text to any and every title, and much like other WordPress functionalities, the API easily allows developers to do so.  Win!

Recent Features

  • By
    Serving Fonts from CDN

    For maximum performance, we all know we must put our assets on CDN (another domain).  Along with those assets are custom web fonts.  Unfortunately custom web fonts via CDN (or any cross-domain font request) don't work in Firefox or Internet Explorer (correctly so, by spec) though...

  • By
    9 Mind-Blowing WebGL Demos

    As much as developers now loathe Flash, we're still playing a bit of catch up to natively duplicate the animation capabilities that Adobe's old technology provided us.  Of course we have canvas, an awesome technology, one which I highlighted 9 mind-blowing demos.  Another technology available...

Incredible Demos

Discussion

  1. Im trying to automatically prepend and append a particular text to all post titles automatically. Your example above is not doing the trick. I dont want to do the rss and category check. I want it on all post titles. Please help.

  2. Chris

    Thanks – you showed the code for prepending, but not appending?

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!