source

Woocommerce에서 ID를 지정한 제품의 모든 제품 버전 가져오기

factcode 2023. 3. 5. 21:59
반응형

Woocommerce에서 ID를 지정한 제품의 모든 제품 버전 가져오기

커스텀 페이지가 있는데, 매장 내 모든 상품과 다양한 상품을 나열하려고 합니다.

또한 제품 속성에 따라 slug 'size'로 정렬된 변동 가격을 나열하려고 합니다.

테스트를 위해 ID가 381인 단일 제품의 변형을 얻으려고 합니다. 내 코드는 아직입니다.

    $handle=new WC_Product('381');
    $variations1=$handle->get_avaialable_variations();
    foreach ($variations1 as $key => $value) {
            echo '<option  value="'.$value['variation_id'].'">'.implode('/',$value['attributes']).'-'.$value['price_html'].'</option>';

    }

하지만 내가 받는 오류는

PHP Fatal error:  Call to undefined method WC_Product::get_avaialable_variations() 

나는 그것을 사용해봤어요.

$handle=new WC_Product_Variable('381');

대신

 $handle=new WC_Product('381'); 

하지만 오류는 동일합니다.

도와줄 사람 있어?

이 코드를 사용해 보세요.

$handle=new WC_Product_Variable('12');
$variations1=$handle->get_children();
foreach ($variations1 as $value) {
    $single_variation=new WC_Product_Variation($value);
    echo '<option  value="'.$value.'">'.implode(" / ", $single_variation->get_variation_attributes()).'-'.get_woocommerce_currency_symbol().$single_variation->price.'</option>';
}

주의: 이 $single_variation->get_price_html()을 사용하여 출력에 html 스팬 태그를 붙이면 옵션태그에 숨겨집니다.

위 코드를 테스트한 결과는 다음과 같다.

당신에게도 효과가 있는지 알려주세요.

여기에 이미지 설명 입력

코드에 오타가 있었군요get_avaialable_variations

그럴 것 같네요.get_available_variations

function get_variation_data_from_variation_id($item_id) {

    $_product = new WC_Product_Variation($item_id);
    $variation_data = $_product->get_variation_attributes(); // variation data in array
    $variation_detail = woocommerce_get_formatted_variation($variation_data, true);  // this will give all variation detail in one line
    // $variation_detail = woocommerce_get_formatted_variation( $variation_data, false);  // this will give all variation detail one by one
    return $variation_data; // $variation_detail will return string containing variation detail which can be used to print on website
    // return $variation_data; // $variation_data will return only the data which can be used to store variation data
}

이전에 stackoverflow에서 이 링크를 기억하지 못했습니다(이 메서드로 답변 링크를 찾으면 편집하십시오).출력에 대한 변동 데이터가 표시됩니다.메서드는 변동 ID를 매개 변수로 사용합니다.

출력:

를 클릭합니다여기에 이미지 설명 입력.

언급URL : https://stackoverflow.com/questions/31232840/get-all-product-variations-of-a-product-given-its-id-in-woocommerce

반응형