私は私の商業ウェブサイトのためのCMSとしてそれを使うつもりであるので、私は新しくて、Wordpressがどのように働くかに関して少し面倒です。私はユーザーのFacebookの写真から取得した画像を作成し、それをアップロードファイルとしてWordpressに保存する方法について考え出してきました。
最初に説明しましょう。
私はFacebookのテストユーザーを作成し、登録後に自分のFacebookの情報を取得できるようにしました(基本情報を取得してwp_insert_user()
を使用することで)。私のWordpressサイトにupdate_user_meta
を付けて保存するだけなので、基本的なユーザー情報の取得に問題はありません。私はまた、Facebook APIを使ってユーザーのFacebookの写真の画像リンクを取得することができました。
しかし、今のところ、私はそれらの画像をWordpressメディアとして保存して、ユーザーがそれらを操作(更新または削除)できるようにする必要があります。私はのようにしようとしました。ユーザー登録中、私のウェブサイトはユーザーの写真ファイルを取得して私のサイトに保存することができます。ユーザーがログインすると、自分のサイトで自分のFacebookの写真を閲覧でき、必要に応じて写真を削除して新しい写真をアップロードできます。
例えば、これが検索されたユーザープロフィール写真であるとしましょう: -
http://graph.facebook.com/118114855253013/picture?type=large
とユーザーのFacebookカバー写真: -
https://scontent.xx.fbcdn.net/hphotos-xft1/v/t1.0-9/12931266_119567738441058_7589195259803266908_n.jpg?oh=d709e39e7525c69e96a2b1695d4930fa&oe=57C011F2
facebookのAPIから: -
$response = $fb->get('/me?fields=id, name, cover, picture, albums{name,photos{source}}', $longLivedAccessToken);
$user = $response->getGraphUser();
$coverpic = $user['cover']['source'];
$profilepic = 'http://graph.facebook.com/' . $user['id'] . '/picture?type=large';
通常私は直接他の基本的な情報と一緒にユーザーmetaにそれを保存します: -
update_user_meta( $user_id, 'coverpic', $coverpic );
update_user_meta( $user_id, 'profilepic', $profilepic );
しかし、それはFacebookからの画像をリンクするだけです。そのupdate_user_meta()
メソッドを変更して私の知らないものに変更する必要があるかもしれません。おそらくwp_handle_upload()
やwp_insert_attachment()
のようなWordpressのアップロード機能、あるいは私を混乱させる他の関連する機能かもしれません。しかし、私は何日もWordpressのドキュメントを読んでいて、私の現在の状況でそれらを適用するのに苦労していました。私はWordpressメディアに保存する方法とフロントエンドのプロファイルページでユーザー自身が操作できるようにする方法を考え出しています。私のサイトの彼らの「Facebook経由のWordpressログイン」の後。
私は本当にここで助けが必要です。私のプログラミングの頭脳はとても遅いです、私はそれで上手くなるために私自身を殺すかもしれません...
ファイルへのリンクを取得してメディアライブラリにアップロードする media_sideload_image()
を使用できます。 あなたはそれをある種の @ Sumit は、$post_id
に渡す必要がありますNULL
を$post_id
フィールドに渡すことができるコメントで指摘しています。
media_sideload_image(
$file_url,
$post_id,
$image_desc,
$return
);
アップロードした画像IDが必要な場合は、 を見てください。Tom J.今度はフックを使って回答します