Итак,
Я использовал код, который разместил на своем вопросе, и добавил его тоже в свой файл functions.php:
function action_woocommerce_after_checkout_billing_form( $wccs_custom_checkout_field_pro ) {
if (is_user_logged_in()){
$customer_id = get_current_user_id();
$address = get_user_meta( $customer_id, 'billing_address_1', true );
if (!empty($address)){
echo '<style>.woocommerce-billing-fields__field-wrapper {display: none;}</style>';
echo '<div class="checkoutaddress">
<a href="#" class="edit">'. __( 'Edit', 'woocommerce' ).'</a>
<h3>'. __( 'Billing address', 'woocommerce' ) .'</h3>
<address>'.
get_user_meta( $customer_id, 'billing_first_name', true ).' '.
get_user_meta( $customer_id, 'billing_last_name', true ) .'<br>'.
get_user_meta( $customer_id, 'billing_phone', true ).'<br>'.
$address.'<br>'.
get_user_meta( $customer_id, 'billing_postcode', true ).' '.
get_user_meta( $customer_id, 'billing_city', true ).'<br>'.
get_user_meta( $customer_id, 'billing_state', true )
.'</address>
</div>';
}
}
};
add_action( 'woocommerce_after_checkout_billing_form', 'action_woocommerce_after_checkout_billing_form', 10, 1 );
Он проверит, вошел ли пользователь в систему.(в противном случае отображаются поля) и после этой проверки проверяет, заполнен ли платежный адрес (в противном случае отображаются также поля)
Надеюсь, это кому-нибудь поможет.Это не очень хорошее решение, но оно работает!