在背景图片 url 中,我在 wordpress 中得到了 [site_url] 而不是真实的 url

in background image url I have got [site_url] instead of real url in wordpress

我在我的 wordpress functions.php 文件中使用了 add_theme_option('custom-background')。它正在工作,但是当我设置背景图像时,我没有得到图像。在页面样式中,它在 url 中显示 [site_url]。但我需要显示 localhost/wordpress 而不是 [site_url]。样式行如下所示:

背景图像:url("http://[site_url]/wp-content/uploads/2019/02/pexels-photo-958168.jpeg");

您可能是指 add_theme_support(),而不是 add_theme_option()

不知道为什么会这样,但解决方法是稍微调整@Emma 的建议。像

<?php $url = parse_url(get_background_image(), PHP_URL_PATH); ?>
<div 
    class="myClass" 
    style="background-image: url(<?php echo $url?>)">
</div>

(可能还需要测试初始图像URL是否为空。) (当然,这是假设 WordPress 安装在站点根目录下。否则可能需要进行一些进一步的更改,最终可能会更像 Emma 的。我可能还会补充说,您可以在客户端使用 jquery修复有问题的 URL.)

我找到了替代解决方案。问题出在主题上。其他主题工作正常。对于这个主题,我这样做了:

<body <?php body_class();?> style="background-image: url('<?php echo substr(get_background_image(),11);?>')">

现在它正在返回- "wp-content/uploads/2019/02/bg.jpeg"。我会动态获取背景图片。