检查用户代理,然后在Wordpress中只显示指定的内容


Check for user-agent then show only specified contents in Wordpress

我有一个Wordpress网站,并希望显示一个指定的内容,谁有指定的用户代理。以下是我所做的:

<?php
$user_agent = $_SERVER['HTTP_USER_AGENT']; 
if (strpos( $user_agent, 'CostumizedAgent') !== false)
{
echo "<html><body>Show Only this codes</body></html>
}
else
{
// Show normal website
}
?>

在用户代理不包含CostumizedAgent词的情况下,正常的网站将显示给用户(一个正常的wordpress网站),但如果包含CostumizedAgent词,它只会向用户返回指定的HTML代码。我用这个来创建一个简单的秘密内容!(我知道不应该这样做:D)

那么,我该怎么办呢?我必须把哪些代码放在else的地方?我应该把所有的代码放在哪里?(适用于所有网页)

更好的方法是为其他用户代理创建一个单独的主题。假设你想创建一个移动版本的网站,这就是你必须在桌面(默认)主题的functions.php中添加的内容:

function change_theme($current_theme) {
    $user_agent = $_SERVER['HTTP_USER_AGENT']; 
    if(strpos( $user_agent, 'CostumizedAgent') !== false) {
        return 'mobile-theme';
    } else {
        return $current_theme;
    }
}
add_filter( 'stylesheet', 'change_theme' );
add_filter( 'template', 'change_theme' );

这将基于用户代理编程改变主题,并告诉Wordpress使用mobile-theme主题,如果用户代理条件满足