plugin -> Commented entry list

Posted by muchag | Library & PlugIn & AddIn,PHP,WordPress |
初回投稿:2010-06-15 (火) 16:08:06 | 最終更新:2011-07-29 (金) 11:03:50

強烈なスパムの嵐で、長いことコメント禁止でやってきたけど
今回あれこれいじって、少しはマシになるかと思って
コメントを開放したので、サイドバーに「最近のコメント」を設置してみることにした。

あれ? WordPressってデフォルトでは「最近のコメント」って表示できないのかぁ。

あ、ウィジェットならあるわけね・・・。

でも、ウィジェットを使うと、サイドバーがなくなるしなぁ。

というわけで、プラグインを探してみた。

辿り着いたのが
Commented entry list 1.2


おー いい感じ:-)

でも、自分の投稿はなくていいなぁ。

それと、著者のリンクもいらないかな。

 
んだば、本格的に。

【環境】
[WordPress] 2.9.2ja
1.DL

Commented entry list 1.2 よりDLして解凍。

2.UL&設定

同梱の ReadMe.txt 読んでから っと。

お? WordPress1.5用プラグイン って書いてある。
2.9.2jaでもちゃんと動いているみたい。
この辺の足回りは変わってないのかな?

修正

<ReadMe.txt より引用>
・同梱しているcomments.phpを使っているテーマのものと入れ替えると、個別エントリ
のページでコメントとトラックバックを別に表示させることができます。
デフォルトのテーマのcomments.phpを使う場合は
commented-entry-list.phpの59行目の
$permalink = get_permalink($comment->ID).”#trackbacks”;

$permalink = get_permalink($comment->ID).”#comments”;
に修正してください。

テーマのファイルを書き換えるのはちょっと嫌なので、修正の方向で。

追加修正のためか行数はずれていて、実際は69行目。

  1. $permalink = get_permalink($comment->ID)."#trackbacks";
UL

commented-entry-list.php を、WordPressフォルダ/wp-content/plugins/ へUL。

設定

WordPressのプラグイン設定画面で Commented entry list を有効化。

WordPressの設定画面からサイドバーの編集を表示して

1.コメントがあったエントリのリストを表示する
  1. <li><h2><?php _e('Recently Commented:'); ?></h2>
  2.     <ul>
  3.     <?php get_recently_commented(10); ?>
  4.     </ul>
  5. </li>

※(10) は、件数設定。デフォルトは10件。
 

2.TrackBack、PingBackがあったエントリのリストを表示する
  1. <li><h2><?php _e('Recently Trackbacked:'); ?></h2>
  2.     <ul>
  3.     <?php get_recently_trackbacked(10); ?>
  4.     </ul>
  5. </li>

・コメントがあった当日は24時間表記の時刻、それ以降は日付が表示されます。

お、これイイネ!

3.カスタマイズ

気になっていた
・自分の投稿は表示したくない
・サイドバーでは、投稿者へのリンクを貼りたくない
についてカスタマイズに挑戦。

自分の投稿は表示したくない
  1. $comments = $wpdb->get_results("SELECT ID, post_title, post_date, comment_ID, comment_author, comment_author_url, comment_author_email, comment_date FROM $tableposts, $tablecomments WHERE $tableposts.ID=$tablecomments.comment_post_ID AND $tablecomments.comment_approved='1' AND $tablecomments.comment_type='' ORDER BY $tablecomments.comment_date DESC LIMIT $limit");

13行目の文の「ORDER BY」の前に「AND $tablecomments.user_id!=’***’」を入れる。

「***」の部分には、wp_usersテーブルから自分のIDを調べて、そのID番号を入れる。

結果、こうなる。

  1. $comments = $wpdb->get_results("SELECT ID, post_title, post_date, comment_ID, comment_author, comment_author_url, comment_author_email, comment_date FROM $tableposts, $tablecomments WHERE $tableposts.ID=$tablecomments.comment_post_ID AND $tablecomments.comment_approved='1' AND $tablecomments.comment_type='' AND $tablecomments.user_id!='***' ORDER BY $tablecomments.comment_date DESC LIMIT $limit");

 

サイドバーでは、投稿者へのリンクを貼りたくない
  1. $url = str_replace('http://url', '', $url);
  2. $url = preg_replace('|[^a-z0-9-_.?#=&;,/:~]|i', '', $url);
  3. if (empty($url)/* && empty($email)*/) {
  4.     $ret .= $author;
  5. }else{
  6.     $ret .= '<a href="';
  7.         if ($url) {
  8.             $url = str_replace(';//', '://', $url);
  9.             $url = (!strstr($url, '://')) ? 'http://'.$url : $url;
  10.             $url = preg_replace('/&([^#])(?![a-z]{2,8};)/', '&$1', $url);
  11.             $ret .= $url;
  12. //      } else {
  13. //          $ret .= 'mailto:'.antispambot($email);
  14.         }
  15.         $ret .= '" rel="external">' . $author . '</a>';
  16. }

108行目を除いて105行目から120行目をコメントアウト。
(116行目と117行目はコメントアウト済み)

結果、こうなる。

  1. //  $url = str_replace('http://url', '', $url);
  2. //  $url = preg_replace('|[^a-z0-9-_.?#=&;,/:~]|i', '', $url);
  3. //  if (empty($url)/* && empty($email)*/) {
  4.         $ret .= $author;
  5. //  }else{
  6. //      $ret .= '<a href="';
  7. //          if ($url) {
  8. //              $url = str_replace(';//', '://', $url);
  9. //              $url = (!strstr($url, '://')) ? 'http://'.$url : $url;
  10. //              $url = preg_replace('/&([^#])(?![a-z]{2,8};)/', '&$1', $url);
  11. //              $ret .= $url;
  12. //          } else {
  13. //              $ret .= 'mailto:'.antispambot($email);
  14. //          }
  15. //          $ret .= '" rel="external">' . $author . '</a>';
  16. //  }
Posted by muchag | Library & PlugIn & AddIn,PHP,WordPress |
初回投稿:2010-06-15 (火) 16:08:06 | 最終更新:2011-07-29 (金) 11:03:50

コメントはまだありません »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment