반응형
Woocommerce 어레이에서 제품 태그를 가져옵니다.
if/else 로직(in_array)을 수행하기 위해 어레이 내 woocommerce 제품의 제품 태그를 가져오고 싶은데 코드가 작동하지 않습니다.
<?php
$aromacheck = array() ;
$aromacheck = get_terms( 'product_tag') ;
// echo $aromacheck
?>
$aromacheck를 에코할 때 제품 태그가 존재하지만 빈 Array만 표시됩니다(포스트 클래스에 표시됨).
어레이 내의 제품 태그를 올바르게 취득하려면 어떻게 해야 합니까?
솔루션(Noman과 nevius에게 감사):
/* Get the product tag */
$terms = get_the_terms( $post->ID, 'product_tag' );
$aromacheck = array();
if ( ! empty( $terms ) && ! is_wp_error( $terms ) ){
foreach ( $terms as $term ) {
$aromacheck[] = $term->slug;
}
}
/* Check if it is existing in the array to output some value */
if (in_array ( "value", $aromacheck ) ) {
echo "I have the value";
}
어레이를 루프하여 별도의 어레이를 생성하여 확인해야 합니다.in_array
왜냐면get_terms
돌아가다object
배열되어 있습니다.
$terms = get_terms( 'product_tag' );
$term_array = array();
if ( ! empty( $terms ) && ! is_wp_error( $terms ) ){
foreach ( $terms as $term ) {
$term_array[] = $term->name;
}
}
어레이를 루프한 후입니다.
in_array()를 사용할 수 있습니다.
가정하다$term_array
태그 블랙 포함
if(in_array('black',$term_array)) {
echo 'black exists';
} else {
echo 'not exists';
}
global $product;
$tags = $product->tag_ids;
foreach($tags as $tag) {
echo get_term($tag)->name;
}
args-array를 get_terms 함수로 해석해야 했습니다.이게 다른 사람들에게도 도움이 될지도 몰라.
$args = array(
'number' => $number,
'orderby' => $orderby,
'order' => $order,
'hide_empty' => $hide_empty,
'include' => $ids
);
$product_tags = get_terms( 'product_tag', $args );
언급URL : https://stackoverflow.com/questions/31904758/woocommerce-get-product-tags-in-array
반응형
'programing' 카테고리의 다른 글
SpringBoot에서 MockMvc를 사용하는 경우의 차이점WebMvcTest 테스트 및 사용 (0) | 2023.03.20 |
---|---|
복잡한 객체를 ASP에 전달하는 방법.jQuery ajax 호출에서 NET WebApi GET을 사용하시겠습니까? (0) | 2023.03.20 |
c++ 언어 및 JSON 파서를 사용하여 Restful Web Services를 작성하는 방법 (0) | 2023.03.20 |
스프링 부트 application.properties의 Maven 속성 사용 (0) | 2023.03.20 |
AngularJs 명령어 확장 (0) | 2023.03.20 |