【问题标题】:How to echo out a post url within a src attribute as background image in WordPress?如何在 src 属性中将帖子 url 回显为 WordPress 中的背景图像?
【发布时间】:2020-11-06 16:43:41
【问题描述】:

我正在尝试创建一个条件语句来检查帖子是否有缩略图,如果有,则回显一个将帖子缩略图作为背景图像的 div。


<?php if( the_post_thumbnail() )  {
    echo '
    
    <div class="post-hero" style="background-image: url(' . wp_get_attachment_url( get_post_thumbnail_id( $post->ID ) ); ');">';

    '</div>';

};?>


问题是我的编辑器 (vsCode) 抛出错误:意外回声。我认为这与网址中的第二个echo 有关。

我尝试将echo 更改为print,但效果不佳。

我被困住了,而且我是 PHP 编程的新手。我的代码中有什么明显的地方吗?

【问题讨论】:

    标签: php wordpress


    【解决方案1】:

    您的回显字符串中有错误,需要将the_post_thumbnail() 替换为has_post_thumbnail()。请参阅此固定版本:

    if(has_post_thumbnail() )
        echo '<div class="post-hero" style="background-image: url(\'' . wp_get_attachment_url( get_post_thumbnail_id($post->ID)). '\');"></div>';
    }
    

    【讨论】:

    • 谢谢。这修复了错误,但它没有回显 HTML。我从这段代码中得到的只是&lt;img class="attachment-post-thumbnail size-post-thumbnail wp-post-image",而不是它之前的HTML。有什么想法吗?
    • 更新了我的答案以包含has_post_thumbnail() 条件。
    【解决方案2】:

    我的代码中有两个错误,一个由@Amacado 回答,我更改了

    if( the_post_thumbnail() )
    

    if( has_post_thumbnail() )
    

    它当时奏效了。谢谢!

    【讨论】:

    • 我将编辑我的答案以包含这个提示,所以这个线程答案继承了所有 :)
    猜你喜欢
    • 2017-09-24
    • 2011-09-19
    • 1970-01-01
    • 2020-03-15
    • 1970-01-01
    • 1970-01-01
    • 2011-05-01
    • 2017-07-08
    • 1970-01-01
    相关资源
    最近更新 更多