Разработка плагина WordPress - с использованием изображений - путь не найден - PullRequest
9 голосов
/ 16 июня 2010

Я пишу плагин для 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 ]

9 голосов
/ 16 июня 2010

WordPress 'PHP-константа WP_PLUGIN_URL содержит абсолютный URL-адрес вашей папки плагинов.Итак, чтобы получить URL, используйте WP_PLUGIN_URL . '/myplugin/images/test.png'.В таблице стилей пути к изображениям всегда относятся к самой таблице стилей.использование

.test { background: url(images/test.png); }

должно работать, если оно находится во внешней таблице стилей.Если он встроенный, вы должны использовать абсолютный URL.

5 голосов
/ 01 октября 2012

Один из способов сделать это:

plugins_url('images/test.png', __FILE__)

..., который даст вам правильный URL, даже если пользователь изменил имя родительского каталога.

1 голос
/ 30 мая 2015

Я использовал ответ Коллина следующим образом:

    <img src="<?php echo plugins_url( 'images/test.png', __FILE__ ); ?>" border="0" />
...