簡體   English   中英

AJAX調用以包含php文件

[英]AJAX call to include php file

我有一個php文件(loopHandle.php),里面有一個wordpress循環,我想在我的網頁的div中加載它。

我使用帶有$ date(“ 2012-6”)字符串變量的on click事件進行呼叫,此變量對我的wordpress循環很重要,因為我將按日期對帖子進行排序。

我決定逐步進行此操作,到目前為止,我已經進行了AJAX調用,並對div變量$ date進行了響應。

我就是這樣看待事物的。 在點擊事件中,我通過以下鏈接發送要使用的變量:

$link_url = esc_url(wp_nonce_url( admin_url('admin-ajax.php?&action=dynamic_date&my_date='.$date), "dynamic_date_nonce")); ?>

我將動作,隨機數和自定義變量發送到wordpress的ajax處理器(admin-ajax.php),然后在我的functions.php中觸發一個函數。 這是我實際處理已發送的變量的地方。

現在這是我面臨的問題,如何使用發送的變量並通過wordpress循環進行響應來響應ajax調用?

我考慮過的一些選擇:

$wp_loop = if($loop->have_posts()) { 
while($loop->have_posts()) { 
the_post();
get_template_part( 'content', get_post_format() );
} 
} wp_reset_query();
$response = new WP_Ajax_Response();
$response->add(array(
'what' => 'fulldate',
'data' => $wp_loop)); 
$response->send(); 

這更多的是用棍子戳它,看看會發生什么方法。

另一個理論是使用$date = $_GET['my_date]; 在我的handleLoop.php ,我可以從不是functions.php的地方檢索我的變量嗎? 那我可以這樣回答嗎:

$loopHandle = include(handleLoop.php);
$response->add(array(
'what' => 'fulldate',
'data' => $wp_loop)); 
$response->send(); 

無論如何,我希望我已經正確傳達了我的問題,當然,非常感謝您的幫助。

編輯:我使用以下命令捕獲密鑰對:

s.data = $.extend(s.data, { action: url.action, _ajax_nonce: url._wpnonce, my_date: url.my_date });

兩個問題:

1)如何發送數據:在jQuery請求中,請確保將日期包括在data參數中(您似乎已經使用GET語法解決了自己的問題)。

2)您如何回應? WP_Ajax_Respond類用於發送XML,對您來說可能有點過重,特別是因為您最有可能返回HTML。

相反,嘗試創建一個PHP數組來存儲循環的每次迭代的結果,並對數組進行json_encode並返回JSON?

http://codex.wordpress.org/AJAX_in_Plugins

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM