Você está procurando a EntityFieldQuery
turma :
$query = new EntityFieldQuery;
$query->entityCondition('entity_type', 'node')
->entityCondition('bundle', 'article')
->fieldCondition('field_my_field', 'value', 'a_value')
->propertyCondition('status', 1)
->fieldOrderBy('field_my_field', 'value', 'DESC');
$results = $query->execute();
if (isset($results['node'])) {
$nodes = node_load_multiple(array_keys($results['node']));
foreach ($nodes as $nid => $node) {
// Do something with the node object
}
}
O código acima carrega todas as entidades do nó com um tipo de conteúdo article
. Ele filtra em um campo personalizado chamado field_my_field
e a status
propriedade do nó. Eu apenas coloquei isso para referência, você não precisaria carregar todos os nós sem nenhum filtro. O mesmo vale para a ordem por declaração.
Espero que ajude.