在functions.php之外调用WP函数

时间:2013-04-17 10:50:52

标签: php wordpress

是否可以在非标准WP主题文件中调用WordPress主题的functions.php文件之外的WordPress函数?

我正在开发一些基于WordPress的补充框架,它预先组织来自WP数据库的数据,因此我可以使用jQuery调用它们并创建单页体验。

我试图从post.php文件(在主题根目录中)调用WP函数,该文件不是WP主题的默认文件。与post.php和前端jQuery的通信工作正常,它只是无法访问WP功能的文件。例如:

PHP themefolder / post.php:

//function to get ALL posts, don't use to save server capacity
function fetch_all(){
    $posts = get_posts(); //<-- this is a WP function, it doesn't work

    /* however this line below makes the function return some data
        $posts = 'testing if function works';
    */

    if( isset( $posts )){
        echo json_encode( $posts );
        exit();
    }

    echo json_encode( 'no data to return...' );
}   

当在functions.php中包含post.php时,我得到了相同的结果:没有。我查看了this方法,但这似乎详细说明,因为我在WP环境中工作。

1 个答案:

答案 0 :(得分:1)

是的,这是可能的。在文件开头添加wp-blog-header.php并将WP_USE_THEMES设置为false

define( 'WP_USE_THEMES', false );  
require('wp-blog-header.php'); # adjust your path

# write the rest of your codes here.