Nachdem ich die Antwort von 7uc1f3r zum Hinzufügen eines Auswahlfelds mit Zeitintervallen basierend auf Öffnungs-, Schließ- und Pausenzeiten in der WooCommerce-Kaufabwicklung gelesen hatte, tat ich mein Bestes, um zu verstehen, wie die tatsächliche Zeit zur Bestellung hinzugefügt wird.
Dies wurde bereits in der Ausgangsfrage erwähnt, aber wenn ich diesen Code so ändere, dass er mit dem Antwortcode von 7uc1f3r übereinstimmt, erhalte ich einen Hinweis auf der Bestellseite (admin).
Es sagt:
Notice: id was called incorrectly. Order properties should not be accessed directly. Backtrace: require('wp-admin/edit-form-advanced.php'), do_meta_boxes, WC_Meta_Box_Order_Data::output, do_action('woocommerce_admin_order_data_after_billing_address'), WP_Hook->do_action, WP_Hook->apply_filters, wps_select_checkout_field_display_admin_order_meta, WC_Abstract_Legacy_Order->__get, wc_doing_it_wrong Please see Debugging in WordPress for more information. (This message was added in version 3.0.) in /wp-includes/functions.php on line 5311
Die tatsächliche Lieferzeit wird angezeigt, jedoch mit diesem Hinweis oben.
Das gesagt; Ich habe mein Bestes getan, um den Code weiter zu ändern, um zu überprüfen, ob die Lieferzeit nicht leer ist, und wenn ja, zeige es. Das hat auch nicht geholfen – der Hinweis ist immer noch da.
Hier habe ich den Code geändert in:
add_action('woocommerce_admin_order_data_after_billing_address', 'wps_select_checkout_field_display_admin_order_meta', 10, 1 );
function wps_select_checkout_field_display_admin_order_meta( $order ) {
if ( get_post_meta( $order->get_id(), 'delivery_time' != '' ) ) {
echo '<p><strong>'.__('Requested Delivery Time').':</strong> ' . get_post_meta($order->id, 'delivery_time', true) . '</p>';
}
}
Ich bin mir nicht sicher, wie ich den Hinweis loswerden kann.