如本站每頁logo后面的一句名言,點擊“換一條”就會ajax動態加載一條,使用了wordpress的自帶ajax方法,下面介紹如何使用wordpress自帶ajax方法:
1.在header.php文件加入html和js,代碼如下:
- <span id="random"><i id="say"><?php echo random_str();?></i> [<a href="javascript:void();" onclick="say();" rel="nofollow">換一條</a>]</span>
js ajax請求,代碼如下:
- <!-- 換一條-->
- <?php $admin_url=admin_url( 'admin-ajax.php' );?>
- <script type="text/javascript">
- function say(){
- jQuery(document).ready(function($){
- var data={
- action:'say'
- }
- $.post("<?php echo $admin_url;?>", data, function(response) {
- $("#say").text(response);
- });
- });
- }
- </script>
在wordpress中ajax請求的url地址是統一的,用$admin_url=admin_url( ‘admin-ajax.php’)獲取。
2.在主題的function.php中寫接收請求處理函數,代碼如下:
- //換一條
- function say(){
- echo random_str();
- die();
- }
- add_action('wp_ajax_say', 'say');
- add_action('wp_ajax_nopriv_say', 'say');
- add_action('wp_ajax_say', 'say');
- add_action('wp_ajax_nopriv_say', 'say');
重點是這兩個鉤子函數,wp_ajax_say第一個參數是wp_ajax_函數名稱,wp_ajax_nopriv_say表示沒有登錄的用戶的處理函數,這里對有沒有登錄的用戶都是一樣的,所以都寫上.
就這樣,就已經實現了ajax的功能,是不是很方便,但是wordpress的ajax請求感覺好慢?。。?!
最好附上隨機輸出名言的函數,代碼如下:
- function random_str () {
- $poems=array(
- '三人行,必有我師焉。擇其善者而從之,其不善者而改之。——孔子',
- '成為卓越的代名詞,很多人并不需要杰出素質的環境。——Steve Jobs',
- '活著就是為了改變世界,難道還有其他原因嗎?——Steve Jobs',
- 'Follow yourself.(追隨你的內心)——Steve Jobs',
- '生活是不公平的;要去適應它。——比爾蓋茨',
- '走自己的路,讓別人說去吧。——但丁',
- '成功并不是一條直線,而是一條蜿蜒曲折的線。',
- '讓你難過的事情,有一天,你一定會笑著說出來。 ——《肖申克的救贖》',
- '如果額頭終將刻上鄒紋,你只能做到鄒紋不要刻在你心上。——中國合伙人',
- '夢想是什么,夢想就是一種讓你感到堅持就是幸福的東西。——中國合伙人',
- '記住你即將死去——喬布斯',
- '當你快樂時,你要想,這快樂不是永恒的。當你痛苦時你要想這痛苦也不是永恒的。',
- '古人云:盡人事,聽天命。',
- '如果人生能像svn一樣能恢復到以前任何一個版本該多好啊',
- 'Stay Hungry, Stay Foolish',
- '做你喜歡的事情不會覺得累',
- '今天很殘酷,明天更殘酷,后天會很美好,但絕大多數人都死在明天晚上——馬云',
- '天才就是百分之九十九的努力加上百分之一的靈感,但是沒有那百分之一的靈感萬萬不行 ——愛迪生',
- '不要被教條束縛,那意味著你和別人一樣思考,不要被他人的觀點掩蓋你真正的想法,聽從你的直覺和心靈的指示。——Steve Jobs',
- 'The clock hand can return to the original point, but it is not that of yesterday. ',
- );
- return $poems[rand(0,count($poems)-1)];
新聞熱點
疑難解答
圖片精選