Любой способ получить значок логотипа с URL сайта, программно?
Я занимаюсь созданием активности, где я покажу список посещенных веб-сайтов с его логотипом и его псевдонимом, выбранным пользователем.
Посещения последних веб-сайтов
Вопрос в том, (прикрепленный образ) Как получить логотип сайта, отображаемый на левой стороне http://?
4 ответа
Он называется значком, и все, что вам нужно сделать, это:
- Если есть значок в /favicon.ico , используйте его.
- В противном случае получить содержимое страницы и извлечь местоположение из <link rel=»shortcut icon» href /> . Вам нужно будет использовать парсер HTML и найти <link> с rel либо icon , либо shortcut icon .
Используйте этот сайт:
Он найдет все логотипы для веб-сайта в нескольких размерах и вернет симпатичную строку json с метаданными, включая URL-адрес значка. Вы просто заменяете www.stackoverflow.com своим доменом.
На сайте также есть gui для ввода веб-сайтов вручную, если вы предпочитаете:
Как логотип бесплатно вытащить
Есть такой сайт, генератор логотипов (на первом скриншоте название есть) — помогает создать логотип на скорую руку, но, чтобы получить логотип в хорошем «рабочем» состоянии, нужно, разумеется, копеечку заплатить, да не одну. Так вот, благодаря Яндекс.Браузеру (проверял на бета версии 15.12) можно логотип бесплатно заполучить. Как это сделать:
При редактировании логотипа на сайте, можно, увеличивая масштаб страницы (сочетание кнопок «Ctrl» плюс «+»), вывести логотип на белый фон, а далее, сделав скриншот (кнопка Print Screen), отправиться в фотошоп, где с помощью инструмента «Волшебный Ластик» избавляемся от белого фона и получаем логотип приемлемого размера для размещения на визитках/листовках/сайтах и прочей рекламной продукции.
(Пробовал проделать данную операцию через Гугл Хром и увидел, что Хром масштабирует всё правильно, не позволяя логотипу уйти на белый фон, равномерно увеличивая все элементы на странице. Поэтому пользуемся «истинно русским» Яндекс.Браузером (бета)! Там этот метод точно работает, другие браузеры не проверял)
Зачем выводить на белый фон? Да, можно и с бренд фоном проделать операцию с волшебным ластиком, но иногда цвет логотипа и фона пересекаются и если вы будете его стирать «Волшебным ластиком», то сотрется и ваш логотип, а с белым фоном работает всегда и безотказно. Надеюсь, кому-то пригодится! Всем удачи! С наступающим! =)
get_custom_logo() │ WP 4.5.0
Получает HTML код логотипа сайта установленного в кастомайзере (в настройках темы). Код будет такой: <a href=»/»><img></a> .
Чтобы можно было установить логотип в кастомайзере, нужно включить поддержку custom-logo у темы: add_theme_support( ‘custom-logo’ ).
Используйте $custom_logo_id = get_theme_mod( ‘custom_logo’ ); чтобы получить ID вложения логотипа, и затем обработать его как-то по-другому.
Хуки из функции
Возвращает
Строку . HTML код логотипа. Код будет содержать ссылку на главную страницу и в ней IMG тег самого логотипа.
Если логотип в настройках темы не установлен то вернет пустую строку.
Использование
Примеры
#1 Получение только ссылки (URL) логотипа
#2 Получим логотип сайта
Допустим, у нас включена поддержка логотипа и мы его установили, тогда:
#3 Проверка установлен ли логотип для сайта
Добавить свой пример
Список изменений
| С версии 4.5.0 | Введена. |
| С версии 5.5.0 | Added option to remove the link on the home page with unlink-homepage-logo theme support for the custom-logo theme feature. |
| С версии 5.5.1 | Disabled lazy-loading by default. |
Код get_custom_logo() get custom logo WP 6.1.1
Cвязанные функции
custom_logo (custom logo логотип)
Другие функции темы
Вопрос по строке
Как фильтруется строка «$html»? Где в вордпрессе «add_filter( ‘get_custom_logo . )»?
А если такого фильтра нет, что же вернёт функция «get_custom_logo()»? Не отфильтрованную переменную «$html»?
Фильтр этот для того, чтобы можно было менять отдаваемые значения этой функции на свои при определенных условиях. То есть мы используем сами add_filter, чтобы подключиться в момент срабатывания этой функции и внося собственные правки в эту переменную.
Ну, хорошо, а пока фильтра нет, строка «return apply_filters( ‘get_custom_logo’, $html ); вернёт просто неотформатированную $html? Т.е., можно написать проще: «return $html;» ?
Что значит «неотформатированную»? Сказано
Получает HTML код логотипа сайта, установленного в настройках темы. Код будет такой структуры: <a href=»/»><img></a> .
Обычный html код с ссылкой и картинкой внутри. Если нигде не применен фильтр, то html код этот оригинальный, то есть такой, какой его сделали разработчики WP.
Custom Logo URL | Help me print the URL of the custom logo I inserted into my theme
I am trying to use the separate components of the_custom_logo() function to create my own display for the logo.
Please can someone inform me as to how I can access the url and the image reference separate to each other?
A lot of people have asked how to change the URL which is not the question I require an answer to. I wish to be able to manipulate the code like this (this is a basic example of my plans, so you are able to understand the two components I wish to be able to pull through):
I am using a blank theme, with the logo and link already in place in the back-end of Wordpress.
Using this snippet in my header results in the logo and link to display as you would expect:
Thank you to all contributors, Jason.
![]()
1 Answer 1
Use wp_get_attachment_image_src to get the image properties and URL:
Edit: Adding more information based on your comment.
The URL it points to is simply made with home_url :
Another thing often forgotten when using this method is honoring the content of the alt if it’s set in the media:
I’d encourage looking at the source of get_custom_logo as it would use most of this.
It’s also worth mentioning if you’re developing this theme for release on WordPress.org/themes — it’s a requirement to use the_custom_logo or get_custom_logo over rolling out your own solution.
For this reason there is a filter for the HTML output in get_custom_logo , which might be best to use and replace the bits you need. The function get_custom_logo (used by the_custom_logo ) also handle a bit more like multisite and ensuring the placeholder is there for the customizer preview. The usage would be something like this:
That would read a value of the theme_mod custom_logo_url which could come from a customizer control, and changes the class from .custom-logo-link to .box-link in your example.