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

标签 php wordpress woocommerce hook-woocommerce orders

阅读 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/

相关文章:

php - Mysql 语句 Echo 在 PHPMYADMIN 中有效,但在 PHP 中无效

php - 将变量推送到 laravel 的通知 View 中

html - CSS:排列 float 元素

php - 基于 WooCommerce 中所选品牌的动态选择字段选项

php - 如果产品变体已添加到购物车,请移除该 block

php - 在 Woocommerce 中按产品类别、产品标签和价格查询

php - 如何在 php 中从数据库中获取新记录的数量?

php - 为什么我的子主题不使用新的 style.css 文件?

html - DIV 未垂直覆盖整个内容

php - 将 "curly"引号与数据库查询中的标准引号匹配