我正在为wordpress编写一个插件,但我遇到了图像问题。如果我的插件位于wp-content / plugins / my-plugin /并且在那里,文件夹images / test.png - 如何在我的代码中引用该图像?我不想将图像放到主题中,因为当其他用户来获取我的插件时,图像将无效!
所以我的结构是
myplugin/plugin.php (which includes several files...)
myplugin/pluginstyle.css
myplugin/includes/page.php
myplugin/images/test.png
我的样式表工作得很好,但是当我尝试使用图像作为元素的背景时,它不起作用。
如何在插件中引用图片?
测试来自page.php的输出
<div class="test"><p>hello</p></div>
CSS
.test { background: url(../images/test.png) repeat-x; }
我哪里错了?有没有我应该使用的方法? 谢谢你的帮助!
答案 0 :(得分:9)
WordPress的PHP常量WP_PLUGIN_URL
包含插件文件夹的绝对URL。因此,要获取网址,请使用WP_PLUGIN_URL . '/myplugin/images/test.png'
。在样式表中,图像路径始终相对于样式表本身。使用
.test { background: url(images/test.png); }
应该可以工作,只要它在外部样式表中。如果是内联的,则应使用绝对URL。
答案 1 :(得分:5)
一种方法是:
plugins_url('images/test.png', __FILE__)
...即使用户更改了父目录的名称,也会为您提供正确的URL。
答案 2 :(得分:1)
我以这种方式使用了科林的答案:
<img src="<?php echo plugins_url( 'images/test.png', __FILE__ ); ?>" border="0" />