Как использовать уменьшенный размер изображения, если я использую только src для получения изображения

У меня есть пользовательское поле для изображения и его использование таким образом:

<?php $item_img = get_sub_field('image'); ?> <img src="<?php echo $item_img ?>" /> 

Но я хочу использовать уменьшенную версию изображения, установленную в формате 150×150 в wordpress.

Как мне это сделать с этим типом настройки?

Должен ли я устанавливать пользовательский add_image_size() или у WordPress есть дублированные изображения размера большого пальца?

Поскольку вы используете get_sub_field() я предполагаю, что вы находитесь внутри have_rows() (повторитель), теоретически он должен работать следующим образом:

 $image = get_sub_field('image'); <img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt'] ?>" /> 

и это то, что вы можете получить:

 $image['url'] //this is the full image echo $image['sizes']['medium']; //medium image echo $image['sizes']['thumbnail']; //thumbnail image echo $image['sizes']['yourcustomsize']; //custom sized image 

другим способом является использование:

 $size = 'full'; // (thumbnail, medium, large, full or custom size) echo wp_get_attachment_image( $imageID, $size ); 

теперь, если они не работают для вас, это означает, что ваши изображения сохраняются только как URL, а не объект. попробуйте повторно сохранить сообщение / страницу, на которой загружено изображение, или если у вас есть набор изображений, вам может потребоваться использовать другой плагин для повторной загрузки и создания sizes .

Вы всегда можете отредактировать поле в пользовательских полях> Группы полей, чтобы вернуть идентификатор. Затем вы можете использовать его следующим образом:

 <img src="<?php echo wp_get_attachment_image_src( get_sub_field( 'image' ), 'thumbnail' )[0]; ?>"> 

Если он не находится под вашим контролем, и поле установлено только для возврата URL- get_sub_field() , вы можете установить 2-й аргумент get_sub_field() на false чтобы получить идентификатор, так как ACF всегда сохраняет идентификатор независимо от этого параметра и устанавливает это для false означает, что вы получаете исходное значение.

Итак, это будет:

 <?php $image_id = get_sub_field( 'image', false ); ?> <img src="<?php echo wp_get_attachment_image_src( $image_id, 'thumbnail' )[0]; ?>">