カテゴリー
XOOPS

XOOPS版WordPressの投稿数を表示するカスタムブロック

total-entry-count.png

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割ぐらい分にあたるエントリーを書いていることになるのですね。
しかし、この三年あまりたいしたことやってないなー。なんかもっとドラスティックにドラマティック(笑)になんか変化がないといかんですわ。

この記事を書いた人: A-tak

A-tak.com(えいたっく どっとこむ)の管理人。
Apple野郎なおっさんでしたが、ちょっと最近のAppleには飽き気味。
A-tak.comは2002年2月から運営(前身のサイトは1999年3月から)。今年で18年目!

Twitter
Mastodon
Facebook