从另一个画廊获取随机图像

布拉德·弗莱彻

我正在尝试在网站的每个页面的侧边栏中显示ID为7的画廊中的6个随机图像。

这是我的代码,但是我无法显示缩略图链接!

$args = array( 'post_id' => '7', 'post_type' => 'attachment', 'numberposts' => 6, 'orderby' => 'rand');

        $attachments = get_posts($args);

        if ($attachments) {

            foreach ($attachments as $attachment) {

                $attachment_id = $attachment();

                print_r($attachment())

                echo '<a href="' .  wp_get_attachment_url() . '"><img src="' . wp_get_attachment_image_src( $attachment_id ) . '" /></a>';

        }

    }
dingo_d

您的查询是错误的。您正在呼叫$attachment()as和id(?!)。在foreach循环中执行print_rof$attachment时,可以看到它们显然是对象。因此,您需要使用“-> 参阅此处有关OOP的更多信息”,通过引用所需的值来获取每个对象的ID

$args = array(
    'post_id' => '7',
    'post_type' => 'attachment',
    'numberposts' => 6,
    'orderby' => 'rand'
    );

$attachments = get_posts($args);

if ($attachments) {
    foreach ($attachments as $attachment) {
        $attachment_id = $attachment->ID;
        $image = wp_get_attachment_image_src( $attachment_id );
        if (!empty($image)) {
            $image_url = $image[0];
        }
        echo '<a href="' .  wp_get_attachment_url( $attachment_id ) . '"><img src="' . $image_url . '" /></a>';
    }
}

wp_reset_postdata();

此外,wp_get_attachment_image_src()返回一个包含以下内容的数组

[0] => url
[1] => width
[2] => height
[3] => boolean: true if $url is a resized image, false if it is the original or if no image is available.

由于这是一个数组,因此我总是检查它是否不为空(为安全起见)。

查询后,请始终执行wp_reset_postdata();

而已。

详细说明

因此,您在这里所做的只是一个简单的查询。您想要获得与您在$args数组中设置的某些参数匹配的帖子您可以做很多事情。点击这里

该查询的作用是,它返回与您的查询参数匹配的帖子。它返回的是一个对象数组所以,如果你想访问他们中的每一个,你需要循环穿过。为此,存在foreach循环。

Foreach将遍历数组中的每个项目,并且您可以按自己的方式访问它$attachment您可以循环任何类型的数组。简单数组,多维数组,包含对象的数组等。

因此,我们已经说过,您的查询将返回一个对象列表(数组)。在您的foreach循环中$attachment是单个对象。一般来说,对象是可以包含很多东西的东西。描述该对象的属性,使该对象执行某些操作的方法(对象中的函数)等。

我们的对象相对简单。它包含诸如ID, post_author, post_name, post_type, post_title和更多的属性基本上,您只需要查找有关您的帖子的信息。

如前所述,在我们的foreach中,您使用引用了一个对象$attachment,并且可以通过引用它们来获取其各种属性的值,例如

$attachment->ID

这将返回ID属性的值如果要获取帖子标题,请参考

$attachment->post_title

等等。

因此,我们已将该ID分配给名为的变量$attachment_id现在,我们可以自由地将其与各种wordpress制作的功能wp_get_attachment_image_src()(例如)一起使用。

您需要知道从查询和循环中得到的结果,因此在开发东西时,print_r()获得结果总是一个好主意

另外,请记住,这些内容foreach将逐个循环。因此,即使您print_r($attachment)返回一堆帖子,也仅意味着它做了多次(在您的情况下为6次,因为您的查询仅返回6条帖子)并且只是将其打印出来。它将全部“粘合”在一起,所以您会想到:但是,等等,这个foreach返回了大量的东西。如何只获得单个东西?但是请记住,foreach循环内的代码引用了数组的单个实例,并且foreach会像这样:

item 1 
|
v
do stuff with it... 
|
v
done (output or whatever you are doing in foreach) 
|
v
more items? 
|
v
YES! 
|
v
move to item 2 
|
v
do same stuff with it 
|
v
done 
|
v
more items? 
|
v
YES! 
|
v
move to item 3
.
.
.
|
v
more items? 
|
v
NO :( 
|
v
exit loop

这就是foreach的工作原理,所以不要害怕它:D

我走了一些路,但我希望这也会对将来的人有所帮助:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从数组中获取随机结果,然后根据该结果从另一个数组中获取另一个随机结果?

来自分类Dev

选择另一个图像视图以获取完整图像

来自分类Dev

通过jQuery获取单击图像的src并放入另一个图像src

来自分类Dev

如何从另一个数组字符串获取数组随机数?

来自分类Dev

通过从另一个变量获取值来随机替换值

来自分类Dev

从Android中的另一个活动获取图像时获取空指针异常

来自分类Dev

一个属性和另一个属性上的随机子句是随机的

来自分类Dev

将图像淡入另一个图像过渡

来自分类Dev

在另一个图像上实现图像

来自分类Dev

如何从另一个给定的图像恢复图像

来自分类Dev

在另一个图像上添加图像-OpenTK

来自分类Dev

在另一个图像上旋转图像

来自分类Dev

在另一个图像中添加图像

来自分类Dev

在另一个图像周围对齐图像?

来自分类Dev

在另一个图像中拖动多个图像

来自分类Dev

在另一个函数内调用随机函数

来自分类Dev

从另一个文件中提取随机行

来自分类Dev

在另一个函数内调用随机函数

来自分类Dev

生成另一个随机词

来自分类Dev

Dart语言:如何从另一个元素获取图像?

来自分类Dev

使用AJAX请求从另一个域获取图像数据

来自分类Dev

获取图像并使用Jquery插入另一个div?

来自分类Dev

如何使用JavaScript在另一个页面中获取图像src?

来自分类Dev

如何在另一个背景图像上获取带有文本的div

来自分类Dev

如何从javafx中的另一个窗口获取要显示的图像?

来自分类Dev

Vue.js:获取图像的 src 并将其传递给另一个调用

来自分类Dev

如何从另一个vbscript(另一个.vbs文件)获取变量

来自分类Dev

从另一个模型获取对象以获取方法

来自分类Dev

如何优化用于获取颜色与另一个图像相似的图像的MySQL查询?

Related 相关文章

  1. 1

    如何从数组中获取随机结果,然后根据该结果从另一个数组中获取另一个随机结果?

  2. 2

    选择另一个图像视图以获取完整图像

  3. 3

    通过jQuery获取单击图像的src并放入另一个图像src

  4. 4

    如何从另一个数组字符串获取数组随机数?

  5. 5

    通过从另一个变量获取值来随机替换值

  6. 6

    从Android中的另一个活动获取图像时获取空指针异常

  7. 7

    一个属性和另一个属性上的随机子句是随机的

  8. 8

    将图像淡入另一个图像过渡

  9. 9

    在另一个图像上实现图像

  10. 10

    如何从另一个给定的图像恢复图像

  11. 11

    在另一个图像上添加图像-OpenTK

  12. 12

    在另一个图像上旋转图像

  13. 13

    在另一个图像中添加图像

  14. 14

    在另一个图像周围对齐图像?

  15. 15

    在另一个图像中拖动多个图像

  16. 16

    在另一个函数内调用随机函数

  17. 17

    从另一个文件中提取随机行

  18. 18

    在另一个函数内调用随机函数

  19. 19

    生成另一个随机词

  20. 20

    Dart语言:如何从另一个元素获取图像?

  21. 21

    使用AJAX请求从另一个域获取图像数据

  22. 22

    获取图像并使用Jquery插入另一个div?

  23. 23

    如何使用JavaScript在另一个页面中获取图像src?

  24. 24

    如何在另一个背景图像上获取带有文本的div

  25. 25

    如何从javafx中的另一个窗口获取要显示的图像?

  26. 26

    Vue.js:获取图像的 src 并将其传递给另一个调用

  27. 27

    如何从另一个vbscript(另一个.vbs文件)获取变量

  28. 28

    从另一个模型获取对象以获取方法

  29. 29

    如何优化用于获取颜色与另一个图像相似的图像的MySQL查询?

热门标签

归档