web-dev-qa-db-ja.com

カテゴリ内の記事数を取得する

カテゴリid = 13内の記事の数を取得したいと思いました。

PHPでこれをどのように実現できますか?

私は何も探していませんでした。

3
azhpo

SQL経由で質問できます。それは次のようなものでなければなりません

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('COUNT(*)');
$query->from($db->quoteName('#__content'));
$query->where($db->quoteName('catid')." = 13";

// Reset the query using our newly populated query object.
$db->setQuery($query);
$count = $db->loadResult();

(このコードは this source から変更されています)

また、記事が公開されているか、ユーザーに表示されているかどうかも確認する必要があります。

2
lars k.

次のコードを試してください:

$model = JModelLegacy::getInstance('Articles', 'ContentModel');
$model->setState('filter.category_id', 13); // Set category ID here
$articles = $model->getItems();

$num_articles = count($articles); // Returns the number of articles in category

$num_articlesには、指定されたカテゴリ(サブカテゴリは含まない)の記事の数が含まれます。

1
johanpw