我正在尝试获取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中添加一些东西?或者最简单的方法是什么?
答案 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
}
}
});