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
'programing' 카테고리의 다른 글
WordPress, nginx 프록시 및 서브 디렉토리: wp-login.php가 도메인으로 리다이렉트하다 (0) | 2023.02.25 |
---|---|
속성 트리를 사용하여 Boost에서 JSON 어레이 생성 (0) | 2023.02.25 |
TNS-12505: TNS: 청취자가 현재 Connect Descriptor에 지정된SID를 인식하지 않음 (0) | 2023.02.25 |
AJAX 게시 오류: 안전하지 않은 헤더 "연결" 설정을 거부했습니다. (0) | 2023.02.25 |
ngModel의 차이점은 무엇입니까?$modelValue 및 ngModel.$viewValue 값 (0) | 2023.02.25 |