2013-04-17 47 views
0

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

我正在开发一些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

是的,这是可能的。在文件开始处包括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. 
+0

哇谢谢!直接工作!这是否允许立即使用所有WP功能,或者是否需要包含更多功能以使用WP代码中定义的所有功能? – Nukeface

+0

你有所有可用的功能。请注意,功能仍需要在必要时挂钩。 – RRikesh

+0

我为我的工作使用了相同的代码,但仍存在一个问题,即wordpress主题加载到页面中。我该如何解决这个问题? (WP版本:3.8) –