Blog に投稿者のアイコンを付加する

コメント欄とかに投稿者の顔写真とかアイコンをつけようと思って、ちょこちょこやっているがどうもうまく行かない。
Avatar というやつだ。このブログのTheme ではTwitter とかGravatarのようなグローバルなサイトに登録した絵・写真が使えるようになっている。プラグインを探してみてローカルに保存した絵を使えるAdd-local- avatar をインストールしてみた。こいつはグローバルサイトに登録したものがあったら、それも使えるということになっている。グローバルサイトに登録した者だけが使うわけじゃないから、local に登録したのが使えるようになっているのがいい。
Add Local Avatar からダウンロードしFTPで/wp-content/plugins directory に放り込み、管理ページのプラグインからactivate する。ユーザーにAvatars という項目ができるからここから設定する。
ほとんど設定するところはないがUser uploads: の設定に手こずった。
絵のファイルをアップロードする場所を/blog/wp-content/plugins/avatars-picsとしてこのavatars-pics のディレクトリのパーミッションを777にしておいた。
アップロードは問題ない。しかし表示されない。絵を読み込むと絵のURL は
src=’/blog/wp-content/plugins/avatars-pics/xxxx.jpg’ となるがこれではだめで
src=’seigi/blog/wp-content/plugins/avatars-pics/xxxx.jpg’ とならないと正しく表示されない。
ファイルを保存する場所は /Users/[ユーザ名]/Sites に続くdirectory にしろとの指示がありその通りにするとファイルは保存できるが表示できないわけだ。FTPを許可するのは各ユーザのディレクトリ /Users/[ユーザ名] であるのに対し、Webサーバ(apache)が参照するのは /Library/WebServer/Document で各ユーザのdirectoryのSites directory を読みにいくという構成になっている。MacOSXサーバのデフォルトの構成だ。したがってURL は http://seigi.accsnet.ne.jp/~[ユーザ名]/が本来なのだが、Documents に[ユーザ名] -> Users/[ユーザ名]/Sites というシンボリック・リンクを作って ~ を使わない設定にしてあるのが原因だと思う。
うーむ。どうやって解決するかな。
Or, use legacy (v7.3 and lower) $_SERVER['DOCUMENT_ROOT'] method

にチェックを入れたら、ファイルアップデートの場所(ファイルを保存する場所)は/Library/WebServer/Documents に続くdirectory にしろと変更された。そこでルート権限で Documents directory に avatars という directory を作り、パーミッションを777にし、
User uploads: /avatars と入力したらうまくいった。
コメントすると、ユーザのアイコンがでてくる。登録していないとMonster が出るように設定しておいた。この投稿にadminとseigi がコメントしているから例になる。ここまではこのthemeですでに設定されているところだ。コメント一覧はこの絵のようになる。

functions.php
このBlog の Theme は blue-laptop である。このtheme の functions.php の14行目にある
<?php echo get_avatar($comment, $size = ’30’); ?>

<?php echo get_avatar($comment, $size = ’60’); ?>
に変更して、コメント欄に出現するavatar が30×30 pixel だったのを 60×60 pixel にした。30×30 pixel だとちと小さすぎるからな。
index.php
Top ページにも投稿者のavatar を表示させるために index.php の6行目
<p><?php _e(‘投稿日’); ?> ……… に
<p> <?php echo get_avatar($post->post_author, $size = ’60’); ?><?php _e(‘投稿日’); ?>………と<?php echo get_avatar($post->post_author, $size = ’60’); ?>を挿入した。
single.php
各投稿ページにも同様に single.php の10行目に
<p> <?php _e(‘投稿日’);………
<p> <?php echo get_avatar($post->post_author, $size = ’60’); ?><?php _e(‘投稿日’);………
と<?php echo get_avatar($post->post_author, $size = ’60’); ?>挿入した。
これでOKなのだ。ちとオリジナルのthemeのデザインがくずれちゃうけど、ま、いいだろ。

16件のコメントがあります

  1. admin

    これは admin としてコメントした例だ。

  2. seigi

    これは seigi としてコメントした例だ。

  3. ひめ

    ちょっとテスト。

  4. ひめ

    これって選べないの?
    結構気に入ったけど、他のも見てみたい。

  5. seigi

    選べるぞ すきなのを
    自分でつくてもいいし ネットで拾ってきてもいい

  6. hebimaru

    これが、アイコン登録方法の結果だ。

  7. seigi

    あら うまくいかない
    デフォルトのMonster がでてくる。管理画面のコメント欄はちゃんとでている。ちゃんとでるとこと、でないところがある。
    修正が必要だ。
    ちとまってね。

  8. hebimaru

    再度テスト

  9. admin

    うまくいっている。adminでテストしたのが間違えだったのだ。
    ちゃんと新規ユーザとして登録すると問題ないのだ。

  10. よめ

    よめにぴったりな可愛いのはないの?

  11. ひめ

    自分で作ったり、探すなんて・・・。
    可愛いアイコンを正義がいくつか作ってくれて、投稿する者がそこから選べるようにして欲しいのですが。
    おねがいしまぁす。

  12. yome

    わーい。旦那にやってもらったよ。

  13. sega

    ワシも作ってみた。
    まぁ、既存のフリーのGIFアニメを80×80に改造しただけだが。

  14. よめ

    8で出来てるんじゃないの?
    11は、オホホ姫には見えん。

  15. seigi

    図をクリックすると拡大される。この絵にメアドとip address が丸見えになってしまうことに気がついたので消した。

  16. seigi

    >へびよめ
    8 は正義が別のアカウント「hebinaru」を作って実行した例なのだ。
    ひねまるは自分で、たとえばこの8のアイコンをダウンロードしてアップロードする必要があるのだ。その方法を「投稿者のアイコン」というページ(http://seigi.accsnet.ne.jp/seigi/blog/?page_id=2101)に書いてあるのだ。「ひめ」のパスワードを知らないから、正義は管理者だけどできないのだ。

コメントを残す