Changing How Your WordPress Post Titles Appear: A First Filter Hook Tutorial

This Quick Guide covers how to use code to change your WordPress post titles. This is separate from manually changing one or more WordPress post titles, which you can do without code. Instead, it’s the kind of thing you’d want to use to change something about a lot of post titles at once, like adding “(Sale!)” in front of all 200 products in a product category.

This Quick Guide is also an intro to writing your first WordPress filter function, since filters are the best way to change post titles. The filter hook we’ll be hooking onto is called, helpfully, the_title.

And here’s a text guide to the same information. In the video above, we’ve changed all post titles on the site to include the word “Hooked: ” This is in the name of making the simplest WordPress filter function example we can. Here’s how we do that in PHP code:

add_filter('the_title', 'wpshout_filter_example');
function wpshout_filter_example($title) {
	return 'Hooked: '.$title;

How the Code Above Changes Your Post Titles

For a fuller explanation of the code above, here’s how it works step-by-step:

  1. We use the add_filter function provided to WordPress that when it “applies” the 'the_title' filter we want our function to be called. That’s the second thing we’re giving it: the name of our function.
  2. Then our function is taking the value passed to it by the 'the_title' filter, that’s the whole next line.
  3. Finally, we added the word “Hooked: ” to the front of the passed value $title and pass it back with the return keyword.

The code we don’t need to write is “what WordPress does with this”: WordPress handles that. Basically, our code takes in each post’s title, modifies it, and hands it back to WordPress to move ahead with. WordPress uses our modified version in the place of the title, and we don’t have to write any more than these four lines. It’s a really powerful system!

Leave a Reply

Your email address will not be published. Required fields are marked *