カスタムフィールドで取得した電話番号から
ハイフンを除去して取得する

WordPressで作成したサイトの
店舗の詳細ページなどに電話番号を掲載することがあると思います。

カスタムフィールドなどに入力して電話番号を出力する際に、
読みやすさ重視でハイフンが入っている場合があります。

が、電話番号のリンクを設定する場合はハイフンを抜く必要があります。

電話番号リンク用にハイフンを抜いたものの入力欄も作ることはできますが、入力漏れや誤入力の恐れがあります。(というか面倒くさい。。)

カスタムフィールドで入力した「ハイフンありの電話番号」から、
ハイフンを抜いてリンクを設定したいと思います。

<?php
	// カスタムフィールドの値を取得
	$tel = get_field('tel');
?>

<?php
	echo str_replace(
		array('-', 'ー', '−', '―', '‐'), // 除去したいハイフンを指定
		'', // ハイフンを空欄に置き換える
		$tel //ハイフン入り電話番号を取得
	);
?>

<a href="tel:<?php echo str_replace(array('-', 'ー', '−', '―', '‐'), '', $tel); ?>">
	<?php echo $tel; ?>
</a>

出力されたHTMLではこのようになります。

<a href="tel:1234567890">
	12-3456-7890
</a>

このように、1つのカスタムフィールドに入力するだけで
ハイフン有りと無しの出力ができます。

電話番号だけでなく郵便番号や会員番号など、
様々なハイフン入りの数字にも応用できます。