你可以试试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的工作方式任何一个都应该工作