当您使用get_post_meta()
并且该帖子(或页面或自定义帖子类型)的post meta不存在,那么该函数将返回空数组或空字符串,具体取决于第三个参数是false(默认值)还是true。由于您将true作为该参数传递,因此可以检查名字或姓氏是否等于空字符串。如果是,则可以返回$title
保持不变。
您还可以使用添加支票is_singular()
如果您只想在某些帖子类型上应用过滤器。
add_filter( \'the_title\', function( $title, $id ) {
//* Only use this filter on `your-custom-slut` post types
if( ! is_singular( \'your-custom-slug\' ) ) {
return $title;
}
$fn = esc_html( get_post_meta( $id, \'first_name\', true ) );
$ln = esc_html( get_post_meta( $id, \'last_name\', true ) );
//* Use default if either the `first_name` or `last_name` isn\'t defined
return ( \'\' === $fn || \'\' === $ln ) ? $title : $fn . \' \' . $ln;
}, 10, 2 );