2

我想通过用户浏览器动态更改我的 wordpress 主题。所以我在网上找到了这段代码并将其添加到我的 index.php 文件中

add_filter('template', 'switch_theme_by_browser');
add_filter('stylesheet', 'switch_theme_by_browser');

function switch_theme_by_browser($theme) {

    $browser = $_SERVER['HTTP_USER_AGENT'];

    if(preg_match('/MSIE/i',$browser) && !preg_match('/Opera/i',$browser))
    {
        $theme = "twentyeleven";
    }
    elseif(preg_match('/Firefox/i',$browser))
    {
        $theme = "twentyten";
    }
    elseif(preg_match('/Chrome/i',$browser))
    {
        $theme = "Boxoffice";
    }

    return $theme;
}

之后它向我显示“致命错误:在第 17 行的 /home/xxx/public_html/domain.com/index.php 中调用未定义函数 add_filter()”

据我了解,“add_filter()”应该是一个内置于 wordpress 的函数。

4

2 回答 2

0

在 wordpress 根目录中,放在wp-settings.php 文件require( ABSPATH . WPINC . '/plugin.php' );之前require( ABSPATH . WPINC . '/functions.php' );我在http://wordpress.org/support/topic/fatal-error-call-to-undefined-function-add_filter验证了这个解决方案。

于 2014-04-12T03:07:30.593 回答
0

正如道森所说,这需要放入您的/wp-content/themes/[theme]/functions.php文件中。

于 2012-11-07T21:50:47.730 回答