I’d like to remove the post title from my static frontpage. Just that page.
I’ve created a child theme from a free Press75 theme. So I’d like to make this change in my child theme’s function.php.
I used this code but it removes the title from all pages, posts and my navigation:
add_filter( 'the_title', 'remove_page_title' );
function remove_page_title() {
if(is_page('138')) {
}
return '';
}
I thought it would just remove the title from the page with ID 138.
What am I doing wrong?
Thanks!
wrap your add_filter function call around a conditional tag and use the builtin return false function:
You’ve almost got it!
Here’s your original code:
What it’s doing is adding a filter on
the_title
that doesn’t accept any parameters. That’s your first mistake. Thethe_title
filter actually takes two parameters – the page/post title and the page/post id. So first, let’s rewrite our hook:This assigns our filter with a priority of 10 and lets us accept both parameters sent in by the filter. Then we specify the parameters our function accepts.
Inside the function, we want to check if we’re on the right page. If we are, return
''
, if we aren’t return the title:Your original function was always returning
''
when the filter ran. That’s why you were getting a blank title on every page, not just the page you wanted.Our full code
So your full filter, rewritten to accept parameters and use the proper logic:
This is way how to remove main title heading (not tag) from front page in 2020 while not removing the_title from menu items too:
Code based on this answer.
One way for header.php:
If I understand you correctly — that you want to display no
<title>
for the front page — you can use: