get_background_image()WP 3.0.0

Получает URL фонового изображения установленного в настройках темы (в кастомайзере).

Для того, чтобы можно было установить фоновое изображение, нужно включить поддержку такого изображения для темы. Делается это функцией add_theme_support('custom-background'). После включения возможности в кастомайзере можно будет установить фоновое изображение:

Используйте background_image(), когда нужно сразу вывести URL на экран.

Смотрите также аналогичную функцию для получения цвета get_background_color() и background_color().

Разные опции темы связанные с фоном темы:

$position_x = get_theme_mod( 'background_position_x', get_theme_support( 'custom-background', 'default-position-x' ) );
$position_y = get_theme_mod( 'background_position_y', get_theme_support( 'custom-background', 'default-position-y' ) );
$size       = get_theme_mod( 'background_size',       get_theme_support( 'custom-background', 'default-size' ) );
$repeat     = get_theme_mod( 'background_repeat',     get_theme_support( 'custom-background', 'default-repeat' ) );
$attachment = get_theme_mod( 'background_attachment', get_theme_support( 'custom-background', 'default-attachment' ) );
Основа для: background_image()
1 раз — 0.004724 сек (очень медленно) | 50000 раз — 4.45 сек (быстро) | PHP 7.2.5, WP 5.0

Хуков нет.

Возвращает

Строку. URL фонового изображения

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

get_background_image();

Примеры

1

#1 Выведем URL в css стилях

<style>
	body.custom-background { background-image: url('<?php background_image(); ?>'); }
</style>
0

#2 Демонстрация работы функции

$background_image = get_background_image(); 
echo $background_image; // http://example.com/wp-content/uploads/2015/04/Big_image_Pumkins.jpg
0

#3 Фоновое изображение темы в качестве запасного варианта, когда миниатюра записи не установлена

Этот пример показывает как использовать миниатюру записи в качестве фона для страницы, и если картинка для записи не установлен по умолчанию брать картинку из настроек темы.

<head>

	<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />

	<?php if ( is_singular() ) wp_enqueue_script( 'comment-reply' ); ?>

	<?php wp_head() ?>

	<?php
	// declare $post global if used outside of the loop
	global $post;

	// check to see if the theme supports Featured Images, and one is set
	if ( current_theme_supports( 'post-thumbnails' ) && has_post_thumbnail( $post->ID ) ) {

		// specify desired image size in place of 'full'
		$page_bg_image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'full' );
		$page_bg_image_url = $page_bg_image[0]; // this returns just the URL of the image

	}
	else {
		// the fallback – our current active theme's default bg image
		$page_bg_image_url = get_background_image();
	}

	// And below, spit out the <style> tag...
	?>

	<style type="text/css" id="custom-background-css-override">
		body.custom-background { background-image: url('<?php echo $page_bg_image_url; ?>'); }
	</style>

</head>

Список изменений

С версии 3.0.0 Введена.

Код get_background_image() WP 6.4.3

function get_background_image() {
	return get_theme_mod( 'background_image', get_theme_support( 'custom-background', 'default-image' ) );
}