Как изменить фавикон в WordPress?

15 февр. 2011 г., 01:11:03
Просмотры: 15.3K
Голосов: 3

Я ищу способ изменить фавикон в WordPress. Есть идеи как это сделать?

4
Комментарии

У вас есть один, у вас нет ни одного? Обычно в WordPress его нет, поэтому я и спрашиваю.

hakre hakre
15 февр. 2011 г. 02:36:18

@hakre на данный момент у меня нет

RoflcoptrException RoflcoptrException
15 февр. 2011 г. 02:39:16

Версия WordPress может влиять на favicon.ico по умолчанию, и я добавил собственный ответ, чтобы отразить некоторые детали, которые не нашел в существующих ответах. Надеюсь, это еще будет полезно.

hakre hakre
15 февр. 2011 г. 13:10:03

Я нашел полезную информацию об истории, совместимости и различных способах добавления: http://en.wikipedia.org/wiki/Favicon и http://en.wikipedia.org/wiki/ICO_(file_format)

edelwater edelwater
15 февр. 2011 г. 22:20:06
Все ответы на вопрос 7
0

Вам следует добавить этот код в файл header.php вашей темы (код соответствует стандарту W3C):

<link rel="icon" type="image/png" href="http://yourblog.com/favicon.png">
15 февр. 2011 г. 03:09:47
0

Для обеспечения совместимости рекомендуется использовать формат иконок от Microsoft.

Просто разместите файл с названием favicon.ico, содержащий вашу иконку, в корневой директории вашего сайта.

Это важно, так как многие браузеры запрашивают его напрямую.

Конечно, следует также добавить соответствующий метатег в вывод вашего сайта, который размещается в секции head HTML-документа:

<link rel="shortcut icon" href="http://example.com/favicon.ico" type="image/x-icon"/>

Это обеспечит работу иконки в большинстве браузеров и предотвратит появление ошибок 404 в логах сервера, так как не все пользовательские агенты учитывают указанный в метатеге путь.

Favicon в WordPress

В WordPress для добавления элементов в секцию head используется хук wp_head (Wordpress Codex):

add_filter('wp_head', function(){ 
    printf("%s\n", '<link rel="shortcut icon" href="http://example.com/favicon.ico" type="image/x-icon"/>');
    });

Начиная с версии 3, WordPress по умолчанию включает пустой файл favicon.ico.

Если вам интересны подробности, то обсуждение этого вопроса велось в тикетах Should include default favicon (Ticket #3426) и Discard requests for favicon.ico (Ticket #11412). В результате было принято решение о включении виртуального файла /favicon.ico нулевой длины (если WordPress установлен в корне сервера).

По сути, это означает, что в стандартной конфигурации без пользовательского файла /favicon.ico браузер не сможет загрузить иконку.

15 февр. 2011 г. 13:07:30
2

Просто загрузите файл "favicon.ico" в корневую директорию вашего сайта, и всё готово! Хотя ответ Фернандо тоже работает:

<link rel="icon" type="image/png" href="http://yourblog.com/favicon.png">

А чтобы добавить фавиконки для устройств Apple, добавьте это в раздел head:

<link rel="apple-touch-icon" href="/customIcon.png"/>
15 февр. 2011 г. 04:18:38
Комментарии

Спасибо, теперь он отображается в админке, но на сайте показывается другой фавикон.

RoflcoptrException RoflcoptrException
15 февр. 2011 г. 12:02:24

Очистите кеш.

Abhishek Bhardwaj Abhishek Bhardwaj
13 окт. 2011 г. 23:56:48
0

Если вы поддерживаете IE 6, небольшое предупреждение: фавикон не отображается на панели инструментов, пока URL не будет добавлен в «Избранное» (закладки). Кроме того, фавиконы хранятся в кэше IE, поэтому будут удалены при очистке кэша или при его периодическом автоматическом удалении.

15 февр. 2011 г. 11:49:15
4

Чтобы список ответов был полным, в предыдущих ответах упоминалось (см. также http://en.wikipedia.org/wiki/Favicon) и ваш выбор:

  1. Добавление /favicon.ico в корень (http://en.wikipedia.org/wiki/Favicon). Здесь можно добавлять только иконки в формате ICO, например, /favicon.png не будет работать. Учтите, что очень старые версии IE поддерживают только формат MS ICO.
  2. Тег с rel=shortcut icon: кросс-браузерная поддержка с оговорками. Многие сайты предпочитают этот вариант. Можно использовать другие форматы файлов, такие как PNG, GIF, ICO, JPG и JPEG. Также можно использовать анимированные GIF-изображения.
  3. Тег с rel=icon: здесь можно указать MIME-тип.
  4. Встраивание непосредственно в страницу с использованием base64-кодирования, например: href="data:image/x-icon;base64,iVBORw0==". Этот метод поддерживается не всеми браузерами, но его используют многие сайты.

    • Обратите внимание на указанный MIME-тип. Официальный стандарт для иконок — "image/vnd.microsoft.icon", но для версий IE 6 и ниже требуется "image/x-icon".
    • Также замечено, что указанный MIME-тип не всегда соответствует реальному формату файла. Например, может быть указан ICO, но фактически использоваться PNG. Убедитесь в правильности MIME-типа.
    • Если вы хотите, чтобы ваша иконка отображалась в сервисе Google Favicon, разместите файл favicon.ico в корне сайта.
    • Дополнительная поддержка иконок: Помимо favicon.ico, существует множество других тегов для иконок, таких как Apple icon, link rel="avatar", link rel="pavatar" и другие.

С другой стороны, если я ищу фавикон:

P.S. Конечно, вы можете применить все эти методы для своего сайта, чтобы обеспечить максимальную поддержку ;)

15 февр. 2011 г. 22:46:16
Комментарии

К вашему сведению: rel, аналогично class, представляет собой список значений, разделенных пробелами. Это объединяет пункты 2 и 3 вашего вопроса в один. type всегда является опциональным, в случае ошибок отображения проверьте заголовки mime-type сервера для запроса /favicon.ico.

hakre hakre
16 февр. 2011 г. 10:58:22

@hakre: спасибо!! да. хм.... за исключением IE........: http://mathiasbynens.be/notes/rel-shortcut-icon он не рассматривает это как список значений, разделенных пробелами, поэтому "icon shortcut" не будет работать (хм, кроме IE9) (но я внезапно понял, зачем нужен shortcut: если вы хотите разные иконки на каждой странице)

edelwater edelwater
17 февр. 2011 г. 02:05:34

@hakre: всегда ли сервер возвращает правильный mime type? (я теперь сохраняю его, загружаю и выполняю exif_imagetype для проверки) я смутно помню какие-то случаи, когда получали bmp вместо jpeg

edelwater edelwater
17 февр. 2011 г. 02:15:01

не упоминайте HTML 5. Он ещё не готов для промышленного использования, текущая версия HTML — 4.01, и она отлично справляется. Однако, если вы беспокоитесь, можете добавить дополнительную ссылку — одну с rel="shortcut" и одну с rel="icon", указывающие на одно и то же местоположение. Даже с HTML 5, эта дискуссия уже из 2006 года

hakre hakre
17 февр. 2011 г. 13:36:59
0

Просто вставьте этот код в functions.php и замените href на путь к вашей фавиконке

function blog_favicon() {
echo '<link rel="Shortcut Icon" type="image/x-icon" href="'.get_bloginfo('wpurl').'/favicon.ico" />';
}
add_action('wp_head', 'blog_favicon');
2 сент. 2011 г. 14:58:59
0

Я использовал:

<link rel="shortcut icon" href="<?php echo get_template_directory_uri(); ?>/favicon.ico">

с файлом favicon.ico в корневой папке темы.

23 нояб. 2015 г. 16:23:42