我正在寻找一种方法,以避免在CPT上传新图像时创建图像拇指。
因此,在我的functions.php中,我有:
if ( function_exists( 'add_theme_support' ) ) {
add_theme_support( 'post-thumbnails' );
set_post_thumbnail_size( 56, 56, true ); // Normal post thumbnails
add_image_size( 'tinyfeatured', 50, 50, true ); // Tiny Featured thumbnail
add_image_size( 'blogonecol', 530, '', true ); // Blog One Column thumbnail
add_image_size( 'post', 530, '', true ); // Portfolio Large thumbnail
add_image_size( 'postnc', 700, '', false ); // Portfolio Large thumbnail
add_image_size( 'carousel', 560, 341, true ); // Portfolio Large thumbnail
add_image_size( 'magazine-full', '', 1131, true); // Portfolio Large thumbnail
}为了避免为我正在使用的CPT创建所有这些图像大小,我这样做了:
if ( function_exists( 'add_theme_support' ) ) {
add_theme_support( 'post-thumbnails' );
if( !is_singular('issues') ) {
set_post_thumbnail_size( 56, 56, true ); // Normal post thumbnails
add_image_size( 'tinyfeatured', 50, 50, true ); // Tiny Featured thumbnail
add_image_size( 'blogonecol', 530, '', true ); // Blog One Column thumbnail
add_image_size( 'post', 530, '', true ); // Portfolio Large thumbnail
add_image_size( 'postnc', 700, '', false ); // Portfolio Large thumbnail
add_image_size( 'carousel', 560, 341, true ); // Portfolio Large thumbnail
}
add_image_size( 'magazine-full', '', 1131, true); // Portfolio Large thumbnail
}但是,当我在CPT“问题”中上传新的图像时,上面的所有图像大小都被创建了。
有没有其他方法可以避免这种情况?
发布于 2013-03-18 21:19:01
尝试在条件中使用unset( $sizes['tinyfeatured']);,这样当它是CPT“问题”时,您可以取消设置大小,而当它相反时,则设置大小。如下所示:
if( is_singular('issues') ) {
function sgr_filter_image_sizes( $sizes) {
unset( $sizes['tinyfeatured']);
unset( $sizes['blogonecol']);
unset( $sizes['post']);
unset( $sizes['postnc']);
unset( $sizes['carousel']);
return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'sgr_filter_image_sizes');
}更多信息并引用自
编辑过的试试这个大小
function add_new_thumbnails() {
if ( function_exists( 'add_theme_support' ) ) {
add_theme_support( 'post-thumbnails' );
set_post_thumbnail_size( 56, 56, true ); // Normal post thumbnails
add_image_size( 'tinyfeatured', 50, 50, true ); // Tiny Featured thumbnail
add_image_size( 'blogonecol', 530, '', true ); // Blog One Column thumbnail
add_image_size( 'post', 530, '', true ); // Portfolio Large thumbnail
add_image_size( 'postnc', 700, '', false ); // Portfolio Large thumbnail
add_image_size( 'carousel', 560, 341, true ); // Portfolio Large thumbnail
add_image_size( 'magazine-full', '', 1131, true); // Portfolio Large thumbnail
}
}
add_action('after_setup_theme', 'add_new_thumbnails',10); //10 is default将此代码与顶级代码一起使用,但添加12的筛选器优先级
add_filter('intermediate_image_sizes_advanced', 'sgr_filter_image_sizes',12);
试用此链接
将其放入您的functions.php中,而不是您添加的代码
新方法
因此,可以尝试的新方法是:
function add_new_thumbnails() {
add_theme_support( 'post-thumbnails' );
set_post_thumbnail_size( 56, 56, true ); // Normal post thumbnails
add_image_size( 'tinyfeatured', 50, 50, true ); // Tiny Featured thumbnail
add_image_size( 'blogonecol', 530, '', true ); // Blog One Column thumbnail
add_image_size( 'post', 530, '', true ); // Portfolio Large thumbnail
add_image_size( 'postnc', 700, '', false ); // Portfolio Large thumbnail
add_image_size( 'carousel', 560, 341, true ); // Portfolio Large thumbnail
add_image_size( 'magazine-full', '', 1131, true); // Portfolio Large thumbnail
}
add_action('init', 'add_new_thumbnails',10); //10 is default
if ( is_singular('issues') ) {
function remove_thumbnails() {
add_image_size( 'tinyfeatured', 0, 0 ); // Tiny Featured thumbnail
add_image_size( 'blogonecol', 0, 0); // Blog One Column thumbnail
add_image_size( 'post', 0,0 ); // Portfolio Large thumbnail
add_image_size( 'postnc',0,0 ); // Portfolio Large thumbnail
add_image_size( 'carousel',0,0 ); // Portfolio Large thumbnail
add_image_size( 'magazine-full',0,0); // Portfolio Large thumbnail
}
add_action('init', 'remove_thumbnails',12); // 12 executes after 10
}https://stackoverflow.com/questions/15476431
复制相似问题