【问题标题】:Get meta data via "woocommerce_order_get_formatted_billing_address" filter hook通过“woocommerce_order_get_formatted_billing_address”过滤器挂钩获取元数据
【发布时间】:2020-12-07 16:31:11
【问题描述】:

我正在尝试将自定义帖子元字段 billing_company_id 应用于订单格式化帐单地址,并将其放在帐单公司下方。

通过以下代码,我可以应用字符串,但如何从订单中获取自定义帖子元?

add_action( 'woocommerce_order_get_formatted_billing_address', 'company_billing_id', 20, 1 );
function company_billing_id($address){
    $address .= 'Custom field string'; 
    return $address;
}

【问题讨论】:

    标签: php wordpress woocommerce metadata hook-woocommerce


    【解决方案1】:

    woocommerce_order_get_formatted_billing_address 过滤器挂钩包含的不是 1 个而是 3 个参数。

    通过第 3 个,您可以访问 $order 对象,因此您可以使用以下内容:

    /**
     * Filter orders formatterd billing address.
     *
     * @since 3.8.0
     * @param string   $address     Formatted billing address string.
     * @param array    $raw_address Raw billing address.
     * @param WC_Order $order       Order data. @since 3.9.0
     */
    function filter_woocommerce_order_get_formatted_billing_address( $address, $raw_address, $order ) {
        // Get meta
        $value = $order->get_meta( 'billing_company_id' );
    
        // NOT empty
        if ( ! empty ( $value ) ) {
            // Append
            $address .= $value;
        }
    
        return $address;
    }
    add_filter( 'woocommerce_order_get_formatted_billing_address', 'filter_woocommerce_order_get_formatted_billing_address', 10, 3 );
    

    【讨论】:

    • 谢谢? 同时我自己设法解决了这个问题。你有小打字错误 $adress .= $value; -> $address .= $value;
    猜你喜欢
    • 2020-11-28
    • 1970-01-01
    • 2017-10-21
    • 2019-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多