2017-04-14 77 views
0

我在Wordpress中有一个函数,检查帖子的用户是否有Facebook的身份证,然后添加具体的元标签与这个Facebook的ID,否则如果是空的,那么它是添加预设的Facebook ID。问题是,如果该帖子的用户在facebookurl区域中有Facebook标识,则该功能仅添加默认的Facebook标识。自定义Facebook作者标签wordpress

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)) 
 
\t { 
 
\t \t \t echo '<meta property="article:author" content="'. $facebook_url .'" />'; 
 
\t } else{ 
 
\t \t \t 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);

感谢如果有人能帮助我。

回答

0

如果任何人有这个问题,这是工作代码:

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/" />'; 

    } 
    } 
}