我在Wordpress中有一个函数,可以检查帖子的用户是否有Facebook id,然后添加带有此Facebook ID的特定元标记,否则如果为空,则添加预设的Facebook ID。问题是,如果帖子的用户在facebookurl区域中有一个Facebook ID,则该函数只会添加默认的Facebook ID。
function facebook_author_tag() {
if ( is_single() ) {
global $post;
$author = (int) $post->post_author;
$facebook_url = the_author_meta('facebook_url');
if ( !empty( $facebook_url ) )
{
echo '<meta property="article:author" content="'. $facebook_url .'" />';
} else{
echo '<meta property="article:author" content="https://www.facebook.com/test" />';
}
}
}
add_action( 'wp_head', 'facebook_author_tag', 8 );
我用这段代码在用户页面中插入社交字段。
function my_new_contactmethods( $contactmethods ) {
// Add Twitter
$contactmethods['twitter'] = 'Twitter';
//add Facebook
$contactmethods['facebook'] = 'Facebook';
return $contactmethods;
}
add_filter('user_contactmethods','my_new_contactmethods',10,1);
如果有人可以帮助我,谢谢。
如果有人遇到此问题,这是工作代码:
function facebook_author_tag() {
if ( is_single() ) {
global $post;
$author = (int) $post->post_author;
$facebook_url = get_the_author_meta( 'facebook_url', $author );
if (empty( $facebook_url ) ) {
echo '<meta property="article:author" content="https://www.facebook.com/test/"/><meta property="article:publisher" content="https://www.facebook.com/test/" />';
}
else{
echo '<meta property="article:author" content="'. $facebook_url .'" /><meta property="article:publisher" content="https://www.facebook.com/test/" />';
}
}
}