gpt4 book ai didi

php - 在帐单地址后显示 WooCommerce 管理员订单中的自定义元数据

转载 作者:行者123 更新时间:2023-12-04 03:44:45 24 4
gpt4 key购买 nike

阅读 7uc1f3r 在 Add a select field with time intervals based on opening, closing and breaks times in WooCommerce checkout 上的回答后我尽力了解如何将实际时间添加到订单中。

这在最初的问题中已经提到,但是当修改该代码以匹配 7uc1f3r 的答案代码时,我在订单页面(管理员)上收到一条通知。

它说:

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

以实际交货时间为准,但有上述通知。

就是说;我尽最大努力进一步修改代码以检查“如果”交货时间不为空,如果是,则显示它。这也没有帮助 - 通知仍然存在。

我把代码改成了这样:

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>';
}
}

不确定如何删除通知。

最佳答案

问题来自 $order->id,因此请尝试以下操作:

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 ) {
$delivery_time = $order->get_meta('delivery_time');

if ( ! empty($delivery_time) ) {
echo '<p><strong>'.__('Requested Delivery Time').':</strong> ' . $delivery_time . '</p>';
}
}

现在它应该可以工作了。

关于php - 在帐单地址后显示 WooCommerce 管理员订单中的自定义元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65359251/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com