やりたいこと
- カスタムフィールドで電話番号を入力してもらうのだが、ハイフンなしとかありとか、入力する人が面倒にならないようにしたい。
- その電話番号はそのページで出力するのだが、スマホなど、タップしたら発信するように<a href="tel:〜〜">も付けたい。発信する方はハイフンなしにしなきゃいけない。
解決方法
以下、カスタムフィールドのkeyとして"tel"を使っている前提です。
<?php $tel_num = get_post_meta( get_the_ID(), 'tel', 'true' ); $tel_link = str_replace(array('-', 'ー', '−', '―', '‐','(',')','(',')',' ',' '),'',$tel_num);?> <p>電話番号:<a href="tel:<?php echo esc_html($tel_link);?>"><?php echo esc_html($tel_num);?></a></p>
ハイフンの全角パターン、あと市内局番を括弧で囲まれてしまった場合、スペースが紛れ込んだ場合に備えてそれらをすべて削除するコードにしています。