レスポンシブ対策!電話番号リンク(tel:)をスマホのみ有効にする3つの方法
  • レスポンシブ対策!電話番号リンク(tel:)をスマホのみ有効にする3つの方法
  • 記事公開:2016/07/20
  • 最終更新:2019/03/18

レスポンシブ対策!電話番号リンク(tel:)をスマホのみ有効にする3つの方法

電話番号リンクをPC表示の場合は無効にする方法をご紹介します。レスポンシブサイトで電話番号サイトを設置すると、PC表示の場合もリンクが生きており上手くありません。この辺りをサクッと解決する方法をご紹介しています。

この記事は約 5 分で読めます。

WordPressのカスタマイズはお任せください。

WordPressのカスタマイズを格安で代行いたします。ご希望のカスタマイズがあればご相談ください。

レスポンシブデザインの案件で、電話番号に【<a href=”tel:電話番号″>】とリンクを設定することは非常に多いと思います。

この電話番号リンク、デフォルトのままだとPC表示でも有効な状態になっています。
PCなので、クリックしても電話をかけることはできないのにです。

これって使い勝手が少し悪いと思いませんか?

理想的なのは、電話番号リンクをスマホのみ有効にして、PCでは電話番号リンクを無効にした状態です。

そんな便利な方法はないのかと探していたら、解決策が見つかりました。
今回は、電話番号リンクをスマホのみ有効(PCでは無効)にする方法をご紹介します。

電話番号リンクをスマホのみ有効にする方法

今回は、3種類の方法をご紹介します。

  • CSSを使って電話番号リンクをスマホのみ有効にする方法
  • jQueryを使って電話番号リンクをスマホのみ有効にする方法
  • PHPを使って電話番号リンクをスマホのみ有効にする方法

個別に見ていきましょう。

電話番号リンクをスマホのみ有効にする方法【CSS編】

CSSだけで電話番号リンクをスマホのみで有効にする方法です。
CSSだけで対応できるので、一番簡単に実装できる方法となります。

例えば、以下の様な電話番号リンクがあったとします。

<a href="tel:00000000000">000-0000-0000</a>

以下の定義をCSSファイルに追記してやります。

@media (min-width: 751px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
}

参考サイト:電話番号リンクをスマホで有効・PCで無効にする方法

デバイスの横幅で電話リンクの有効無効をコントロールする方法です。

デバイスの横幅が751px以内の場合(=スマホ)、電話番号リンクが有効になります。
デバイスの横幅が751px以上の場合(=タブレット+PC)、電話番号リンクは無効になります。

min-width: 751px

電話番号リンクをスマホのみ有効にする方法【jQuery編】

jQueryを使って、電話番号リンクをスマホのみ有効にする方法です。
こちらの方法は、電話番号リンクの記述の仕方が通常と異なります。

電話番号リンクを以下の様に記述します。

<span class="tel-link">00-0000-0000</span>

aタグで電話番号リンクを設定するのでは無く、spanタグで電話番号を囲みます。
電話番号リンクは設定しません。

以下のjQueryを設置してやります。

<script>
$(function() {
var ua = navigator.userAgent;
if(ua.indexOf('iPhone') > 0 || ua.indexOf('Android') > 0){
$('.tel-link').each(function(){
var str = $(this).text();
$(this).html($('').attr('href', 'tel:' + str.replace(/-/g, '')).append(str + ''));
});
}
});
</script>

参考サイト:スマホで見ている時だけ電話番号にリンクが付くjQueryコード

上記のjQueryで、動的に電話番号リンクを設定することができます。
スマホのみ電話番号リンクを有効化できます。

電話番号リンクをスマホのみ有効にする方法【PHP編】

PHPを使って、スマホのみ円和番号リンクを有効にする方法です。
こちらの方法は、WordPressでサイトを構築しているものとして解説をしていきます。

以下の様な電話番号リンクがあったとします。

<a href="tel:00000000000">000-0000-0000</a>

以下のコードをfunctions.phpに追記してやります。

function my_wp_head_tel_link(){
if(!wp_is_mobile()): ?>
<style type="text/css">
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
</style>
<?php endif;
}
add_action('wp_head', 'my_wp_head_tel_link');

参考サイト:電話番号リンクをスマホで有効・PCで無効にする方法

やっていることは、前述した【CSS編】と同じです。
CSSで電話番号リンクを有効化しています。

CSS編では、デバイスの横幅を基準にして、スマホのみ電話番号リンクを有効にしました。

今回の方法は、WordPressの機能を使って、デバイスがスマホの場合のみ電話番号リンクを有効にする方法となります。

この方法は1点だけ問題があります。

スマホからのアクセスかどうかの判断は【wp_is_mobile()】で行っています。
この【wp_is_mobile()】は、タブレットもスマホとして判断してしまうのです。

そのため、タブレットでアクセスしたときも電話番号リンクは有効になってしまいます。

まとめ

電話番号リンク(tel:)をスマホのみ有効にする3つの方法をご紹介しました。

レスポンシブサイトを制作していると電話番号リンクは避けては通れません。
今回のコンテンツを参考にして、電話番号リンクをスマホのみ有効にする方法を身につけてください。

今回の記事が、あなたのお役に立てば幸いです。

著者:takaya kondo

岡山在住のWebディレクターです。Wordpressを使ったWEBサイト制作を中心に10年間ほど活動させていただいています。

Wordpress関連の記事でお役に立てれば幸いです。

あなたのWEBサイトをWordpressで
管理できるようにしませんか?

あなたのWEBサイトを見た目そのままでWordpress化いたします。
以下に興味のある方は、お気軽にご相談下さい。

  • あなたのWEBサイトを、Wordpressで運営できる様にいたします。ページの編集や追加も簡単に行えるようになります。
  • どの様な形式のサイト(例えば、アメブロ、MTサイトなど)でもWordPress化いたします。
  • Wordpress化でサイトのデザインが崩れるなどの心配は必要ありません。デザインもサイト構成もほぼ変わらない、高い再現率が自慢です。
  • 単にWordpress化するだけではありません。デザイン変更など+αの作業にも対応することも可能です。
  • 他案件との兼ね合いもありますが、最短即日であなたのサイトをWordpress化いたします。
  • 初心者でもWordpressが使えるよう、納品後に徹底的な操作サポートをご提供いたします。Wordpress化したけど操作できないと、あなたが頭を抱えることはありません。

興味のある方は、以下のリンクからチェックしてみてください。

詳細を確認する

【関連記事】あなたが興味のありそうな関連記事をご紹介します。

  • 2019/03/06

    レスポンシブサイトで要素が画面に収まらない主な原因4つと解決策のまとめ

    レスポンシブサイトで要素が画面に収まらない主な原因4つと解決策をまとめてみました。レスポンシブサイトの制作時には頭を悩ませる問題かと思います。現に悩まれている方、このコンテンツで頭痛の種を取り除いてください。 記事を読む

  • 2018/09/03

    知らずに損した!最初・最後・奇数・偶数・○番目など、要素を指定して装飾する方法

    疑似クラスを使うことで、CSSを複雑にすることなく指定要素を装飾することができます。「この3番目のliタグだけ色を変えたい」など特定の要素だけを装飾したいケースの参考にしてください。 記事を読む

  • 2017/04/21

    ハイクオリティ!お金を出す価値のある有料素材配布サイトを12個まとめてみた

    WEBデザインに欠かせない有料素材の販売サイトをまとめてみました。WEBサイトの制作を行うに当たって、有料素材の購入は避けては通れません。参考にしてください。 記事を読む

  • 2016/02/22

    iPhoneのsubmitボタンのスタイルを初期化する方法

    iPhoneのsubmitボタンのスタイルを初期化する方法をご紹介します。iPhoneのsubmitボタンはデフォルトで角丸のスタイルが適用されています。このスタイルを解除する方法をまとめてみました。簡単な内容ですが知らない方には重宝な内容になっています。 記事を読む

  • 2019/03/06

    CSSで背景を半透明にする方法

    「CSSで背景色を半透明する方法」をご紹介します。 記事を読む

コメントを残す

(必須)

CAPTCHA