get_custom_logo

Позволяет изменить вывод пользовательского логотипа
Хук WordPress
INT 4.5.0
WordPress Icon

Описание хука

Хук «get_custom_logo» позволяет изменить вывод пользовательского логотипа.

Этот хук предоставляет возможность определить, как будет выглядеть HTML-код пользовательского логотипа, который выводится на сайте WordPress.

Хук «get_custom_logo» является фильтром, который позволяет изменить вывод пользовательского логотипа.

Использование

apply_filters( 'get_custom_logo', string $html, int $blog_id )

Этот код применяет фильтр «get_custom_logo» к HTML-коду пользовательского логотипа.

Параметры:

  • $html (string) — HTML-код пользовательского логотипа.
  • $blog_id (int) — ID блога, для которого нужно получить пользовательский логотип.
<?php
/**
 * Пример использования хука get_custom_logo.
 *
 * @param string $html    HTML-код пользовательского логотипа.
 * @param int    $blog_id ID блога, для которого нужно получить пользовательский логотип.
 * @return string Измененный HTML-код пользовательского логотипа.
 */
function custom_get_custom_logo( $html, $blog_id ) {
    // Ваш код для изменения HTML-кода пользовательского логотипа
    // ...
    return $html;
}
add_filter( 'get_custom_logo', 'custom_get_custom_logo', 10, 2 );

В этом примере мы создаем функцию «custom_get_custom_logo», которая принимает два параметра: $html (HTML-код пользовательского логотипа) и $blog_id (ID блога). Внутри функции вы можете изменить HTML-код пользовательского логотипа по своему усмотрению. Затем мы добавляем эту функцию в качестве фильтра для хука «get_custom_logo» с приоритетом 10 и количеством параметров 2.

Примеры использования

Изменение HTML-вывода логотипа


/**
 * Функция для изменения HTML-вывода логотипа.
 *
 * @param string $html Custom logo HTML output.
 * @param int $blog_id ID of the blog to get the custom logo for.
 * @return string Modified custom logo HTML output.
 */
function custom_get_custom_logo( $html, $blog_id ) {
    // Ваш код для изменения HTML-вывода логотипа
    return $html;
}
add_filter( 'get_custom_logo', 'custom_get_custom_logo', 10, 2 );

Получение ID блога для логотипа


/**
 * Функция для получения ID блога для логотипа.
 *
 * @param string $html Custom logo HTML output.
 * @param int $blog_id ID of the blog to get the custom logo for.
 * @return int Modified blog ID.
 */
function custom_get_custom_logo_blog_id( $html, $blog_id ) {
    // Ваш код для получения ID блога для логотипа
    return $blog_id;
}
add_filter( 'get_custom_logo', 'custom_get_custom_logo_blog_id', 10, 2 );

Форматирование HTML-кода логотипа


/**
 * Функция для форматирования HTML-кода логотипа.
 *
 * @param string $html Custom logo HTML output.
 * @param int $blog_id ID of the blog to get the custom logo for.
 * @return string Modified custom logo HTML output.
 */
function custom_format_custom_logo_html( $html, $blog_id ) {
    // Ваш код для форматирования HTML-кода логотипа
    return $html;
}
add_filter( 'get_custom_logo', 'custom_format_custom_logo_html', 10, 2 );

Добавление дополнительных классов к логотипу


/**
 * Функция для добавления дополнительных классов к логотипу.
 *
 * @param string $html Custom logo HTML output.
 * @param int $blog_id ID of the blog to get the custom logo for.
 * @return string Modified custom logo HTML output.
 */
function custom_add_additional_classes( $html, $blog_id ) {
    // Ваш код для добавления дополнительных классов к логотипу
    return $html;
}
add_filter( 'get_custom_logo', 'custom_add_additional_classes', 10, 2 );

Изменение URL-адреса логотипа


/**
 * Функция для изменения URL-адреса логотипа.
 *
 * @param string $html Custom logo HTML output.
 * @param int $blog_id ID of the blog to get the custom logo for.
 * @return string Modified custom logo HTML output.
 */
function custom_change_logo_url( $html, $blog_id ) {
    // Ваш код для изменения URL-адреса логотипа
    return $html;
}
add_filter( 'get_custom_logo', 'custom_change_logo_url', 10, 2 );

Вопросы и ответы

Как изменить HTML-разметку логотипа?

Для изменения HTML-разметки логотипа в WordPress можно использовать хук get_custom_logo. Этот хук позволяет изменить вывод кастомного логотипа.

Пример кода:

// Функция-обработчик хука get_custom_logo
function custom_get_custom_logo($html, $blog_id) {
    // Ваш код для изменения HTML-разметки логотипа
    return $html;
}
add_filter('get_custom_logo', 'custom_get_custom_logo', 10, 2);

Как добавить классы к HTML-разметке логотипа?

Для добавления классов к HTML-разметке логотипа в WordPress можно использовать хук get_custom_logo. Этот хук позволяет изменить вывод кастомного логотипа и добавить нужные классы.

Пример кода:

// Функция-обработчик хука get_custom_logo
function custom_get_custom_logo($html, $blog_id) {
    // Добавление классов к HTML-разметке логотипа
    $html = str_replace('custom-logo', 'custom-logo custom-logo-class', $html);
    return $html;
}
add_filter('get_custom_logo', 'custom_get_custom_logo', 10, 2);

Как изменить ссылку логотипа?

Для изменения ссылки логотипа в WordPress можно использовать хук get_custom_logo. Этот хук позволяет изменить вывод кастомного логотипа и заменить ссылку на нужную.

Пример кода:

// Функция-обработчик хука get_custom_logo
function custom_get_custom_logo($html, $blog_id) {
    // Изменение ссылки логотипа
    $html = str_replace('href="https://example.com"', 'href="https://newlink.com"', $html);
    return $html;
}
add_filter('get_custom_logo', 'custom_get_custom_logo', 10, 2);

Как изменить размеры логотипа?

Для изменения размеров логотипа в WordPress можно использовать хук get_custom_logo. Этот хук позволяет изменить HTML-разметку логотипа, включая его размеры.

Пример кода:


function custom_logo_size( $html, $blog_id ) {
    // Изменяем размеры логотипа
    $html = str_replace( 'width="100"', 'width="200"', $html );
    $html = str_replace( 'height="100"', 'height="200"', $html );
    return $html;
}
add_filter( 'get_custom_logo', 'custom_logo_size', 10, 2 );

Как добавить атрибуты к HTML-разметке логотипа?

Для добавления атрибутов к HTML-разметке логотипа в WordPress также можно использовать хук get_custom_logo. Этот хук позволяет изменить HTML-код логотипа и добавить нужные атрибуты.

Пример кода:


function custom_logo_attributes( $html, $blog_id ) {
    // Добавляем атрибуты к логотипу
    $html = str_replace( '<img', '<img class="logo" alt="Custom Logo"', $html );
    return $html;
}
add_filter( 'get_custom_logo', 'custom_logo_attributes', 10, 2 );

Как изменить альтернативный текст логотипа?

Для изменения альтернативного текста логотипа в WordPress можно использовать хук get_custom_logo. Этот хук позволяет изменить HTML-разметку логотипа и заменить альтернативный текст.

Пример кода:


function custom_logo_alt( $html, $blog_id ) {
    // Изменяем альтернативный текст логотипа
    $html = str_replace( 'alt="Custom Logo"', 'alt="My Custom Logo"', $html );
    return $html;
}
add_filter( 'get_custom_logo', 'custom_logo_alt', 10, 2 );

Как добавить стили к логотипу?

Для добавления стилей к логотипу в WordPress можно использовать хук get_custom_logo. Этот хук позволяет изменить вывод HTML-кода логотипа.

Пример использования хука get_custom_logo:

// Функция для изменения стилей логотипа
function custom_logo_styles($html, $blog_id) {
    // Добавление класса к логотипу
    $html = str_replace('custom-logo', 'custom-logo my-logo', $html);
    
    // Добавление стилей к логотипу
    $html = str_replace('">', '" style="color: red;">', $html);
    
    return $html;
}
add_filter('get_custom_logo', 'custom_logo_styles', 10, 2);

Как скрыть логотип на определенных страницах?

Чтобы скрыть логотип на определенных страницах в WordPress, можно использовать хук get_custom_logo в сочетании с условием.

Пример использования хука get_custom_logo для скрытия логотипа на определенных страницах:

// Функция для скрытия логотипа на определенных страницах
function hide_logo_on_pages($html, $blog_id) {
    // Получение текущей страницы
    $current_page = get_queried_object();
    
    // Проверка, является ли текущая страница страницей "О нас"
    if ($current_page->post_name === 'about') {
        return '';
    }
    
    return $html;
}
add_filter('get_custom_logo', 'hide_logo_on_pages', 10, 2);

Как использовать разные логотипы для разных блогов в мультисайтовой установке?

В мультисайтовой установке WordPress можно использовать разные логотипы для разных блогов с помощью хука get_custom_logo и условий, проверяющих идентификатор блога.

Пример использования хука get_custom_logo для разных логотипов в мультисайтовой установке:

// Функция для использования разных логотипов в мультисайтовой установке
function custom_logo_multisite($html, $blog_id) {
    // Проверка идентификатора блога
    if ($blog_id === 2) {
        // Логотип для блога с идентификатором 2
        $html = '<img src="https://example.com/logo2.png" alt="Logo 2">';
    } elseif ($blog_id === 3) {
        // Логотип для блога с идентификатором 3
        $html = '<img src="https://example.com/logo3.png" alt="Logo 3">';
    }
    
    return $html;
}
add_filter('get_custom_logo', 'custom_logo_multisite', 10, 2);

Хук get_custom_logo в WordPress позволяет изменять вывод HTML-кода логотипа. С его помощью можно добавлять стили к логотипу, скрывать логотип на определенных страницах и использовать разные логотипы для разных блогов в мультисайтовой установке. Этот хук является мощным инструментом для настройки логотипа в WordPress и позволяет разработчикам создавать уникальные и гибкие решения.

Связанные элементы

  • Функция has_custom_logo(): проверяет, установлен ли пользовательский логотип для сайта.
  • Хук wp_get_attachment_image_attributes: фильтрует атрибуты изображения для логотипа сайта.
  • Хук wp_get_attachment_image_src: фильтрует URL-адрес и размеры изображения для логотипа сайта.
  • Класс WP_Customize_Cropped_Image_Control: предоставляет возможность настройки обрезки изображения для логотипа сайта в пользовательской панели управления.
  • Класс WP_Customize_Image_Control: предоставляет возможность настройки изображения для логотипа сайта в пользовательской панели управления.
  • Класс WP_Customize_Media_Control: предоставляет возможность настройки медиафайла для логотипа сайта в пользовательской панели управления.
  • Класс WP_Customize_Setting: предоставляет возможность настройки параметров для логотипа сайта в пользовательской панели управления.
Обсуждение