Хранение Favicon - какую папку следует использовать?
8
Этот вопрос не технический, а скорее "идеологический" - где в WP следует хранить favicon ("правильным" способом)? Должно ли оно быть в корне (где хранится wp-config.php) ИЛИ должно быть в папке текущей темы? Или следует сохранить 2 копии (что я не хочу делать)? Я знаю, что в любом случае будет работать и не приведет к ошибкам, но я хотел бы узнать лучше / правильно / более семантическим и т. Д. Способ.
Я бы сохранил его только в папке темы, если ожидал, что значок изменится при смене темы. Который я не
Фавикон является частью общей идентификации сайта, а не функцией CMS. Что делать, если вы используете программное обеспечение не-WP для запуска различных частей сайта - например, фотогалереи, форума или вики (или всего вышеперечисленного)?
Поместите значок в корень веб-сайта, и все пакеты программного обеспечения будут иметь к нему доступ, обычно автоматически (хотя вам, возможно, придется удалить жестко закодированные ссылки из отдельных тем).
(Изменить) Чтобы уточнить: если ссылка не указана, все современные веб-браузеры (кроме Seamonkey, хотя и существует опция для ее включения) автоматически ищут значок в корневом каталоге, то есть example.com/favicon.ico. Таким образом, нет причины добавлять элемент LINK, а веская причина этого не делать.
Кроме того, если элемент LINK искажен (скажем, имеет опечатку), или файл, расположенный там, поврежден или в формате, который браузер не понимает, браузер все равно будет искать /favicon.ico , поэтому файл не будет иметь в ваших логах будет 404 ошибки.
В одном случае уместно использовать ССЫЛКУ, если вы хотите использовать разные значки для разных страниц вашего сайта.
Более 2/3 профессиональных веб-сайтов указывают ссылку на значок. Сделайте вид -> источник на некоторых из ваших любимых. Вы думаете, они все делают это неправильно?
"Как вы думаете, они все делают это неправильно?" Прочитайте мой ответ выше, и вы точно поймете, что я думаю. Иногда есть веские причины, по которым значок favicon не может войти в корневой каталог (я указал один в своем ответе, но есть и другие). Но если у вас нет веской причины для перемещения значка и включения элемента LINK, тогда зачем вам это? Потому что все остальные делают это? Есть ли у профессиональных веб-сайтов, которые вы опросили, ПРИЧИНА, чтобы сделать это таким образом? Вы?
Дуг
7
Он всегда должен быть в корневой папке, тогда он будет работать независимо от того, явно ли вы на него ссылаетесь.
Вы также можете использовать это как функцию в вашей теме, functions.phpчтобы явно ссылаться на нее:
function my_favicon(){
echo '<link rel="shortcut icon" href="'. get_bloginfo('wpurl').'/favicon.ico" />';}
add_action('wp_head','my_favicon');
Несмотря на то, что здесь есть качественные ответы, я решил добавить два цента с другой точки зрения. Я управляю многими блогами и сайтами в среде WordPress MultiSite, где корневой каталог недоступен. В этих случаях лучше всего помещать значки в каталог тем, как рекомендует Кодекс WordPress .
Как рекомендует «Кодекс», вы имеете в виду. Кодекс - это редактируемое вики сообщество. Вы не должны воспринимать все как Евангелие. ;) Мне нравится создавать пользовательский плагин для создания моих значков для каждого сайта. Но тогда я люблю плагины.
Отто
Замечательно @ Отто, я отредактировал свой ответ, чтобы быть более ясным. Спасибо за исправление.
Мэтью Бойнс
0
Favicon не динамичен и не «конфликтует» ни с чем другим, учитывая это, я жестко запрограммировал его в header.php, а затем покончил с этим.
Он всегда должен быть в корневой папке, тогда он будет работать независимо от того, явно ли вы на него ссылаетесь.
Вы также можете использовать это как функцию в вашей теме,
functions.php
чтобы явно ссылаться на нее:источник
Несмотря на то, что здесь есть качественные ответы, я решил добавить два цента с другой точки зрения. Я управляю многими блогами и сайтами в среде WordPress MultiSite, где корневой каталог недоступен. В этих случаях лучше всего помещать значки в каталог тем, как рекомендует Кодекс WordPress .
источник
Favicon не динамичен и не «конфликтует» ни с чем другим, учитывая это, я жестко запрограммировал его в header.php, а затем покончил с этим.
источник