2010-10-18 102 views
0

如何將動態wp內容加載到我的WordPress博客索引頁面?Wordpress AJAX內容

理想情況下,我會將索引頁發送GET請求與?tag=查詢到另一個頁面,呈現我希望在我的博客中看到的帖子列表。我怎樣才能實現這個?

回答

0

可以使用以下網址獲得標籤飼料的RSS版本:HTTP:// [DOMAIN_NAME] /標籤/ [TAG_NAME] /飼料/

替換[DOMAIN_NAME]與你的域名和[[tag_name]]與你正在尋找的標籤。

然後,您可以使用JavaScript

心連心

0

對我來說,解析這個XML/RSS,我會做這樣的事情:

  1. 使tag-the_tag_slug.php(如果您有它已經,這是好)

  2. 在AJAX獲取請求中,發送請求到url http://yourdomain.com/the_tag_slug(或者您的標記的url,它將列出p在標籤OSTS)

  3. 送多一個$_GET PARAMS的要求,如$_GET["using_ajax"] = true

  4. tag-the_tag_slug.php

    ,如果$_GET["using_ajax"]是假的或不確定的,做你的正常的HTML輸出。否則,運行循環並生成所需的HTML輸出。

  5. 在ajax調用之後,在成功函數中,只需將返回的HTML輸出插入到所需位置即可。

理由這樣做,是在WP 3.0,您有一個名爲get_template_part()模板標籤,讓您的支持Ajax迴路輸出可以提取出喜歡loop-ajax_tag.php。理論上,你可以根據需要添加任意數量(並通過確定如$_GET["loop-template"]來確定)

另一個原因是你不需要很多javascript DOM創建或修改jaavscript中的數據,並且您必須將大量模板代碼複製並粘貼到javascript中)

0

我有一個使用標準AJAX WordPress指南的更簡單的解決方案。在你的functions.php添加以下代碼:

add_action('wp_ajax_posts_by_tag', 'ajax_posts_by_tag'); 
add_action('wp_ajax_nopriv_posts_by_tag', 'ajax_posts_by_tag'); 

function ajax_posts_by_tag() { 
    $q = new WP_Query('tag=' . $_POST['tag']) 
    echo '<ul>'; 
    while ($q->have_posts()) 
    { 
    $q->the_post(); 
    echo '<li>' . $q->post->post_title . '</li>'; 
    } 
    echo '</ul>'; 

    die(); 
} 

然後,你的JavaScript裏面在您的主頁,使用下面的方法來檢索標籤內容(假設你使用jQuery):

jQuery(document).ready(function($) { 
    var data = { 
    action: 'posts_by_tag', 
    tag: 'my-tag' 
    }; 

    jQuery.post(ajaxurl, data, function(response) { 
    alert(response); 
    }); 
}); 

就是這樣的。然後,您可以將響應壓入頁面上的任何塊中。這將獲取標籤爲my-tag的帖子。