Termék törlése, ha a product_type bundle – wc_szamlazz_xml filter
-
Szia,
A plugin egy régebbi verzióját használjuk és szükségünk lenne a számláról eltávolítani azokat a termékeket, amelyek bundle terméktípusúak.
Próbálkoztam több fajta módszerrel, de a termék mindig megjelenik a számlán.
Az elementsToKeep módszerrel az új tömböm rendben van, de a return $xml mindig tartalmazza a bundle terméket is.Az unset pedig szintén nem működik, mert a $key mindig azt tartalmazza, hogy tetel.
Van ötleted, hogy hogy lehetne ezt megoldani?
Köszönöm.add_filter('wc_szamlazz_xml','wc_szamlazz_xml_product_bundle_torlese',10,2); function wc_szamlazz_xml_product_bundle_torlese($xml,$order) { $elementsToKeep = array(); /* error_log("xml->tetelek ARRAY:"); error_log(print_r($xml->tetelek, true)); */ foreach($xml->tetelek->tetel as $key => $tetel) { //error_log("KEY: " . $key ); if ($tetel->azonosito){ $product_id = iconic_get_product_id_by_sku($tetel->azonosito); $product = wc_get_product( $product_id ); $product_type = $product->get_type(); /* error_log("Product_ID: " . $product_id); error_log("Product_type: " . $product_type); error_log("NEV:" . $tetel->megnevezes); error_log(print_r($tetel, true)); */ if ($product_type == "bundle"){ //$elementsToKeep[] = $tetel; unset ($xml->tetelek->tetel->$key); } } /* else { $elementsToKeep[] = $tetel; } */ } /* error_log("elementsToKeep ARRAY:"); error_log(print_r($elementsToKeep, true)); foreach($xml->tetelek->tetel as $tetel) { foreach ($elementsToKeep as $uj_elem){ $tetel = $uj_elem; } } */ //$xml->tetelek->tetel = $elementsToKeep; error_log("xml->tetelek ARRAY:"); error_log(print_r($xml->tetelek, true)); return $xml; }
- The topic ‘Termék törlése, ha a product_type bundle – wc_szamlazz_xml filter’ is closed to new replies.