Ich habe gerade meine lokale WooCommerce-Website auf 3.0 aktualisiert. Alles funktioniert perfekt als normal, aber ich habe mit Debuggen bemerkt eingeschaltet, dass ich Hunderte der folgenden Hinweise bekommen:Bestellen Eigenschaften sollten nicht direkt zugegriffen werden - WooCommerce 3.0
[05-Apr-2017 12:25:00 UTC] PHP Notice: id was called <strong>incorrectly</strong>. Order properties should not be accessed directly. Please see <a href="https://codex.wordpress.org/Debugging_in_WordPress">Debugging in WordPress</a> for more information. (This message was added in version 3.0.) in C:\xampp\htdocs\dev\wp-includes\functions.php on line 4137
So sieht es aus wie WooCommerce ziehen zurück Lage, direkt um Daten abzurufen . Ein Beispiel dieser Code ausgelöst wird durch diese Funktion ist in meiner functions.php-Datei:
function eden_woocommerce_order_number($original, $order)
{
return 'EDN-' . str_pad($order->id, 10, 0, STR_PAD_LEFT);
}
Diese Funktion fügt einfach „EDN“ zu Beginn der Auftrags-ID und Pads es von 10 Zeichen, aber WooCommerce doesn‘ t wie ich rufe $order
- was wäre der beste Weg, um eine solche Funktion, die 3,0 glücklich ist mit neu schreiben?
Richtig, das Problem zu beheben erschien. Außerdem habe ich Bestelldaten wie '$ data = get_post_meta ($ order_id)' falsch aufgerufen. Stattdessen habe ich dies in '$ data = new WC_Order ($ order_id);' geändert und die notwendigen Funktionen über diese Methode aufgerufen, zum Beispiel: '$ data-> get_billing_address_2();'. –
Gibt es eine Idee, ob dies abwärtskompatibel zu WC 2.6.x ist? –
@bret Ich lese einige gute Beispiele auf dem WooCommerce Blog, z. https://woocommerce.wordpress.com/2017/01/17/wc-2-7-extension-compatibility-examples/ – mbg