Ich versuche, die WC_Product-Klasse zu erweitern, um „property1“ und „property2“ zum geschützten Array $data hinzuzufügen, aber wenn ich versuche, mein Plugin auszuführen, erhalte ich die nächste Fehlermeldung:
WC_Produkt nicht gefunden.
Hier ist mein Code:
class WC_MyClass extends WC_Product {
function __construct() {
parent::__construct();
array_push($data, "property1", "property2");
}
}
Was ich brauche, ist die WC_Product-Klasse in meinem Plugin zu erweitern.
Plugin-Details: Mein Plugin besteht darin, die Versandkosten gemäß der FedEx-Tabellenrate für mein Land zu berechnen. Dazu verwende ich das Woocommerce Table Rate Shipping-Plugin. Das Problem ist, dass FedEx manchmal nicht das tatsächliche Gewicht, sondern das Volumen berücksichtigt. Deshalb möchte ich ein Plugin erstellen, um zu bestimmen, welches Gewicht größer ist, und es einer Variablen zuzuweisen. Die Idee besteht darin, ein Versandgewicht festzulegen, um es zur Berechnung der Versandkosten zu verwenden, und nicht, um die Spezifikation des Produktgewichts zu ändern. Aus diesem Grund versuche ich, die Klasse WC_Product zu erweitern, um ihr die Eigenschaft „Versandgewicht“ hinzuzufügen. Ich habe bereits alle Berechnungen durchgeführt, jetzt muss ich nur noch das Versandgewicht speichern, um es mit dem Woocommerce Table Rate Shipping-Plugin zu verwenden.
Dokumentation: WC_Product-Klasse – $data-Eigenschaft
Vielleicht
include_once( WC_ABSPATH . 'includes/abstracts/abstract-wc-product.php' );
vor der Klassendefinition? Wie verwenden Sie Ihre WC_MyClass?– jeger
12. September 2017 um 17:36 Uhr
Binden Sie dies ein, um es nach WooCommerce auszuführen?
add_action( 'init', 'my_wrapper_function' );
Zum Beispiel wie in diesem Artikel: jeroensormani.com/adding-a-custom-woocommerce-product-type– Hose
12. September 2017 um 17:37 Uhr
@pants Ich glaube, ich habe das Problem gefunden, das ich hatte
add_action('woocommerce_after_shop_loop_item', 'myFunction', 10);
aber ich hatte den Klassenteil herausgeschriebenmyFunction()
– Elisabet González
12. September 2017 um 17:59 Uhr
@jeger, es gibt mir einen Fehler
Warning: include_once(WC_ABSPATH/includes/abstracts/abstract-wc-product.php): failed to open stream
– Elisabet González
12. September 2017 um 18:02 Uhr
Möglicherweise müssen Sie diese WooCommerce-bezogene Dokumentation vorab lesen: Erstellen eines Plugins für WooCommerce Und Implementierung der WC-Integrationsklasse … Sie sollten (möglicherweise) erklären, was Sie in WooCommerce tun möchten (Aktualisierung Ihrer Frage), um eine genauere Hilfe zu erhalten.
– LoicTheAztec
12. September 2017 um 18:27 Uhr