Изображение записи как фоновое изображение на страницах
Я добавляю изображение записи на свою страницу через панель управления и хочу использовать его как фоновое изображение для div-контейнера страницы. Я хочу применить фоновое изображение через CSS, поэтому думаю добавить атрибут style в разметку. Я пытаюсь сделать что-то вроде этого:
<div id="<?php echo $post_name; ?>" class="page<?php echo $post_id; ?>" style="background: url(<?php wp_get_attachment_image_src( get_post_thumbnail_id(), 'large' ); ?>) !important;">
Но, к сожалению, это не работает.
Когда я проверяю вывод, получается следующее:
background: url() !important;
Что здесь не так? Есть какие-нибудь предложения? Спасибо!
Вам необходимо использовать echo
для вывода возвращаемого значения функции wp_get_attachment_image_src()
. Эта функция возвращает Array()
, поэтому нужно извлечь нужную часть массива. В данном случае это первое значение с индексом 0
. Пример:
<?php $thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'full' );?>
<div id="post" class="your-class" style="background-image: url('<?php echo $thumb['0'];?>')">
<p>ваш демонстрационный текст</p>
</div>

Пожалуйста, объясните, почему это должно помочь автору вопроса. Спасибо.

@kaiser также работал с фонами таким образом, я новичок и не знаю почему, но я видел, что это работало на одном из форумов.

@Feera Что ж, тогда это Магия. И знай, что Магия всегда является ответом :D

Попробуйте использовать функцию the_post_thumbnail_url
:
Получает прямой URL изображения для миниатюры текущей записи.
<div id="<?php echo post_name; ?>" class="page<?php
echo $post_id; ?>" style="background: url(<?php
echo get_the_post_thumbnail_url( $post_id, 'large' ); ?>) !important;">
