WordPress как на ладони
Шаблоны, плагины и темы для настоящих поклонников Elementor. От TemplateMonster.com wordpress jino

the_custom_logo() WP 4.5.0

Выводит на экран HTML код логотипа сайта, установленного в настройках темы. Код будет такой структуры: <a href="/"><img></a>.

Это обертка для конструкции: echo get_custom_logo( $blog_id );

Чтобы можно было установить логотип в настройках темы, нужно включить поддержку темы custom-logo: add_theme_support( 'custom-logo' ).

Работает на основе: get_custom_logo()

Хуков нет.

Возвращает

Ничего, а выводит результат на экран. Если логотип в настройках темы не установлен то ничего не выведет.

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

<?php the_custom_logo( $blog_id ); ?>
$blog_id(число)
ID сайта/блога, логотип которого нужно получить.
По умолчанию: 0 (текущий блог)

Примеры

#1 Выведем на экран логотип сайта

<?php the_custom_logo( $blog_id ); ?>

/* Выведет такой HTML код (только в одну строку):

<a href="http://wptest.ru/" class="custom-logo-link" rel="home" itemprop="url">
	<img 
	width="491" 
	height="299" 
	src="http://wptest.ru/wp-content/uploads/2013/04/cropped-cropped-triforce-wallpaper.jpg" 
	class="custom-logo" 
	alt="cropped-cropped-triforce-wallpaper.jpg" 
	itemprop="logo" 
	srcset="http://wptest.ru/wp-content/uploads/2013/04/cropped-cropped-triforce-wallpaper.jpg 491w, http://wptest.ru/wp-content/uploads/2013/04/cropped-cropped-triforce-wallpaper-300x183.jpg 300w" 
	sizes="(max-width: 491px) 100vw, 491px" 
	/>
</a>
*/

#2 Получим логотип, но без ссылки на главную

$logo_img = '';
if( $custom_logo_id = get_theme_mod('custom_logo') ){
	$logo_img = wp_get_attachment_image( $custom_logo_id, 'full', false, array(
		'class'    => 'custom-logo',
		'itemprop' => 'logo',
	) );
}

echo $logo_img;

Код the_custom_logo: wp-includes/general-template.php VER 4.9.8

<?php
function the_custom_logo( $blog_id = 0 ) {
	echo get_custom_logo( $blog_id );
}

Cвязанные функции

Из метки: custom_logo (custom logo логотип)

Еще из раздела: Другие функции темы

12 комментов
Полезные 3 Вопросы 1 Все
  • lincaseidhe70 cайт: lincaseidhe.ru

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

    Ответить2.4 года назад #
    • Kama6811

      Через эту функцию нельзя. Но можно получить ID вложения логотипа через

      $custom_logo_id = get_theme_mod( 'custom_logo' );

      и дальше зная ID картинки-вложения делать с ней что угодно используя функции вложений WordPress

      Ответить2.4 года назад #
  • Функция the_custom_logo прописана в wp-includes/jeneral-templates.php
    А в теме Twenty Sixteen появилась функция twentysixteen_the_custom_logo(). Подскажите, пожалуйста, где эта функция прописана в теме?

    Ответить1.5 год назад #
    • campusboy3045 cайт: www.youtube.com/c/wpplus

      Здесь
      ..\twentysixteen\inc\template-tags.php
      На 241 сроке:

      if ( ! function_exists( 'twentysixteen_the_custom_logo' ) ) :
      /**
       * Displays the optional custom logo.
       *
       * Does nothing if the custom logo is not available.
       *
       * @since Twenty Sixteen 1.2
       */
      function twentysixteen_the_custom_logo() {
      	if ( function_exists( 'the_custom_logo' ) ) {
      		the_custom_logo();
      	}
      }
      endif;

      Используется потом в файле header.php в 32 строке

      <?php twentysixteen_the_custom_logo(); ?>
      1
      Ответить1.5 год назад #
      • т.е., - единственная роль функции twentysixteen_the_custom_logo() - вызвать функцию the_custom_logo() . Хм, однако...

        Ответить1.5 год назад #
        • campusboy3045 cайт: www.youtube.com/c/wpplus

          В этом нет ничего удивительного, это правильно сделано. Видите, идёт проверка, определена ли такая функция раньше или нет. Это сделано для того, чтобы вы при создании дочерней темы могли переопределить эту функцию и добавить свои хотелки. А вот функцию the_custom_logo переопределить не выйдет, так она определяется раньше в самом движке, чем файлы темы, и это вызовет ошибку.

          1
          Ответить1.5 год назад #
  • Скажите, а где в теме размещаются картинки для логотипа и постов? Никакой папки images я в этой теме что-то не вижу...

    Ответить1.5 год назад #
    • campusboy3045 cайт: www.youtube.com/c/wpplus

      Они загружаются в медиабиблиотеку движка. Физическое месторасположение wp-content -> uploads -> год -> месяц.

      2
      Ответить1.5 год назад #
  • shigaev cайт: shigaev.com

    Как лучше реализовать вывод того или иного лого в зависимости от формирования таксономии? Цель — индивидуальные лого для каждых страницы, раздела и метки.

    Ответитьгод назад #
  • андрей

    Подскажите есть возможность вывода логотипа функцией - формата

    <img>

    без тега

    <a>
    • Kama6811
      $logo_img = '';
      if ( $custom_logo_id = get_theme_mod( 'custom_logo' ) ) {
      	$logo_img = wp_get_attachment_image( $custom_logo_id, 'full', false, array(
      		'class'    => 'custom-logo',
      		'itemprop' => 'logo',
      	) );
      }
      
      echo $logo_img;
Здравствуйте, !     Войти . Зарегистрироваться