Artikel-/Produktattribut in der WooCommerce-Bestellung abrufen

Lesezeit: 1 Minute

Ich versuche, ein Artikel- oder Produktattribut in der WooCoomerce-Bestellung zu erhalten.

Wie kann ich es bekommen?

$order  = new WC_Order( $order_id );
$items  = $order->get_items();

foreach ( $items as $item ) {
        $pid    = $item['product_id'];
        $patt   = $pid->get_attribute( 'pa_myattrname' );
        echo $patt;
}

Später möchte ich einen Autoresponder-Link in das Attribut einfügen, damit der Benutzer nach vollständiger Zahlung automatisch meinen Autoresponder abonniert.

Vielen Dank

Ich weiß, dass es sich um eine alte Frage handelt, aber diese Antwort kann jemandem helfen, der nach einer schöneren Option sucht.
Es gibt eine viel einfachere Möglichkeit, Produktattribute aus der Bestellung abzurufen. Sie müssen nur in Produkte (Artikel) gehen und dann laden meta data

// at first get order object
$order = wc_get_order($orderId);

// iterate through order items/products
foreach ($order->get_items() as $item) {
  // load meta data - product attributes
  foreach ($item->get_meta_data() as $metaData) {
    $attribute = $metaData->get_data();

    // attribute value
    $value = $attribute['value'];

    // attribute slug
    $slug = $attribute['key'];
  }
}

$item['product_id']; wird die Ganzzahl product_id zurückgeben, Sie können nicht aufrufen get_attribute Methode drauf. Mit der Ganzzahl product_id müssen Sie ein Product-Objekt erstellen und dann die Methode aufrufen

$pid = $item['product_id'];  // returns the product id

$p = new WC_Product( $pid );  // create an object of WC_Product class

$patt = $p->get_attribute( 'pa_myattrname' );  // call get_attribute method

echo $patt;

  • Danke Anand! Es funktioniert. Vielen Dank 🙂

    – Imam Herlambang

    7. Oktober 2015 um 19:28 Uhr

  • Hat mir teilweise auch geholfen, danke! Imam Herlambang, bitte vergessen Sie nicht, dies als Antwort zu markieren.

    – Dmitri Gamolin

    10. März 2017 um 8:17 Uhr


1427710cookie-checkArtikel-/Produktattribut in der WooCommerce-Bestellung abrufen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy