Wordpress:使用 url 调整 $term 附件的大小
Wordpress: Resize $term attachment using url
我已经将这个问题提交到 Wordpress 部分,但暂时没有成功。问题可以找here.
我正在使用此插件将图像附加到自定义分类法。插件的功能returns 附件的图片如下:
function get_wp_term_image($term_id){
return get_option('_category_image'.$term_id);
}
编辑:get_wp_term_image($term_id)
returns 图片的 url.
它工作正常,但我想调整返回图像的大小,因为我在一个页面中使用它来显示所有带有相对缩略图的分类类别。这意味着如果你上传一张大图片,你会得到它并且页面加载变得非常繁重。我试图在我的页面循环中添加这个挂钩但没有成功:
$term_id = $term->term_id;
if (function_exists('get_wp_term_image'))
{
$meta_image = get_wp_term_image($term_id);
//tried this
$term_image = wp_get_attachment_image_src($term_id, 'smalltax');
//and this
$image_id = attachment_url_to_postid($meta_image);
//no success
}
- 在第一种情况下,我假设
wp_get_attachment_image_src
挂钩考虑来自任何 ID 的附件,但我错了。 NB. 我没有图像 ID,我有 image url
和 term_id
- 在第二种情况下,我想用 $image_id
attachment_url_to_postid
挂钩然后调整大小
调整。
能否提供解决方案?甚至帮助修改插件本身。谢谢!
你试过了吗?
$term_image = wp_get_attachment_image_src($meta_image, 'smalltax');
我假设 $meta_image 是您要查找的图像的 ID...如果是这样,我的线路将起作用。您正在将 $term_id 传递给该函数,它是术语的 ID,而不是图像的 ID。
更新
既然你已经指定 $meta_image 是全尺寸图像的 URL ,那么为了得到你想要的东西首先得到它的 ID ... 然后调用一个默认的 WP 函数来检索你想要的图像大小。有点乱七八糟的方法,但这似乎是你唯一的选择......所以你需要一个类似于这样的函数:
// Function to get an image's ID by it's full sized URL
function get_image_id_by_url( $image_url ) {
global $wpdb;
$attachment = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE guid='%s';", $image_url ) );
return $attachment[0];
}
然后您将在这些行中使用一些东西:
$image_id = get_image_id_by_url( $image_url );
$$term_image = wp_get_attachment_image_src( $image_id, 'smalltax' );
我已经将这个问题提交到 Wordpress 部分,但暂时没有成功。问题可以找here.
我正在使用此插件将图像附加到自定义分类法。插件的功能returns 附件的图片如下:
function get_wp_term_image($term_id){
return get_option('_category_image'.$term_id);
}
编辑:get_wp_term_image($term_id)
returns 图片的 url.
它工作正常,但我想调整返回图像的大小,因为我在一个页面中使用它来显示所有带有相对缩略图的分类类别。这意味着如果你上传一张大图片,你会得到它并且页面加载变得非常繁重。我试图在我的页面循环中添加这个挂钩但没有成功:
$term_id = $term->term_id;
if (function_exists('get_wp_term_image'))
{
$meta_image = get_wp_term_image($term_id);
//tried this
$term_image = wp_get_attachment_image_src($term_id, 'smalltax');
//and this
$image_id = attachment_url_to_postid($meta_image);
//no success
}
- 在第一种情况下,我假设
wp_get_attachment_image_src
挂钩考虑来自任何 ID 的附件,但我错了。 NB. 我没有图像 ID,我有image url
和term_id
- 在第二种情况下,我想用 $image_id
attachment_url_to_postid
挂钩然后调整大小 调整。
能否提供解决方案?甚至帮助修改插件本身。谢谢!
你试过了吗?
$term_image = wp_get_attachment_image_src($meta_image, 'smalltax');
我假设 $meta_image 是您要查找的图像的 ID...如果是这样,我的线路将起作用。您正在将 $term_id 传递给该函数,它是术语的 ID,而不是图像的 ID。
更新
既然你已经指定 $meta_image 是全尺寸图像的 URL ,那么为了得到你想要的东西首先得到它的 ID ... 然后调用一个默认的 WP 函数来检索你想要的图像大小。有点乱七八糟的方法,但这似乎是你唯一的选择......所以你需要一个类似于这样的函数:
// Function to get an image's ID by it's full sized URL
function get_image_id_by_url( $image_url ) {
global $wpdb;
$attachment = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE guid='%s';", $image_url ) );
return $attachment[0];
}
然后您将在这些行中使用一些东西:
$image_id = get_image_id_by_url( $image_url );
$$term_image = wp_get_attachment_image_src( $image_id, 'smalltax' );