添加一个附加字段以使用AWD Facebook Wordpress插件登录

添加一个附加字段以使用AWD Facebook Wordpress插件登录,facebook,wordpress,Facebook,Wordpress,我使用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_ava

我使用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');
功能我的创建页面($user\u id){
$fbuide=0;
$the_user=get_userdata($user_id);
$new\u user\u name=$the\u user->user\u login;
$new\u user\u avatar=get\u avatar($the\u user->user\u email);
全球$AWD_facebook;
$fUIDE=$AWD_->uid;
$headers=get_headers('http://graph.facebook.com/“.$fbuide.”/picture?type=large',1);
如果(isset($headers['Location'])){
$url=$headers['Location'];//字符串
}否则{
$url=false;
}
$my_avatar=“”;
$my_post=array();
$my_post['post_title']=$new_用户名;
$my_post['post_type']='post';
$my_post['post_content']=$my_avatar;
$my_post['post_status']='publish';
wp_insert_post($my_post);
}
添加操作(“用户注册”、“我的创建页面”);

不过,我希望实现的目标有点不同。我还想包括一个关于用户的简要传记(目前的帖子只是他们的照片)。因此,当访问者登录AWD Facebook时,他们需要一个额外的字段,允许用户输入他们的个人简历。然后我就可以从他们的用户档案中获取这些信息,并将其包含在帖子中。关于我如何做到这一点有什么想法吗?有没有其他方法可以做到这一点?

我建议将他们的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;
if(have_posts()):while(have_posts()):the_post();
//... 这里的东西
$avatar=get_post_meta($post->ID,'avatar','true');
_内容();
回声';
结束时;endif;

您需要确保的是,如果用户未注册,您可以为他们提供某种前端UI,将他们的个人信息作为帖子数据发送,以更新帖子。否则,您需要授予新注册的用户更新帖子内容的权限。