// Hiển thị trường số điện thoại trên trang thanh toán
function sumobi_edd_display_checkout_fields() {
?>
<p id="edd-phone-wrap">
<label class="edd-label" for="edd-phone">
<?php esc_html_e('Phone number', 'easy-digital-downloads'); ?>
<?php if (edd_field_is_required('edd_phone')) : ?>
<span class="edd-required-indicator">*</span>
<?php endif; ?>
</label>
<span class="edd-description" id="edd-phone-description">
<?php esc_html_e('Enter your phone number so we can get in touch with you.', 'easy-digital-downloads'); ?>
</span>
<input class="edd_phone edd-input<?php if (edd_field_is_required('edd_phone')) { echo ' required'; } ?>"
type="text" name="edd_phone" id="edd-phone"
placeholder="<?php esc_attr_e('Phone number', 'easy-digital-downloads'); ?>">
</p>
<?php
}
add_action('edd_purchase_form_user_info_fields', 'sumobi_edd_display_checkout_fields');
/**
* Xác thực trường số điện thoại
*/
function sumobi_edd_validate_checkout_fields($valid_data, $data) {
if (empty($data['edd_phone'])) {
edd_set_error('invalid_phone', 'Please enter your phone number.');
}
}
add_action('edd_checkout_error_checks', 'sumobi_edd_validate_checkout_fields', 10, 2);
/**
* Lưu dữ liệu trường tùy chỉnh vào meta đơn hàng EDD
*/
function sumobi_edd_store_custom_fields($order_id, $order_data) {
if (did_action('edd_pre_process_purchase')) {
$phone = isset($_POST['edd_phone']) ? sanitize_text_field($_POST['edd_phone']) : '';
edd_add_order_meta($order_id, 'phone', $phone);
}
}
add_action('edd_built_order', 'sumobi_edd_store_custom_fields', 10, 2);
/**
* Hiển thị số điện thoại trên trang "Xem Chi Tiết Đơn Hàng"
*/
function sumobi_edd_view_order_details($order_id) {
$phone = edd_get_order_meta($order_id, 'phone', true);
?>
<div class="column-container">
<div class="column">
<strong>Phone: </strong>
<?php echo esc_html($phone); ?>
</div>
</div>
<?php
}
add_action('edd_payment_view_details', 'sumobi_edd_view_order_details', 10, 1);
/**
* Thêm thẻ {phone} vào email hóa đơn và thông báo quản trị
*/
function sumobi_edd_add_email_tag() {
edd_add_email_tag('phone', 'Customer\'s phone number', 'sumobi_edd_email_tag_phone');
}
add_action('edd_add_email_tags', 'sumobi_edd_add_email_tag');
/**
* Thẻ email {phone}
*/
function sumobi_edd_email_tag_phone($payment_id) {
$phone = edd_get_order_meta($payment_id, 'phone', true);
return $phone ? $phone : 'N/A';
}