我在用户个人资料编辑页面中创建了一个字段,允许用户上传他们的个人资料照片。信息将保存在wp_usermeta
密钥下的user_profile_image
表中。
此应用程序中不会使用Gravatar,用户自己从管理员上传的照片将用作他/她的个人资料照片。
我在主题中定义了不同的缩略图大小,我可以看到正确的缩略图大小上传。
但我不知道如何将thumbnail_size
与get_the_author_meta函数一起应用,就像我们对缩略图一样。有什么办法吗?
目前我正在检索用户的照片:
$profile_picture = get_the_author_meta( 'user_profile_image', $current_author->ID );
但另外我需要应用以下缩略图大小:
add_image_size( 'blog-author-thumbnail', 450, 675, true); // constrain width to 450
,我不知道怎么做!
任何建议都将不胜感激。
答案 0 :(得分:1)
在开发插件等时,通常会通过URL检索图像ID。
我想你也可以这样做。
// retrieves the attachment ID from the file URL - put this into functions.php
function pippin_get_image_id($image_url) {
global $wpdb;
$attachment = $wpdb->get_col($wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE guid='%s';", $image_url ));
return $attachment[0];
}
// Next part is for displaying the image in your template etc.
// set the image url
// $image_url = 'http://yoursite.com/wp-content/uploads/2011/02/14/image_name.jpg';
// or in your case :
$image_url = $profile_picture;
// store the image ID in a var
$image_id = pippin_get_image_id($image_url);
// retrieve the thumbnail size of our image - you can change the size - so you could use 'blog-author-thumbnail'
$image_thumb = wp_get_attachment_image_src($image_id, 'thumbnail');
// to display the image
echo $image_thumb[0];