diff --git a/CHANGELOG.md b/CHANGELOG.md index c293c0c990..e29f5d10bb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ * Added a new `Medium::exists()` method to check for file existence 1. [](#improved) * Better `Page.collection()` filtering support including ability to have non-published pages in collections +1. [](#bugfix) + * Fixed OpenGraph metatags so only Twitter uses `name=`, and all others use `property=` [#1849](https://github.com/getgrav/grav/issues/1849) # v1.4.0-rc.1 ## 01/22/2018 diff --git a/system/src/Grav/Common/Page/Page.php b/system/src/Grav/Common/Page/Page.php index ec66dbefa1..8bcb41f961 100644 --- a/system/src/Grav/Common/Page/Page.php +++ b/system/src/Grav/Common/Page/Page.php @@ -1525,12 +1525,13 @@ public function metadata($var = null) $separator = strpos($key, ':'); $hasSeparator = $separator && $separator < strlen($key) - 1; $entry = [ - 'name' => $key, 'content' => htmlspecialchars($value, ENT_QUOTES, 'UTF-8') ]; - if ($hasSeparator) { + if ($hasSeparator && !Utils::startsWith($key, 'twitter')) { $entry['property'] = $key; + } else { + $entry['name'] = $key; } $this->metadata[$key] = $entry;