Commented entry list Plugin
by Hirobee on 16:02 Saturday, April 30th, 2005, under Plugin, WordPress
Calrozさんからリクエストがあったので、Get Recently Commentedプラグインを、最近のコメントと最近のトラックバックに分けて表示できるようにしてみました。
MovableTypeを使っているサイトで使われていることが多いタイプの表示方法ですが、WordPressでは個別エントリのページでコメントとトラックバックが分けて表示されないので、どうだろうとおもっていたら、Standing Tall ≫ Blog Archive ≫ WP のヒント:コメントとトラックバックを分けるで、個別エントリページでコメントとトラックバックを分ける方法を見つけました。
アーカイブに入っているcomments.phpを使っているテーマのものと入れ替えてください。
プラグインのPermalinkはこのcomments.phpを前提に書いていますので、オリジナルのcomments.phpを使う場合は、
59行目の
$permalink = get_permalink($comment->ID)."#trackbacks";
を
$permalink = get_permalink($comment->ID)."#comments";
に修正してください。
アーカイブをダウンロード : commented-entry-list.zip
19 Comments for this entry
4 Trackbacks / Pingbacks for this entry
-
Turn On One Day
May 2nd, 2005 on 09:00WP設定 コメントとTBを分ける?
1.Separating Comment and Trackback
以前から気になっていた、コメントとトラックバックを分けて表示するというプラグイン。他のブログウェアでは、通常はデフォルトで整形されているテキスト… -
110's blog
May 8th, 2005 on 00:06コメントとトラックバックを分ける
サイドバーの”最近のコメント”と”最近のトラックバック”はHirobee’s Trail [Memorandum]さんのCommented entry list Pluginを使用させていただきました。個別エントリーのコメントとトラックバッ…
-
とりあえずやってみるわ!!
July 30th, 2006 on 02:07サイドバーにコメントとトラックバックを表示する…
サイドバーにコメントとトラックバックを別々に表示するCommented entry list Pluginというプラグインを入れました。
WordPressのコメントとトラックバックは、コメントとして一緒に表示される….. -
米が好き | 【WordPress】コメントとトラックバックを別表示にする方法
January 7th, 2009 on 00:41[...] 次のプラグイン。 (B) Hirobee’s Trail [Memorandum] Commented entry list Plugin 『アーカイブをダウンロード』からzipをダウンロードします。 [...]

April 30th, 2005 on 18:39
Hirobeeさん、早速の対応ありがとうございます:razz:
それにしてもこんなに早く出来てしまうなんて驚きです:shock:
さて、アーカイブをDLして設置してみましたところ
自分のサイトではエントリのリストの数の取得が上手く行ってないようです。
とするとエントリの数ではなく
コメントの数が取得されてしまいます。
トラックバックの方も同じく。。。
訂正したのはcommented-entry-list.phpの
33行目、67行目
$comment_date = mysql2date(‘m/d@H:i’, $comment_date);
35行目、69行目
$comment_date = mysql2date(‘m/d@H:i’, $comment_date);
だけなのですが。。。
Hrobeeさんのサイトでは上手く行っているようなのに。。。
April 30th, 2005 on 19:52
Calrozさん
えぇっと、ちょっと状況がよくわかりません。
>自分のサイトではエントリのリストの数の取得が上手く行ってないようです。
>とするとエントリの数ではなく
>コメントの数が取得されてしまいます。
数というのは
get_recently_commented(10)
等の()内に入れた数ということでしょうか。
あと、どのように表示されるのでしょう。Calrozさんのサイトを見られないので、よくわかりません。
よければ、CalrozさんのサイトのURLを教えてください。
April 30th, 2005 on 22:05
あ、すいません。途中で文章を編集してそのまま投稿したようです:oops:
>とするとエントリの数ではなく
>コメントの数が取得されてしまいます。
Websiteを入力しましたけど見られるでしょうか?
サーバーはxreaです。
ちなみにテーマはnotebookの方です。宜しくお願いします。
April 30th, 2005 on 23:26
Calrozさん
サイトを見せてもらいました。タグは、
<?php get_recently_commented(5); ?>
<?php get_recently_trackbacked(5); ?>
と書かれたんですよね。
動作としては正常です。
このプラグインは、最近のコメント、最近のトラックバックが設定した数だけ並ぶようになっています(さんぷるとして、現在のこのサイトのサイドバーは5に設定してみました、以前は20でした)ので、1つのエントリに対して連続して多数のコメント、トラックバックがあった場合、並ぶのはそのエントリだけになってしまいます。
Carlozさんは設定した数のエントリがリストに並んでほしいのだと思いますが、現状ではそういう動作はしません。
タグにエントリの数とコメント・トラックバックの数を設定できるようにすれば良いのだと思いますが、現状の知識では難しいので、申し訳ないですが、今のところこの動作で正常ということにさせてください。
アーカイブのReadMe.txtの説明を書き換えることにします。
May 1st, 2005 on 01:42
Hirobeeさん、了解です:mrgreen:
Hirobeeさんのサイドバーがたまたま私の希望してたような動作を表示していたのですね:oops:
正常な動作という事で安心しました。
長々とお付き合いくださりどうもありがとうございました。
あ、それとcommented-entry-list.zipに同梱されているcomment.phpですが
Trencaspammers 1.0rc Pluginを導入していると想定されたファイルとなっていました。
一応、お知らせした方がいいかと。。。
では、また何かありましたら宜しくお願いします。
May 1st, 2005 on 03:40
Calrozさん
comments.php修正しました。
このサイトで使っているものをそのまま入れてしまいました。
知らせていただきありがとうございました。
プラグインの方も何とかできないか考えてみます。
May 1st, 2005 on 21:22
おぉっ!了解しました:grin:
あまり無理をなさらないように。
May 8th, 2005 on 00:34
Hirobeeさん
初めまして、110と申します。Commented entry list Plugin使用させていただきました。
トラックバックさせていただいたのですが、何故か:?:出来なかったのでコメントさせていただきました。
素晴らしいプラグインをありがとうございました。
May 20th, 2005 on 03:32
初めまして。最近ブログサーバーを設置したく、最初はMovable typeで設置をなんとか試みていたのですが、Macとはどうも相性が合わないのか、スムーズにインストールできなかったり、Mac OS 10.3の方はそれでもなんとか動作したのですが、Mac OS X serverだとモジュール自体のインストでつまづき、困り果てていたところ、ここへたどり着きました。さっそくwordpress ME 1.5.1をDLして設置も出来て、現在Hirobeeさんのサイト等参考にさせていただきながら拡張させていってるのですが、このCommented entry listを設置して、ローカルではエラーもなく無事設置出来たかに思えたのですが、サーバーにアップしたときに、
『Warning: Variable passed to each() is not an array or object in(~/commented-entry-list.php on line 18)』
『Warning: Variable passed to each() is not an array or object in(~/commented-entry-list.php on line 52)』という様にでました。
あれ?と思って、コメントやTBを全体的に0件にしたところ、エラーが出ました。
過去の記事等ずーっと読ませていただいて、一番最初の頃の方の記事に、似たような内容のことについて書かれてありましたが取り消し線ですよね?
それは解決したということでしょうか?
現在はコメント&TBがつくまではとりあえず、
等をコメントアウトして動作させないように回避しているのですが。
一応あちらこちら調べたり、最新版をDLしなおしたりもしてみたのですが直らないです。
アドバイスよろしくお願いいたします!
May 20th, 2005 on 19:57
ちささん、
サイトを見せていただきました。いまはエラーが出ていないのですが、最初に見たときに出ていたエラーでは、
(サーバ)/wp/wp-content/themes/(テーマのパス)/commented-entry-list.php
と出ていましたので、Pluginをアップロードするパスが違っているのではないでしょうか。
テーマのパスではなく、
(サーバ)/wp/wp-content/plugins/
にアップロードしてみてください。
May 21st, 2005 on 11:26
すばやいご対応ありがとうございました!
早速/plugins/の方へアップしてみました。
最初、テーマの方へ入れていて、でプラグインを呼び出していたので、
違うエラーで出てしまい、を消したところ、コメントがついてるものは同じ様にエラーが出ないのですが、コメントが0件の場合は同じ様にパスが違うだけで
「Warning: Variable passed to each() is not an array or object in (サーバーのパス名)/blog/wp-content/plugins/commented-entry-list.php on line 52」になります。
エラーの内容は同じようで、訳してみると、(エキサイト翻訳ですが。。(^^;))
「警告: 各()に通過された変数は、中の配列でなくて、またオブジェクトでもありません。」
という意味のようです。
18行と52行にエラーが出るので、両方とも、
foreach ($comments as $comment) { ?
の所からのようで、おそらくやはり、検索したオブジェクトが何も無いっていう場合にエラーが出るという現象じゃないかなと思うのですが、PHPもまだまだ勉強中でして分かっていません。
過去の開発された方の履歴等めぐっていくと、[require]でsidebar.phpの1行目に書くとかありますが、Hirobeeさんのpluginはそんな必要ないですよね?
プラグインフォルダに入れ、プラグイン開始でいちおう動いてるみたいなので。
すみません。質問ばかりで。
でも、このwordpressだけはサーバーマシンとの相性もいいのでなんとか形にしたいと思うので
頑張りたいと思ってます。
私もPHPの本等みながら調べてみます。
またご報告伺わさせていただきます!
May 21st, 2005 on 12:38
ちささん、
コメント、トラックバックが0件の時にはエラーが出てしまいます。
テスト用においているWordPressで、インストール後の状態でコメントが1件、トラックバックが0件の時に、
トラックバックの方に
Warning: Invalid argument supplied for foreach() in /(WordPressのアップロードパス)/wp-content/plugins/commented-entry-list.php on line 50
Warning: Invalid argument supplied for foreach() in /(WordPressのアップロードパス)/wp-content/plugins/commented-entry-list.php on line 53
というエラーが出ています(ちささんの方で出ているエラーと少し違いますが)。
このエラーは元のtkzy_get_recent_comments.phpを最初に使ったときも出ていましたので、仕方がないのだと思います。
あと、requireを1行目に書くというのは、WordPressが1.2の頃のことで、1.5以降でPlugin形式で書かれているものはPluginsにアップロードして開始させておけば必要ありません。
May 21st, 2005 on 17:45
Hirobeeさん
エラー直りました!!
Hirobeeさんのエラー文章はちょっと違いますが、翻訳(またまたエキサイト翻訳ですけど(笑))
によると、
「警告: 中でforeach()に供給された根拠のない議論」ということで、
やはり、foreach()で処理する内容が何もないよってことだと思うのですが。
それで、いろいろソースとずーっとにらめっこしていたら、
このforeach文の始まる前にまず、
何もなければ”データ無いよ”と出力させる(空白でもいいのですが(笑))if文を記述することによりエラーが解決されました。
簡単な例ですが、
18行、53行目のforeach ($comments as $coment)の前に
if($comments == 0) {
echo “書き込みはありません”;
} else {( ←ここまでを追加、else以降に今までのスクリプト内容を入れてしまう。
foreach ($comments as $coment)
(以下・・・省略・・・)
47行あたりと86行あたりに
}
echo $output;
}
}←これを追加
これで、0件でもエラー回避することができました!
September 15th, 2009 on 16:07
Hirobeeさん、はじめまして。
素晴らしいプラグイン、ありがとうございます。
一つ、お願いがございます。
最近のコメントをサイドバーに表示させる際、IDを表示させず、日付けにもリンクを貼らないようにしたいのです。
どの部分を書き換えればよいでしょうか??
なにぶん、まだまだ初心者のため、わからないことだらけで、wordpressと格闘する毎日です。
何卒よろしくお願いします。
September 16th, 2009 on 19:50
iwanさん、返事が遅くなりました。
IDとういうのが何を指しているのかわかりません。WordPressがポストやコメントを管理しているIDということでしょうか。
だとしたら、リンクとしてIDが使われることはあっても、表示されることはないはずです。
日付のリンクは、コメントの方は42行目、トラックバックの方は82行目にある
$comment_dateを囲んでいるタグ(<a href="$comment_id\" title="\"\>と</a>)を消してみてください。
September 17th, 2009 on 14:40
Hirobeeさま
早速のレスありがとうございます。
IDというのは、投稿者の名前のことです。わかりにくくてすみません。。
投稿者を表示させたくないのですが、どのようにすればいいでしょうか?
また、日付けからリンクを外す方法ですが、教えていただきありがとうございます。
$comment_date
の部分を消しましたら、日付けの表示自体が消えてしまいました。。
どうすればよいでしょうか?
ぜひご教授ください。
よろしくお願いいたします。
September 17th, 2009 on 14:44
Hirobeeさま
たびたび失礼します。
日付けのリンクを外す件ですが、勘違いしておりまして、じょこ解決できました。
お手数をおかけしてすみません。
投稿者の名前が出ないようにする方法だけ、よろしくお願いいたします。
September 17th, 2009 on 21:04
投稿者の名前ということでしたら、コメントの方は43行目、トラックバックの方は83行目にある、
"<span class=\"comment_author\">".tkzy_get_comment_author_link($comment,20)."</span>
を今度はタグも含めて全部消せば出なくなります。
September 18th, 2009 on 11:36
hirobee様
早速のレスありがとうございました!!
うまくいきました!!!
本当に何度も申しわけないのですが、また気になることがでてきました。
日付けを改行せず、続けて次のように( )入りで表示したいのです。(文章は例文です)
●今日はいい天気ですね?(08/10)
コメントとトラックバックの表示文字数を限定し(例えば15文字とか)そのまま改行せずに日付け(( )入り)で続けて表示させるにはどうすればよいでしょうか?
一度に伺えば良かったのですが、たびたびすみません。
何卒よろしくお願いします。