You are here

function _metatags_quick_get_vocabulary_keywords in Meta tags quick 7.2

Same name and namespace in other branches
  1. 8.3 metatags_quick_extra.module \_metatags_quick_get_vocabulary_keywords()

Helper function to return an array of keywords for the given node and vocabulary

Parameters

string $vocabulary_name:

stdObject $node:

1 call to _metatags_quick_get_vocabulary_keywords()
metatags_quick_extra_html_head_alter in ./metatags_quick_extra.module

File

./metatags_quick_extra.module, line 139
import nodewords data to metatags_quick fields @author Valery L. Lourie <http://drupal.org/user/239562>

Code

function _metatags_quick_get_vocabulary_keywords($vocabulary_name, $node) {

  // Identify the correct taxonomy field
  $keywords = array();
  $fields = field_info_fields();
  $field_name = '';
  foreach ($fields as $field) {
    if ($field['type'] == 'taxonomy_term_reference' && isset($field['bundles']['node']) && in_array($node->type, $field['bundles']['node']) && $field['settings']['allowed_values'][0]['vocabulary'] == $vocabulary_name) {
      $field_name = $field['field_name'];
      break;
    }
  }
  if ($field_name) {
    $language = field_language('node', $node, $field_name);
    if (!empty($node->{$field_name})) {
      $node_terms = $node->{$field_name}[$language];
      foreach ($node_terms as $node_term) {
        $term = taxonomy_term_load($node_term['tid']);
        if (isset($term->name)) {
          $keywords[] = $term->name;
        }
      }
    }
  }
  return $keywords;
}