VEri63
@VEri63
Не программист.

Как задать миниатюры точного размера для сайта на wordpress?

Как обрезать и при этом одновременно уменьшить по возможности размер фото для миниатюр, чтобы те смотрелись в теме одинаково хорошо.
Например на демо версии темы все фотографии имеют размер 900х600рх, главное чтобы размер миниатюры был при этом 16х9, чтобы было на всю ширину поста или по высоте не слишком высоким.
Обычно миниатюры задаются размером по максимальным значениям, например, 1024х1024, 150х150, ...
При таком варианте я думаю фото может нарушить пропорции в соотношении 16х9.

Тот самый образец.

Важно чтобы старые миниатюры обрезались под размер и новые загружаемые также обрезались.

Дополнение:
в теме есть код отвечающий за отображение миниатюры
if ( ! function_exists( 'zakra_post_thumbnail' ) ) :

	/**
	 * Displays an optional post thumbnail.
	 *
	 * Wraps the post thumbnail in an anchor element on index views, or a div
	 * element when on single views.
	 */
	
	function zakra_post_thumbnail( $image_size = 'post-thumbnail ) {

		if ( post_password_required() || is_attachment() || ! has_post_thumbnail() ) {

			return;
		}
		?>

		<div class="zak-entry-thumbnail">

			<?php
			if ( is_singular() ) :

				the_post_thumbnail();
			else :
			?>

				<a class="zak-entry-thumbnail__link" href="<?php the_permalink(); ?>" aria-hidden="true">
					<?php
					the_post_thumbnail(
						$image_size,
						array(
							'alt' => the_title_attribute(
								array(
									'echo' => false,
								)
							),
						)
					);
					?>
				</a>
			<?php endif; // End is_singular(). ?>

		</div><!-- .zak-entry-thumbnail -->
		<?php
	}
endif;


заменив который на это я получаю то что указано, указав точную обрезку миниатюр в обычных настройках вордпресс
if ( ! function_exists( 'zakra_post_thumbnail' ) ) :

	/**
	 * Displays an optional post thumbnail.
	 *
	 * Wraps the post thumbnail in an anchor element on index views, or a div
	 * element when on single views.
	 */
	
	function zakra_post_thumbnail( $image_size = 'thumbnail' ) {

		if ( post_password_required() || is_attachment() || ! has_post_thumbnail() ) {

			return;
		}
		?>

		<div class="zak-entry-thumbnail">

			<?php
			if ( is_singular() ) :

				the_post_thumbnail();
			else :
			?>

				<a class="zak-entry-thumbnail__link" href="<?php the_permalink(); ?>" aria-hidden="true">
					<?php
					the_post_thumbnail(
						$image_size,
						array(
							'alt' => the_title_attribute(
								array(
									'echo' => false,
								)
							),
						)
					);
					?>
				</a>
			<?php endif; // End is_singular(). ?>

		</div><!-- .zak-entry-thumbnail -->
		<?php
	}
endif;


Но проблема в том что копирование файла в дочернюю тему где расположен этот код не работает в дочерней теме, его нужно как-то иначе сделать или переписать каким-то образом и добавить в functions.
  • Вопрос задан
  • 91 просмотр
Пригласить эксперта
Ответы на вопрос 2
@mikitachyzhyk
Функция add_image_size()
Ответ написан
@UthvfyV
есть несколько способов это сделать. Можно обрезать миниатюры вручную в редакторе. Но это чёрная работа. Можно при помощи плагинов. Regenerate Thumbnails или Force Regenerate Thumbnails. Первый исправит ранее загруженные изображения. Этот плагин провоцирует wordpress менять размер миниатюры удаляя прежние размеры. Чем этот плагин лучше предыдущего то что он удаляет прежние прежние размеры, а тот только изменяет. Оба совместимы с woocommerse.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы