我正在为“垃圾箱”中的某些帖子生成查询。我可以检索精选图片网址,但我正在寻找一种方法来获取服务器上的精选图片文件位置。
# generate the query
foreach ( $query as $post ) {
$thumbID = get_post_thumbnail_id( $post->ID );
$thumbObj = get_post( $thumbID );
$source_url = $thumbObj->guid;
# how do I get the string "/path/to/wordpress/media/library/thumbnail.jpg" ?
}
我无法找到任何返回实际特色图片文件位置的WordPress函数。
答案 0 :(得分:2)
没有wp功能,但它很容易制作你自己的,例如
function return_image_path($thumbID) {
$image= wp_get_attachment_image_src($thumbID);
$imagepath= str_replace(get_site_url(), $_SERVER['DOCUMENT_ROOT'], $image[0]);
if($imagepath) return $imagepath;
return false;
}
答案 1 :(得分:2)
扩展大卫的答案,这对我有用:
function return_image_path($thumbID) {
$thumbID = get_post_thumbnail_id( $post->ID );
$image= wp_get_attachment_image_src($thumbID);
$upload_dir = wp_upload_dir();
$base_dir = $upload_dir['basedir'];
$base_url = $upload_dir['baseurl'];
$imagepath= str_replace($base_url, $base_dir, $image[0]);
if ( file_exists( $imagepath) ) return $imagepath;
return false;
}
答案 2 :(得分:1)
$post_thumbnail_id = get_post_thumbnail_id($post->ID);
var_dump(get_attached_file($post_thumbnail_id));