如何为一些自定义POST类型禁用默认图像大小的生成?

时间:2011-12-11 作者:Bohdan Hdal

我使用了自定义的帖子类型,其中不需要“缩略图”、“中”和“大”大小。我需要禁用这个大小,并创建功能或插件,在那里我可以设置每个自定义帖子类型需要的图像大小。

我的第一步是从wp includes/media挂接get\\u intermediate\\u image\\u size函数。php。我已将此代码添加到函数中。php但不起作用:(

add_filter(\'get_intermediate_image_sizes\', \'get_intermediate_image_sizes_fixed\');
function get_intermediate_image_sizes_fixed() {
    global $_wp_additional_image_sizes;
    //$image_sizes = array(\'thumbnail\', \'medium\', \'large\'); // Standard sizes
    $image_sizes = array();
    if ( isset( $_wp_additional_image_sizes ) && count( $_wp_additional_image_sizes ) )
        $image_sizes = array_merge( $image_sizes, array_keys( $_wp_additional_image_sizes ) );
return apply_filters( \'intermediate_image_sizes\', $image_sizes );
}   
UPD: 在媒体中编辑此行。php正在运行。未生成更改后的默认类型。

$image_sizes = array(\'thumbnail\', \'medium\', \'large\');
但如何让工作成为我的钩子呢?

1 个回复
最合适的回答,由SO网友:scribu 整理而成

我认为目前唯一的解决方案是禁用所有中间图像大小:

add_filter( \'intermediate_image_sizes\', \'__return_empty_array\', 99 );
然后根据帖子类型,通过挂接到“wp\\u generate\\u attachment\\u metadata”手动生成它们,在这里您可以访问附件id(因此也可以访问其父帖子):

function do_your_stuff( $data, $attachment_id ) {
  // generate intermediate images

  return $data;
}

add_filter( \'wp_generate_attachment_metadata\', \'do_your_stuff\', 10, 2 );

结束

相关推荐

where is images/image.jpg?

我被迫在站点上使用SOAP服务,对于一些UI元素,它调用的是我必须放置到位的图像。我无法将它们指向主题文件夹,因为我无法控制HTML,而且我不愿意使用javascript。代码指向<img src=\"images/image.jpg\" >, 我尝试将一个图像文件夹添加到WP安装的根目录中,但没有成功。所以我的问题是,我应该把图像放在哪里,以便HTML可以找到它?