PHP WordPress

一つのQRコードから iPhoneとAndroid別で Apple StoreかGoogle Playへリダイレクトする方法

更新日:

※制作はWordpress環境です。

①URL・QRコード作成
https://test.jp/media1/

②固定ページ作成
https://test.jp/media1/
・デフォルトテンプレートを利用
・noindex等を設定

③リダイレクト設定
https://test.jp/media1/ → https://test.jp/jump/
・プラグインredirectionが便利

④カスタマイズ固定ページ作成
https://test.jp/jump/
・オリジナルテンプレート:xxxx.php

⑤xxxx.phpの作成
page-full.phpと同じフォルダに格納する。

<?php
/* Template Name:UA選別 //固定ページ作成画面で選択が可能になる。

/**
* UA取得
* @return string
*/
function getUserAgent() // function 関数名(){処理}
  {
    $userAgent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
    //$userAgent 変数を宣言。
    //isset(変数名1) 変数名1に値が入っているかどうかをチェックする関数 参考:https://techacademy.jp/magazine/11410
    //?と: 条件演算子|条件分岐を一行で記述 a ? b : c → aならb異なればc
    //$_SERVER['HTTP_USER_AGENT'] アクセスされたブラウザ名をPHPで判別
    return $userAgent;
    //return $返り値; 参考:https://fantastech.net/php-return#outline-1
  }

/**
* スマホかどうか判定
* @return bool
*/
function isSmartPhone() // function 関数名(){処理}
  {
    $ua = getuserAgent();

    if //if (条件){条件一致時の処理}
      (stripos($ua, 'iphone') !== false || // iphoneである または
       stripos($ua, 'ipod') !== false || // ipodである または
       stripos($ua, 'ipad') !== false  // ipadである
       //||は理論和 $値1 || $値2 $値1または$値2のどちらかがTRUEならTRUEを返す。
       //echo stripos("I love php, I love php too!","PHP"); → 7
       //大文字と小文字を区別せず、文字列内で最初に出現する「php」の位置を見つける。
      )
      {$isSmartPhone = true;} //上記(条件)が一致する時の処理
       else
      {$isSmartPhone = false;} //上記(条件)が一致しない時の処理
    return $isSmartPhone;
  }

if (isSmartPhone()) //isSmartPhone()がtrueなら{処理1}それ以外は{処理2}
    {header('Location: https://apps.apple.com/jp/app/xxxxxxx'); exit; }
    else
    {header('Location: https://play.google.com/store/apps/xxxxxxx'); exit; }
    // header('Location: https://www.abc.jp/'); リダイレクトできる関数

?>

 

-PHP, WordPress

Translate »

Copyright© 解決方法あった! , 2021 All Rights Reserved Powered by STINGER.