WordPress 3.0: Commented entry listの動作不具合修正
ブログソフトウェア「WordPress」のバージョンを3.0に上げたら、愛用していたプラグイン「Commented entry list」が動かなくなってしまったので、ソースを修正して対応したよ。
問題点
うちのブログのサイドバーには「最近のコメント」というのが表示されてるんだけど、ここは前述のプラグイン「Commented entry list」が表示している部分なのね。
ところがWordPress本体を3.0にアップデートしたら、最近のコメントとして「No Response」しか表示されなくなってしまいました。
原因調査
さっそく原因を調査したところ、「WordPress3.0リリース&Commented entry listが動かなくなった場合の対処方法。 | ごみおきば」経由で、「WordPress 3.0 RC1 日本語版 リリース ≪ REIMA’s Blog」に到達。
曰く、Commented entry listで「$tablecommentsと$tablepostsにテーブル名が入っていない」のが原因らしい。
解決方法
Commented entry listのソースを修正して、$tablecommentsと$tablepostsに正しい値が入るようにすれば良いみたい。
具体的にはget_recently_commented関数と、get_recently_trackbacked関数の先頭で変数定義を行っているので、この2ブロックを変更するようです。
元ソースはこんな感じ。
function get_recently_commented($limit = 10) { global $wpdb, $tablecomments, $tableposts; : : function get_recently_trackbacked($limit = 10) { global $wpdb, $tablecomments, $tableposts;
上記2ブロックの関数先頭にある変数定義を、以下のように書き換えます。
function get_recently_commented($limit = 10) { global $wpdb; $tablecomments = $wpdb->comments; $tableposts = $wpdb->posts; : : function get_recently_trackbacked($limit = 10) { global $wpdb; $tablecomments = $wpdb->comments; $tableposts = $wpdb->posts;
これで無事にプラグインが正常に動作するようになりました。良かった、良かった。
ディスカッション
コメント一覧
ちょうど、同じ問題で悩んでいたところでした。
こちらの情報のおかげで、きちんと表示されるようになりました。
ありがとうございます!
お役に立ったようなら何よりです :wink: