Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从WooCommerce订单获取帐单自定义字段_Php_Wordpress_Woocommerce - Fatal编程技术网

Php 如何从WooCommerce订单获取帐单自定义字段

Php 如何从WooCommerce订单获取帐单自定义字段,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,如何从我的商业订单中获取自定义帐单字段?例如,我安装了WooCommerce Germanized,它添加了一个名为vat\u id的自定义账单字段 我在WooCommerce orders类中找到了一个函数get\u address\u prop(),但该函数受保护,因此我无法使用$order->get\u address\u prop()调用它 有什么想法吗?谢谢 这是我创建的函数,用于检索所需的任何自定义帐单字段: /** * Returns a custom billing field

如何从我的商业订单中获取自定义帐单字段?例如,我安装了WooCommerce Germanized,它添加了一个名为
vat\u id
的自定义账单字段

我在WooCommerce orders类中找到了一个函数
get\u address\u prop()
,但该函数受保护,因此我无法使用
$order->get\u address\u prop()
调用它


有什么想法吗?谢谢

这是我创建的函数,用于检索所需的任何自定义帐单字段:

/**
 * Returns a custom billing field value
 *
 * @param object $order
 * @param string $custom_field
 *
 * @return string
 */
function get_custom_billing_field( object $order, string $custom_field ): string {
    $order_data       = $order->get_data();
    $custom_field_val = '';

    if ( ! empty( $order_data ) && isset( $order_data['billing'][ $custom_field ] ) ) {
        $custom_field_val = $order_data['billing'][ $custom_field ];
    }

    return apply_filters( 'get_custom_billing_field', $custom_field_val );
}
这是一个示例调用,用于检索WooCommerce Pro中设置的
vat\u id

$order = wc_get_order( 22 );

get_custom_billing_field( $order, 'vat_id' );

我希望这对某人有帮助。如果您有更好的想法,请告诉我。

对不起,对于计费自定义字段(或发货自定义字段或任何自定义字段),只需使用
WC\u Data
方法
get\u meta()
,在
$order
对象实例上使用正确的meta键,或者使用WordPress
get\u post\u meta()
使用订单Id中的正确元键…对于日耳曼化的“增值税Id”,只需使用
$vat\U Id=$order->get\U meta(“增值税账单Id”)