metatag-8.x-1.x-dev/metatag_favicons/metatag_favicons.module
metatag_favicons/metatag_favicons.module
<?php
/**
* @file
* Custom hook implementations for Metatag Favicons.
*/
use Drupal\Core\Routing\RouteMatchInterface;
use Drupal\Core\StringTranslation\TranslatableMarkup;
/**
* Implements hook_help().
*/
function metatag_favicons_help($route_name, RouteMatchInterface $route_match) {
switch ($route_name) {
// Main module help for the metatag_favicons module.
case 'help.page.metatag_favicons':
$output = '';
$output .= '<h3>' . (string) new TranslatableMarkup('About') . '</h3>';
$output .= '<p>' . (string) new TranslatableMarkup('Provides support for many different favicons.') . '</p>';
return $output;
default:
}
}
/**
* Implements hook_page_attachments_alter().
*/
function metatag_favicons_page_attachments_alter(array &$attachments) {
// Check html_head_link on attached tags in head.
if (!isset($attachments['#attached']['html_head_link'])) {
return;
}
// Remove the default shortcut icon if one was set by Metatag.
$valid_meta_tags = ['shortcut icon', 'shortcut_icon', 'icon'];
foreach ($attachments['#attached']['html_head'] as $element) {
if (isset($element[1]) && in_array($element[1], $valid_meta_tags)) {
foreach ($attachments['#attached']['html_head_link'] as $key => $value) {
if (isset($value[0]['rel']) && in_array($value[0]['rel'], $valid_meta_tags)) {
unset($attachments['#attached']['html_head_link'][$key]);
}
}
}
}
}
