Wordpress:PHP内部回声回声?

时间:2015-10-22 00:22:03

标签: php wordpress if-statement

我在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 ; ?>);">

我已经尝试并在网上寻求帮助解决它,但似乎无法找到解决方案。感谢任何帮助。

2 个答案:

答案 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);'>";
}
?>