Как правильно добавить favicon в WordPress без плагина?

29 февр. 2012 г., 17:14:41
Просмотры: 26.4K
Голосов: 14

Как правильно добавить favicon в WordPress без использования плагина?

Достаточно ли просто разместить файл с названием favicon.ico с моей иконкой в корневой директории сайта?

Нужен ли также этот код?

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

Некоторые говорят, что нужен такой код:

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

А это для iPhone?

<link rel="apple-touch-icon" href="/customIcon.png" />

Есть ли предложения по программному обеспечению для создания или конвертации из миниатюры? И какие типы файлов поддерживаются - только .ico?

Я видел другую тему с множеством методов, и мне было неясно, какая лучшая практика для этой простой задачи: Как изменить favicon в WordPress?

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

Почему ограничение без использования плагинов?

Chip Bennett Chip Bennett
29 февр. 2012 г. 17:36:58

Вопрос содержит, на мой взгляд, слишком много информации не по теме. Голосую за закрытие.

kaiser kaiser
29 февр. 2012 г. 20:54:28
Все ответы на вопрос 4
3
20

Обычно я помещаю иконки в папку images внутри своей темы, поэтому я бы использовал:

function kia_add_favicon(){ ?>
    <!-- Пользовательские фавиконы -->
    <link rel="shortcut icon" href="<?php echo get_stylesheet_directory_uri();?>/images/favicon.ico"/>
    <link rel="apple-touch-icon" href="<?php echo get_stylesheet_directory_uri(); ?>/apple-touch-icon.png">
    <?php }
add_action('wp_head','kia_add_favicon');

изменено: добавлена иконка для apple touch по комментарию, и уточнено, что если вы используете дочернюю тему, но фавикон находится в папке изображений родительской темы, следует использовать

get_template_directory_url();

если вы не используете дочернюю тему, то подойдет любой вариант

Я обычно создаю свои фавиконы здесь: http://tools.dynamicdrive.com/favicon/

29 февр. 2012 г. 17:28:14
Комментарии

В случае дочерней темы, не лучше ли использовать get_template_directory_uri? Отвечая на исходный вопрос, я добавил иконку Apple размером 114x114px вот так: <link rel="apple-touch-icon" href="<?php echo get_template_directory_uri(); ?>/apple-touch-icon.png">. Также есть множество документации по добавлению фавиконов и иконок Apple здесь: https://github.com/h5bp/html5-boilerplate

User User
29 февр. 2012 г. 20:37:40

Думаю, html5bp отошел от добавления их в заголовок. Если поместить иконки с правильными названиями в корень сайта, большинство браузеров найдут их автоматически. Но чтобы ответить на ваш вопрос: дочерняя тема против родительской... на самом деле это зависит от того, где вы храните изображение фавикона. get_template_directory_uri() получает URL родительской темы, а stylesheet_directory_uri() получает URL дочерней темы, ЕСЛИ это дочерняя тема, или URL родительской темы, если она активна.

helgatheviking helgatheviking
29 февр. 2012 г. 20:41:47

Ты прав. Я их перепутал... html5bp действительно убрал их из заголовка, но в исходниках все еще есть отличная документация (в основном про иконки Apple) mathiasbynens.be/notes/touch-icons

User User
29 февр. 2012 г. 21:01:18
2
11

На самом деле, правильный способ добавить фавикон — это использовать плагин, чтобы добавленный фавикон не зависел от темы. По сути, используйте метод @helgatheviking, но поместите его в пользовательский плагин, а не в файл functions.php вашей темы.

Примечание: если вы используете домен верхнего уровня, например, example.com, просто поместите файл favicon.ico в корневую директорию сайта, и всё готово. Для любых других случаев создайте пользовательский плагин.

Примечание 2: См. Trac Ticket #16434. В ядро WordPress добавляется опция для фавикона сайта, и первая версия, надеюсь, появится в предстоящем релизе 3.4.

29 февр. 2012 г. 17:42:04
Комментарии

в один из этих дней мне нужно будет использовать сниппет отто. к счастью, люди не меняют свою тему ежедневно, но я полностью согласен, что фавиконы (и типы записей и т.д.) не должны зависеть от темы. с нетерпением жду, когда это появится в ядре.

helgatheviking helgatheviking
29 февр. 2012 г. 20:51:15

Это даже не совсем "сниппет". Представьте это как файл functions.php темы, с определенным phpDoc-заголовком, который находится в wp-content\plugins\some-plugin\name вместо wp-content\themes\some-theme-name.

Chip Bennett Chip Bennett
29 февр. 2012 г. 21:34:33
1

Многое зависит от используемой вами темы. Если тема определяет вашу фавиконку (с помощью тега <link> в заголовке), тогда вам нужно заменить файл favicon.ico в вашей теме, чтобы изменить его.

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

29 февр. 2012 г. 17:31:30
Комментарии

Определенно лучший ответ с <link rel="icon" type="image/x-icon" href="favicon.ico"> внутри тега <head> в файле header.php вашей дочерней темы.

Isak La Fleur Isak La Fleur
25 нояб. 2021 г. 12:36:05
2
29 февр. 2012 г. 20:53:54
Комментарии

Мы немного задерживаемся - возможно, это не будет выпущено в версии 3.4. Узнаем больше после сегодняшней встречи.

Tom Auger Tom Auger
7 мар. 2012 г. 17:40:14

@TomAuger Спасибо, что поддерживаете актуальность. Не стесняйтесь просто редактировать ответ, когда у вас будет полная информация о статусе.

kaiser kaiser
7 мар. 2012 г. 21:17:08