Вы можете использовать следующий фрагмент, чтобы проверить, является ли поле пустым.
$info = field_info_field($field_name);
$function = $info['module'] . '_field_is_empty';
if (function_exists($function)) {
$value = field_get_items('node', $node, $field_name);
$is_empty = $function($value[0], $info);
}
Этот код безопаснее, поскольку разные поля считаются пустыми при разных условиях. См., Например, разницу между file_field_is_empty () , number_field_is_empty () и taxonomy_field_is_empty () : taxonomy_field_is_empty()
проверяет свойство tid$item
параметра, а number_field_is_empty()
проверяет свойство value того же параметра. Для пользовательских полей может потребоваться проверка более сложного условия, чтобы считать поле пустым.
Описание для hook_field_is_empty (), приведенное в документации, следующее:
Определите, что представляет собой пустой элемент для типа поля.