Drupal で、すべてのエントリーの数を数える、カウントする。

たとえば「公開しているすべてのブログエントリーの数」を数えるのには、以下のように SQL 文を発行する(このサイトのカテゴリブロックで実際に使っているもの)。
<?php

$count
= db_result(db_query("SELECT COUNT(*) FROM {node} WHERE type = 'blog' and status = '1'"));
print
'<ul>';
printf('<li><a href="/view/all" title="すべてのエントリー一覧を表示します。">すべて (%d) </a></li>', $count);
ptint '</ul>';

?>
ポイントは、SQL 文の WHERE 句で、type = 'blog' とコンテンツタイプ(英語名)を指定しているのと、status='1'は「公開(published)」を表しているところ。 ・・・って、API とかもっとスマートな方法はないのか?と思ったのだが、https://drupal.org/ で検索して調べても、上のような方法しか見つからなかった。ほかにいい方法があれば教えてください。
トラックバック URL: https://perltips.twinkle.cc/trackback/269