Bu işlev benim için çalıştı:
/**
* Return the term id for a given term name.
*/
function _get_tid_from_term_name($term_name) {
$vocabulary = 'tags';
$arr_terms = taxonomy_get_term_by_name($term_name, $vocabulary);
if (!empty($arr_terms)) {
$arr_terms = array_values($arr_terms);
$tid = $arr_terms[0]->tid;
}
else {
$vobj = taxonomy_vocabulary_machine_name_load($vocabulary);
$term = new stdClass();
$term->name = $term_name;
$term->vid = $vobj->vid;
taxonomy_term_save($term);
$tid = $term->tid;
}
return $tid;
}
Başka bir kelime dağarcığı kullanıyorsanız (Etiketlerden farklı), satırın üstündeki kodda değişiklik yapın:
$vocabulary = 'tags';
$foo[0]->tid
TID'lerle anahtarlanmış bir dizi döndürdüğü için hiçbir şey yapmaz. Yani TID almak için TID ihtiyacım var, ya daforeach()
sadece bir öğe üzerinde olsa bile yapmak için ? Aksi takdirde:Undefined offset: 0