diff --git a/metatag_facebook/metatag_facebook.module b/metatag_facebook/metatag_facebook.module index 5ecdf50..d4942cb 100644 --- a/metatag_facebook/metatag_facebook.module +++ b/metatag_facebook/metatag_facebook.module @@ -13,6 +13,13 @@ function metatag_facebook_ctools_plugin_api($owner, $api) { } } +/** + * Implements hook_preprocess_html(). + */ +function metatag_facebook_preprocess_html(&$variables) { + $variables['rdf_namespaces'] .= "\n xmlns:fb=\"http://ogp.me/ns/fb#\""; +} + /* fb:admins fb:app_id diff --git a/metatag_opengraph/metatag_opengraph.metatag.inc b/metatag_opengraph/metatag_opengraph.metatag.inc index c1101be..a1dda98 100644 --- a/metatag_opengraph/metatag_opengraph.metatag.inc +++ b/metatag_opengraph/metatag_opengraph.metatag.inc @@ -40,8 +40,11 @@ function metatag_opengraph_metatag_bundled_config_alter(array &$configs) { case 'node': $config->config += array( + 'article:modified_time' => array('value' => '[node:changed:custom:c]'), + 'article:published_time' => array('value' => '[node:created:custom:c]'), 'og:description' => array('value' => '[node:summary]'), 'og:title' => array('value' => '[node:title]'), + 'og:updated_time' => array('value' => '[node:changed:custom:c]'), ); break; @@ -104,6 +107,22 @@ function metatag_opengraph_metatag_info() { 'weight' => ++$weight, ) + $tag_info_defaults; + $info['tags']['og:determiner'] = array( + 'label' => t('Determiner'), + 'description' => t("The word that appears before the content's title in a sentence. The default ignores this value, the 'Automatic' value should be sufficient if this is actually needed."), + 'weight' => ++$weight, + 'form' => array( + '#type' => 'select', + '#options' => array( + 'auto' => 'Automatic', + 'a' => 'A', + 'an' => 'An', + 'the' => 'The', + ), + '#empty_option' => t('- Ignore -'), + ), + ) + $tag_info_defaults; + $info['tags']['og:description'] = array( 'label' => t('Open Graph description'), 'description' => t('A one to two sentence description of your page.'), @@ -130,6 +149,63 @@ function metatag_opengraph_metatag_info() { $info['tags']['og:type']['form']['#element_validate'] = array('select_or_other_element_validate'); } + $info['tags']['article:publisher'] = array( + 'label' => t('Open Graph article publisher'), + 'description' => t("Links an article to a publisher's Facebook page."), + 'weight' => ++$weight, + ) + $tag_info_defaults; + + $info['tags']['article:author'] = array( + 'label' => t('Open Graph article author'), + 'description' => t("Links an article to an author's Facebook profile, should be either URLs to the author's profile page or their Facebook profile IDs."), + 'multiple' => TRUE, + 'weight' => ++$weight, + ) + $tag_info_defaults; + + $info['tags']['article:section'] = array( + 'label' => t('Section'), + 'description' => t('The primary section of this website the content belongs to.'), + 'weight' => ++$weight, + ) + $tag_info_defaults; + + $info['tags']['article:tag'] = array( + 'label' => t('Tag(s)'), + 'description' => t('Appropriate keywords for this content.'), + 'multiple' => TRUE, + 'weight' => ++$weight, + ) + $tag_info_defaults; + + $info['tags']['article:published_time'] = array( + 'label' => t('Publication date & time'), + 'description' => t("The date this content was published on, with an optional time value. Needs to be in ISO 8601 format."), + 'weight' => ++$weight, + ) + $tag_info_defaults; + + $info['tags']['article:modified_time'] = array( + 'label' => t('Article modification date & time'), + 'description' => t("The date this content was last modified, with an optional time value. Needs to be in ISO 8601 format."), + 'weight' => ++$weight, + ) + $tag_info_defaults; + + $info['tags']['article:expiration_time'] = array( + 'label' => t('Expiration date & time'), + 'description' => t("The date this content will expire, with an optional time value. Needs to be in ISO 8601 format."), + 'weight' => ++$weight, + ) + $tag_info_defaults; + + $info['tags']['og:updated_time'] = array( + 'label' => t('Content modification date & time'), + 'description' => t("The date this content was last modified, with an optional time value. Needs to be in ISO 8601 format. Can be the same as the 'Article modification date' tag."), + 'weight' => ++$weight, + ) + $tag_info_defaults; + + $info['tags']['og:see_also'] = array( + 'label' => t('See also'), + 'description' => t('URLs to related content.'), + 'multiple' => TRUE, + 'weight' => ++$weight, + ) + $tag_info_defaults; + $info['tags']['og:image'] = array( 'label' => t('Open Graph image'), 'description' => t('An image URL which should represent your object within the graph. The image must be at least 50px by 50px and have a maximum aspect ratio of 3:1. Supports PNG, JPEG and GIF formats.'), diff --git a/metatag_opengraph/metatag_opengraph.module b/metatag_opengraph/metatag_opengraph.module index 67c3457..6e4c58f 100644 --- a/metatag_opengraph/metatag_opengraph.module +++ b/metatag_opengraph/metatag_opengraph.module @@ -9,6 +9,9 @@ function metatag_opengraph_preprocess_html(&$variables) { if (!module_exists('rdf')) { $variables['rdf_namespaces'] .= "\n xmlns:og=\"http://ogp.me/ns#\""; } + + // Need an extra namespace for the "article" tags. + $variables['rdf_namespaces'] .= "\n xmlns:article=\"http://ogp.me/ns/article#\""; } /**