有没有办法为一个有多个作者的WP博客输入不同的Rel=Author和Rel=Publisher属性?

时间:2013-02-02 作者:Jason Weber

我真的想找到一种方法或找到一个插件(可以工作),为一个有多个作者的博客添加不同的rel=author和/或rel=publisher属性。

这样,在Google SERP中,我写的一篇文章可能会显示为:

Jason Weber Meta Title of that post
(my picture) Meta description of that post 
而另一个帖子的SERP可能是这样的:

Tracy Smith Meta Title of Tracy\'s post
(Tracy\'s picture) Meta description of Tracy\'s post 
有人对可以实现这一点的插件、黑客或修复有什么建议吗?如有任何指导或建议,将不胜感激!

1 个回复
最合适的回答,由SO网友:Mark Kaplun 整理而成

你可以试试my plugin ;), 但是现在几乎每个SEO插件都包含了这个功能,并且有几个插件专门针对它。

如果出于任何原因您想自己编写代码,那么基本上只需在用户配置文件管理页面中添加一个字段,其中包含用户google配置文件url,并使用标题中的数据

配置文件相关代码

add_action( \'show_user_profile\', \'wase84176_user_fields\' );
add_action( \'edit_user_profile\', \'wase84176_user_fields\' );

function wase84176_user_fields($user) {
  here should go some wrapper HTML to make it display nice 
  Enter your google profile URL <input id="wase84176_user_url" type="checkbox" value="<?php echo esc_attr(get_user_meta($user->id,\'wase84176_user_url\',true)?>" name="wase84176_user_url"> 
}

add_action( \'personal_options_update\', \'wase84176_user_fields_save\' );
add_action( \'edit_user_profile_update\', \'wase84176_user_fields_save\' ); 

function wase84176_user_fields_save( $user_id ) {

    if ( !current_user_can( \'edit_user\', $user_id ) )
        return false;
    $opts = array();
    if (isset($_POST[\'wase84176_user_url\']))
        update_user_meta( $user_id, \'wase84176_user_url\', trim($_POST[\'wase84176_user_url\']) );
    }
}
在标题中添加链接。

add_action(\'wp_head\',\'wase84176_user_head\');

function wase84176_user_head() {
  global $post;

  if (is_singular()) { // an author can reliable be set only for single pages
    $m = get_user_meta($post->post_author, \'wase84176_user_url\',true);
    if ($m) {
        $data = get_user_meta($post->post_author,\'wase84176_user_url\',true);
        echo \'<link href="\'.esc_attr($data).\'" rel="author">\';
    }
  }
  if (is_author()) { // and on the author posts page
    $m = get_user_meta($post->post_author, \'wase84176_user_url\',true);
    if ($m) {
        $data = get_user_meta($post->post_author,\'wase84176_user_url\',true);
        echo \'<link href="\'.esc_url($data).\'" rel="me">\';
    }
  }
}
我不会详细说明为什么单页获取rel=“author”而作者页获取rel=“me”,我只是觉得它更符合规范,但google authorship的工作方式任何一个都应该工作

结束

相关推荐

wp-query problem with author

我运行查询:SELECT post_author FROM `wp_posts` 看到很多帖子都有作者值1。然后执行搜索。php如下所示:$args = array( \'author\' => 1, ); $the_query = new WP_Query( $args ); 没有结果!怎么了?