programing

Woocommerce는 제품 ID별로 이미지 갤러리를 가져옵니다.

lastcode 2023. 3. 8. 21:13
반응형

Woocommerce는 제품 ID별로 이미지 갤러리를 가져옵니다.

제품 갤러리의 이미지를 프로그래밍 방식으로 표시하는 방법은 무엇입니까?특장 이미지를 표시하는 옵션이 표시되지만 제품 ID의 모든 이미지를 표시하는 것은 아닙니다.

이거 할 수 있어요?

Woocommerce의 id로 제품갤러리에서 이미지를 얻을 수 없었습니다.

<?php

 $gallery = get_post_gallery_images(724);


    $image_list = '<ul id="cfImageGallery">';                       
    foreach( $gallery as $image ) {// Loop through each image in each gallery
        $image_list .= '<li><img src=" ' . str_replace('-150x150','',$image) . ' " /></li>';
    }
    $image_list .= '</ul>';                     
    echo $image_list;  

?>

이미 테스트를 마쳤기 때문에 동작합니다.

<?php
    $product_id = '14';
    $product = new WC_product($product_id);
    $attachment_ids = $product->get_gallery_image_ids();

    foreach( $attachment_ids as $attachment_id ) 
        {
          // Display the image URL
          echo $Original_image_url = wp_get_attachment_url( $attachment_id );

          // Display Image instead of URL
          echo wp_get_attachment_image($attachment_id, 'full');

        }
?>

위의 답변은 썸네일(메인) 이미지를 제외하고 모두 표시됩니다.

썸네일을 추가하려면 다음을 사용합니다.

$product_id = '652';
$product = new WC_product($product_id);
$attachment_ids = $product->get_gallery_image_ids();

//이것에 의해, 썸네일 ID 가 어레이의 첫 번째 요소로 추가됩니다.

array_unshift($attachment_ids, get_post_thumbnail_id($product_id));

print_r($attachment_ids);

를 사용합니다.get_gallery_image_ids()Gallery Attachment ID를 취득하는 이유는 다음과 같습니다.get_gallery_attachment_ids()WooCommerce 3.0.0 이후 권장되지 않음

<div class="row">
<?php

    $attachment_ids = $product->get_gallery_attachment_ids();

    foreach( $attachment_ids as $attachment_id ) {
        $image_link =wp_get_attachment_url( $attachment_id );
        //Get image show by tag <img> 
        echo '<img class="thumb" src="' . $image_link . '">';
    }
?>
</div>

//Get all image by tag <img>

언급URL : https://stackoverflow.com/questions/37274685/woocommerce-get-image-galleries-by-product-id

반응형