WordPress PHP语法似乎工作不正常

时间:2016-04-17 作者:Paubab

当我运行这个wordpress查询时,没有显示背景图像,而是得到了div字符串的结尾?图像字符串将显示在浏览器检查器中,但不会显示在屏幕上。这是显示“\')无重复的回显字符串;“>下面是代码:

<div class="leftBox">
        <?php 
        $query = new WP_Query( \'pagename=jour\' );
        // The Loop
        if ( $query->have_posts() ) {
            while ( $query->have_posts() ) {
                $query->the_post();
            }
            if ( has_post_thumbnail() ) {
            $thumbnail = get_the_post_thumbnail($post->ID,\'thumbnail\'); ?>
                <div class="entry-content" style="background: url(\'<?php echo $thumbnail; ?>\') no-repeat;">
                <a href="<?php echo get_permalink(); ?>" title="Go to <?php echo the_title(); ?>"><P><?php the_title(); ?></p></a>
                </div>
                <?php
            }
        }
        /* Restore original Post Data */
        wp_reset_postdata();
        ?>
    </div>

1 个回复
最合适的回答,由SO网友:darrinb 整理而成

get_the_post_thumbnail() 返回图像的完整html输出,包括图像<img /> 标签。您只需要图像src。尝试以下操作:

<div class="leftBox">
    <?php
    $query = new WP_Query( \'pagename=jour\' );
    // The Loop
    if ( $query && $query->have_posts() ) :
        while ( $query->have_posts() ) : $query->the_post();
            if ( has_post_thumbnail() ) {
                $img_src = wp_get_attachment_image_url( get_post_thumbnail_id( get_the_ID() ), \'thumbnail\' );
                 ?>
                <div class="entry-content" style="background: url(\'<?php echo esc_url( $img_src ); ?>\') no-repeat;">
                    <a href="<?php echo get_permalink(); ?>" title="Go to <?php echo the_title(); ?>"><p><?php the_title(); ?></p></a>
                </div>
                <?php
            }
        endwhile;
    endif;
    /* Restore original Post Data */
    wp_reset_postdata();
    ?>
</div>