4.4 – Title Filtering Has Become A Headache
-
With WordPress 4.4 and the introduction of
document_title_parts
and the almost removal ofwp_title
. I’m trying to find a universal way to override specific titles if need be. This is especially important when it Endpoints.The end goal is to have a common filter for my custom themes which have Yoast Plugin installed and my custom themes that do not have Yoast Plugin installed.
:: NOTE :: I know that I can override things like
front-page
title using Yoast itself but that isn’t the point. Imagine if I needed to do this for multiple endpoints? The below is just a simplification to express the core issue.# Without Yoast #
The following works without Yoast installed which is great!
/** * Customize Theme Titles * * @param Array $parts * @return Array $parts */ function custom_theme_titles( $parts ) { if( is_front_page() ) { $desc = get_bloginfo( 'description', 'display' ); $parts['title'] = $desc; } return $parts; } add_filter( 'document_title_parts', 'custom_theme_titles', PHP_INT_MAX );
Now as soon as I activate Yoast Plugin this filter gets immediately overwritten and I am forced to use the
wp_title
equivalentwpseo_title
which is a real headache. It means I need to have 2 custom functions with 2 separate filters which do the exact same thing but in a different way.# With Yoast #
The follow is what I need to use to override the title once Yoast is installed:
/** * Customize Theme Titles * * @param string $title * @return string $title */ function custom_yoast_theme_titles( $title ) { $sep = '|'; if( is_front_page() ) { $desc = get_bloginfo( 'description', 'display' ); $name = get_bloginfo( 'name' ); return "{$desc} {$sep} {$name}"; } return $title; } add_filter( 'wpseo_title', 'custom_yoast_theme_titles', PHP_INT_MAX );
Granted, very similar but still a I would need a separate function entirely.
– – – – – –
– – – – –
– – – – – –It’s entirely possible that I’m missing a simple filter which gives me the functionality to both override Yoast and WordPress titles but as of right now I do not see one so…
Here’s what I propose: I Think there needs to be a slightly better filtering order between Yoast and WordPress so theme authors can easily override both WordPress and Yoast theme if need be. There was a time when that was the case but as both WordPress and Yoast has changed we’ve lost this connection. I would love to see something with
yoast_title_parts
and thewpseo_title
moved to the bottom of the filter priority list.
- The topic ‘4.4 – Title Filtering Has Become A Headache’ is closed to new replies.