如何使用JQuery.ajax从每个WordPress帖子获取缩略图附件?

时间:2011-07-26 00:16:39

标签: jquery ajax json wordpress

我正在尝试获取JSON响应,显示每个WordPress帖子的缩略图附件。

我尝试使用JQuery json-api插件,但它为我提供了所有附件。我只想要缩略图。

例如,我想使用JQuery.ajax以JSON格式从每个WordPress帖子中获取缩略图附件网址,如下所示:

[{image_1: "thumbnail_image_a.jpg",
image_2: "thumbnail_image_b.jpg",
image_3: "thumbnail_image_c.jpg",
... etc}]

我应该编写自己的插件吗?或者在functions.php中添加一些东西?或者最简单的方法是什么?

2 个答案:

答案 0 :(得分:7)

我认为你应该看看https://solislab.com/blog/5-tips-for-using-ajax-in-wordpress/(旧网站已关闭:http://www.garyc40.com/2010/03/5-tips-for-using-ajax-in-wordpress/#admin-ajax)。

通过在 functions.php 中添加一个带有正确挂钩的简单功能,您最终可以获得一个很好的方式来获得您想要的内容。

改编自上面提到的网址:

add_action( 'wp_ajax_nopriv_myajax-submit', 'myajax_submit' );
add_action( 'wp_ajax_myajax-submit', 'myajax_submit' );

function myajax_submit() {
// get the submitted parameters
   $postID = $_POST['postID'];

   $response = get_thumbnail_images(); 
   $response = json_encode($response);

// response output
   header( "Content-Type: application/json" );
   echo $response;

// IMPORTANT: don't forget to "exit"
exit;
}

我调用get_thumnail_images(),在那里我可能有一个WP_Query或一个SQL语句来获取你需要的信息到数组中。

让我们回顾一下wordpress部分: 1)钩子

2)基于AjaxRequest请求的动作参数调用的函数(参见完整教程的url)

3)一个逻辑函数,它将为我们提供缩略图

4)结果是一个json enconded数组。你可以在前端做任何你想做的事。

答案 1 :(得分:0)

您必须使用$ .ajax通过它的URL参数下载页面,然后您必须对标记进行排序以查找每个帖子并从中获取缩略图。我不知道wordpress网站的标记,所以我无法帮助你。

它可能会像这样:

 $.ajax('url.php',{
        dataType: 'html',
        success: function(data){
            $.find('wordpress_comment_element').each(function(){
                var thumb=$(this).children('img').attr('src');
                //add thumb to JSON object
            }
        }
    });