wordpress插件开发 - 使用图像 - 找不到路径

时间:2010-06-16 12:16:10

标签: css wordpress stylesheet wordpress-plugin

我正在为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; }

我哪里错了?有没有我应该使用的方法? 谢谢你的帮助!

3 个答案:

答案 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" />