使用AWD Facebook Wordpress插件添加其他字段以登录

时间:2013-04-23 23:17:21

标签: facebook wordpress wordpress-plugin

我正在使用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登录时,他们需要成为允许用户输入其生物的附加字段。然后,我将能够从他们的用户配置文件中获取该信息并将其包含在帖子中。有关如何实现这一目标的任何想法?有没有不同的方法来做到这一点?

1 个答案:

答案 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;