Einig individuellen Codes ich für WooCommerce geschrieben habe nicht ordnungsgemäß nach der Aktualisierung arbeiten 3. In diesem speziellen Fall WooCommerce, es ist der woocommerce_available_variation Filter. Ich habe es verwendet, um Produktvariationsbeschreibungen basierend auf den Produktattributen dynamisch einzufügen.woocommerce_available_variation Filter funktionieren nicht mehr nach WooCommerce 3 Update
Wie nun den ich diese Fehlermeldung immer bin:
Abfangbare fatale Fehler: Objekt der Klasse WC_Product_Download nicht zu bespannen in/home/silent48/public_html/wp/wp-content/plugins/WooCommerce umgewandelt werden könnte /includes/wc-product-functions.php on line 376
Was müsste ich mit dem folgenden Code tun, um es mit 3.0 kompatibel zu machen?
add_filter('woocommerce_available_variation', 'change_variation_descriptions');
function change_variation_descriptions($descriptions) {
global $post, $woocommerce;
$basicmp3des = '<div class="licensedetails">
<li>-Delivered in mp3 format instantly after purchase</li>
<li>-Synchronization rights are granted</li>
<li>-One commercial use is permitted (ie: mixtape, album, etc)</li>
<li>-You may distribute up to 5000 profitable units</li>
<li>-Includes non-exclusive contract agreement (e-signed at checkout)</li>
<li>-Send me a quote to inquire about Exclusive License purchase!</li>
</div>';
foreach ($descriptions as $description) {
$variation = wc_get_formatted_variation($description, true);
if (strpos($variation, 'Basic License') !== false && strpos($variation, 'mp3') !== false) {
$descriptions['variation_description'] = $basicmp3des;
}
}
return $descriptions;
}
Ich bin mir ziemlich sicher, dass 'woocommerce_available_variation' hat ein Array und keinen Array Variations Objekte immer, so einen' foreach() 'laufen und solche Veränderung zu erwarten einen Fehler wahrscheinlich verursacht. Worauf beziehen sich die "Basislizenz" und "mp3"? Sind diese Produktattribute? Ich kann einfacher sein, die Beschreibung direkt zu filtern, aber ich würde wissen müssen, wie man seinen Text zu den gewünschten Varianten bedingt hinzufügt. – helgatheviking
Hallo Helgatheviking. Das ist die Sache, es war alles gut in woocommerce 2.x. Und ja, ich verkaufe Musikdateien nach Dateiformat und Lizenztyp. Der ursprüngliche Code war viel länger, aber ich habe ihn verkürzt, um nur eine Beschreibung und eine Variationskombination anzuzeigen. Insgesamt habe ich 5 Lizenztypen und 2 Dateiformate als Attribute. Ich war ziemlich sicher, dass es einen angemesseneren Weg gab, dies zu tun, aber es war die erste Methode, mit der ich arbeitete, also habe ich mich nie darum gekümmert, es zu ändern. – isk