Intereting Posts
Предложение Order & Orderby не работает с пользовательским запросом Lose «Архив блога» из заголовка страницы Задайте значение настраиваемого поля при публикации или обновлении публикации Показать 1 сообщение за таксономию с полилангом Размещение активов для внешнего использования Я не могу войти в систему, чтобы выполнить функцию wordpressa, nocache_headers Разрешить просмотр нескольких шаблонов на странице настроек галереи при использовании Visual Editor Перечислите пользовательскую таксономию, специфичную для одного типа пользовательских сообщений. Как запросить промежуточную базу данных? Содержимое более 10 000 символов не будет отображаться с помощью параметра__события () Я использую пользовательские поля (для добавления почти 5 изображений и их названий)? как получить отрывок без тега p html из сообщения WordPress Inherit Featured Image From Page to Media posts_per_page & pagination conflict Форма контакта в боковой панели

wp_get_attachment_url с конкретным image_size?

Я использую Woocommerce для более 1800 продуктов в интернет-магазине. Woocommerce поставляется со встроенным плагином PrettyPhoto lightbox. По умолчанию он загружает исходный размер изображения WordPress, когда вы нажимаете для увеличения изображения в лайтбокс.

Woocommerce требует этого оригинального изображения в шаблоне 'product-image.php'. Я могу изменить это. Переменная $ image_link вызывает исходный размер. Я хотел бы назвать нестандартный размер, который я уже сделал. Я просто не знаю, как это назвать, я искал более одного дня в документах, форумах и сайтах, но не могу их найти.

Мне нужно изменить $ image_link, чтобы он вызывал мой собственный размер изображения (который я добавил через add_image_size). Но как? Я знаю, что это основа WordPress, но я не могу это сделать …

Пример моего сайта (нажмите, чтобы увеличить, он показывает уменьшенное изображение с разрешением 1600 пикселей по ширине, но я хочу меньший): http://www.affichesmarci.com/shop/the-railys-cycling-act/

<?php if ( has_post_thumbnail() ) { $image = get_the_post_thumbnail( $post->ID, apply_filters( 'single_product_large_thumbnail_size', 'shop_single' ) ); $image_title = esc_attr( get_the_title( get_post_thumbnail_id() ) ); $image_link = wp_get_attachment_url( get_post_thumbnail_id() ); $attachment_count = count( $product->get_gallery_attachment_ids() ); if ( $attachment_count > 0 ) { $gallery = '[product-gallery]'; } else { $gallery = ''; } echo apply_filters( 'woocommerce_single_product_image_html', sprintf( '<a href="%s" itemprop="image" class="bigbox woocommerce-main-image zoom" title="%s" rel="prettyPhoto' . $gallery . '">%s</a>', $image_link, $image_title, $image ), $post->ID ); } else { echo apply_filters( 'woocommerce_single_product_image_html', sprintf( '<img src="%s" alt="Placeholder" class="bigbox" />', woocommerce_placeholder_img_src() ), $post->ID ); } ?> <?php do_action( 'woocommerce_product_thumbnails' ); ?> 

Solutions Collecting From Web of "wp_get_attachment_url с конкретным image_size?"

Вы можете использовать single_product_large_thumbnail_size фильтр Woocommerce, как показано в следующем коде, чтобы применить пользовательский размер изображения для продукта.

В приведенном выше коде замените это

 apply_filters( 'single_product_large_thumbnail_size', 'shop_single' ) 

с этим

 apply_filters( 'single_product_large_thumbnail_size', 'custom_thumbnail_size' ); 

Если вы можете изменить код в своем вопросе, используйте wp_get_attachment_image_src вместо wp_get_attachment_url . Вы можете указать желаемый размер изображения в качестве второго аргумента.

 $image = wp_get_attachment_image_src(get_post_thumbnail_id(), 'your_custom_size'); if ($image) { list($imageUrl, $imageWidth, $imageHeight) = $image; // do stuff with $imageUrl, etc } else { // couldn't find the image, act accordingly }