I am working on a plugin that constructs a newsletter witch uses a template with a few images.
The images have been uploaded using the Media Library (uploads/current_year/current_month/
) and I want to get the images URL by using the image name.
Any way of doing this without iterating over all the images?
I have tried to store the images in the plugin folder but the website uses https and this location is not accessible without authentication.
Any suggestions on different location for storing the images?
wp_upload_dir()
is perfect. It is the only place where you can expect write permissions.Store the attachment ID, not a path. Then you get the image with:
Sometimes a user may have deleted the image per media library. To avoid problems with missing files check the return value from
wp_get_attachment_url()
first. Excerpt from one of my plugins:I think you should run a custom mySQL query to the wp_posts table, something like –
(of course use $wpdb object to query the databse).
Then you will have the postid of that attachment file and you can use wp_get_attachment_url() from the WP API.