programing

woocommerce 속성값 목록 가져오기

goodsources 2023. 2. 25. 20:57
반응형

woocommerce 속성값 목록 가져오기

워드프레스에 woocommerce를 사용하여 심플한 숍 사이트를 만들고 있으며, 제품에 몇 가지 속성을 추가했습니다.이것들은, 즉,size그리고.color사이즈에 따라 Small, Medium, Large 등 다양한 값이 준비되어 있습니다.색상 ie도 마찬가지입니다.빨강, 파랑, 초록

이 값을 드롭다운에 표시하려고 합니다.기본적으로 나열만 하면 상점 카탈로그 페이지의 필터로 사용할 수 있습니다.

어떤 도움이라도 좋습니다.

편집: woocommerce 코드와 api 문서를 조사하여 속성을 가져오기 위한 코드만 찾았습니다.

global $woocommerce;

$attr_tax = $woocommerce->get_attribute_taxonomy_names();

foreach( $attr_tax as $tax ) {
     echo $woocommerce->attribute_taxonomy_name( $tax->attribute_name );
}

이 스니펫을 통해 얻을 수 있는 것은 분류 슬러그(pa_size 및 pa_color)뿐입니다.Woocommerce는 처음이지만 API 문서를 검색해도 이러한 Atribute의 값을 가져오는 방법은 알 수 없습니다.

사용할 수 있습니다.get_terms() https://developer.wordpress.org/reference/functions/get_terms/

pa_size 또는 pa_color를 입력하면 해당 분류법에 포함된 용어 목록이 반환됩니다.

이것이 누군가에게 도움이 되기를 바랍니다.

global $product; 

// Get product attributes
$attributes = $product->get_attributes();

if ( ! $attributes ) {
    echo "No attributes";
}

foreach ( $attributes as $attribute ) {

        echo $attribute['name'] . ": ";
        $product_attributes = array();
        $product_attributes = explode('|',$attribute['value']);

        $attributes_dropdown = '<select>';

        foreach ( $product_attributes as $pa ) {
            $attributes_dropdown .= '<option value="' . $pa . '">' . $pa . '</option>';
        }

        $attributes_dropdown .= '</select>';

        echo $attributes_dropdown;
}

이 게시물은 얼마 전에 작성되었기 때문에 Woocommerce가 이전 형태에서 이 방법을 가지고 있었는지 모르겠습니다.
이 작업을 원하는 다른 사람에게는 이 라인만 있으면 됩니다.

$product->list_attributes();

이를 통해 순서를 커스터마이즈하여 백엔드의 변화를 표시할지 여부를 전환할 수 있습니다.

html을 출력하는 @user5029040 answer 외에 어레이를 가져오려면 다음 기능을 사용할 수 있습니다.

$product->get_variation_attributes();

모든 wc 분류법에 대한 모든 값을 가져오고 싶은 경우.

다음 기능을 사용할 수 있습니다.wc_get_attribute_taxonomies()그러면 다음과 같은 어레이가 반환됩니다.

[
  "id:24" => {
    "attribute_id": "24"
    "attribute_name": "bending-lines"
    "attribute_label": "Bending lines"
    "attribute_type": "select"
    "attribute_orderby": "menu_order"
    "attribute_public": "0"
  }
]

그러면 기능을 사용할 수 있습니다.get_terms()분류법별 값을 가져옵니다.

언급URL : https://stackoverflow.com/questions/20500286/woocommerce-get-list-of-attribute-values

반응형