has_custom_logo()
Проверяет установлен ли логотип для сайта.
Работает только если тема поддерживает custom-logo. Поддержка включатеся через add_theme_support( 'custom-logo' ).
Удобна перед вызовом the_custom_logo(), чтобы не получить пустой вывод.
Используйте get_theme_mod( 'custom_logo' ), чтобы получить ID логотипа.
Работает на основе: get_theme_mod()
1 раз — 0.000037 сек (очень быстро) | 50000 раз — 0.59 сек (очень быстро) | PHP 7.0.5, WP 4.5
Хуков нет.
Возвращает
true|false. Установлен логотип или нет.
Использование
if( has_custom_logo( $blog_id ) ){
// логотип есть
}
- $blog_id(число)
- ID сайта/блога, для которого нужно проверить наличие логотипа.
По умолчанию: 0 (текущий блог)
Примеры
#1 Аналогичный более быстрый вариант
Проверим установлен ли логотип для сайта и тут же выведим его.
if( $logo = get_custom_logo() ){
echo $logo;
}
Смотрите также:
#2 Проверим установлен ли логотип для сайта
if( has_custom_logo() ){
// логотип есть выводим его
echo get_custom_logo();
}
Список изменений
| С версии 4.5.0 | Введена. |
Код has_custom_logo() has custom logo WP 7.0
function has_custom_logo( $blog_id = 0 ) {
$switched_blog = false;
if ( is_multisite() && ! empty( $blog_id ) && get_current_blog_id() !== (int) $blog_id ) {
switch_to_blog( $blog_id );
$switched_blog = true;
}
$custom_logo_id = get_theme_mod( 'custom_logo' );
$is_image = ( $custom_logo_id ) ? wp_attachment_is_image( $custom_logo_id ) : false;
if ( $switched_blog ) {
restore_current_blog();
}
return $is_image;
}