FEATURE Add phone number formatting and detection functions for Belgian numbers in utilities; update artisan templates to utilize new formatting
This commit is contained in:
parent
ee11cd9874
commit
23f430ef73
|
|
@ -241,3 +241,42 @@ function getRelativeTimeFromTimestamp($timestamp)
|
|||
|
||||
return $relative_time;
|
||||
}
|
||||
|
||||
|
||||
function format_phone_number($phoneNumber)
|
||||
{
|
||||
// Nettoyage du numéro : retirer espaces, tirets, points, etc.
|
||||
|
||||
|
||||
$cleanedNumber = preg_replace('/\D+/', '', $phoneNumber);
|
||||
$phoneType = detectBelgianPhoneType($cleanedNumber);
|
||||
|
||||
// 32 42 21 81 11
|
||||
// 32 23 58 41 53
|
||||
// 32 59 70 11 99
|
||||
|
||||
if ($phoneType === 'mobile') {
|
||||
$formattedPhoneNumber = preg_replace('/(\d{2})(\d{3})(\d{2})(\d{2})(\d{2})/', '+$1 $2 $3 $4 $5', $cleanedNumber);
|
||||
} else if ($phoneType === 'landline') {
|
||||
$formattedPhoneNumber = preg_replace('/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/', '+$1 $2 $3 $4 $5', $cleanedNumber);
|
||||
} else {
|
||||
$formattedPhoneNumber = $cleanedNumber;
|
||||
}
|
||||
return $formattedPhoneNumber;
|
||||
}
|
||||
|
||||
|
||||
function detectBelgianPhoneType($number)
|
||||
{
|
||||
|
||||
// Détection mobile
|
||||
if (preg_match('/^324(55|56|60|61|6[5-8]|7[0-9]|80|8[3-9]|9[0-9])[0-9]{6}$/', $number)) {
|
||||
return 'mobile';
|
||||
}
|
||||
// Détection fixe
|
||||
if (preg_match('/^32[0-9]{8,10}$/', $number)) {
|
||||
return 'landline';
|
||||
}
|
||||
|
||||
return 'unknown';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,17 +12,22 @@ $taxonomyTerms = $currentTaxonomy === "elementsbatiments" ? get_the_terms($post
|
|||
|
||||
|
||||
$phoneNumber = get_field('phone_number', $postID);
|
||||
$formattedPhoneNumber = preg_replace('/^(\+\d{2})(\d{3})(\d{2})(\d{2})(\d{2})$/', '$1 $2 $3 $4 $5', $phoneNumber);
|
||||
$formattedPhoneNumber = format_phone_number($phoneNumber);
|
||||
$email = get_field('email', $postID);
|
||||
$website = get_field('website', $postID);
|
||||
|
||||
$adresse = get_field('adresse', $postID);
|
||||
// write_log($adresse);
|
||||
$cover_image = get_field('artisan_cover', $postID);
|
||||
write_log($cover_image);
|
||||
?>
|
||||
|
||||
|
||||
<article class="card-artisans">
|
||||
<?php echo $post_thumbnail ?>
|
||||
<?php if ($cover_image): ?>
|
||||
<img src="<?php echo $cover_image['url'] ?>" alt="<?php echo $post_title ?>" class="card-artisans__cover-image">
|
||||
<?php endif; ?>
|
||||
<div class="card-artisans__inner">
|
||||
|
||||
<h2 class="card-artisans__title"><?php echo $post_title ?></h2>
|
||||
|
|
@ -50,7 +55,7 @@ $adresse = get_field('adresse', $postID);
|
|||
<?php endif; ?>
|
||||
|
||||
<?php if ($phoneNumber): ?>
|
||||
<a class="card-artisans__phone" href="tel:<?php echo $phoneNumber ?>"><?php echo $formattedPhoneNumber ?></a>
|
||||
<a class="card-artisans__phone" href="tel:+<?php echo $phoneNumber ?>"><?php echo $formattedPhoneNumber ?></a>
|
||||
<?php endif; ?>
|
||||
<?php if ($email): ?>
|
||||
<a class="card-artisans__email" href="mailto:<?php echo $email ?>"><?php echo $email ?></a>
|
||||
|
|
|
|||
|
|
@ -7,20 +7,25 @@ $company_members = get_field('company_members', $postID);
|
|||
|
||||
$phoneNumber = get_field('phone_number', $postID);
|
||||
$gsmNumber = get_field('gsm_number', $postID);
|
||||
$faxNumber = get_field('fax_number', $postID);
|
||||
$formattedPhoneNumber = preg_replace('/(\d{2})(\d{3})(\d{2})(\d{2})(\d{2})/', '+$1 $2 $3 $4 $5', $phoneNumber);
|
||||
$formattedGsmNumber = preg_replace('/(\d{2})(\d{3})(\d{2})(\d{2})(\d{2})/', '+$1 $2 $3 $4 $5', $gsmNumber);
|
||||
|
||||
$formattedPhoneNumber = format_phone_number($phoneNumber);
|
||||
$formattedGsmNumber = format_phone_number($gsmNumber);
|
||||
$email = get_field('email', $postID);
|
||||
$website = get_field('website', $postID);
|
||||
|
||||
$adresse = get_field('adresse', $postID);
|
||||
$vatNumber = get_field('vat_number', $postID);
|
||||
// write_log(gettype($formattedPhoneNumber));
|
||||
$cover_image = get_field('artisan_cover', $postID);
|
||||
?>
|
||||
|
||||
|
||||
<article class="card-artisans">
|
||||
<?php echo $post_thumbnail ?>
|
||||
<?php if ($cover_image): ?>
|
||||
<img src="<?php echo $cover_image['url'] ?>" alt="<?php echo $post_title ?>" class="card-artisans__cover-image">
|
||||
<?php endif; ?>
|
||||
|
||||
|
||||
<div class="card-artisans__inner">
|
||||
|
||||
<h2 class="card-artisans__title"><?php echo $post_title ?></h2>
|
||||
|
|
@ -42,14 +47,11 @@ $vatNumber = get_field('vat_number', $postID);
|
|||
|
||||
|
||||
<?php if ($phoneNumber): ?>
|
||||
<a class="card-artisans__phone" href="tel:<?php echo $phoneNumber ?>"><?php echo $formattedPhoneNumber ?></a>
|
||||
<a class="card-artisans__phone" href="tel:+<?php echo $phoneNumber ?>"><?php echo $formattedPhoneNumber ?></a>
|
||||
<?php endif; ?>
|
||||
<?php if ($gsmNumber): ?>
|
||||
<a class="card-artisans__gsm" href="tel:<?php echo $gsmNumber ?>"><?php echo $formattedGsmNumber ?></a>
|
||||
<?php endif; ?>
|
||||
<?php if ($faxNumber): ?>
|
||||
<a class="card-artisans__fax" href="tel:<?php echo $faxNumber ?>"><?php echo $formattedFaxNumber ?></a>
|
||||
<?php endif; ?>
|
||||
<?php if ($email): ?>
|
||||
<a class="card-artisans__email" href="mailto:<?php echo $email ?>"><?php echo $email ?></a>
|
||||
<?php endif; ?>
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user