【WordPress】特定のユーザーのコメント一覧をプロフィールページに表示する

記事の順番が前後しますが、思い立ったところからUP.

 

現在、会員制サイトよりは気軽に誰でも書きこめるドラマの短レビューサイトをWordpressで作成中です。

で、会員(ユーザー)プロフィールページを作成し、そこに『ユーザーが書きこんだレビューの一覧』を表示したいと考えた。

試行錯誤の末、何とか成功した忘備録。

「author.php」を編集する

WordPressでは「author.php」を編集することによって管理者のプロフィールページを作成できるようになっています。

 

とりあえず、記事下に表記されているはずの記事作成者リンクをクリックすると……
 
 author

http://あなたのアドレス/auhtor/あなたのID/

というページへ飛ぶはずです。

私が使わせていただいているテーマ『Simplicity』では、これをクリックすると記事一覧へ飛ぶ仕様になっています。(他のテーマでも大抵、基本はそうなっているのでは)

これをプロフィールページにするためには「author.php」を編集します。

「author.php」の作成

初めから「author.php」が存在しているテーマと、存在していないテーマがあると思います。

 

『Simplicity』の場合は「author-link.php」は存在しますが「author.php」はありません。なので、「author-link.php」をエディタにコピーして「author.php」という名前で保存し、子テーマにアップロードしました。

 

文字コードは「UTF-8」で保存してください。
「author.php」や「author-link.php」は、ファイルマネージャーの「wp-content」→「themes」→「simplicity2」(つまり、お使いのテーマ)にあります。無い場合は「archive.php」で代用を。

ユーザーの投稿一覧を掲載する

 

ユーザープロフィールを表示する方法は別のページで。

https://muryoblog.cinemarev.net/entry/profile-koumoku.html

 

とりあえずここでメモしておきたいのは「ユーザーごとの投稿一覧を表示する」方法なのですが……。

こちらなどを参考にさせていただきました。しかし!

https://engineer.blog.lancers.jp/2017/05/post_list_of_author/

http://www.united-bears.co.jp/blog/archives/711

 

投稿記事の一覧を表示するコードは検索すると割と見つかったのですが、私が作っているページでは一覧にしたいのは「記事」ではなくて「コメント」なのです。レビューフォームとして使用しているのがコメントフォームなので。

 

で、何日間も試行錯誤を繰り返した末、やっと成功しました。が、とても汚いです。

<!-- この下にはユーザーレビュー一覧が表示されます -->
<h3>revue</h3>
<?php
$comments = get_comments(array('status' => 'approve' ,'order'=>'DESC'));
foreach($comments as $comment):
$post = get_post($comment->comment_post_ID);
?>
<?php endforeach; ?>
<?php
$args = array(
'user_id' => $author , 'status' => 'approve' ,'order'=>'DESC');
$comments = get_comments( $args );
?>
<?php
foreach($comments as $comment):
$post = get_post($comment->comment_post_ID);
?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
(<?php comment_author_link(); ?>[<?php comment_date('m/d'); ?>])
<?php print mb_strimwidth(get_comment_excerpt(), 0, 140, "…", "UTF-8"); ?>
</li>
<hr>
<?php endforeach; ?>

 
同じコードが何度も繰り返されています。

何とかまとめようとしたのですが、少しでも変えると突然動かなくなったりするので、恐くて動かせません(笑)

とりあえず、現在のところ、これでユーザーごとのコメント一覧が表示されています。

author-1

実験用に作った私の他のIDでも、一覧がきちんと表示されています。

author-2

これにばかり関わっていられないので、とりあえずはこれで置いておくことにします。

サポートよろしくお願いします

 

いつもありがとうございます。この記事を気に入って下さった方、「寄付してあげてもいいよ」という方がいらっしゃったらサポートしていただけると嬉しいです。


Amazonギフト券- Eメールタイプ – Amazonベーシック


金額は空白欄に適当に(15円から)書きこんで下さい。(あらかじめ入っている金額はAmazonの設定なので気になさらないでください)。

メールのあて先は 「ageru15@gmail.com」です。

※上記のアドレスは投げ銭受け取り専用です。他のメールは受け取れない設定にしてあるのでご注意ください。

 

 

 

よろしくお願いいたします。

なお、この投げ銭システムに関する記事はこちら→『ブログに「投げ銭」システムをつける方法を考えてみたまとめ』