2

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「問題」内に新しい画像をアップロードすると、上記のすべての画像サイズが作成されます。

これを回避する別の方法はありますか?

4

1 に答える 1

0

CPT unset( $sizes['tinyfeatured']);「Issues」の場合はサイズを設定解除しますが、反対の場合はサイズを設定します。そのようです:

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');
}

WordPressのデフォルトのメディア画像サイズを削除するからの詳細と引用

編集済み サイズについてはこれを試してください

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

}
于 2013-03-18T13:19:00.543 に答える