我的WordPress不会显示我硬编码的图像

时间:2016-05-20 12:42:17

标签: php html wordpress

我在WordPress中对网站进行编码,我希望在课程名称之前显示一个书签星。

问题是代码工作正常,我可以看到它转换为图像所在的正确位置,但图像似乎找不到。

我是否需要进行任何配置才能显示此图片或我做错了什么?

代码:

$estrela = get_stylesheet_directory() . '/images/estrela.png';
$estrelaFavorito = get_stylesheet_directory() . '/images/estrela-favorito.png';

if ($isFavorito) {
    $img = $estrelaFavorito;
} else {
    $img = $estrela;
}

if (is_user_logged_in()) { ?>
    <div class="add-remove-bookmark" onclick="addToBookmark(<?php echo $user_id ?>, 'course', <?php echo $course_id ?>)" >
        <img src="<?php echo $img; ?>" alt="favoritos" width="20" height="20"/>
    </div>
<?php }

结果:

<div class="add-remove-bookmark" onclick="addToBookmark(x, x, x)">
    <img src="/home/xxx/www/wp-content/themes/wplms_child/images/estrela-favorito.png" alt="favoritos" width="20" height="20">
</div>

编辑:

如果我更改为下面的代码,它可以工作,但不是最佳实践:

$estrela = 'https://www.xxx.com.br/wp-content/themes/wplms_child/images/estrela.png';
$estrelaFavorito = 'https://www.xxx.com.br/wp-content/themes/wplms_child/images/estrela-favorito.png';

解决方案:

我已经为下面的代码替换了变量$estrela$estrelaFavorito,现在它可以了!

$estrela = get_stylesheet_directory_uri() . '/images/estrela.png';
$estrelaFavorito = get_stylesheet_directory_uri() . '/images/estrela-favorito.png';

1 个答案:

答案 0 :(得分:2)

替换:

//Returns an absolute server path
get_stylesheet_directory()

通过

// return theme directory url 
get_stylesheet_directory_uri()

https://codex.wordpress.org/Function_Reference/get_stylesheet_directory_uri