致命错误:在Wordpress中调用index.php中的未定义函数add_filter()

时间:2012-11-07 19:15:34

标签: wordpress wordpress-theming fatal-error add-filter

我想通过用户浏览器动态更改我的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构建的函数。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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