0

モバイル ユーザーをモバイル テーマにリダイレクトする際に問題が発生しています。

私は 2 つのテーマを持っています: メイン テーマとその子 - モバイル テーマです。Theme Switch プラグインと Mobile Detect スクリプトを使用して、モバイル テーマに切り替えます。URL が手動で呼び出され、モバイルが正常に検出されると、切り替えが機能します。ただし、php ヘッダーと組み合わせて両方を使用してリダイレクトすると、大きな頭痛の種になります。

これが私が通常うまくいくと言うものです:

include 'script/Mobile_Detect.php';
$detect = new Mobile_Detect();

if ( $detect->isMobile() )
    header( 'Location: '.get_home_url().'?theme=Pinnacle+Mobile' );

しかし、これを行うとリダイレクトループが発生します。このコードは親テーマの header.php 内にあり、子テーマにはこのファイルの独自のバージョンがあります (ヘッダーなし)。

すでにモバイルテーマに切り替える必要がある場合でも、ワードプレスが何らかの理由で親テーマの header.php スクリプトを呼び出している可能性があると考え、これを次のように Cookie と組み合わせようとしました。

if ( $detect->isMobile() )
{   
    if ( !( $_COOKIE['redirected'] ) )
    {
        setcookie( 'redirected', '1', time() + 3600, '/' );
        header( 'Location: '.get_home_url().'?theme=Pinnacle+Mobile' ); 
    }
}   

しかし、これはうまくいきません。私はいつも完全なサイトを取得します。

4

0 に答える 0