Wordpress网站内部页面中的条件重定向问题

时间:2016-11-20 21:32:14

标签: php wordpress

我有一个网站www.example.com它有5个页面可以说

www.example.com
www.example.com/about-us
www.example.com/terms-of-use
www.example.com/privacy-policy
www.example.com/apps

现在在www.example.com/apps的最后一页,我希望在应用登陆页面中执行以下代码:

    $user_agent = $_SERVER['HTTP_USER_AGENT'];

    if(strpos($user_agent, "Win") !== FALSE){
        $url = "http://www.example.com";
    }elseif(strpos($user_agent, "Mac") !== FALSE){
        $url = "https://itunes.apple.com/us/app/exmaple/idwewew?ls=1&mt=8";
    }elseif(strpos($user_agent, "Android") !== FALSE){
        $url = "https://play.google.com/store/apps/details?id=com.example"; 
    }
    wp_redirect($url, 302); exit;

这意味着如果用户从Windows设备访问此页面,它会将用户重定向到主页,如果用户从Android设备访问此页面,则转到Google Play商店,同样适用于iOS设备......

现在当我把这段代码放在编辑页面时,它不会工作......我正在使用PHP Code Widget插件

请帮忙......

1 个答案:

答案 0 :(得分:0)

尝试做这样的事情(根本没有PHP Code Widget):

// functions.php

function my_page_template_redirect()
{
    if ( is_page( 'apps' ) )
    {
        $user_agent = $_SERVER['HTTP_USER_AGENT'];

        if ( strpos( $user_agent, "Win" ) !== false ) {
            $url = "http://www.example.com";
        } elseif ( strpos( $user_agent, "Mac" ) !== false ) {
            $url = "https://itunes.apple.com/us/app/exmaple/idwewew?ls=1&mt=8";
        } elseif ( strpos( $user_agent, "Android" ) !== false ){
            $url = "https://play.google.com/store/apps/details?id=com.example"; 
        }
        wp_redirect( $url, 302 );
        exit();
    }
}
add_action( 'template_redirect', 'my_page_template_redirect' );

P.S。我没有测试过这段代码,所以请告诉我它是如何运作的。