## Plugin base URL

Question

In a question that is related to, but not the same as, How to link to images in my plugin regardless of the plugin folder's name

• plugin-folder/plugin-main-file.php
• plugin-folder/images/ containing all images
• plugin-folder/classes/ containing class definitions
• plugin-folder/classes/class1-files containing additional files for class 1
• plugin-folder/classes/class2-files containing additional files for class 2
• etc

To access images, I can use relative addressing, such as plugins_url( '../images/image.png', dirname( __FILE__ ) ) but this requires a knowledge of the file structure, and a level of hard-coding that leads to potential maintenance issues.

Alternatively, I can define a global constant (eg) define('PLUGIN_ROOT', basename(dirname(__FILE__)) . '/' . basename(__FILE__)); in my main-file.

Ideally, there is a WordPress function that would give me the plugin base name, from anywhere in my plugin (ie always return /plugin-folder/)… but I haven’t found one. Is there such a beastie?

I am also aware of plugins_url() with no parameters… but this returns http://mydomain.ext/wp-content/plugins – ie without my plugin name!