Можно ли использовать мою логику PHP, используемую для отображения избранного изображения в WordPress-посте в качестве встроенного фонового изображения div? Вот моя попытка:
<div class="rounding-image" style="background-image: url(
<?php
if ( $thumbnail == true ) {
// If the post has a feature image, show it
if ( has_post_thumbnail() ) {
the_post_thumbnail( $thumbsize );
// Else if the post has a mime type that starts with "image/" then show the image directly.
} elseif ( 'image/' == substr( $post->post_mime_type, 0, 6 ) ) {
echo wp_get_attachment_image( $post->ID, $thumbsize );
}
}
?>
)"></div>
Это не выбрасывает конкретную ошибку, а отображает )">
где изображение будет.
the_post_thumbnail отображает изображение с img
тег. Что вы хотите сделать, это получить URL изображения
$thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'full' ); $url = $thumb['0'];
if ( has_post_thumbnail() ) {echo $url;}
Мне нравится использовать background-size: cover, если его полная ширина. если это не просто удалить эту часть CSS
<?php if (has_post_thumbnail( $page->ID ) ) { ?>
<?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $page->ID ), 'single-post-thumbnail' ); ?>
<header style="background:url(<?php echo $image[0]; ?>) 50% 50% no-repeat;background-size: cover;-webkit-background-size: cover;-moz-background-size: cover;-o-background-size: cover;background-size: cover;"></header>
<?php } ?>
Используйте это, это установит фоновое изображение к избранному изображению, если оно существует. Это позволяет вам установить значение по умолчанию через CSS, если выбранное изображение не установлено.
<?php
global $post;
$src = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), array( 5600,1000 ), false, '' );
if ( has_post_thumbnail() ) :
?>
<div class="rounding-image" style="background: url(<?php echo $src[0]; ?> ) !important;">
<?php else : ?>
<div id="rounding-image">