前回の「WordPressのユーザー管理画面カスタマイズまとめ」で分かったことを元に、ユーザー編集画面からプロフィール画像をアップロード出来るプラグインを作ってみました。
ご覧のようにプラグインを有効化すると、ユーザーの編集画面にプロフィール画像の項目が追加され、画像をアップロードすることが出来るようになります。
まだ、設定画面などもありませんし、多言語もしていませんが、是非お試しください。
ダウンロード:Ps User Profile Image
仕様など
- ユーザーの管理画面からプロフィール画像をアップロードすることができます。
- デフォルトでは、thumbnail、standard、bigの3種類の画像が生成されます。
- サイズや種類を変更したい場合は、プラグインファイル ps-user-profile-image.php の14行目から始まる $default_image_size の配列を編集してください。
- 画像の拡大縮小は、切り抜きになっています。比率が異なると頭がちょん切れたりするので注意して下さい。
- 表示させる場合のテンプレートタグは、
ps_user_profile_image( $user_id, $size );
となります。この他に、パスだけを取得できる ps_get_user_profile_image_src というテンプレートタグもあります。
テンプレートのコード記述例
<?php if ( function_exists( 'ps_user_profile_image' ) ) { ps_user_profile_image( 1, 'thumbnail' ); } ?>
対応バージョン
3.0以降になります。(多分)
はじめまして。
色々とさまよってこちらのプラグインを発見し、大変重宝しております。
私の勘違いかもしれませんが、質問させてください!
とありましたので、画像が登録されていない場合の処理がelseで続くと思い、上記のコードに続けて、
<img src="" />
と書いたのですが、画像を登録していないユーザーもifの処理で通り、何も入っていない空のタグが吐き出されていました。
このような処理の仕方ではないのでしょうか。。。
初歩的な質問かもしれませんが、どうぞよろしくお願い致します。
連投ですいません。
タグが表示されていないので、再度書き込みます。
とありましたので、画像が登録されていない場合の処理がelseで続くと思い、上記のコードに続けて、
<img src="” />
と書いたのですが、画像を登録していないユーザーもifの処理で通り、何も入っていない空のタグが吐き出されていました。
このような処理の仕方ではないのでしょうか。。。
初歩的な質問かもしれませんが、どうぞよろしくお願い致します。
使用させていただいてます、
現状1枚しかアップできませんが、違う画像複数枚アップさせる改造は無理ですか?
クロさん、ありがとうございます。
不可能ではありませんが、管理画面のUI、ファイルの保存方法、プログラムのフロー等設計段階からの全面的な見直しが必要となりますので、難易度はかなり高いですね。
私の設定が悪いのか、アップロードしたファイルが403エラーと出ます。
ファイルがアップされているのはFTPで確認済みで、
パーミッションを777にしても表示されませんでした。
そこで当然なのですが、その上の階層のディレクトリ
「ps_profile_image」、「1」のパーミッションを755にあげてみました。
これで表示されました。
ワードプレス、filezillaどちらを使ってアップしたのかは忘れましたが、
アップした方法によっては私のような設定が必要かもしれません。
■同様の問題になった方へ
403エラーというのはファイルは存在していて、
見たりする事ができないという意味なので、
ファイルがアップロードされており、
プラグインが動いているのでひとまず安心してください。
私のように画像ファイルまでのパーミッションを変更すれば解決するはずです。
(webサイトのアドレス間違えていたので、こちらのコメントを採用してください)
wordpress 3.3.1を使用しています。
このプラグインは、素人に設置は難しいですか?
/wp-content/plugins/にFTPソフトでアップして、管理画面からプラグインを有効化しました。
プロフィール変更画面で画像をアップ出来るように『プロフィール画像』欄はあるのですが、画像を選択して『プロフィールを更新』ボタンをクリックすると
Warning: basename() expects parameter 1 to be string, object given in /hogehoge/wp-content/plugins/ps-user-profile-image.php on line 159
Warning: Cannot modify header information – headers already sent by (output started at /hogehoge/wp-content/plugins/ps-user-profile-image.php:159) in /hogehoge/wp-includes/pluggable.php on line 866
というエラーメッセージが出てしまいます。
アドバイスをお願いします。
素敵なプラグインをありがとうございます。
ちょっとカスタマイズしようと思い、初歩的だと思って自力でやろうと思ったのですができなかったので、質問させてください。
やろうとしたのは、各Authorについて、このプラグインによる画像の登録があるかを判定し、あればその画像を用い、なければ元のアバター画像を用いようと考えました。
ifの条件分岐で、画像の登録があるかどうかの判定のところで、
if ( ps_user_profile_image( get_the_author_meta( ‘ID’ ), ‘thumbnail’ ) )
このように条件を書き入れましたが、条件分岐がうまく行かずに、そのまま画像が出力されてしまうようです。
「Authorごとに画像の登録があるかどうかを判定する方法」はありますでしょうか?
アドバイスいただけると幸いです。
よろしくお願いします。
はじめまして。プラグインを使わせていただいたのですが、バグのようなものがありました。プラグイン導入後に新しく登録されたユーザーには、画像がサイトに反映されないというものです。wordpressのバージョンは3.3です。
画像のアップロード自体はできているようなのですが、なぜかサイト上には管理者の画像が表示されてしまいます。
if ( function_exists( ‘ps_user_profile_image’ ) ) {
ps_user_profile_image( get_the_author_meta( ‘ID’ ), ‘big’ );
}
で、投稿者ごとの画像を表示しています。プラグイン導入以前に登録されたユーザーに関しては問題なく動作しています。
お手数ですが、ご確認いただけますでしょうか?
こんにちは!はじめまして!
とても素晴らしいプラグインをありがとうございます!!
こちらのプラグインを使用してアップロードしたプロフィール画像を使用して、
会員の一覧ページを作ろうとしております。
「ps_user_profile_image」を使って、すべてのユーザーの一覧を表示させるのがわたしとしては難しそうなので、
データベースからアップロードした写真をひっぱってきたらできるかなと思いました。
ただ、データベースを見ても、「ps_user_profile_image」にあたる名前が見つからなくて、
どこからひっぱってきたらいいのかわからない状態です。
よろしければデータベースのどこにアップロードした画像が置かれているか教えていただけないでしょうか??
ワードプレスのバージョンは3.4.2
オリジナルテンプレートにて作成しております。
よろしくお願いします。