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

Posted

技术标签:

【中文标题】如何使用 JQuery.ajax 从每个 WordPress 帖子中获取缩略图附件?【英文标题】:How to use JQuery.ajax to get the thumbnail attachment from each WordPress post? 【发布时间】:2011-10-13 00:40:41 【问题描述】:

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

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

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

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

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

【问题讨论】:

对你更有用的贴一点标记,只是一个建议。 【参考方案1】:

我认为你应该看看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 请求的 action 参数调用的函数(完整教程见 url)

3) 为我们提供缩略图的逻辑函数

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

【讨论】:

看来该帖子已被删除。还有其他参考吗? 帖子已移至本站:solislab.com/blog/5-tips-for-using-ajax-in-wordpress 感谢您的评论。现在更新帖子。【参考方案2】:

您必须使用 $.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
            
        
    );

【讨论】:

谢谢杰森。我正在寻找一种比抓取博客上的每篇文章并找到图像更快的解决方案。有数百个帖子。我将从 JSON 构建的显示是主页的主要部分,因此它需要非常快速地加载(大约 2 秒或更短)。 您能否给我一个示例网站,您可能想在上面使用它,以便我自己尝试一下? 终于收到了客户的回复。抱歉,该网站正在开发中,他还不想向任何人展示。

以上是关于如何使用 JQuery.ajax 从每个 WordPress 帖子中获取缩略图附件?的主要内容,如果未能解决你的问题,请参考以下文章

如何允许用户使用 Jquery/AJAX 在您的网站中创建/生成新网页?

如何使用 ASP.NET MVC Rest API 调用和 jQuery Ajax 下载文件

jQuery AJAX 方法

如何使用 jQuery 和 ASP.NET MVC 从 AJAX 调用返回错误消息?

如何使用 jQuery Ajax 调用从 ASP.NET Web Api 下载 CSV 文件

如何使用 jquery/ajax 对已经从数据库中获取的数据进行排序?