2016-07-20 5 views
4

내가 woocommerce에서 특정 사용자 지정 특성을 얻기 위해 노력하고 속성을 가져옵니다. 나는 그것을 어떻게 3-5 방법을 제공하는이 사이트에 스레드의 톤을 읽었습니다. 모든 시도 후, 나를 위해 일한 유일한 방법은 모든 속성을 반복하다 - 다른 모든 작동하지 않았다. (link)WooCommerce - 사용자 정의 제품은

: ( link)

$global product; 
$myPdf = array_shift(wc_get_product_terms($product->id, 'pdfs', array('fields' => 'names'))); 

$myPdf = $product->get_attribute('pdfs'); 

$myPdf = get_post_meta($product->id, 'pdfs', true); 

이 일을했던 유일한 하나입니다 나는 'PDF 파일'이

다음 시도가 작동하지 않았다라는 이름의 사용자 정의 속성이

$attributes = $product->get_attributes(); foreach ($attributes as $attribute) { if (attribute_label($attribute[ 'name' ]) == "pdfs") { echo array_shift(wc_get_product_terms($product->id, $attribute[ 'name' ])); } } 

나는 차라리 어떤 도움을 주시면 감사하겠습니다 첫 번째 옵션 중 하나를 사용할 수있을 것입니다.
감사

답변

7

업데이트 : 를 사용하는 속성으로

항상 wc_get_product_terms() 기능을 얻기 위해, DB에 pa_에 앞에 추가되는 Woocommerce 3+에 대한 추가 호환성, 당신이 필요합니다 대신 pdfs,이 방법의 pa_pdfs :

global $product; 

$product_id = method_exists($product, 'get_id') ? $product->get_id() : $product->id; // Added WC 3+ support 

$myPdf = array_shift(wc_get_product_terms($product_id, 'pa_pdfs', array('fields' => 'names'))); 

참조 : How to get a products custom attributes from WooCommerce

+0

완벽한 - 감사합니다! – DaveyD

+0

답변 해 주셔서 감사합니다. 정말 도움이되었습니다. –

+0

난 얻을 -> 공지 사항 : 만 변수가 참조에 의해 전달되어야한다. Woocommerce 버전 3.2.6. 코드 ---> $ date = array_shift (wc_get_product_terms ($ product-> get_id(), 'pa_date', array ('fields'=> 'names')))); 무엇이 잘못 될 수 있습니까? 나는 그것을 풀 수 없다. 나는 gettype ($ date)의 'Null'을 얻는다. 어쩌면 내가 도움을 얻을 수 있을까? – Kristis

관련 문제