I have certain names in my category title (that need to stay there for other reasons). I am displaying all category titles with the blog name prefixed, but on categories that already have this name I would like to automatically remove the blog name from the single_cat_title. i.e. "My Blog My Blog Category" is what is showing using but where single_cat_title allready has the blogname as part of the title, I would like to only show "My Blog Category". Can one do this with single_cat_title as I have used it everywhere and manually replacing these would be problemattic?

  • Related on this is that you can use wp_list_categories and pass it the 'echo=0' parameter. This lets you export into a string. You can then use PHP's str_replace() function on that string to replace what you want before you echo it back. This isn't exactly what you're looking for in your case, but is similar and may help others.
    – Volomike
    Sep 19, 2012 at 16:35

1 Answer 1


There is a filter with the same name (single_cat_title) you can make use of to replace a particular word all the time:

add_filter('single_cat_title', function($title) {
        return str_replace('word to replace', '', $title);

This should basically do the job.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.