最近小V(本站好友)在開發一款自適應的wordpress博客主題,該wordpress主題大量數據展示與提交都用到了ajax技術,所以小V特意寫一篇教程記錄下,方便其他wordpress開發者做wordpress ajax應用開發的時候做參考。如果有些小伙伴還不知道什么是ajax,請自行百度腦補~~,閑話就不多說了,教程開始。
不少開發者在寫插件時喜歡用以下方式實現ajax:
就連百度站長平臺官方開發的wordpress結構化數據提交插件也是如此實現ajax的,這是一種極其不合理的寫法,因為一旦用戶設置的目錄不同, 相對路徑就會失效.并且, 如果你在你的插件中使用的是面向對象的寫法, 你將無法直接使用一些變量和私有方法. 最大的壞處就是會導致整個Wordpress的框架額外重新加載一遍,嚴重的影響了網站的運行效率。
其實,wordpress為了方便開發者開發帶有ajax功能的插件主題已經預定義好了ajax方法,我們只需按照官方預留的方法去使用就好了。在開發wordpress ajax你要先了解的是,不管是后臺還是前臺任何的Ajax請求都是在admin-ajax.php處理的,向admin-ajax.php發送請求的時候, 有一個必須的參數是$_REQUEST['action'], 因為admin-ajax.php需要根據用戶是否登陸了來觸發不同的hooks。
以上代碼取自wordpress系統文件admin-ajax.php,從以上代碼我們可以看出我們要發起一個請求首先要知道這個請求是否在登錄狀態下發起的?不同狀態觸發的hook也不一樣,下面是個在主題利用jquery實現ajax的示例代碼:
在開發wordpress ajax應用中最重要的一點就是函數結束之前一定要加die或者exit,如果不加的話會把整個wordpress框架都重新加載一遍。
主題貓WP建站,累計幫助1300+客戶成功建站,為站長提供支持!
立刻開啟你的建站之旅