XOOPSのカスタムブロックでブログのエントリー数を表示してみました。
最初、PHPの本見ながらこんな感じで作りました。
<?php
$conn = mysql_connect(“localhost”,”user”,”password”);
mysql_select_db(“xoops”);
$sql = ‘SELECT count(ID) As post_count FROM `xoops_wp_posts`’;
$res = mysql_query($sql);while ($value = mysql_fetch_assoc($res)) {
print $value[“post_count”];
}
?>
DBに接続してクエリ投げてみたのですが、XOOPS内のPHPスクリプトはまず、<?php>は必要ないようです。
そして、こちらを見るともっと良い方法があったみたいなので、それで修正してみました。
global $xoopsUser,$xoopsDB;
$sql = “SELECT count(p.ID) As post_count FROM “.$xoopsDB->prefix(‘wp_posts’).” p WHERE p.post_status=’publish’ AND p.post_date <= NOW()”;
list($count) =$xoopsDB->fetchRow($xoopsDB->queryF($sql));
echo”<b>$count</b> 件<br />”;
ユーザー、パスワード、DBはこんな感じで取れるんですねー。なんかすっきりして良かった。カウントも未来の分は含めないようにしてみました。
うん、ばっちり。
[2006.10.9追記]
publishの記事のみカウントするようにしました。privateや一時保存状態の記事はカウントしません。
現在で総エントリー数は882件。もう少し行ってると思ったんですけど、こんなもんなんですね。
七月で、もう丸三年ぐらいブログを続けてることになるのですが、そう考えると、年平均で294件だから、毎日ではないけど年間の8割ぐらい分にあたるエントリーを書いていることになるのですね。
しかし、この三年あまりたいしたことやってないなー。なんかもっとドラスティックにドラマティック(笑)になんか変化がないといかんですわ。