我在Wordpress中遇到以下问题。我在function.php中有这个代码,它应该在Yoast SEO标题的前端发布帖子标题。代码有效,但它也会对页面产生影响。
function set_my_seo_title($title, $id)
{
global $post;
$seo_title=get_post_meta($id, '_yoast_wpseo_title', true);
return ((!empty($seo_title)&&$post->post_type=='post') ? $seo_title : $title);
}
add_filter('the_title', 'set_my_seo_title', 15, 2);
问题在于条件post_type=='post'
。看起来Wordpress中有一些错误,但可能是我做错了。
重要提示:我必须承认我不是好开发人员。此代码来自其他问题。如果您知道此解决方案,请发布您的完整代码变体。先感谢您。
答案 0 :(得分:0)
您可以尝试get_post_type()而不是......
function set_my_seo_title( $title, $id ) {
$seo_title = get_post_meta( $id, '_yoast_wpseo_title', true );
return ( ( ! empty( $seo_title ) && get_post_type( $id ) == 'post' ) ? $seo_title : $title );
}
add_filter( 'the_title', 'set_my_seo_title', 15, 2 );