【问题标题】:How Display Specific Content For Opera Mini Users Only In WordPress如何仅在 WordPress 中为 Opera Mini 用户显示特定内容
【发布时间】:2014-11-04 15:39:01
【问题描述】:

我已经广泛搜索,但仍然找不到有效的解决方案。

问题是我想知道是否有一种方法可以配置我的 wordpress 主题来检测 Opera Mini 用户并向他们显示特定的广告/内容,同时向其他浏览器用户显示不同的广告/内容作为后备。

我 80% 以上的移动流量都是基于 Opera Mini 的,我希望有效地利用这些流量获利。

我猜这可以用 PHP 完成,但我不知道如何编写代码。

【问题讨论】:

    标签: wordpress opera user-agent ads


    【解决方案1】:

    测试 $_SERVER['HTTP_USER_AGENT'] 全局变量,看看它是否包含字符串“Opera Mini”。

    PHP Manual: $_SERVER

    或者,更好

    $browser = get_browser(null, true);
    

    返回一个浏览器信息数组。 'browser' 键包含实际的浏览器名称。

    PHP manual: get_browser

    最简单的方法是根据这些可能性之一将特定内容包装在一个条件中。

    例如:

    $browser = get_browser(null, true);
    if ($browser == "Opera Mini") {
        // display image
    } else {
        // display other image
    }
    

    【讨论】:

    • 我尝试了上面的代码,但我收到了这个错误:解析错误:语法错误,意外'}'。您能否粘贴我应该添加到主题文件中的完整 PHP 代码?谢谢
    • 这段代码没有错误,Chuks,看看别处.. +1 为那个函数,谢谢!
    • @Brasofilo:请到别处寻找什么?能否请您发布带有 php 标签的完整代码,因为我不知道为什么它一直抛出错误:(
    • @UdegbunamChuks,你是拥有“完整代码”的人:) - 我只是说这个 sn-p 没问题。你必须想办法在你的代码中找到错误的行。对于每个开头{ 对应一个结尾},或alternative syntax。开发时始终使用WP_DEBUG 并查看服务器 PHP error_log 以解决您的代码错误。 [编辑:如果ifforeach 之后只有一行,则可以省略左括号和右括号]
    • 天哪,我现在感觉很迟钝。 covers face 我浏览了代码,但找不到 Parse 错误的原因:第 6 行的语法错误,意外的 '}' 错误。这是完整的代码,伙计们。strictlyonlinebiz.com/php.txt也许我对导致错误的原因一无所知
    【解决方案2】:

    是时候复习一下你的 php 基础知识了,UdegbunamChuks。

    <?php
    
    $isOperaMini = <<<HEREDOC
    <a rel="nofollow" target="_blank" href="http://goo.gl/RopBp">
    <img src="http://www.patchworkoftips.com/wp-content/themes/adclerum3/images/BBMobile.jpg" title="Buy Cheap BlackBerry Phones" alt="Buy Cheap BlackBerry Phones">
    </a>
    HEREDOC;
    
    $notOperaMini = <<<HEREDOC
        <script type="text/javascript"><!--
    google_ad_client = "ca-pub-4322797130930030";
    /* Patchwork Below Post Mobile */
    google_ad_slot = "1887667973";
    google_ad_width = 300;
    google_ad_height = 250;
    //-->
    </script>
    HEREDOC;
    
    $browser = get_browser(null, true);
    if ($browser == "Opera Mini") {
        echo $isOperaMini;
    } else {
        echo $notOperaMini;
    }
    
    ?>
    

    【讨论】:

    • 虽然我理解您在这里尝试做什么,但这里不适合提供完整的 PHP 教程。 OP 显然需要从其他地方开始,而不是一次只运行一个代码块。
    • @Chris Herbert:谢谢。我会试试的,就像 Ian Atkin 一样,我想我必须尽快回到我的 PHP 基础;)
    猜你喜欢
    • 2019-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多