-
Notifications
You must be signed in to change notification settings - Fork 183
wp_seo_get_bc_title is deprecated #101
Comments
@flowdee So sorry for not getting on this. We unhooked Subtitles from Slack and I'm playing cleanup right now. Let me roll out a fix for this and push a new version of the plugin tomorrow! |
@flowdee Sorry for the late follow-up. Do you happen to have the specific PHP notice you're receiving and does it happen only when breadcrumbs in Yoast are turned on? |
Yes it only happens with enabled breadcrumbs.
|
@flowdee Perfect, thank you. Working on adjustments today and tomorrow. This is top of the list. |
Happy to hear 👍 Right now I'm using a hook in all of my projects to prevent deprecated notices from showing up but of course this is only a temporary solution 😄 |
Would you mind sharing your hook? I don't want to ruin your adjustments by pushing a wrong update to the plugin. |
But it's hiding all deprecated notices, not only from your plugin. That's why I don't want to use it forever but right now it's better than a bloated log file 😄 |
Thanks so much. I'll let you know when the fix is live. Should be any day now, definitely this week. |
Working undocumented pseudocode. Will tidy this up tomorrow. add_filter( 'wpseo_breadcrumb_single_link_info', array( &$this, 'plugin_compat_wordpress_seo_new' ) );
public function plugin_compat_wordpress_seo_new( $breadcrumb_text ) {
// check if in loop
$in_the_loop = (bool) in_the_loop();
if ( ! $in_the_loop ) {
return $breadcrumb_text;
}
// subtitle
$post_subtitle = get_the_subtitle(); // get subtitle
$post_subtitle_length = (int) strlen( $post_subtitle ); // get subtitle length
$post_subtitle_length_neg = -1 * $post_subtitle_length;
// title
$post_title = $breadcrumb_text['text']; // get post title
$post_title_length = (int) strlen( $post_title ); // get post title length
// remove subtitle from breadcrumb title
if ( ( $post_title == $post_subtitle ) || ( '' == $post_title ) ) {
return $breadcrumb_text;
}
$post_title = substr( $post_title, 0, $post_subtitle_length_neg );
$post_title = apply_filters( 'compat_wordpress_seo', $post_title );
$reconstructed_title = $post_title . $post_subtitle;
if ( $reconstructed_title == $breadcrumb_text['text'] ) {
$breadcrumb_text['text'] = $post_title;
return $breadcrumb_text;
}
return $breadcrumb_text;
} |
Noting that this will require a plugin version bump to 4.0.0. |
Subtitles/public/class-subtitles.php
Line 245 in 9921141
Deprecated: wp_seo_get_bc_title
New: wpseo_breadcrumb_single_link_info
Would be great if you fix your plugin because it's throwing annoying PHP notices. Thanks ;)
The text was updated successfully, but these errors were encountered: