Изображение записи как фоновое изображение на страницах

27 сент. 2013 г., 19:49:33
Просмотры: 52.4K
Голосов: 10

Я добавляю изображение записи на свою страницу через панель управления и хочу использовать его как фоновое изображение для 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;

Что здесь не так? Есть какие-нибудь предложения? Спасибо!

2
Комментарии

Вы уже искали на сайте?

kaiser kaiser
27 сент. 2013 г. 19:53:41

Да, я провёл поиск, но, кажется, он работает некорректно. Я обновил свой вопрос, проверьте теперь, пожалуйста!

agis agis
27 сент. 2013 г. 20:07:31
Все ответы на вопрос 2
5
14

Вам необходимо использовать 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>
27 сент. 2013 г. 20:09:15
Комментарии

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

kaiser kaiser
27 сент. 2013 г. 20:14:02

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

Raank Raank
27 сент. 2013 г. 20:22:26

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

kaiser kaiser
27 сент. 2013 г. 20:28:28

может быть и мало, но важно намерение :P

Raank Raank
27 сент. 2013 г. 20:31:23

Если вы делаете это в функции, не забудьте добавить перед этим кодом global $post; .

Boycott A.I. Boycott A.I.
15 янв. 2016 г. 22:15:42
0

Попробуйте использовать функцию 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;">
15 июн. 2017 г. 11:44:51