Frage

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?

War es hilfreich?

Lösung

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 );
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit wordpress.stackexchange
scroll top