taxonomy_term_count_nodes
modules/taxonomy/taxonomy.module, строка 1065
- Версии
- 5 – 6
taxonomy_term_count_nodes($tid, $type = 0)
Считает число опубликованных нод, содержащих терм.
Параметры
$tid
ID терма
$type
тип ноды $node
->type. Если задан, taxonomy_term_count_nodes считает только ноды заданного типа $type
содержащие терм $tid
.
Возвращаемое значение
int Целое число отображающее количество нод. Результаты статически кэшируются.
Код
<?php
function taxonomy_term_count_nodes($tid, $type = 0) {
static $count;
if (!isset($count[$type])) {
// $type == 0 always evaluates TRUE if $type is a string
if (is_numeric($type)) {
$result = db_query(db_rewrite_sql('SELECT t.tid, COUNT(n.nid) AS c FROM {term_node} t INNER JOIN {node} n ON t.nid = n.nid WHERE n.status = 1 GROUP BY t.tid'));
}
else {
$result = db_query(db_rewrite_sql("SELECT t.tid, COUNT(n.nid) AS c FROM {term_node} t INNER JOIN {node} n ON t.nid = n.nid WHERE n.status = 1 AND n.type = '%s' GROUP BY t.tid"), $type);
}
$count[$type] = array();
while ($term = db_fetch_object($result)) {
$count[$type][$term->tid] = $term->c;
}
}
foreach (_taxonomy_term_children($tid) as $c) {
$children_count += taxonomy_term_count_nodes($c, $type);
}
return $count[$type][$tid] + $children_count;
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии