WP-カスタマイズ

[WP] Widgetでコメントだけを表示

WordPressでコメントとトラックバックが同一扱いされる件で、個々の記事に関しては前のエントリで解決したのだが、サイドバーなどで利用するWidgetで「最近のコメント」を表示するものがあるが、それもコメントとトラックバックが同一に表示されるのでなんとかしてみる。

「最近のコメント」を表示するWidgetはWPのいつの頃だったか忘れてしまったが、標準である(と思う)Widgetなので
/wp-includes/widgets.php 内で wp_widget_recent_comments 関数で定義されている。

一番手っ取り早いのはコメントデータを読み込む時にトラックバック(ピンバック)のデータを読まなくすればいいので、sql文の所で「トラックバックとピンバックのデータはいらねーよ」と指定すればOK。

/wp-oncluds/widgets.php 980行目あたり

if ( !$comments = wp_cache_get( 'recent_comments', 'widget' ) ) {
  $comments = $wpdb->get_results("SELECT comment_author, comment_author_url, comment_ID, comment_post_ID FROM $wpdb->comments WHERE comment_approved = '1' AND comment_type<>'pingback' AND comment_type<>'trackback' ORDER BY comment_date_gmt DESC LIMIT $number");
  wp_cache_add( 'recent_comments', $comments, 'widget' );

具体的には
「AND comment_type<>‘pingback’ AND comment_type<>‘trackback’」を ORDER BY句の前に挿入する。
(正確には『WHERE句に条件を追加』なんだけれどねw)

*注意
データベースを操作する部分に手を加えるので、誤った指定をしたりするとデータベースのデータが消える可能性もあるので、内容の意味がよく分からない・・・って方はさわらない方がいいかと思います;;

[WP] コメントとトラックバックを分ける

WordPressの動作で解せない部分の一つがコメントとトラックバックが同一扱いされることだったり。

気になる点ではあったのだけれど、ずーっとスパム以外ではトラックバックが皆無だったので気にしてなかったのだが、先日とある記事でトラックバックがあったのでちゃんとしようと思い立った次第。

WordPress: コメントとトラックバックを分けるのにプラグインは不要
(Nire.Com)

上記サイトを参考にして、利用しているテーマの comments.php を編集すればOK。

[WP] WordPress2.6 with Gears

先日公開されたWordpress2.6の日本語版も出たので早速インストール。

WordPress | 日本語 ≫ WordPress 2.6

これといったトラブルもなく、独自編集部分も問題なく動いたので、2.6になって一番気になっている部分、

Gearsに切り替える: ブログを高速化する

Gears は、Google によって始められたオープンソースのブラウザ拡張プロジェクトで、開発者に通常では実現できない機能を可能にしてくれます。将来 Gears を使ってできるようになることはたくさんありますが、このリリースでは あなたのコンピュータに通常使われる JavaScript や CSS をキャッシュしたり、コピーを置いたりする”ローカルサーバー”と呼ばれる機能を入れています。これにより、ページのロードを数秒スピードアップできます(ページがパッとすぐに表示されます!)。Firefox や Internet Explorer に Gears をインストールできます。Safari や Opera へのサポートは現在滞っています。WordPress はGearsなしでもよく動作しますが、インストールしていればもうすこしよくなるでしょう。

を試してみた。

GoogleGearsをインストールし、WP管理画面の右上にある「ターボ」をクリック。
必要なファイルをローカルに保存して

Gearsが有効になった。

Gearsが有効に。

軽く管理画面を操作した感じではあるが、

なんとなく、軽くなっている・・・・かも?

って感じ。

しばらく使ってみて様子を見てみよう。

続きを読む