wordpressでURLに新規パラメータを追加 スマートフォンでページを分ける

例えばスマホページ等でページを分ける
パラメーターsmpがあったらスマホ用のsmp-single.phpを読み込む

// URLへのパラメーター追加を許可
add_action('init',function(){
    add_rewrite_endpoint('smp', EP_PERMALINK);
    //flush_rewrite_rules(); // DBの更新だが初回のみでよいのでコメントアウト
});
// スマホ用テンプレートの選択
add_action('template_redirect',function(){
    if(!is_single()){return;}
    $smp = get_query_var('smp', false);
    if(!$smp){return;}
    include(get_template_directory().'/smp-single.php');
    exit;
});
// パラメーターの追加
add_filter('query_vars',function($vars){
    $vars[] = 'smp';
    return $vars;
});
// urlの場合はパラメーターが空になるのでtrueに上書き
add_filter( 'request',function($vars){
    if ( isset( $vars['smp'] ) && '' === $vars['smp'] ) { 
        $vars['smp'] = 1;
    }   
    return $vars;
});

WordPressでリモートアドレスの上書き

add_action('plugins_loaded',function(){
    if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $list = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
        $_SERVER['REMOTE_ADDR'] = $list[0];
    }
});

実行箇所は要検討だが今のところ上記で問題ない。