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#\"";
}
/**