Как правильно добавить favicon в WordPress без плагина?
Как правильно добавить 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?

Обычно я помещаю иконки в папку 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/

В случае дочерней темы, не лучше ли использовать 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

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

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

На самом деле, правильный способ добавить фавикон — это использовать плагин, чтобы добавленный фавикон не зависел от темы. По сути, используйте метод @helgatheviking, но поместите его в пользовательский плагин, а не в файл functions.php
вашей темы.
Примечание: если вы используете домен верхнего уровня, например, example.com
, просто поместите файл favicon.ico
в корневую директорию сайта, и всё готово. Для любых других случаев создайте пользовательский плагин.
Примечание 2: См. Trac Ticket #16434. В ядро WordPress добавляется опция для фавикона сайта, и первая версия, надеюсь, появится в предстоящем релизе 3.4.

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

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

Будьте терпеливы, ядро здесь чтобы помочь
Это запланированная функция, за которую отвечают два разработчика ядра, она появится в версии 3.4.

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