黃聰:使用WORDPRESS自帶AJAX方法


例如給網站每頁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/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM