/var/www/html_us/wp-content/plugins/woocommerce/src/Blocks/Domain/Services/functions.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php

use Automattic\WooCommerce\Blocks\Package;
use 
Automattic\WooCommerce\Blocks\Domain\Services\CheckoutFields;

if ( ! 
function_exists'woocommerce_register_additional_checkout_field' ) ) {
    
/**
     * Register a checkout field.
     *
     * @param array $options Field arguments. See CheckoutFields::register_checkout_field() for details.
     * @throws \Exception If field registration fails.
     */
    
function woocommerce_register_additional_checkout_field$options ) { // phpcs:ignore WordPress.NamingConventions.ValidFunctionName.FunctionDoubleUnderscore,PHPCompatibility.FunctionNameRestrictions.ReservedFunctionNames.FunctionDoubleUnderscore

        // Check if `woocommerce_blocks_loaded` ran. If not then the CheckoutFields class will not be available yet.
        // In that case, re-hook `woocommerce_blocks_loaded` and try running this again.
        
$woocommerce_blocks_loaded_ran did_action'woocommerce_blocks_loaded' );
        if ( ! 
$woocommerce_blocks_loaded_ran ) {
            
add_action(
                
'woocommerce_blocks_loaded',
                function () use ( 
$options ) {
                    
woocommerce_register_additional_checkout_field$options );
                }
            );
            return;
        }
        
$checkout_fields Package::container()->getCheckoutFields::class );
        
$result          $checkout_fields->register_checkout_field$options );
        if ( 
is_wp_error$result ) ) {
            throw new 
\Exceptionesc_attr$result->get_error_message() ) );
        }
    }
}

if ( ! 
function_exists'__experimental_woocommerce_blocks_register_checkout_field' ) ) {

    
/**
     * Register a checkout field.
     *
     * @param array $options Field arguments. See CheckoutFields::register_checkout_field() for details.
     * @throws \Exception If field registration fails.
     * @deprecated 5.6.0 Use woocommerce_register_additional_checkout_field() instead.
     */
    
function __experimental_woocommerce_blocks_register_checkout_field$options ) { // phpcs:ignore WordPress.NamingConventions.ValidFunctionName.FunctionDoubleUnderscore,PHPCompatibility.FunctionNameRestrictions.ReservedFunctionNames.FunctionDoubleUnderscore
        
wc_deprecated_function__FUNCTION__'8.9.0''woocommerce_register_additional_checkout_field' );
        
woocommerce_register_additional_checkout_field$options );
    }
}

if ( ! 
function_exists'__internal_woocommerce_blocks_deregister_checkout_field' ) ) {
    
/**
     * Deregister a checkout field.
     *
     * @param string $field_id Field ID.
     * @throws \Exception If field deregistration fails.
     * @internal
     */
    
function __internal_woocommerce_blocks_deregister_checkout_field$field_id ) { // phpcs:ignore WordPress.NamingConventions.ValidFunctionName.FunctionDoubleUnderscore,PHPCompatibility.FunctionNameRestrictions.ReservedFunctionNames.FunctionDoubleUnderscore
        
$checkout_fields Package::container()->getCheckoutFields::class );
        
$result          $checkout_fields->deregister_checkout_field$field_id );
        if ( 
is_wp_error$result ) ) {
            throw new 
\Exceptionesc_attr$result->get_error_message() ) );
        }
    }
}