2013-04-17 74 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) –