Я работаю над темой WordPress Twenty Ten и хочу отображать миниатюры сообщений. Я выполнил следующие шаги:
-
В файл functions.php добавлен следующий код:
if ( function_exists( 'add_theme_support' ) ) { add_theme_support( 'post-thumbnails' ); }
-
Я также определил размер эскиза сообщения,
set_post_thumbnail_size( 150, 150 );
-
И я настроил параметры мультимедиа из панели администратора WordPress, чтобы не обрезать изображение. но это кадрирование изображения.
-
Используя это в файле loop.php,
the_post_thumbnail(array(150,150);
Я не хочу обрезать изображение. Как я могу это сделать? Пожалуйста, помогите, где я ошибаюсь в моем процессе.
Заранее спасибо.
ЕСЛИ вы хотите получить эскиз размера, который вы установили,
set_post_thumbnail_size()
вызовите егоthe_post_thumbnail()
без передачи каких-либо аргументов.По умолчанию это будет именованный
post-thumbnail
размер, которыйset_post_thumbnail_size()
фактически создается.Также обрезка для этого будет определяться третьим аргументом в
set_post_thumbnail_size()
(по умолчаниюfalse
) и не привязана к настройкам мультимедиа (которые управляют совершенно разными размерами изображения).Спасибо, но если я использую the_post_thumbnail(array(150,150)); в functions.php. Он отображает фактический размер изображения в списках страниц сообщений.? Но мне нужен размер эскиза 150*150.?
Итак, вы можете попробовать это:
if ( function_exists( 'add_theme_support' ) ) { add_theme_support( 'post-thumbnails' ); set_post_thumbnail_size( 150, 150 ); }
и если это не работает для вас, возможно, есть конфликт с другой функцией.+1 за регенерацию миниатюр. Этот шаг неочевиден, когда вникаешь во все это впервые.
Возможно это просто опечатка, используйте
вместо
Другое дело, я никогда не использовал это в loop.php только в functions.php
Пара вещей, чтобы попробовать:
Создайте новый пользовательский размер изображения:
add_image_size( 'my-custom-thumb', 150, 150 );
поэкспериментируйте с размерами, чтобы увидеть, как WordPress реагирует. Может быть коллизия, так как уже есть размер изображения 150х150.Восстановите миниатюры с помощью плагина Regenerate Thumbnails или плагина Ajax Thumbnail Rebuild.
И, как сказал @Rarst: удалите массив из вызова
the_post_thumbnail()
; либо не передайте ему никаких параметров, либо передайте егоimage-size-name
в качестве аргумента.