我在header.php文件中使用以下代码,根据页面使用不同的div:
<?php
if ( is_singular( 'movie' ) ) {
echo "<div class='heroImagePage' style='background-image:url(blur.jpg);'>";
} elseif (has_post_thumbnail( $post->ID ) ) {
echo "<?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'full' ); ?> <div class='heroImage' style='background-image:url(<?php echo $image[0]; ?>);'>";
} else {
echo "<div class='heroImagePage' style='background-image:url(blur.jpg);'>";
}
?>
if ( is_singular( 'movie' ) ) {
和else {
的条件正常,但检查是否有特色图片的情况却没有。其中的代码是获取特色图像的URL,以便将其作为div的背景图像插入。我认为问题是回声中的回声?
当我查看它在浏览器中输出的代码时,它看起来像这样:
<div class="heroImage" style="background-image:url(<?php echo ; ?>);">
我已经尝试并在网上寻求帮助解决它,但似乎无法找到解决方案。感谢任何帮助。
答案 0 :(得分:2)
PHP不会在字符串中执行。只需在回显字符串
之前分配$image
变量
elseif (has_post_thumbnail($post->ID)) {
$image = wp_get_attachment_image_src(
get_post_thumbnail_id($post->ID), 'full');
echo '<div class="heroImage" style="background-image:url(', $image[0], ')">';
}
答案 1 :(得分:-1)
尝试在回显字符串之前指定$image
变量
即。
<?php
if ( is_singular( 'movie' ) ) {
echo "<div class='heroImagePage' style='background-image:url(blur.jpg);'>";
} elseif (has_post_thumbnail( $post->ID ) ) {
$image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'full' );
echo "<div class='heroImage' style='background-image:url" . $image[0] . ')">' ;
} else {
echo "<div class='heroImagePage' style='background-image:url(blur.jpg);'>";
}
?>