How to get post image root URL?
-
16-04-2021 - |
题
By using below code, I got Image url like "http://localhost..."
but I need root path of that image from "var/www/html/....
"
$FeaturedImage = wp_get_attachment_image_src( get_post_thumbnail_id(
$post->ID ), 'homepage-column1' );
Is there any way to get root path of the post thumbnail?
解决方案
The get_attached_file()
function returns the path to a file based on the attachment ID:
$FeaturedImage = get_attached_file( get_post_thumbnail_id() );
Getting the path to a specific size is more complicated. WordPress stores the filename for resized versions of the images in as attachment metadata, that can be retrieved with wp_get_attachment_metadata()
. Once you have the filename of the resized version, you just need to replace the original filename in the path with the resized version's filename:
$image_id = get_post_thumbnail_id();
$image_meta = wp_get_attachment_metadata( $image_id );
$image_path = get_attached_file( $image_id );
if ( isset( $image_meta['sizes']['homepage-column1']['file'] ) ) {
$image_path = str_replace( $image_meta['file'], $image_meta['sizes']['homepage-column1']['file'], $image_path );
}