Wordpress - 背景图片无法使用home_url()

时间:2017-07-27 07:20:50

标签: php css wordpress

我有一些我在WordPress网站上使用的背景图片,可以转移到制作中。我正在更改style.css文件中的所有localhost绝对链接。我已经改变了我的代码来获取背景图片:

background: url('http://localhost:8888/wp-content/uploads/2017/07/homepagemain.jpg') center center no-repeat;

对此:

 background: url('<?php echo home_url(); ?>/wp-content/uploads/2017/07/homepagemain.jpg') center center no-repeat;

当我这样做时,图像没有显示,不确定我是否只是使用了错误的功能,但这适用于我的html中的img链接。我怎样才能解决这个问题?我是否需要使用get_the_post_thumbnail_url()将图像编辑移动到管理区域并远离样式表?任何帮助表示赞赏。

3 个答案:

答案 0 :(得分:1)

在模板中使用以下代码。因为php代码在css文件中不起作用。所以你必须在php文件中使用

<?php
$uploads = wp_upload_dir();
$upload_path = $uploads['baseurl']; // now how to get just the directory name?
?>

<div style="background: url('<?php echo esc_url($upload_path); ?>/2017/07/homepagemain.jpg') center center no-repeat;"></div>

答案 1 :(得分:1)

我不知道为什么其他答案正在制造如此简单的问题,如此复杂。

您需要做的只是从图片路径中删除http://localhost:8888,从而创建一个相对链接,它将正常工作。

如果您决定将来更改,那么您还可以获得使用http和https协议的额外好处。您所需要的只是:

background: url('/wp-content/uploads/2017/07/homepagemain.jpg') center center no-repeat;

答案 2 :(得分:0)

将图像保存在images文件夹中,并使用模板中的以下代码:

<div style="background: url('<?php bloginfo('template_url'); ?>/images/homepagemain.jpg') center center no-repeat;"></div>