Woocommerce 3에서 모든 배송 클래스 받기
이 견과류를 깨지는 못했지만, 뭔가 간단한 것을 놓치고 있다는 느낌을 지울 수가 없습니다.
관리자 설정 페이지에서 배송 클래스 목록을 제공해야 하는 WooCommerce 플러그인을 개발하고 있습니다.다른 질문의 답변에서 제시된 다음 코드는 다음이 작동해야 함을 나타냅니다.
$shipping = new \WC_Shipping();
$shipping_classes = $shipping->get_shipping_classes();
var_dump($shipping_classes);
die();
안타깝게도 출력이 빈 배열입니다.
저는 워드프레스 4.9.5와 우커머스 3.3.5를 사용하고 있습니다.도와주셔서 감사합니다!
업데이트 여기에 요약된 것과 정확히 같은 문제가 있습니다. get_terms()가 잘못된 분류법을 반환하고 해결 방법을 제공합니다.하지만 저는 그것이 해결책이라고 생각하지 않습니다.
모든 배송 클래스를 받으려면 다음과 같은 것만 있으면 됩니다.
$shipping_classes = get_terms( array('taxonomy' => 'product_shipping_class', 'hide_empty' => false ) );
테스트를 거쳐 작동합니다.이것은 당신에게 배열을 제공할 것입니다.WP_Term
모든 선급의 물건들입니다.
Woocommerce에서는 배송 클래스가 아래에 있습니다.
product_shipping_class
사용자 정의 분류법
또는 이 사용자 지정 기능을 간단한 SQL 쿼리와 함께 사용할 수도 있습니다.
function wc_get_shipping_classes(){
global $wpdb;
$return $wpdb->get_results( "
SELECT * FROM {$wpdb->prefix}terms as t
INNER JOIN {$wpdb->prefix}term_taxonomy as tt ON t.term_id = tt.term_id
WHERE tt.taxonomy LIKE 'product_shipping_class'
" );
}
코드가 작동합니다.활성 하위 테마(또는 활성 테마)의 php 파일입니다.
USE(사용법)(테스트 예):
$shipping_classes = wc_get_shipping_classes(); // Get Shipping Classes
echo '<pre>'; print_r($shipping_classes); echo '</pre>'; // Test raw output
이건 정말 쉬운 일이에요
/**
* @var WP_Terms[] $shipping_classes
*/
$shipping_classes = WC()->shipping()->get_shipping_classes();
아마도 누군가는 여전히 해결책을 찾고 있을 것입니다 :)
$WC_Shipping = new WC_Shipping();
$shipping_classes = $WC_Shipping->get_shipping_classes();
var_dump($shipping_classes);
언급URL : https://stackoverflow.com/questions/49844513/get-all-shipping-classes-in-woocommerce-3
'programing' 카테고리의 다른 글
장고 쿼리 집합의 카운트() 대 len() (0) | 2023.09.16 |
---|---|
mariadb 10.0 이후 jdbc 통신 링크 오류 (0) | 2023.09.16 |
WordPress: WP_Query를 사용자 지정 날짜 필드별로 주문하고 매달 이후에 루프를 분할합니다. (0) | 2023.09.16 |
디렉토리의 모든 파일에 대해 프로그램을 실행하기 위해 Powershell을 사용하는 방법 (0) | 2023.09.16 |
Swift UI 보기 - viewDidLoad()? (0) | 2023.09.16 |