Ivseti
@Ivseti
Фронтенд HTML, CSS и немного JS с PHP

Как заменить логотип Wordpress на определенной странице через function.php?

Как заменить логотип Wordpress на определенной странице function.php?

Пробую так:
add_action( 'custom_logo', 'my_custom_page_logo' );
function my_custom_page_logo(){

	echo '
	<img class="logo-main scale-with-grid " src="/wp-content/uploads/2021/08/logo-black.png" data-retina="" data-height="93" alt="logo-black" data-no-retina="">
	';
}
  • Вопрос задан
  • 145 просмотров
Решения вопроса 1
artzolin
@artzolin Куратор тега WordPress
php, WordPress разработка сайтов artzolin.ru
Что-то я не помню такого экшена 'custom_logo', зато есть фильтр 'get_custom_logo', код сработает при выводе логотипа с помощью функции the_custom_logo()

add_filter( 'get_custom_logo', 'custom_logo_url' );
function custom_logo_url( $html ) {

	if ( is_home() && is_front_page() ) {
		$dir = wp_get_upload_dir();
		$html = '<img class="logo-main scale-with-grid" src="' . $dir['baseurl'] . '/2021/08/logo-black.png" data-retina="" data-height="93" alt="logo-black" data-no-retina="">';
	}

	return $html;

}


Используйте условные теги is_single(), is_page(), is_archive(), is_front_page() и подобные, чтобы выполнить код для определенного шаблона

wp_get_upload_dir() получает массив вариаций путей до каталога загрузок

Фильтр должен возвращать return, а не выводить echo
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы