例如給網站每頁logo后面的一句名言,點擊“換一條”就會ajax動態加載一條,使用了wordpress的自帶ajax方法。下面介紹如何使用wordpress自帶ajax方法:
1.在header.php文件加入html和js
html:
<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');
重點是這兩個鈎子函數,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)];
}
轉自:http://www.tantengvip.com/2014/01/wordpress-ajax-jquery/
