2012-02-15 42 views
0

我使用WordPress 3.3.1抓住來自該行的POST_ID了jQuery PHP,自動發送後數據用在頁面加載

<div class="mppt_postid"><b>'.$post_id.'</b></div> 

,然後使用下面的jQuery腳本發送POST_ID數回使用帶有AJAX的$ _POST ['postid']加載頁面上的WordPress php文件,然後用php腳本返回的數據替換post_id數字,這是另一個數字(訪問者數量)。下面的jQuery腳本不起作用,我不知道如何觸發.post在頁面加載時自動發送數據。

jQuery(document).ready(function() { 
    var postid = $('div.mppt_postid').attr('b'); 
    jQuery.post(mppt_ajax_script.ajaxurl, postid.serialize() 
    , function(data) { 
     jQuery('.mppt_postid').replaceWith(data); 
    } 
    ); 
}); // end ready 
+0

。員額()等於阿賈克斯()和.post()在舊版本的IE下不起作用。嘗試堅持使用.ajax() – 2012-02-15 13:40:39

回答

0

我不明白你爲什麼需要使用ajax。帖子ID在頁面加載過程中通過$ post-> ID提供。您可以將此發送給獲取並返回訪客數量的函數。

function get_visitor_count($id) 
{ 
    //do your magic to get the visitor info 
    return $visitor_count; 
} 

然後用

<div class="mppt_postid"><b><?php echo get_visitor_count($post->ID); ?></b></div> 

替換原密碼如果您需要更新通過AJAX的計數改變你的代碼,以

var postid = <?php echo $post->ID; ?>; 
+0

該頁面使用Bat Cache進行緩存,因此PHP函數不會在每次頁面加載時執行。 – 2012-03-14 20:54:10

+0

如果該插件是服務器端緩存而不允許php在每個頁面加載時執行,我不會使用該插件。頁面加載時獲得的200毫秒是不夠的,現在不得不使用服務器和客戶端腳本解決這個問題(AJAX&jQuery)。你最好使用客戶端緩存和mod_pagespeed來進行服務器端緩存。這樣可以將靜態內容緩存起來,並且可以更有效地處理動態內容(您擁有的內容)。 – Nick 2012-03-14 21:55:25

相關問題