I have this WordPress plugin file structure with “myfolder” as the main folder. There is another subfolder inside this main folder named as “resources”. Inside this resources folder contains two subfolders: a) JS b.) images
Inside images folder I have one image “myimage.png”.
Inside JS file, I have a script named “myscript.js”.
I would like to access the image “myimage.png” in images folder inside my javascript file “myscript.js”.
I have tried the following but it does not work(does not resolve):
<img src="../images/myimage.png">
<img src="images/myimage.png">
<img src="resources/images/myimage.png">
<img src="../resources/images/myimage.png">
<img src="myfolder/resources/images/myimage.png">
<img src="../myfolder/resources/images/myimage.png">
Of course the absolute URL path works but I want this application to work with other sites so coding the absolute URL path is not a feasible solution.
I know that WordPress also has this magic function:
$myicons= plugins_url('resources/images/myimage.png', __FILE__ );
But that will work only inside the PHP plugin file and I’m accessing the image inside a JS file. Any ideas how to make this work without rearranging the current file structure? Is there a JS function equivalent of “plugins_url” in WordPress? Thanks for any tips.
For this purpose you can use
wp_localize_cript()
function, like this:That is assuming that you have properly enqueued your script with
my-script-handle
handle as an example.