diff --git a/metatag.module b/metatag.module index 0774385..8f8d54a 100644 --- a/metatag.module +++ b/metatag.module @@ -1144,10 +1144,22 @@ function metatag_field_attach_form($entity_type, $entity, &$form, &$form_state, // Grab the meta tags for display in the form if there are any. if (isset($entity->metatags)) { - // Determine the entity language as per http://drupal.org/node/1626346. - $entity_language = function_exists('entity_language') ? - entity_language($entity_type, $entity) : $entity->language; + if (function_exists('entity_language')) { + $entity_language = entity_language($entity_type, $entity); + } + // If nothing was loaded via entity_language, or this is an older version + // of D7, try some failover options. + if (empty($entity_language)) { + // The entity might have a 'language' value. + if (!empty($entity->language)) { + $entity_language = $entity->language; + } + // Final option, use the global language variable. + else { + $entity_language = $GLOBALS['language_content']->language; + } + } // Determine from where we should get the tags. if (!(isset($entity->metatags[$langcode]) || isset($entity->metatags[$entity_language]))) {