2017-04-21 1 views
0

J'utilise le code suivant sur le script externe pour récupérer tous les produits (simple et variable):WooCommerce - Récupérer la classe d'expédition

$args = array(
     'post_type' => array('product', 'product_variation'), 
     'numberposts' => -1, 
     'post_status' => 'publish', 
    ); 
    $shop_products = get_posts($args); 
    foreach ($shop_products as $item) { 
     echo $item->ID.": shipping class is -> ".$item->get_shipping_class()."<br>"; 
    } 

Je dois créer une liste de produits avec leur propre classe d'expédition, mais il n » t fonctionne. Il me montre l'erreur "Appel à la méthode non définie WP_Post :: get_shipping_class()".

Qu'est-ce qui ne va pas? Comment puis-je le réparer?

Répondre

1

J'ai modifié votre code. Essayez de suivre ---

$args = array(
     'post_type' => array('product', 'product_variation'), 
     'numberposts' => -1, 
     'post_status' => 'publish', 
    ); 
    $shop_products = get_posts($args); 
    foreach ($shop_products as $item) { 
     $product = wc_get_product($item->ID); 
     echo $item->ID.": shipping class is -> ".$product->get_shipping_class()."<br>"; 
    } 
+0

Salut Alice. . :-(malheureusement votre solution ne fonctionne pas pour moi, je l'utilise Wordpress 4.7.4 et 2.6.14 WooCommerce J'ai aussi avec tryed. foreach ($ shop_products comme $ item) { $ product = new WC_Product ($ item-> ID); echo $ item-> ID. ": La classe d'expédition est ->". $ Product-> get_shipping_class(). "
"; } mais cela ne fonctionne pas non plus. – Stimart

+0

Ok. J'ai résolu, c'était ma faute parce que j'ai passé "$ items-> ID" au lieu de "$ item-> ID" Votre solution fonctionne Merci Alice .-) – Stimart

+0

Il est bon de savoir que tout fonctionne bien. – Alice