对未定义函数的调用问题

时间:2011-05-16 作者:Wordpressor

我知道还有其他更好的方法来实现我的目标,但我必须使用这个解决方案。

我有两个样式表:

  • style.css - 常规样式表style-dynamic.php - 链接到第一个的动态样式表,我在第二个中使用了一些PHP代码,如:

    #body {
        background-color: <?php echo get_option(\'theme_background\'); ?>;
    }
    
    现在关键是style-dynamic.php 文件不知道WordPress函数,上面的代码给出:

    致命错误:调用未定义的函数get_option() 在C:\\xampp\\htdocs\\wordpress\\wp-content\\themes\\mytheme\\style-dynamic中。php在线

    我想我必须加载wp_load.php (仅限?)这很棘手,因为我不知道到底是怎么回事?我在努力require_once, 但我不确定我是否能够从主题目录直接跳到WordPress主目录wp-load.php 文件是?

    Edit

    当然

    require_once(ABSPATH . \'wp-load.php\');
    
    输出另一个错误:

    未定义常量的使用ABSPATH - 假定的\'ABSPATH\'

2 个回复
最合适的回答,由SO网友:Wordpressor 整理而成

天哪,我又一次连续几天与某件事发生争执,在StackExchange上询问20分钟后找到了解决方案。为什么?

require_once(\'../../../wp-load.php\');

SO网友:cr0z3r

希望迟做总比不做好;如果上述解决方案(Wordpressor)不起作用,您可以加载wp load。php如下所示:

// allow us to use core wordpress functions
    $oldURL = dirname(__FILE__);
    $newURL = str_replace(DIRECTORY_SEPARATOR . \'wp-content\' . DIRECTORY_SEPARATOR . \'themes\' . DIRECTORY_SEPARATOR . \'THEME_NAME\' . DIRECTORY_SEPARATOR . \'assets\', \'\', $oldURL);
    include($newURL . DIRECTORY_SEPARATOR . \'wp-load.php\');
确保用主题的名称替换THEME\\u NAME。

结束