从特定裁剪大小的不同附件ID中检索一组图像URL的最有效方法是什么?

时间:2013-04-20 作者:Jason

我有一个基本的滑块插件,我正在尝试提高效率。此插件从用户收集附件ID数组,以表示滑块的每个图像。

有了这些附件ID,我需要每个附件上特定裁剪大小的URL。我试图找出在查询数据库方面获取所有这些信息的最有效方法。

目前我正在做这样的事情:

$attachments = array(1906,1905,1904); // attachment ID\'s from user

foreach( $attachments as $attachment_id ) {
    $image_url = wp_get_attachment_image_src($attachment_id, \'my_size\');
    // $image_url[0] ...
}
然而,我是否正确地假设这意味着我每次调用时都在查询数据库wp_get_attachment_image_src()? 是否可以通过单个数据库查询来检索每个图像的URL?

我能朝这个方向做点什么吗?

$attachments = array(1906,1905,1904); // attachment ID\'s from user

$query = array(\'post_type\' => \'attachment\', \'post__in\' => $attachments);
$posts = get_posts($query);

foreach( $posts as $post ){
    // Can I get the image URL of a specific crop size 
    // with out querying the DB again?

    // Possibly with $post->guid somehow?
}
注:我理解这个基本示例的重要性,就第一种方法而言,它是“好的”,但我试图将其作为一个学习问题,用于处理更复杂的事情

1 个回复
SO网友:Z. Zlatev

我认为没有比这更有效的方法了。您的主要目标应该是在使用WP的API时保持简单,这正是您正在做的。确实,有些场景可能会变得非常昂贵,而这正是您可以利用的WP Object Cache 甚至Transients API. 缓存使用的一个很好的例子是wp includes/default小部件中的默认小部件。php

结束

相关推荐

ID of images from gallery

有人知道如何在帖子中从wordpress gallery获取图像的ID吗?我已经在整个互联网上搜索过了,这个主题没有任何内容。