Основная миниатюра тоже используется в шаблоне? Если нет — как вариант, можно использовать в слайдере её (указав соответствующие размеры).
При редактировании изображения есть три варианта для изменения:
все размеры, миниатюра и все размеры, кроме миниатюры. Задачу можно рассмотреть с точки зрения большей гибкости в этом месте — на текущий момент нет возможности отредактировать конкретную копию.
Можно написать предложение в багтрекер (на английском): http://core.trac.wordpress.org/.
Нет основная идея это загружать картинку и уже потом её редактировать, выберать область для обрезки, переворачивать и тд.
Редактор после обработки создаёт копию с новым именем
$path = get_attached_file($post_id);
$path_parts = pathinfo52( $path );
$filename = $path_parts['filename'];
$suffix = time() . rand(100, 999);
if ( defined('IMAGE_EDIT_OVERWRITE') && IMAGE_EDIT_OVERWRITE &&
isset($backup_sizes['full-orig']) && $backup_sizes['full-orig']['file'] != $path_parts['basename'] ) {
if ( 'thumbnail' == $target )
$new_path = "{$path_parts['dirname']}/{$filename}-temp.{$path_parts['extension']}";
else
$new_path = $path;
} else {
while( true ) {
$filename = preg_replace( '/-e([0-9]+)$/', '', $filename );
$filename .= "-e{$suffix}";
$new_filename = "{$filename}.{$path_parts['extension']}";
$new_path = "{$path_parts['dirname']}/$new_filename";
if ( file_exists($new_path) )
$suffix++;
else
break;
}
}
Генерит случайный суффикс так сказать.
Но функция the_post_thumbnail берёт именно из оригинала.
Вот это место
function the_post_thumbnail( $size = 'post-thumbnail', $attr = '' ) {
echo get_the_post_thumbnail( NULL, $size, $attr );
}
/**
* Retrieve Post Thumbnail.
*
* @since 2.9.0
*
* @param int $post_id Optional. Post ID.
* @param string $size Optional. Image size. Defaults to 'thumbnail'.
* @param string|array $attr Optional. Query string or array of attributes.
*/
function get_the_post_thumbnail( $post_id = NULL, $size = 'post-thumbnail', $attr = '' ) {
global $id;
$post_id = ( NULL === $post_id ) ? $id : $post_id;
$post_thumbnail_id = get_post_thumbnail_id( $post_id );
$size = apply_filters( 'post_thumbnail_size', $size );
if ( $post_thumbnail_id ) {
do_action( 'begin_fetch_post_thumbnail_html', $post_id, $post_thumbnail_id, $size ); // for "Just In Time" filtering of all of wp_get_attachment_image()'s filters
$html = wp_get_attachment_image( $post_thumbnail_id, $size, false, $attr );
do_action( 'end_fetch_post_thumbnail_html', $post_id, $post_thumbnail_id, $size );
} else {
$html = '';
}
return apply_filters( 'post_thumbnail_html', $html, $post_id, $post_thumbnail_id, $size, $attr );
}
?>
Увы не так хорошо владею английским как хотелось бы