我正在使用AWD Facebook wordpress插件,允许我的访问者使用他们的Facebook帐户信息登录。当访问者在我的网站上注册时,我会自动创建一个标题为其用户名的新帖子,并将他们的Facebook个人资料图片作为内容。代码如下:
function my_create_page($user_id){
$fbuide = 0;
$the_user = get_userdata($user_id);
$new_user_name = $the_user->user_login;
$new_user_avatar = get_avatar($the_user->user_email);
global $AWD_facebook;
$fbuide = $AWD_facebook->uid;
$headers = get_headers('http://graph.facebook.com/' . $fbuide . '/picture?type=large',1);
if(isset($headers['Location'])) {
$url = $headers['Location']; // string
} else {
$url = false;
}
$my_avatar = "<img src='" . $url . "' class='avatar AWD_fbavatar' alt='" . $alt . "' height='" . $size . "' />";
$my_post = array();
$my_post['post_title'] = $new_user_name;
$my_post['post_type'] = 'post';
$my_post['post_content'] = $my_avatar;
$my_post['post_status'] = 'publish';
wp_insert_post( $my_post );
}
add_action('user_register', 'my_create_page');
我想要完成的事情有点不同。我还想要包括一个关于用户的简短传记(目前帖子只是他们的图片)。因此,当访问者使用AWD Facebook登录时,他们需要成为允许用户输入其生物的附加字段。然后,我将能够从他们的用户配置文件中获取该信息并将其包含在帖子中。有关如何实现这一目标的任何想法?有没有不同的方法来做到这一点?
答案 0 :(得分:0)
我建议将他们的Facebook图片存储为元数据,并使用内容区域作为自动生成的帖子的生物。所以这样的事情应该让你开始:
$my_post = array(
'post_title'=>$new_user_name,
'post_type'=>'post',
'post_content'=>'',
'post_status'=>'publish'
);
if( $id = wp_insert_post( $my_post ) ){
update_post_meta($id, 'avatar', $url);
}
然后你可以像这样生成循环:
if ( have_posts() ) : while ( have_posts() ) : the_post();
//... stuff here
$avatar = get_post_meta($post->ID, 'avatar', 'true');
the_content();
echo '<img class="avatar AWD_fbavatar" src="'.$avatar.'" alt="'.$alt.'" height="'.$size.'" />';
endwhile;endif;