2012-02-25 45 views
-1

全部, 我正在嘗試使用do_shortcode函數。我有以下的jQuery來調用一個函數後:如何在模板外使用do_shortcode

category = $("#past_vendor_category").val(); 
search_term = $("#past_vendor_name").val(); 

$.post("http://localhost/wordpress/wp-content/search_past_vendors.php", { category: category, search_term: search_term }, function(results){ 
    $("#past_vendor_search_results").html(results); 
}); 

,然後調用這個PHP文件:

​​

這個文件是不是WordPress的頁面,所以我得到的錯誤消息中: 致命錯誤:調用未定義的函數do_shortcode()在第19行D:\ My Documents \ xampp \ htdocs \ wordpress \ wp-content \ search_past_vendors.php

任何想法如何在Wordpress頁面之外使用do_shortcode ?

感謝

回答

3

do_shortcode功能依賴於WordPress的全局狀態。正如你的示例代碼,你不加載wordpress,它不可用。

我建議你自己創建一些插件,它提供了一個Ajax接口,然後由默認的WordPress Ajax後端進行處理。

請參閱5 tips for using AJAX in WordPressoriginal article archived)瞭解如何將PHP函數正確綁定到Ajax請求的分步說明。

+0

「5 tips」的鏈接 – seanbreeden 2016-10-31 17:52:27

+1

@seanbreeden:文章已移動,更新了鏈接並鏈接了存檔原件 – hakre 2016-10-31 18:00:58