diff --git a/core/includes/theme.inc b/core/includes/theme.inc index d0458af..3309446 100644 --- a/core/includes/theme.inc +++ b/core/includes/theme.inc @@ -925,17 +925,24 @@ function theme_get_setting($setting_name, $theme = NULL) { // Search for an svg filetype first, then other common filetypes. if ($cache[$theme]->get('logo.use_default')) { - if (file_exists($theme_object->getPath() . '/logo.svg')) { - $cache[$theme]->set('logo.url', file_create_url($theme_object->getPath() . '/logo.svg')); + if ($theme_logo_cache = \Drupal::cache()->get('theme_logo')) { + $cache[$theme]->set('logo.url', $theme_logo_cache->data); } - elseif (file_exists($theme_object->getPath() . '/logo.png')) { - $cache[$theme]->set('logo.url', file_create_url($theme_object->getPath() . '/logo.png')); - } - elseif (file_exists($theme_object->getPath() . '/logo.jpg')) { - $cache[$theme]->set('logo.url', file_create_url($theme_object->getPath() . '/logo.jpg')); - } - elseif (file_exists($theme_object->getPath() . '/logo.gif')) { - $cache[$theme]->set('logo.url', file_create_url($theme_object->getPath() . '/logo.gif')); + else { + if (file_exists($theme_object->getPath() . '/logo.svg')) { + $logo_url = file_create_url($theme_object->getPath() . '/logo.svg'); + } + elseif (file_exists($theme_object->getPath() . '/logo.png')) { + $logo_url = file_create_url($theme_object->getPath() . '/logo.png'); + } + elseif (file_exists($theme_object->getPath() . '/logo.jpg')) { + $logo_url = file_create_url($theme_object->getPath() . '/logo.jpg'); + } + elseif (file_exists($theme_object->getPath() . '/logo.gif')) { + $logo_url = file_create_url($theme_object->getPath() . '/logo.gif'); + } + \Drupal::cache()->set('theme_logo', $logo_url); + $cache[$theme]->set('logo.url', $logo_url); } } elseif ($logo_path) {