1

我正在使用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 登录时,他们需要一个额外的字段,允许用户输入他们的简历。然后我就可以从他们的用户资料中获取该信息并将其包含在帖子中。关于我如何做到这一点的任何想法?有不同的方法可以做到这一点吗?

4

1 回答 1

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;
于 2013-04-23T23:35:34.103 回答